搜故事,从300万个故事到海量知识百科的华丽转变!

计算机基础史上最精简的操作系统教程2进程

时间:2020-08-05

管道的故事思维导图

提示:本文共有 3389 个字,阅读大概需要 7 分钟。

计算机基础史上最精简的操作系统教程2进程 知乎首发于

写文章计算机基础史上最精简的操作系统教程2进程公众号《程序员二毛》,给技术加点故事~操作系统学习架构图目录1 进程的概念及特征1.1 进程的引入1.2 进程的概念1.3 进程的理解2 进程的状态及转换2.1 三态模型2.2 五态模型3 进程组织、控制与通信3.1 进程的组织3.2 进程控制块3.3 进程的控制3.4 进程通信1 进程的概念及特征1.1 进程的引入

在单道操作系统中,任何时候内存中只有一道程序,程序运行的蓝本只有一个,程序与计算之间具有一对一的关系,将依照蓝本进行的计算活动称为程序,并无明显不妥之处。

在多道操作系统中,内存中可以同时存在两道或两道以上的程序运行,若每道程序互不相同,则仍可以程序的概念描述。但如果有某两道计算的蓝本(程序)相同,仅处理的数据(原料)不同,则称这两个计算是一个程序或两个程序均自相矛盾。因为以“程序”的命名产生了混淆,由此提出了“进程”这个名词来称呼“程序”。

1.2 进程的概念

进程是程序关于某个数据集合的一次执行过程,是一个可并发执行的具有独立功能的动态实体,也是操作系统进行资源分配、调度和保护的基本单位。

—有些系统称进程为“任务”task或“活动”active。

进程包括:程序代码/文本、数据、工作栈、堆、进程控制块PCB(Process Control Block)

1.3 进程的理解

进程的属性 进程与程序比较:

结构性:进程包含了数据集合和运行于其上的程序。每个进程至少包含三个组成要素:程序块、数据块和进程控制块。 共享性:同一程序运行于不同数据集合上时,构成不同的进程。多个不同的进程可以共享相同的程序,所以进程和程序不是一一对应的。 (函数的递归调用也是不同数据共享相同函数,在这一点上类似于进程,但不相同,因为函数不是进程)动态性:进程由创建而产生,由调度而执行,由撤销而消亡。程序是一组有序指令序列,作为一种系统资源是永久存在,是静态的概念。2 进程的状态及转换2.1 三态模型

进程的三种基本状态 。

进程从创建而产生至撤销而消亡的整个生命周期,可用一组状态加以刻划:

运行态(running):进程占有处理器正在运行。就绪态(ready):进程具备运行条件,系统若为之分配处理器便可运行。等待态(wait):又称为阻塞(blocked)态或睡眠(sleep)态,进程不具备运行条件,正在等待某个事件的完成。

通常,当一个进程创建后,就处于就绪状态。每个进程在执行过程中,任一时刻只能处于上述三种状态之一。在一个进程执行过程中,它的状态将会发生变化。

2.2 五态模型

五态模型在三态模型的基础上,引进了新建态和终止态(又称结束态)。

新建态 对应进程刚被创建的状态。为一个新进程创建必要的管理信息,它并没有被提交执行,而是在等待操作系统完成创建进程的必要操作。

终止态 进程的终止,首先,等待操作系统进行善后,然后,退出主存。进入终止态的进程不再执行,但依然临时保留在系统中等待善后。一旦其他进程完成了对终止态进程的信息抽取之后,系统将删除该进程。

3 进程组织、控制与通信

3.1 进程的组织

进程有4个要素:进程控制块、程序块、数据块、堆栈。

进程程序块:即被执行的程序,规定了进程一次运行应完成的功能。通常它是纯代码,可被多个进程共享。

进程数据块:程序加工处理的对象,包括全局变量、局部变量和常量等的存放区以及开辟的工作区,为一个进程专用。

系统堆栈/用户堆栈:每一个进程都有一个系统/用户堆栈,用于过程调用或系统调用时的信息存储和参数传递。

进程控制块:每一个进程都有唯一的进程控制块,存储进程的标志信息、现场信息和控制信息。创建进程时建立进程控制块,撤销进程时回收进程控制块。

