第一章:引论
一、计算机系统:最内层的是硬件,硬件由中央处理器、存储器、输入输出控制系统、各种输入输出设备组成
软件由系统软件(操作系统、编译程序等)、支撑软件(各种接口软件、软件开发工具和环境等)、应用软件(人口普查软件、飞机订票软件、财务管理软件);应用软件是特定应用领域的专用软件
二、操作系统:是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件;主要作用有:
1、管理计算机系统资源;
2、为用户提供方便的使用接口;
3、扩充硬件;
4.不仅提高效率,而且便于使用。
操作系统按功能分为:
1.处理器管理(主要工作是进行处理器的分配调度)
2.存储管理(对主存储器进行管理,根据用户程序要求为它分配主存空间和实现重定位,同时还保护用户存放在主存储器中的程序和数据不被破坏)
3.文件管理(面向用户实现按名存取,支持对文件的存储、检索以及解决文件的共享、保护和保密的问题)
4.设备管理(管理这种外围设备,包括分配、启动和故障处理)
操作系统的三种基本类型:
1.批处理操作系统(单道批处理系统:一个计算问题看成作业,该系统每次只允许一个作业执行;多道批处理系统:中央处理器与各种外围设备能并行工作,提高了系统资源的使用率,但作业执行时用户不能直接干预作业的执行)
2.分时操作系统(分时系统让用户通过与计算机相连接的中端来使用计算机系统,允许多个用户同时与计算机系统进行一系列交往,在分尸系统的控制写,用户在终端设备上可以直接输入、调试和运行自己的程序,能直接修改程序中的错误,并且直接获得结果)
3.实时操作系统(计算机系统接收到外部信号后集市进行处理,并且要在严格的时限内处理完接受的时间。设计实时操作系统必须考虑系统的实时性和可靠性,其次才考虑系统的效率。)
操作系统的发展:微机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统
当前流行的操作系统:Windows、UNIX(通用的交互式分时操作系统)、Linux(网络时代的产物,多任务多用户的通用操作系统)
三、处理器的工作状态:
特权指令:不允许用户程序中直接执行的指令称特权指令; 管态和目态:能执行特权指令时称管态,否则称目态
程序状态字(PSW):用来控制指令执行顺序并且保留和指示与程序有关的系统状态,分成程序基本状态、中断码、中断屏蔽位三个部分;
用来存放当前运行程序的PSW的寄存器称为程序状态字寄存器。
操作系统与用户程序的接口:一组系统功能调用;一组操作控制命令;
第二章:处理器管理
一、多道程序设计:顺序执行、并行执行(三个可独立执行的程序模块:输入程序、处理程序、打印程序。为了进一步提高效率,可以考虑同时接纳两道或以上的计算问题。这样就有可能当一道计算题在等待外围设备传输的同时,让另一道计算题占用暂时空闲的处理器。)
让多个计算题同时进入一个计算机系统的主存储器并行执行,这种程序设计方法称为多道程序设计,这样的计算机系统称为多道程序设计系统。
优点:多道程序设计不仅提高了处理器的利用率,而且降低了完成计算所需的总时间,从而提高了单位时间内的算题能力,也提高了吞吐量。
缺点:在多道并行工作时,一道题的执行可能受另一道题的制约,对于每一道来说,从开始执行到完成所需的时间有时会比单独时所需的时间长。
二、进程的概念:一个程序在一个数据集上的一次执行称为一个进程,程序是静止的,进程是动态的。
为什么要引入进程:一是提高资源的利用率;二是正确描述程序的执行情况。
三、进程的三个特性:动态性、并发性、异步性;
四个属性:
1、进程是动态的,它包含了数据和运行在数据集上的程序;
2、多个进程可以含有相同的程序;
3、多个进程可以并发执行;
4、进程有三个种基本状态:等待态、就绪态、运行态;(运行态->等待态;等待态->就绪态;运行态->就绪态;就绪态->运行态)
四、进程控制块(PCB):1、标识信息;2、说明信息;3、现场信息;4、管理信息
操作系统中往往设计一些能完成特定功能且不可中断的过程。这些不可中断的过程称为原语;用于控制进程的原语有:创建原语、撤销原语、阻塞原语、唤醒原语;
五、进程队列:就绪队列、各程等待队列、出队:进程从所在队列中退出;入队:进程排入到一个指定的队列中;系统中负责进程入队和出队的工作称为队列管理。
六、中断:由于某些事件的出现,中止现行进程的运行,而由操作系统去处理出现的事件,待适当的时候让被中止的进程继续运行的过程;
中断源:引起中断的事件;
中断处理程序:对出现的事件进行处理的程序;
类型:硬件故障中断、程序中断、外部中断、输入输出中断、访管中断;前四类为强迫性中断,后者称为自愿性中断也叫系统调用。
中断响应:由硬件的中断装置暂停现行进程的运行,让操作系统的中断处理程序占用处理器的过程称中断响应;自愿中断事件是由处理器执行指令时根据指令中的操作码捕获到的,强迫性中断事件是由硬件的中断装置发现的。通常处理器执行完一条指令后,硬件的中断装置立即检查有无强迫性中断事件发生。
程序状态字:
当前PSW:正在占用处理器的进程的PSW;
新PSW:中断处理程序的PSW;
旧PSW:被中断进程的PSW;
中断处理:分两步:一是保护好被中断进程的现场信息,即把被中断进程的通用寄存器和控制寄存器内容以及被中断进程的旧PSW保存起来;二是根据旧PSW中指示的中断事件进行具体处理;
七、处理器调度:两级调度:作业调度和进程调度
1、输入井:在操作系统中,把磁盘上用来存入作业信息的专用区域称为输入井
2、后备作业:把在输入井中等待处理的作业称为后备作业;
3、作业调度:从输入井中选取后备作业装入主存储器的工作称为作业调度;作业调度的必要条件是系统中现有的尚未分配的资源可以满足被选作业的资源要求。
4、进程调度:从就绪进程中选取一个进程,让它占用处理器的工作称为进程调度;
对于任何一个作业来讲,只有先被作业调度选中才有机会去竞争处理器,并且仅当被进程调度选中时才能占用处理器。
作业调度算法原则:公平性、平衡资源使用、极大流量
1、先来先服务算法:按照作业进入输入井的先后次序来挑选作业,先进入的且满足条件的优先被挑选;
2、计算时间短的作业优先算法:要求用户对自己的作业估计一个时间,时间短的优先,缺点:一是以用户估计时间为标准,可能会故意估计短一些,二是由于不断有新作业进入输入井会造成要求计算时间长的作业等待过长的时间;
3、响应比高者优先算法:响应比=等待时间/计算时间;
4、优先级调度算法
5、均衡调度算法
进程调度算法 :
进程切换:一个程序让出处理器由另一个进程占用处理器的过程称为进程切换。进程切换是由进程状态的变化引起的。
引起进程切换的情况:
1.一个进程从运行状态变成等待状态
2.一个进程从运行状态变成就绪状态
3.一个进程从等待状态变成就绪状态
4.一个进程完成工作后被撤销
进程调度算法种类:
1、先来先服务调度算法;
2、最高优先级调度算法:非抢占式、可抢占式
3、时间片轮转调度算法:时间片是指允许进程一次占用处理器的最长时间; 八、线程的概念
线程:在现代操作系统中,把用户的一个计算问题或一个应用问题作为一个进程,把该进程中可以并发执行的各部分分别作为线程,线程就是进程中可以独立执行的子任务,一个进程可以有多个线程,每个线程都应有一个唯一的标识符和一张线程描述表。
进程是资源分配单位,线程是调度、执行单位;
采用多线程技术有明显的优势性:
1、减少了进程也就节省了分配进程控制块和工作区的开销;
2、创建线程需要建立一张“线程描述表”,以记录线程的活动情况,但不需要分配资源,创建速度快;
3、线程间的信息传递在同一主存空间(进程所拥有的主存空间)中进行,不需要额外的通信机制,且传递速度快;
4、能独立执行,充分利用和发挥处理器与外围设备的并行工作能力;
线程的基本属性 :
1、同一进程中的各线程驻留在分配给程序的主存地址空间中且共享该进程的所有资源;
2、一个线程被创建后开始了它的生命周期,直至之行结束而终止。线程在生命期内会经历等待、就绪、运行等程种状态变化;
3、线程是处理器的调度单位,多个线程可并发执行。在单处理器系统器的计算机系统中,个线程交替占用处理器。在多处理器的计算机系统中,各线程可同时占用不同的处理器
4、不同的线程可以执行相同的程序即同一服务程序若被不同用户调用时操作系统就为他们创建不同的线程
线程又称为轻型进程;
第三章 存储管理
一、计算机系统中的存储器 常用寄存器及功能:
1、指令寄存器——用于存放当前从主存储器中读出的指令;
2、通用寄存器——用于存放当前参加运算的操作数、运算结果等;
3、控制寄存器——用于存放控制信息以保证程序的正确执行和系统安全。
主存储器:存储容量较大,存取速度快;
高速缓冲存储器:速度快于主存,造价高;
辅助存储器:存储容量大,可长期存储,处理器不能直接读写,必须读到主存储器中才能被处理器访问。
二、重定位
绝对地址(物理地址,实地址):把主存空间的地址编号称为绝对地址,与绝对地址相对应的主存空间称为物理地址空间;
逻辑地址(逻辑地址,虚地址):用户程序中使用的地址称为逻辑地址,与逻辑地址相对应的存储空间称为逻辑地址空间;
重定位(地址转换):把逻辑地址转换成绝对地址的工作称为重定位或者地址转换,
重定位分为静态定位和动态定位两种:
1、静态重定位:地址转换工作在作业执行前集中一次完成,在执行过程中无需再进行地址转换。采用静态重定位时,由于装入主存储器的作业信息已经都是绝对的地址指示,故作业在执行过程中不能移动位置
2、动态重定位:需要由软件和硬件相互配合来实现,在执行指令时根据需要将逻辑地址与基地址相加得到绝对地址。采用动态重定位时,由于装入主存的作业保持原来的逻辑地址,所以必要时可改变它在主存的存放区域。
三、单用户连续存储管理
在处理器执行指令时要检查绝对地址是否>=界限地址a,且<=最大地址c。在这个范围内执行,否则产生“地址月结中断事件”。
四、固定分区存储管理
固定分区存储管理是把主存储器中可分配的用户区域预先划分成若干连续区,每一个连续区称为一个分区
1、主存空间的分配与收回:设置分区表,为每个分区设置标志位,0为空闲;非0为占用;
2、地址转换和存储保护:设置下限寄存器和上限寄存器对存储进行保护,超出上下限范围即由硬件产生“地址越界”中断事件; 下线地址<=绝对地址<上限地址
3、提高主存空间的利用率:
(1)根据经常出现的作业的大小和数量来划分分区,尽可能使各分区被充分利用
(2)划分分区时按分区大小进行排列,低地址部分是较小的分区,高地址部分是较大的分区
(3)按作业对主存空间的需求量排成多个作业队列;
五、可变分区存储管理
1、主存空间的分配与回收:
常用的贮存分配算法:
(1)最先适应分配算法:顺序查找空闲区表,找到第一个能满足作业长度要求的空闲区分割这个找到的空闲区,一部分分配给作业,另一部分仍为空闲区。
(2)最优适应分配算法:从所有空闲区中挑选一个能满足作业要求的最小空闲区
(3)最坏适应分配算法:挑选一个最大的空闲去分割一部分给作业使用
回收时同时收回相邻的区域;
2、地址转换和存储保护:采用可变分区方式管理时,一般均采用动态重定位方式装入作业,需要有硬件地址转换机制作支持:基址寄存器、限长寄存器;
基址寄存器≤绝对地址≤限长寄存器
3、移动技术:把作业从一个存储区域移动到另一个存储区域的工作称为移动
移动技术的目的有两个:一是集中分散的空闲区;二是便于作业动态扩充主存;
需要注意两个问题:一是移动会增加系统开销(操作系统所占用的系统资源和所需的处理器时间称为系统开销);二是移动是有条件的,并不是任何一个作业都能随意被移动;
六、页式虚拟存储管理:
需要解决的两个问题:
一是怎样知道主存储器中哪些块已被占用,哪些块是空闲的:主存分配表;采用位示图实现,每一位代表一块主存;从“0”开始:块号=字号*字长+位号、字号=[i/字长]、位号=I mod 字长;[]表示取整
二是作业信息被分散存放后如何保证作业的正确执行:采用动态重定位的方式装入作业,作业执行时由硬件的地址转换机构来完成从逻辑地址到绝对地址的转换工作;绝对地址=块号*块长+页内地址;由于分块和分面的大小一致,再利用二进制乘法的特性,只要把逻辑地址中的页内地址作为绝对地址中的低地址部分,而根据页号从页表中查得主存块号作为绝对地址中的高地址部分,就能得到应访问的主存储器的绝对地址;
快表:利用高速缓冲存储器存放页表的一部分,把存放在调整缓冲存储器中的部分页表称为快表
快表的淘汰策略:最简单的是先进先出;
页式存储管理有利于实现多个作业共享程序和数据。
七、虚拟存储器(允许用户的逻辑地址空间大于主存储器的绝对地址,对用户来说,好像计算机系统具有一个容量很大的主存储器,称为虚拟存储器):
页式虚拟存储管理的实现:缺页中断;
页面调度:采用某种算法选择一页暂时调出,把它存放到磁盘上去,让出主存空间,用来存放当前要使用的页面,这一过程称为页面调度;
抖动(颠簸):页面调度非常频繁一致于使大部分时间都花费在来回调度上,称为抖动;
页面调度算法:一是先进先出调度算法;二是最近最久未使用调度算法;三是最近最不经常使用算法;
八、多级页表:常用二级页表;
第四章 文件管理
一、概述:
文件管理(文件系统):为了减轻用户的负担和保证系统的安全,操作系统中设计了对信息进行管理的部分称为文件管理或文件系统
文件:逻辑上具有完整意义的信息集合,每个文件都要用一个名字作标识
文件系统的功能
:1、实现从逻辑文件到物理文件之间的转换;
2、有效地分配文件存储空间;
3、建立文件目录;
4、提供合适的存取方式以适应各种不同的应用;
5、确保文件安全性;
6、提供一组文件操作。
文件分类:按用途分系统文件、库文件和用户文件;按保护级别分:只读文件、读写文件、执行文件和不保护文件; 按信息流向分输入文件、输出文件、输入输出文件;按存放时限临时文件、永久文件和档案文件;按设备类型分磁带文件、磁盘文件;按组织方式分逻辑文件、物理文件
二、文件的存储介质:
可用来记录信息的磁带、硬磁盘组、软件磁盘片、光盘、卡片等称为存储介质;
存储介质的物理单位定义为卷
存储介质上可连续存储信息的一个区域称为块,或称为物理记录;
三、文件的组织:
1、文件的逻辑结构(用户把能观察到的且可以处理的信息根据使用要求构造成为文件):逻辑文件:一是流式文件;二是记录式文件;
2、文件的存储结构:物理文件:存放在存储介质上的文件称为物理文件;
记录式文件的三种结构:
(1)顺序结构:把一个文件在逻辑上连续的信息存放在磁盘上依次相邻的块中
优点:存取信息速度快,不必每次去查找信息的存放位置,只要记住当前块号,则其后继信息一定再下一块中
缺点:磁盘的存储空间利用率不高
(2)链接结构:将文件的逻辑记录顺序与磁盘上的存储空间顺序独立开来,即逻辑记录是顺序的,但文件占用的存储空间可以随意选择不必连续,因此存储空间利用率高;
文件链接结构组织后,只有读出前一块信息后才能从链接指针中获得下一块信息的存放地址,因此读取速度慢
(3)索引结构 :优点:便于增、删文件的记录,索引顺序的文件既有顺序结构的优点,便于快速依次读出记录,又有索引结构能随机读取任一记录的能力。
缺点:当文件记录很多时,索引表就很庞大
文件的存取方式:
(1)顺序存取:不一定要按文件的逻辑顺序或记录顺序读/写文件中信息
(2)随机存取 :按文件。。。
3、记录的成组和分解:把若干个记录合并成一组存入一块的工作称为记录的成组;
从一组逻辑记录中把一个逻辑记录分离出来的工作称为记录的分解;
由于信息交换以块为单位,用户处理信息要以逻辑记录为单位,因此当逻辑记录成组后,用户要处理这些记录时必须执行分解操作。
优点:不仅提高了存储空间利用率,而且减少存储设备的启动次数
缺点:要设立主存缓冲区,增加了操作系统的开销
四、存储空间的分解:
1、位示图法:一个简单的管理办法是在主存储器的系统区中取若干个字组成的存储区构造成一张位示图来指示磁盘存储空间的使用情况。
去顶空闲快递至的通用地址:
块号=字号*字长+位号
柱面号=[块号/柱面上的块数]
磁头号=[(块号mod柱面上的块数)/磁道上的扇区数]
扇区号=(块号mod柱面上的块数)mod磁道上的扇区数
归还一块时,寻找位示图位置的通用公式:
块号=柱面号*柱面上块数+磁头号*磁道上扇区数+扇区号
字号=[块号/字长]
位号=块号mod字长
2、空闲块链接法:分为单块链接、成组链接;
五、文件目录:一组目录、二组目录、树形目录
六、文件的安全性:
文件的保护:1、防止天灾人祸造成的破坏;
2、防止系统故障造成的破坏;
3、防止用户共享文件时造成的破坏;
4、防止计算机病毒的侵害;
文件的保密: 防止他人窃取文件
七、文件的基本操作及其使用: 1、建立操作 2、打开操作 3、读操作 4、写操作 5、关闭操作 6、删除操作
第五章 设备管理
一、设备管理的功能:
1、实现对外围设备的分配与回收;
2、实现外围设备的启动;
3、实现对磁盘的驱动调度;
4、处理外围设备的中断事件;
5、实现虚拟设备。
二、外围设备的分类:
外围设备可分成两大类:一类是只能让一个作业独占使用的设备如输入机、打印机,通常把在作业执行期间只允许一个作业独占使用的设备称为独占设备;另一类是可以由几个作业同时使用的设备,通常称这种可以让几个作业同时使用的设备为可共享设备,同时使用的含义是指一个作业尚未撤离,另一个作业即可使用,但每一时刻仍只有一个作业能启动设备,允许他们交替地启动。
三、独占设备的分配:
设备的绝对号:计算机系统对每一台设备进行登记,且为每一台设备确定一个编号,以便区分和识别,这个确定的编号称为设备的绝对号;
设备的相对号:由用户对自己需要使用的若干台同类设备给出的编号称为设备的相对号;
设备的独立性:用户编制程序时使用的设备与实际占用的设备无关,设备的这种特性称为设备的独立性。
具有设备独立性的计算机系统,在分配设备时适应性好,灵活性强。这是因为:
1、系统只要从指定的那一类设备中找出“好的且尚未分配的”设备来进行分配;
2、万一用户使用的设备出了故障,系统就可以从同类设备中找出另一台“好的且尚未分配的”设备来替换;
四、磁盘驱动的调度:
寻找时间、延迟时间、传送时间
决定等待访问者执行次序的工作称为驱动调度,采用的调度策略称为驱动调度算法。对磁盘来说,驱动调度包括“移臂调度”和“旋转调度”两部分。一般总是先进行移臂调度,再进行旋转调度。移臂调度的目标是尽可能地减少寻找时间,旋转调度的目标是尽可能地减少延尽时间。
移臂调度:先来先服务、最短寻找时间优先、电梯调度;
最短寻找时间优先算法与电梯调度算法的区别:最短寻找时间优先算法不考虑臂的移动方向,总是优先选择离前位置最近的那个柱面的访问者,这种选择可能导致移动臂来回改变移动方向;电梯调度算法是沿着臂移动方向去选择,仅当沿臂移动方向无等待访问者进才改变臂的移动方向。 旋转调度:进行旋转调度需区分的几种情况若干请求要访问同一磁头下的不同扇区、不同磁头下的不同编号扇区、不同磁头下的相同编号的扇区;
信息的优化分布:信息在磁道上的排列方式也会影响旋转调度的时间;
五、设备的启动和I/O中断处理
输入输出操作:指主存储器与外围设备之间的信息传送操作;
输入输出处理机:通道能单独地完成输入输出操作,所以称通道为输入输出处理机。
IBM系统的通道命令(8字节):命令码(1字节)、数据主存地址(3字节)、标志码(1字节)、传送字节个数(3字节);
命令码分三类:数据传输类、通道转移类、设备控制类;
外围设备的启动:
1.准备阶段:根据指定的工作要求组织通道程序
2.中央处理器执行“启动I/O指令阶段:中央处理器“启动I/O”指令以启动通道工作,启动成功后,由通道逐条执行通道程序中的通道指令,以控制设备实现输入输出操作
3.通道向中央处理器汇报命令执行情况阶段:通道完成输入输出操作后,向中央处理器报告执行情况,中央处理器处理来自通道的情况报告
设备处理一致性:不考虑设备的具体物理特性(实际上设备的物理特性隐含在通道程序中)的处理方法称为设备处理一致性;
I/O中断处理事件:操作正常结束、操作异常结束;
六、缓冲技术:
缓冲技术:操作系统把利用缓冲区来缓解处理器与外围设备之间工作速度不匹配的矛盾而采用的技术称为缓冲技术。既能协调记录大小与物理块大小不一致的问题,又能缓解处理器与外围设备之间速度不匹配的矛盾。
单缓冲、双缓冲、缓冲池;
操作系统可以在主存中设置一组缓冲区,这一组缓冲区称为缓冲池。缓冲池中的各缓冲区是系统的公共资源,可供各进程共享,并由操作系统统一分配和管理。
系统初始化时缓冲池中的各缓冲区都是未被使用的,称为空缓冲区。
七、虚拟设备:
脱机外围设备操作:完成输入输出任务的外围计算机无需进行计算,只是把信息从一种存储介质传送到另一种存储介质上,这种操作是独立于主计算机的,不是在主计算机控制下进行的,称之为脱机外围设备操作。
脱机外围设备操作存在的问题:
1、使用多台计算机、成本高。
2、操作操作员的手工操作,在主计算机和外围计算机之间来回搬动磁盘,既费时间又增加了出错的可能。
3、增加了作业的周转时间,脱机外围设备操作必须将一批作业传送到磁盘之后,才能把磁盘移动到主计算机系统上。
联机同时外围设备操作:又称为斯普林操作,是指预输入程序把作业流中的作业信息传送到输入井保存,作业被选中执行时不必再启动输入机,而只要从磁盘上的输入井区域中读取信息。作业执行中产生的结果也可暂时先存入在输出井中,待作业执行结束后由缓输出程序把作业结果打印输出,由于预输入程序和缓输出程序的执行是在计算机的控制下进行的。
井管理程序:操作系统中实现从输入井读信息和把作业执行结果写到输出井的程序称为~
虚拟设备:把由操作系统模拟的独占设备称为~
斯普林系统:操作系统中实现联机同时外围设备操作功能的部分称为~
斯普林系统由三分部组成:预输入程序、井管理程序、缓输出程序,这三部分相互协调,为用户提供虚拟设备。
第六章 并发进程
一、进程的并发性
1.顺序性:进程在顺序处理器上的执行是严格按序的,即按照程序规定的操作顺序,只有在前一个操作结束后才能开始后继操作
当一个进程独占处理器顺序执行时,它具有两个特性:封闭性;可再现性
2、并发性:在一个进程的工作没有全部完成之前,另一个进程就可以开始工作,我们说这些进程是可同时执行的,或称它们具有可执行性,并且把可同时执行的进程称为并发进程;进程的并发执行会破坏“封闭性”和“可再现性”;
二、临界区与PV操作
临界区:并发进程中与共享变量有关的程序段称为临界区;
相关临界区:指并发进程中涉及到相同变量的那些临界区;
对于若干个并发进程共享某一变量的相关临界区的管理有三个要求:
1、一次最多一个进程能够进入临界区;
2、不能让一个进程无限制地在临界区执行;
3、不能强迫一个进程无限制地等待进入它的临界区。
PV操作:由P操作和V操作组成,不可中断的过程称为原语;
1、P操作:将信号量S减去1,若结果小于0,则把调用P(S)的进程置成等待信号量S的状态;
2、V操作:将信号量S加1,若结果不大于0,则释放一个等待信号量S的进程。
三、进程的互斥
进程的互斥:指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用该资源,其他要使用它的进程必须等待,直到该资源的占用者释放了该资源;
进程的同步:指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才能被唤醒;
进程互斥实际上是进程同步的一种特殊情况;P操作测试资源是否可以使用,相当于测试“资源可以使用”的消息是否到达;
四、进程通信
常用的高级通信方式有:信箱通信、消息缓冲通信、管道通信;
信件的内容包括:
发送者名
信息(或信息存放的地址和长度)
等/不等信息
回信存放信息
信箱通信需要用到两个通信原语:接收原语(send)和发送原语(receive);
五、死锁
1、死锁:系统中存在一组进程,它们中的每一个进程都占用了某种资源,而又都在等待该组进程中另一个进程所占用的资源,这种等待永远不能结束,即出现死锁或处于死锁状态;
若系统有某类资源m个,被n个进程共享,每个进程都要求k个资源(k<=m),当m<n*k时,即资源数小于进程所需资源的总数,如果分配不当,就可能引起死锁,若m<=n*k-n,则会引起死锁。
注意:PV操作可实现进程的同步和共享资源的互斥使用,但不能排除死锁;
2、死锁的必要条件:
(1)互斥地使用资源------每个资源每次只能给一个进程使用
(2)占有且等待资源------一个进程申请资源得不到满足时处于等待的状态,且不释放已占资源
(3)非抢夺式分配---------任何一个进程不能抢夺另一个进程所占的资源,即已被占用的资源只能由占用进城自己来释放
(4)循环等待资源 ---------存在一组进程,其中每个进程分别等带另一个进程所占用自语
3、死锁的防止:静态分配资源、按序分配资源、剥夺式分配资源;
4、死锁的避免:古典的测试方法:银行家算法:该算法规定,只有当系统现存的资源能够满足进程的最大需求量时,才把资源分配给该进程。
5、操作系统处于安全状态:保证所有的进程在有限时间内得到需要的全部资源;
更多内容,请查看
更多自考学校,请查看“成人高考院校库”