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 · 338 阅读 · 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 · 181 阅读 · 0 评论 -
有了进程为什么还要引入线程?
像物理学家研究物质组成一样:先发现分子,其次继续细分发现原子,再后来是原子核和电子、夸克等等。进程也类似: 引入线程是有目的的——因为进程作为可拥有资源和可独立调度的基本单位,犹如一个随时背着粮草的士兵,这必然会造成士兵的执行事务速度,所以,一个想法就是:分配两个士兵执行同一个事务。一个负责搬运所需粮草并进行急速配给,另一个士兵只带口粮执行事务。这就是线程思想,所谓的轻装上阵...原创 2018-01-26 12:15:15 · 6024 阅读 · 0 评论 -
为什么引入进程?
我们知道,最早出现的OS是单道批处理系统,由于它是顺序执行程序的,即一个一个地按先到先执行的顺序依次执行。因此,CPU的高速性与I/O的低速性之间的矛盾很明显。为了缓解这个矛盾,人们引入了多道批处理系统,该系统让程序并发执行,即在一个程序发起I/O请求时CPU不再选择等待I/O完成,而是转去执行下一个程序。 然而,由于发起I/O请求的程序而暂停的程序什么时候又重新...原创 2018-01-24 22:43:55 · 5424 阅读 · 3 评论 -
简单思路理解处理机调度
首先有一点需要说明:计算机中一切事务的执行者只能够是处理机,处理机的直接执行对象只能是机器码。 “进程管理”只是对处理器要做的单个作业进行了一些统筹,而作业的实际执行者是处理机。举个例子:一个人修建一个房子,他需要做很多工作。“进程管理”就是将建房的工作分类并组织,比如将工作分为:房屋设计图制作、购买器材和地基处理等等,并且规定:设计图制作必须首先完成,其他工作随意。...原创 2018-01-27 10:59:27 · 588 阅读 · 0 评论