1、4. 三种基本类型的操作系统:批处理系统:用户作业成批的处理,作业建立、过渡、完成都自动由系统成批完成,且在计算机内存中同时存放几道相互独立的程序,使它们在管理程序的控制下,相互穿插运行。分时系统:系统内存在若干并发程序对CPU时间片共享使用。实时系统:计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。5. 分时概念:分时主要指若干并发进程对CPU时间的共享;6. 现代操作系统的三种用户界面:命令界面、图形界面和系统调用。7. 操作系统的发展过程:单道批处理系统多道批处理系统分时系统实时系统第二章 进程管理1. 什么是进程,进程与程序的区别和关系:进程:进
2、程是可以和别的计算并发执行的计算;进程是程序的一次执行,是在给定内存区域中的一组指令序列的执行过程;进程是一个程序在给定活动空间和初始条件下在一个处理机上的执行过程;进程可定义为一个数据结构和能在其上进行操作的一个程序;进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程与程序的区别:程序是静态概念,而进程是程序的一次执行过程,是动态概念。 进程是一个能独立运行的单位,能与其它进程并发执行。进程是作为申请和调度单位存在的;而通常的程序是不能作为一个独立运行的单位而并发执行的。 程序和进程无一一对应关系。 各个进程在并发执行过程中会产生相互制约关系,而程序本身是静
3、态的,不存在这种异步特征。2. 进程的两个基本属性:可拥有资源的独立单位、可独立调度和分派的基本单位3. 进程的特征:动态性、并发行、独立性、异步性、结构特征4. 进程的基本状态及其变化:三种基本状态:运行态:当前进程已分配到CPU,它的程序正在处理机上运行;就绪态:进程已具备运行条件,但因为其它进程正占用CPU,所以暂时不能运行而等待分配CPU的状态;阻塞态:因等待某件事件发生而暂时不能运行的状态。就绪运行:被调度程序选中,分配到CPU。运行阻塞:因缺乏某种条件而放弃对CPU的占用。阻塞就绪:阻塞态进程所等待的事件发生了。运行就绪:进程用完时间片(分时系统中)或一个优先权更高的进程进入就绪队
4、列(“优先权高优先”调度算法中)。有些操作系统中增加了两种状态:新状态和终止状态5. 某些操作系统中引入的进程的挂起状态(静止状态)- 挂起就绪、挂起阻塞;6. 进程由哪些部分组成,进程控制块的作用:进程由PCB、程序段和相关数据段组成;进程控制块是进程组成中最关键的部分,PCB是进程存在的唯一标志,每个进程有唯一的进程控制块,操作系统根据PCB对进程实施控制和管理,PCB是进程存在的唯一标志。7. 进程的切换(处理机从一个进程转到另一个进程),可能引起进程切换的时机(进程运行结束;进程从运行态变为就绪态;进程从运行态变为等待态;进程从等待态变为就绪态);8. 并发进程间两种相互制约关系:什么
5、是进程的同步(直接制约关系)与互斥(间接制约关系):进程的同步:进程间共同完成一项任务时直接发生相互作用的关系;进程的互斥:两个逻辑上本来完全独立的进程由于竞争同一个物理资源而相互制约。9. 多道程序设计概念: 多道程序设计是在一台计算机上同时运行两个或更多个程序,多道程序设计具有提高系统资源利用率和增加作业吞吐量的优点;10. 处理机的两种执行状态:管态和目态;11. 什么是临界资源、临界区:临界资源:一次仅允许一个进程使用的资源;临界区:每个进程访问临界资源的那段程序。12. 进程同步的机制:信号量机制和管程机制。13. 信号量机制中包括:a整型信号量 b记录型信号量(重点)c AND型信
6、号量。14. 什么是信号量,PV操作的动作,进程间简单同步与互斥的实现。信号量:也叫信号灯,记录型信号量是由两个成员组成的数据结构,其中一个成员是整型变量,表示信号量的值,另一个是进程链表L,用于链接等待进程。信号量的值与相应资源的使用情况有关。互斥信号量:初值为1;资源信号量:初值为资源的数目;P、V操作(也叫wait、signal操作)执行的动作。P操作的动作:信号量S.value减1,即S.value=S.value-1;如果S.value0,则该进程继续执行;否则放到另一个分量进程链表中等待。V操作的动作:S.value加1,即S.value=S.value+1;如果S.value0,
7、则该进程继续执行;否则唤醒进程链表中的第一个等待进程。wait和signal操作描述: wait(S): S.value:=S.value-1; if S.value0 S的值表示可继续进入售票厅的人数; S=0 表示售票厅中已有20名顾客(购票者); S0 |S|的值为等待进入售票厅的人数。(2)上框为 P(S) 下框为 V(S) (3)S 的最大值为 20 S 的最小值为 20 n进程同步的例题3: 某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚用水桶从井中提水入缸,老和尚用水桶从缸里取水饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个水桶取水。水桶总数为3个。每次入、取
8、缸水仅为1桶,且不可以同时进行。试用P、V操作给出小和尚、老和尚动作的算法描述。 小和尚从井中取水并向缸中倒水为一个进程,而老和尚从缸中取水为另一个进程。 有关互斥的资源有: 水井(一次仅允许一个水桶进出); 水缸(一次倒水、取水仅一个水桶)。 分别为它们设置信号量mutex1、mutex2来实现互斥,初值均为1。有关同步的问题是: 3个水桶-无论是从井中取水还是倒水入缸或取水出缸都是一次一个,即为其设置信号量count,初值为3,抢不到水桶的进程只好等待。 此外,设置信号量empty来控制入缸的水量,初值为10,当水缸满时不可入水;设置信号full控制出缸的水量,初值为0,当水缸空时不可出水。Begin mutex1:=1;mutex2: empty:=10;full:=0; count:=3; Cobegin 小和尚i(i=1,2,)打水; 老和尚j(j=1,2,)取水; Coend;End.小和尚i(i1,2,)打水: Begin Repeat P(empty); /*看水缸满否,满则阻塞打水进程*/ P(count); /*申请打水的桶*/ P(mutex1);/*互斥使用水井,即不允许两和尚同时打水*/ 从井中取水; V(mutex1); P(mutex2); /*互斥使用水缸*/ 送
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1