那么主存储器中的进程是如何组成的?

进程上下文(context) 操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文(context)。

当系统调度新进程占有处理器时,新老进程随之发生上下文切换。进程的运行被认为是在上下文中执行。

进程上下文分成3类:

用户级上下文:由用户进程的程序块、用户数据块和用户堆栈组成的进程地址空间。系统级上下文:包括进程控制块、内存管理信息、进程环境块,及系统堆栈等组成的进程地址空间。寄存器上下文:由程序状态字(PSW)寄存器和各类控制寄存器、地址寄存器、通用寄存器、用户栈指针等组成。3.2 进程控制块

进程控制块是进程存在的唯一标识。每个进程都有且仅有一个进程控制块( Process Control Block)。

PCB是操作系统用于记录和刻划进程状态及有关信息的数据结构,也是操作系统掌握进程的唯一数据结构,是操作系统控制和管理进程的重要要依据。

PCB包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。

进程控制块中保存了与进程相关的全部信息:进程状态、程序计数器、CPU寄存器、CPU 调度信息、内存管理信息、I/O 状态信息

3.3 进程的控制

进程控制是对系统中所有的进程实施有效的管理,具有创建新进程、撤销已有进程、实现进程状态的切换等。

在操作系统中,一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断,是一个不可分割的基本单位。

进程的控制 创建

允许已存在的进程创建新的进程。 生成其它进程的进程称父进程Parent Process,被生成进程称子进程Child Process 。子进程可以继续创建自己的子进程,由此系统中形成了一棵进程树。子进程可以继承父进程所有资源.子进程撤销,应归还资源给父进程,父进程撤销,同时撤销其所有子进程.

创建步骤:

分配一个唯一的进程标识号,申请一个空白PCB。为新进程分配资源,包括内存空间(保存程序、数据、栈等),还有其他各种资源。查找辅存,找到进程正文段并装入到进程地址空间的正文区。初始化进程控制块(如状态、PSW、栈等),设置优先级。把进程加入就绪进程队列,或直接将进程投入运行。通知操作系统的某些模块,如记账程序、性能监控程序。

进程的控制 阻塞唤醒

进程的阻塞是指一个进程让出处理器,去等待一个事件。通常,进程自己调用阻塞原语block阻塞自己。阻塞是自主行为,只有处于运行态的进程才能将其转换成阻塞态。

当一个等待事件结束时会产生一个中断,从而激活操作系统,在系统的控制之下被阻塞的进程唤醒。进程的阻塞和唤醒是由进程切换来完成的。

进程的控制 终止

进程终止的原因:

进程正常运行结束。异常结束,如发生存储区越界、保护错、非法指令、严重的输入输出错误等。外界干预,进程应外界的请求而终止。如用户干预、父进程请求、父进程终止。

3.4 进程通信

进程通信是指进程之间的信息交换。根据信息量的多少分为:

低级通信— 进程之间交换的信息量较少且效率低。如进程同步和互斥。高级通信—进程之间交换的信息量较多且效率高。又分:共享存储器,指进程之间通过对共享存储区读写来交换数据。消息传递系统,指进程间的通信以消息为单位,程序员可通过通信原语实现通信,按其实现方式不同可分为:直接通信方式,发送进程直接把消息发送给接收进程。间接通信方式,发送进程把消息发送到某个中间实体(信箱),接收进程从中取得消息。管道通信系统,利用称为管道的文件实现进程通信。

进程的通信 管道

解释:用于连接读进程和写进程以实现它们之间通信的共享文件,称为“管道”。发送进程(写进程)以字符流形式将大量数据送入管道,接收进程(读进程)从管道接收数据。

管道(共享文件)通信机制 :

管道属于一种共享文件通信机制。管道连接读写进程实现通信。写进程往管道一端写入信息,读进程从管道另一端读信息。管道机制应具备互斥一次仅由一个进程读写、同步阻塞和唤醒和确定对方是否存在。在LINUX系统中,管道大小为1页,即4K字节。若写满,则对管道的write调用被阻塞。若读空,则对管道的read调用被阻塞。管道是一次性操作,数据一旦被读取,它就从管道中被抛弃,释放空间以便写入其他数据。本文总结

