一、输入输出操作(要求达到“识记”层次)
1、什么是输入输出操作:主存储器与外围设备之间的信息传送操作称为输入输出操作。
2、对于存储型设备,输入输出操作的信息传输单位为“块”。对输入输出型设备,输入输出操作的信息传输单位为“字符”。
二、独占设备和共享设备(识记)
1、独占设备是指每次只能供一个作业执行期间单独使用的设备。如输入机、磁带机、打印机等。
2、共享设备是指允许几个作业执行期间可同时使用的设备。共享设备的“同时使用”的含义是指多个作业可以交替启动共享设备,其实是当一个用业正在使用设备时其他作业暂不能使用,即每一时刻仍只有一个作业占用,但当一个作业正在使用设备时其他作业就可使用。
三、独占设备的分配(领会)
1、独占设备的绝对号与相对号
这和绝对地址/相对地址的概念类似。绝对号就是将每一台设备确定一个编号(相当于一个绝对地址)。相对号就是为了用户程序的方便而设的,在用户请求使用时,采用“设备类-相对号”来提出使用设备要求。由系统建立绝对号与“设备类-相对号”之间的关系,就能正确启用设备了。
2、设备的指定方式
1) 设备绝对号:系统为每一个设备确定一个唯一的编号。
2)设备相对号:不具体指定是哪台设备,只说明要某类设备多少台,这样可以由系统灵活分配。
3)设备独立性:采用“设备类、相对号”方式使用设备时,用户编程时使用的设备与实际使用哪台设备无关,这就是“设备独立性”。
4)如何实现独占性设备分配:对于独占性设备,系统采用“静态分配”的策略,就是当一个作业所需使用的独占设备能得到满足时,该作业才能被装入主存储器执行。
在操作系统中,设置“设备分配表”来记录计算机系统所配置的独占设备类型、台数和分配情况等。设备分配表由“设备类表”和“设备表”两部分组成。通过查表和修改表的操作完成设备分配工作。
四、磁盘的驱动调度(领会)
1、 磁盘的结构
还记得小学时的作业吗?秒,分,小时?)这也一样,扇区套在磁道里,磁道套在柱面里,柱面套在一个磁盘里。接下来的问题就是被除数=除数×商+余数了。明白了吗?
2、访问磁盘的操作时间
3、磁盘的驱动调度:系统决定等待磁盘访问者的执行次序的工作就是磁盘的“驱动调度”。
4、对磁盘进行驱动调度的目的:有利于系统效率的提高。
5、磁盘调度分为移臂调度和旋转调度。
6、移臂调度算法包括以下四种:
1) 先来先服务算法;
根据访问者提出访问请求的先后次序来决定执行次序。
2) 最短寻找时间优先调度算法;
从等待的访问者中挑选寻找时间最短的那个请求执行,而不管访问者的先后次序。
3) 电梯调度算法;
从移动臂当前位置沿移动方向选择最近的那个柱面的访问者来执行,若该方向上无请求访问时,就改变移动方向再选择。
4) 单向扫描调度算法。
从0柱面开始往里单向扫描,扫到哪个执行哪个。
7、信息的优化分布:知道信息在磁盘上排列不一定是按顺序最优,对于一些能预知处理要求的信息采用优化分页可以缩短输入输出操作时间,提高系统效率。
五、外围设备的启动(识记)
1、通道(channel):计算机系统中能够独立完成输入输出操作的硬件装置。是CPU与设备的桥梁。
注解:CPU并不直接操作外围设备,他连接通道(I/O处理机),通道连接设备控制器,设备控制器连接设备。CPU只需把“I/O”设备启动,并给出相关的操作要求。然后就由通道来处理输入输出事宜,做完后报告CPU。
2、通道地址字(CAW)和通道状态字(CSW)
用来存放通道程序首地址的主存固定单元称为“通道地址字”。
通道状态字:用于记录通道和设备执行情况的主存单元。
3、I/O中断:是指中央处理器和通道协调工作的一种手段。通道借助I/O中断请求CPU进行干预,CPU根据产生的I/O中断事件了解输入输出操作的执行情况,I/O中断事件是由于通道程序的执行或其他外界原因引起的,对通道操作而言,当操作正常结束或异常结束(如设备故障、设备特殊情况引起异常结束)形成I/O中断,由CPU根据相应情况分别处理。
六、虚拟设备SPOOL系统(领会)
1、实现虚拟设备的目的:用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高。
2、实现虚拟设备的硬件条件:大容量磁盘;中断装置和通道;中央处理器与通道并行工作的能力。
实现虚拟设备的软件条件是要求操作系统采用多道程序设计技术。
3、虚拟设备的实现原理:对于多道程序,输入时将一批作业的信息通过输入设备预先传送到磁盘上。输出时将作业产生的结果也全部暂时存在磁盘上而不直接输出,直到一个作业得到全部结果而执行结束时再行输出。这样在执行过程中,不需要使用输入机和打印机。因此在配置一台输入机和打印机的情况下,可以让多个作业同时执行,并且各个作业请求输入信息和输出结果的要求都能及时得到满足和实现。
4、SPOOL系统的组成和实现:
井:为实现虚拟设备在磁盘上划出的专用存储空间,用于存放作业的初始信息和执行结果。
SPOOL系统由三部分程序组成:
1、预输入程序。通过该程序把作业流中每个作业的初始信息传送到输入井保存,以备作业执行时使用。
2、井管理程序:根据作业的请求,保证作业正确及时地从“井”中读取或写出信息。
3、缓输出程序。它负责查看“输出井”中是否有待输出的结果信息,若有则启动打印机把作业结果输出。
4、spool系统可以缩短作业执行时间的原因。
作业的执行时间是指作业被装入主存储器到产生全部结果所需要的时间。在SP在SPOOL系统控制下,作业执行时从磁盘上读/写信息代替低速的输入机和打印机的读/写操作,信息传送的速率显然是快得多。因此作业的执行时间就缩短了。
死锁:(就是路口的塞车现象 )
若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”。或说这组进程处于“死锁”状态。
一、死锁的防止(简单应用)
1、系统出现死锁必然出现以下情况:
1)互斥使用资源
2)占有并等待资源
3)不可抢夺资源
4)循环等待资源
2、死锁的防止策略:破坏产生死锁的条件中的一个就可以了。
常用的方法有:静态分配、按序分配、抢夺式分配3种。
二、死锁的避免(简单应用)
1、死锁的避免是让系统处于安全状态,来避免发生死锁。
安全状态:如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于“安全状态”。
2、银行算法是怎样避免死锁的:
计算机银行家算法是通过动态地检测系统中资源分配情况和进程对资源的需求情况,在保证到少有一个进程能得到所需要的全部资源,从而能确保系统处于安全状态进,才把资源分配给申请者,从而避免了进程共享资源时系统发生死锁。
采用银行家算法时为进程分配资源的方式:
1)对每一个首次申请资源的进程都要测试该进程对资源的最大的需求量。如果系统现存资源可以满足他的最大需求量,就按当前申请量为分配资源。 否则推迟分配。
2)进程执行中继续申请资源时,先测试该进程已占用资源数和本次申请资源总数有没有超过最大需求量。超过就不分配。
若没有超过,再测试系统现存资源是否满足进程尚需的最大资源量,满足则按当前申请量分配,否则也推迟分配。
总之,银行家算法要保证分配资源时系统现存资源一定能满足至少一个进程所需的全部资源。
(银行家算法在操作系统的实践考试中可能会用到)
三、死锁的检测和解除(领会)
死锁的检测
就是既不打预防针,也不去避免得病,而是经常去体检,如果发现有病了就治疗。这是一种事后解决的办法,也算是解决死锁问题的一条途径。但这毕竟要付出较大代价。
重点是:分析与时间有关的错误;用PV操作实现进程的同步与互斥;用信箱实现进程通信。
一、进程的顺序性与并发性(领会)
1、进程的顺序性:任何进程在顺序的处理器上的执行是严格按照顺序进行的,每次只能执行一个操作。这就是进程的顺序性。
当一个进程独占处理器顺序执行时,具有两个特性:一、封闭性 二、可再现性。封闭性是说进程的执行结果只取决于进程本身,不受外界影响。可再现性是说当进程重复执行时,必定获得相同的结果。
2、进程的可同时执行:指一个进程没有完,另一个就可以开始。在时间上是可重叠的,我们把这个叫做进程的可同时执行。
3、进程的并发性:系统中存在一组可同时执行的进程。并发进程相互之间可能是无关的,也可能是交往的。
并发进程的执行速度取决于自身和进程调度策略。二者缺一不可,执行速度不能由自己决定。
4、与时间有关的错误 :有交往的并发进程交替使用共享资源时会出现错误,错误与时间有关,称为与时间有关的错误。其错误的根本原因是这些进程交叉使用了共享变量。
二、相关临界区
1、并发进程中与共享变量有关的程序段称为“临界区”。并发进程中涉及到相同变量的那些程序段是相关临界区。
2、对相关临界区的管理的基本要求。
对相关临界区管理的基本原则是:如果有进程在相关临界区执行,则不让另一个进程进入相关的临界区执行。
五、进程的同步(综合应用)
1、进程同步的含义:进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。
“生产者”与“消费者”是同步问题的典型例子。
这里有两个消息量:一是“缓冲器里有物品”,二是“可把物品存入缓冲器”,这两个消息量对应需要两个信号量SPut和SGet.SP的初始值为1,如果初始时可用的缓冲器为n个,则SP=n;SG的初始值为0。
生产者进程调用P(SP)和V(SG),消费者进程调用P(SG)和V(SP),根据SG和SP的值来决定是否可以存或取物。
2、正确使用PV操作实现进程同步。
(1)用一个信号量与一个消息联系起来,当信号量的值为0时表示期望的消息尚未产生,当信号量值为非0时表示期望的消息已经存在。
(2)在用PV操作实现同步时,一个信号量与一个消息量联系在一起,当有多个消息时必须定义多个信号量;测试不同的消息是否到达或发送不同消息时,应对不同的信号调用P操作或V操作。
(3)仔细领会教材中的例子,关于PV操作,在考试中出现的可能性极大,但是难度基本不超过教材上例题。见本栏的高手切磋。
3、使用PV操作实现进程同步与互斥的混合问题。
进程的同步与进程的互斥都涉及到并发进程访问共享资源的问题。可以看到进程的互斥实际上是进程同步的一种特殊情况。若干进程互斥使用资源时,一个等待使用资源的的进程在得到占用资源的进程发出“归还资源”的消息(调用了V操作)后,它就可去使用资源。因此,互斥使用资源的进程之间实际上也存在一个进程依赖另一个进程发出信息的制约关系。所以,也把进程的互斥与进程的同步称为进程的同步。