码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统——第二章

时间:2021-03-10 13:20:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:文件表   资源   数据段   关于   中断处理   产生   联系   进程状态   动态   

1、知道什么是前驱图:有向、无环;前驱图的表示方式有两种:箭头、集合
2、程序顺序执行的特征:顺序性、封闭性、可再现性;程序并发执行的特征:间断性、失去封闭性、不可在现性。失去封闭性和不可在现行是我们不希望看到的,对程序设计是不利的
3、进程:由程序段、数据段、PCB(进程控制块)组成,PCB中包含了一些进程的关键信息,例如ID号、进程状态等等。
4、区分进程和程序:a、进程是动态的,是活的,由程序调入内存产生,执行完或特殊情况消亡,程序是死的。b、进程是可以并发的,程序不可以。c、进程是分配资源的最小单位、独立单位、基本单位。d、一个程序可能会对应多个进程,一个进程可以为多个程序服务
5、进程的三个基本状态:就绪、执行、阻塞。正在被CPU执行的,称为执行态,以单核CPU为例,所有的进程只能有一个进程处于执行态。除了CPU之外,其余资源都准备好了,叫就绪态(万事具备只欠东风,万事是所有资源,东风就是CPU)。因为I/O、分配资源不够,成为阻塞态。(万事具备,只欠东风,万事都没具备,给了东风也没用)
6、三个基本状态之间的转换:自己去看课本,深入理解三个状态的含义,自然能够正确画出关系转换图。
7、此外还可以有创建状态、终止状态。创建是一个过程,如果一个进程一直处于创建态,一定是没有分配完全进程运行所需的必要资源。终止是说进程消亡,要回收进程创建之初为其分配的资源。
8、引入挂起状态:挂起是将进程由内存调入外存。原因有:a、终端用户请求,例如程序员写程序,一般都是写一段调试一段,调试的时候,我们就需要把进程挂起,暂时不去执行它。b、父进程的请求:当爹的让儿子暂停,儿子不得不从。c、负荷调节的需要,当内存不够用了,怎么办?可以将一些暂时执行不到的进程调出内存,进入外存,空出这部分内存,执行比较重要的进程。
d、操作系统的需要,有时候为了某些需要,操作系统有权利挂起某些进程。其实挂起的原因可以说是什么可以使进程挂起。
9、引入挂起之后,进程的状态分为:执行态、活动阻塞、活动就绪、静止阻塞、静止就绪。活动的是在内存里,静止的是在外存中。静止的就是挂起状态。
10、引入挂起状态后,进程状态之间的转换把握好几点:a、挂起态(静止态)的要想被CPU调度,必须要先进入内存,变为活动态。b、只能从活动就绪队列里取出一个进程,被CPU调度,变为执行态,也就是说执行态的进程只有一个来源。c、活动就绪(阻塞)挂起后变为静止就绪(阻塞),反过来是激活。说白了,挂起就是进程内存到外存,激活是外存进入内存。d、再和前边三种基本的状态转换联系起来,就没有问题了
11、计算机中的资源都是以链表的形式表示(指针)。有内存表、设备表、文件表、进程表。PCB实际上就是一种数据结构,通过链表的形式,表明进程需要的资源等一些信息。操作系统管理PCB,就是管理进程需要的资源组成的资源表。
12、PCB的作用:a、作为独立运行基本单位的标志:进程是否存在,就是看进程的PCB是否存在,操作系统感知进程,就是感知PCB。进程产生要创建PCB,进程消亡要回收PCB,也就是回收PCB占用的空间资源。b、能实现间断性运行方式:操作系统的异步性是由于进程的异步性,走走停停。要想停了继续走,就需要PCB里存储进程离开CPU时的现场信息,其实就是汇编里讲到的保护现场和恢复现场。
c、提供进程管理所需要的信息:进程除了PCB还有程序、数据,程序和数据在内存中的什么位置?会在PCB里给出,也就是说,根据PCB的一些信息是可以找到该进程的程序和数据。进程被调度需要什么资源?也在PCB中由。此外还有访问IO、文件的一些信息。d、提供进程调度所需要的信息:进程的ID、进程状态、进程优先级等等。e、实现与其他进程的同步与通信:与其他进程通信需要的信息,也在PCB中,例如后边提到的信号量
13、进程控制块中(PCB)的信息:a、进程标识符,有内部标识符和外部标识符。内部标识符是给OS用的,外部标识符是给用户看的。类似咱们人的身份证号和学号,身份证号是给国家看的,是国家分配的,学号是在学校中用的。b、处理机状态:为了进程离开CPU时,能保存现场状态。c、进程调度信息:进程的状态(就绪还是阻塞)、进程优先级(在某些算法中,优先级越高的进程越优先被调度)、调度算法相关信息(在用某些算法时需要进程的一些信息,比如等待时间越长的进程越优先被执行,这时候等待时间会在PCB中体现)、事件:进程阻塞的原因。
d、进程控制信息:进程需要的程序和数据在内存或外存的地址、与其他进程通信的必要信息、进程所需资源清单、本进程的下一个进程PCB的地址。(这里充分体现了数据结构:链表。进程如何排好队?就是靠这种链表机制,每一个表就是PCB,每一个表中会存放下一个PCB的首地址。可以是就绪队列、阻塞队列等)
14、PCB的组织方式:线性、链接、索引。线性是所有的进程PCB在一张表中,链接是分队列,阻塞一队,就绪一队这样。索引是为这些PCB再创建一张表,表中有PCB所在位置的指针。相当于为PCB的地址做了一张表。PCB的顺序是在这个表里体现,而不是像刚才的链接方式一样,下一个PCB的地址放在上一个PCB中。
15、进程控制:进程创建、终止、状态转换
16、进程控制一般由OS内核来实现。什么是OS内核?是操作系统中距离硬件最近的一层软件,相当于操作系统和硬件之间的大门,也是操作系统中非常重要的一部分,很多功能都需要由OS内核来实现。OS内核包含了一些使用频率比较高的模块,例如时钟管理、设备驱动等等,为了提高OS的效率,他们常驻内存。
17、OS内核有什么功能?支撑、资源管理。支撑:中断处理(在汇编中的很多操作需要中断实现,比如输入和输出等。还有键盘、鼠标这些IO设备都要依靠中断机制)、时钟管理(计算机方方面面都要用到时钟,比如分时系统中的时间片)、原语操作(进程的状态转换依靠原语,原语是说不能中断的代码)。资源管理:进程管理(进程创建、终止、状态转换等)、存储器管理(关于内存的一些东西,比如虚拟内存,内存分配回收等。说白了就是处理和内存相关的事物。)、设备管理(前边提到的驱动程序等)

 


 

操作系统——第二章

标签:文件表   资源   数据段   关于   中断处理   产生   联系   进程状态   动态   

原文地址:https://www.cnblogs.com/lgwdx/p/14508452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!