如果想获取思维导图文件,请关注公众号《程序员二毛》,回复操作系统获取。

未完待续,敬请期待下个系列文章...

编辑于 2020 03 28??

赞同??

??

添加评论??

分享??

喜欢??

收藏??

文章被以下专栏收录计算机内容输出,给技术加点故事。

看到此处说明本文对你还是有帮助的,关于“计算机基础史上最精简的操作系统教程2进程”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
三菱数控系统参数备份与恢复教程

三菱数控系统参数备份与恢复教程

备份,参数,系统,备份数据,修改后,三菱,数据,菜单,选项,备份和恢复,方法如下,进入系统,数控系统,方法,位置,情况,损失,用户,状态,问题时,在出,中出,内容,保证系统,控系统,安全性,异常情况,技术,效率,操作失误

2024-01-26 #综合

史上最详细的自制凉皮教程 一次成功 吃货赶紧收藏了

史上最详细的自制凉皮教程 一次成功 吃货赶紧收藏了

面糊,盘子,面粉,皮放凉,好的,美食天下,原料,做法,作品,步骤,大火,小贴士,揭出,放盘,水锅,面皮,草莓,个人喜好,小麦淀粉,找一个,盘子里,阳台上

2014-09-17 #经典故事

64位操作系统CPU查看器资源

64位操作系统CPU查看器资源

读者,代码,系统,过程,笔者,写操作,自己动手,内容,这本书,书籍,时候,于渊,文件系统,保护模式,细节,第一版,设计,作者,S.,文件,进程,第二版,步骤,知识,原因,成就感,程序,经验,PS/2,光盘

2020-06-11 #故事大全

64位操作系统CPU查看器资源

64位操作系统CPU查看器资源

读者,代码,系统,过程,笔者,写操作,自己动手,内容,这本书,书籍,时候,于渊,文件系统,保护模式,细节,第一版,设计,作者,S.,文件,进程,第二版,步骤,知识,原因,成就感,程序,经验,PS/2,光盘

2020-06-14 #长篇故事

将计算机思维故事化——之操作系统典型调度算法

将计算机思维故事化——之操作系统典型调度算法

调度算法,算法,作业,优先级,方案,运行,办法,分水,小岛,现象,程度,饥饿,思维,队伍,调度,计算机,依据,方法,杯子,水源,秩序,进程,循环,一杯水,作业调度,优先调度,先来先服务,响应比,平均等待时间,方案一

2010-10-09 #短篇故事

将计算机思维故事化——之操作系统典型调度算法

将计算机思维故事化——之操作系统典型调度算法

调度算法,算法,作业,优先级,方案,运行,办法,分水,小岛,现象,程度,饥饿,思维,队伍,调度,计算机,依据,方法,杯子,水源,秩序,进程,循环,一杯水,作业调度,优先调度,先来先服务,响应比,平均等待时间,方案一

2008-05-08 #短篇故事

美洲史上最惨烈的战争 一国几乎打光国内所有男人 人口缩水一半

美洲史上最惨烈的战争 一国几乎打光国内所有男人 人口缩水一半

巴拉圭,洛佩斯,巴西,阿根廷,乌拉圭,南美洲,战争,人口,国家,战役,马托格罗索,军队,损失,时候,盟军,进程,领土,19世纪,三国同盟,这场战争,轰轰烈烈,巴拉圭人,洛佩,马黛茶,巴拉圭政府,人类文明,人们,主权国家,不合理,亚松森

2015-04-18 #故事会

被尘封的故事无限钻石怎么刷?无风险刷无限钻石教程图

被尘封的故事无限钻石怎么刷?无风险刷无限钻石教程图

钻石,玩家,成就,方块,游戏,成就系统,新版本,中依,波比,类型,大小,基本操作,介质,任务,地层,平台,封号,标签,方式,教程,方法,方面,概率,树干,模块,版本,矿物,辅助工具,途径,达到目标

2020-09-25 #故事阅读