OS 理论与实践
操作系统相关理论知识及Linux实践
东风吹柳
这个作者很懒,什么都没留下…
展开
-
LinkList
#ifndef LINK_link_list_H#define LINK_link_list_Htypedef void link_list;typedef struct _targ_link_list_node{ struct _targ_link_list_node *next;}link_list_node;link_list * link_list_create();...原创 2019-08-23 23:25:36 · 355 阅读 · 0 评论 -
ArrayList
#ifndef SEQUENCE_LIST_H#define SEQUENCE_LIST_Htypedef void sequence_list;typedef void sequence_list_node;sequence_list * sequence_list_create(int capacity);void sequence_list_destroy(sequence_...原创 2019-08-23 23:22:34 · 197 阅读 · 0 评论 -
有了进程为什么还要引入线程?
像物理学家研究物质组成一样:先发现分子,其次继续细分发现原子,再后来是原子核和电子、夸克等等。进程也类似: 引入线程是有目的的——因为进程作为可拥有资源和可独立调度的基本单位,犹如一个随时背着粮草的士兵,这必然会造成士兵的执行事务速度,所以,一个想法就是:分配两个士兵执行同一个事务。一个负责搬运所需粮草并进行急速配给,另一个士兵只带口粮执行事务。这就是线程思想,所谓的轻装上阵...原创 2018-01-26 12:15:15 · 6118 阅读 · 0 评论 -
为什么引入进程?
我们知道,最早出现的OS是单道批处理系统,由于它是顺序执行程序的,即一个一个地按先到先执行的顺序依次执行。因此,CPU的高速性与I/O的低速性之间的矛盾很明显。为了缓解这个矛盾,人们引入了多道批处理系统,该系统让程序并发执行,即在一个程序发起I/O请求时CPU不再选择等待I/O完成,而是转去执行下一个程序。 然而,由于发起I/O请求的程序而暂停的程序什么时候又重新...原创 2018-01-24 22:43:55 · 5501 阅读 · 3 评论