进程控制块
- 格式:doc
- 大小:133.00 KB
- 文档页数:12
[操作系统]进程控制块
进程控制块: 是操作系统管理控制进程运⾏所哦那个的信息集合,操作系统⽤PCB来描述进程的基本情况以及运⾏变化的过程,PCB是进程存在的唯⼀标志
进程的创建:为进程创建PCB
进程的终⽌:回收他的PCB
进程的组织管理:通过对PCB的阻值管理实现
包含三⼤类信息
(⼀) 进程标识信息:如本进程的表⽰,本进程的产⽣者标识(⽗进程标识) ⽤户标识
(⼆) 处理器的状态信息保存区保存进程的运⾏现场信息
⽤户可见寄存器:⽤户程序可以使⽤的数据,地址等寄存器
控制和状态寄存器:⽐如程序计数器PC 程序状态字 PSW
栈指针:过程调⽤/系统调⽤/终端处理和返回时需要⽤到
(三)进程控制信息
调度和状态信息:⽤于操作系统调度进程并占⽤处理机使⽤
进程间通信信息:为⽀持进程通信与通信相关的各种标志信号信件等,这些信息存在接收⽅的进程控制块中
存储管理信息:包含有指向本进程映像存储空间的数据结构
进程所⽤资源:说明由进程打开、使⽤的系统资源,如打开的⽂件等。
有关数据结构链接信息:进程可以连接到⼀个进程队列中,或连接到相关的其他的其他的PCB
PCB的组织⽅式
链表:同⼀状态的进程其PCB成⼀张链表多个状态对应多个不同的链表
(各状态有不同的链表⽐如就绪链表阻塞链表)
索引表:同⼀状态归⼊⼀个index表 (由index指向PCB),多个状态对应多个不同的Index表
(各状态的进⾏形成不同的索引表:就绪索引表、阻塞索引表)。
设计一个有N个进程的进程调度程序一、实验目的通过一个简单的进程调度模拟程序的实现,加深对各种进程调度算法,进程切换的理解。
二、实验内容1、进程调度算法:采用动态最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。
2、每个进程有一个进程控制块(PCB)表示。
进程控制块可以包含如下信息:●进程名----进程标示数ID;●优先数----Priority,优先数越大优先权越高;●到达时间----进程的到达时间为进程输入的时间;●进程还需要运行时间----AllTime,进程运行完毕AllTime =0;●已用CPU时间----CPUTime;●进程的阻塞时间StartBlock----表示当进程在运行StartBlock个时间片后,进程将进入阻塞状态;●进程的阻塞时间StartTime----表示当进程阻塞StartTime个时间片后,进程将进入就绪状态;●进程状态----State;●队列指针----Next,用来将PCB排成队列。
3、调度原则●进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。
进程的到达时间为进程输入的时间;●进程的运行时间以时间片为单位进行计算;●进程在就绪队列中带一个时间片,优先数加1;●每个进程的状态可以是就绪R(Ready)、运行R(Run)、阻塞B(Block)、或完成F(Finish)四种状态之一;●就绪进程获得CPU后都只能运行一个时间片,用已占用CPU时间加1来表示;●如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减3,然后把它插入就绪队列等待CPU;●每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查;●重复以上过程,直到所要进程都完成为止。
三、实验要求完成实验内容并写出实验报告,报告应具有以下内容:1、实验目的。
一、单选题1、关于进程控制块的描述,如下存在问题的选项是()。
A.操作系统控制和管理并发执行进程的依据B.进程存在的惟一标志,离散存放于内存空间或对应程序的文件目录项中C.进程实体的一部分,是拥有描述进程情况及控制进程运行所需的全部信息的记录性数据结构D.使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程正确答案:B2、进程标识符和进程控制块的分配可能发生在进程的()阶段。
A.阻塞B.挂起C.创建D.终止正确答案:C3、当一个进程被()时,可能会发生处理器的调度。
①终止;②挂起;③唤醒;④阻塞A.①②④B.①③④C.①②③④D.①④正确答案:C4、对于系统服务进程而言,如果当前没有任务,便会引发自身的()事件。
A.进程阻塞B.进程唤醒C.进程终止D.进程挂起正确答案:A5、引起进程重新调度的原因不包括()。
A.进程放弃处理器B.进程从核心态返回用户态C.进程执行系统调用和陷入内核态D.时钟中断正确答案:C6、关于进程同步机制基本准则:当无进程处于某临界资源所对应的临界区时,可允许一个请求进入(该临界资源所对应的)临界区的进程立即进入自己的临界区,这称之为()。
A.忙则等待B.有限等待C.空闲让进D.让权等待正确答案:C7、关于进程同步机制基本准则:当已有进程进入自己的对应于某临界资源的临界区时,所有企图进入该临界资源所对应临界区的进程必须等待,这称之为()。
A.循环等待B.忙则等待C.有限等待D.让权等待正确答案:B8、关于进程同步机制基本准则:对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区,这称之为()。
A.忙则等待B.循环等待C.有限等待D.让权等待正确答案:C9、进程同步机制应遵循让权等待准则,故而当一个进程不能进入自己的临界区时,其应当释放()。
A.处理器B.I/O设备C.内存空间D.外存空间正确答案:A10、利用硬件指令能有效地实现进程互斥,但它却不能满足()的准则,造成了处理器时间的浪费,而且也很难将它用于解决较复杂的进程同步问题。
进程控制块PCB(ProcessControlBlock)展开全文进程控制块(PCB,Process Control Block),台湾译作行程控制表,亦有译作任务控制表,是操作系统内核中一种数据结构,主要表示进程状态。
虽各实际情况不尽相同,PCB通常记载进程之相关信息,包括:进程状态:可以是new、ready、running、waiting或halted等。
当新建一个进程时,系统分配资源及PCB给它。
而当其完成了特定的任务后,系统收回这个进程所占的资源和取消该进程的PCB就撤消了该进程。
程序计数器:接着要运行的指令地址。
CPU寄存器:如累加器、索引寄存器(en:Index register)、堆栈指针以及一般用途寄存器、状况代码等,主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因计算机架构有所差异。
CPU 排班法:优先级、排班队列等指针以及其他参数。
存储器管理:如标签页表(en:Page table)等。
会计信息:如CPU与实际时间之使用数量、时限、帐号、工作或进程号码。
输入输出状态:配置进程使用I/O 设备,如磁带机。
总言之,PCB如其名,内容不脱离各进程相关信息。
进程控制块本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。
或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
目录1进程控制块的基本内容概述应用2实例Linux task_structtask_struct结构描述1进程控制块的基本内容编辑概述进程控制块(PCB)(系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。
实验一进程管理一、目的进程调度是处理机管理的核心内容。
本实验要求编写和调试一个简单的进程调度程序。
通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。
二、实验内容及要求1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。
可根据实验的不同,PCB结构的内容可以作适当的增删)。
为了便于处理,程序中的某进程运行时间以时间片为单位计算。
各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
2、系统资源(r1…r w),共有w类,每类数目为r1…r w。
随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。
3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。
建立进程就绪队列。
4、编制进程调度算法:时间片轮转调度算法本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。
在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。
三、实验环境操作系统环境:Windows系统。
编程语言:C#。
四、实验思路和设计1、程序流程图2、主要程序代码//PCB结构体struct pcb{public int id; //进程IDpublic int ra; //所需资源A的数量public int rb; //所需资源B的数量public int rc; //所需资源C的数量public int ntime; //所需的时间片个数public int rtime; //已经运行的时间片个数public char state; //进程状态,W(等待)、R(运行)、B(阻塞)//public int next;}ArrayList hready = new ArrayList();ArrayList hblock = new ArrayList();Random random = new Random();//ArrayList p = new ArrayList();int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数//r为可随机产生的进程数(r=m-n)//a,b,c分别为A,B,C三类资源的总量//i为进城计数,i=1…n//h为运行的时间片次数,time1Inteval为时间片大小(毫秒)//对进程进行初始化,建立就绪数组、阻塞数组。
操作系统原理试题一. 名词解释题1. 中断——2. 进程控制块(PCB)——它是进程实体的一部分,是操作系统最重要的记录型数据结构,是进程存在的唯一标识3. 虚时钟4. 段式管理5. 文件控制块(FCB)6. 对换(SWAPPING)7. 系统调用8. 绝对路径名9. 特别文件10. 虚设备技术11. 管道12. 中断接收13. 恢复现场14. 页式管理15. 作业步16. 字符流文件17. 通道18. 页面淘汰19. 多道程序设计20. 死锁21. 当前目录22. 快表23. 作业调度24. 原语25. 中断屏蔽26. 地址映射27. 文件目录28. 死锁避免29. 原语31. CPU状态32. 虚存33. 磁盘调度34. 缓冲技术36. 进程调度37. 虚设备39. 死锁预防40.临界资源——一段时间内只允许一个进程访问的资源,也称为独立资源42. 交换技术43. 互斥区二. 填空题1. 分时系统追求的目标是__及时响应___.2. 用户进程从目态(常态)转换为管态(特态)的唯一途径是_____中断________.3. 从静态的观点看, 操作系统中的进程是由程序段、数据和__作业控制块PCB __三部分组成.4. 在系统内核中必须包括的处理模块有进程调度、原语管理和__中断处理__.5. 批处理操作系统中, 作业存在的唯一标志是_作业控制块PCB ___.6. 操作系统中的一种同步机制, 由共享资源的数据及其在该数据上的一组操作组成, 该同步机制称为_管程_______.7. 在可变分区存储管理中, 为实现地址映射, 一般由硬件提供两个寄存器, 一个是基址寄存器, 另一个是_限长寄存器___.8. 联想寄存器(相联存储器)的最重要、最独到的特点是_按内容并行查找___.9. 在虚拟段式存储管理中, 若逻辑地址的段内地址大于段表中该段的段长, 则发生__地址越界__中断.10. 文件系统中若文件的物理结构采用顺序结构, 则文件控制快FCB 中关于文件的物理位置应包括___首块地址和文件长度_.11. 在操作系统设计时确定资源分配算法, 以消除发生死锁的任何可能性, 这种解决死锁的方法是__死锁预防__.12. 选择对资源需求不同的作业进行合理搭配, 并投入运行是由_作业调度算法___来完成的.13. 实时系统应具有两个基本特征: 及时性和___可靠性___.14. 磁带上的文件只能采用_顺序____存取方式.15. 不让死锁发生的策略可以分成静态和动态的两种, 死锁避免属于__动态的___.16. 在UNIX系统中, 文件分成三类, 即普通文件, 目录文件和___特殊文件__.17. 在磁盘调度策略中有可能使I/O请求无限期等待的调度算法是__最短寻道时间优先___.18. 进程获得了除CPU外的所有资源, 一旦获得CPU即可执行, 这时进程处于_就绪____状态.19. 为实现CPU与外部设备的并行工作, 系统必须引入_通道____硬件基础.20. 操作系统为保证不经文件拥有者授权, 任何其它用户不能使用该文件所提出的解决措施是___文件保密__.21. 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态, 这就称为__并发___.22. 在操作系统的存储管理中, 存储共享的两个目的是__节省内存___和实现进程通信.23. 在存储管理中, 为进程分配内存时, 取满足申请要求且长度最大的空闲区域, 这一算法称为__最坏适配算法___.24. 两个或两个以上进程均需要访问的变量成为___共享变量__.25. 实时系统应具有两个基本特征:__及时性___和可靠性.26. 磁盘上的文件可以采用_随机___存取方式.27. 在UNIX文件系统中文件分成三类,即普通文件、_目录文件____和特殊文件.28. 用户程序通过_系统调用____向操作系统提出各种资源要求和服务请求.29. SPOOLing(同时的外部设备联机操作)技术是关于慢速字符设备如何与计算机主机交换信息的一种典型的__虚设备___技术.30. 在页式存储管理中,由__系统___将用户程序划分为若干相等的页.31. 为防止用户对文件进行非法的或不适宜的访问所采取的措施称为___文件保密__.32. 文件的安全性是指抵抗和预防各种物理性破坏及人为性破坏的能力,保证文件安全性常用的措施是__文件备份、文件转储___.33. 在操作系统的存储管理中,由于进行动态不等长存储分配,在内存中形成一些很小的空闲区域,称之为___碎片__.34. 在选择作业调度算法时应该考虑公平性和___高效性__.35. 两个或两个以上的进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与___时间__有关的错误.36. 用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合称为__内存___.37. 缓冲技术中的缓冲池是放在__内存___中.38. 在存储管理中,引入快表的目的是__加快地址映射速度___.39. 等待输入输出工作完成的进程,一旦I/O 完成,其状态变为_____.40. 清内存指令只能在_____状态下执行.41. 在虚存系统中不能实现但可以作为衡量其它页面淘汰算法标准的页面淘汰算法是_____.42. 完成发现中断、响应中断任务的是_____.43. 产生死锁的四个必要条件是_____、_____、_____和_____.44. 采用链接结构的文件适合于_____存取.45. 从资源分配的角度可将设备分类为_____、共享设备和_____.47. 进程获得CPU而运行是通过_____得到的.48. 设系统中有N 个进程,则系统中处于等待状态的进程最多为_____个.50. 活动头磁盘的访问时间包括_____、_____和_____.51. 如果信号量S<0,则表示有_____个进程等在S信号量的等待队列上.52. 根据引起中断事件的重要性和紧迫程度,由硬件将中断源划分为若干个级别,称为_____.53. 采用链接结构的文件适合于_____存取方式.54. 在各类通道中支持通道程序并发执行的通道是_____.55. 在虚拟页式存储管理中设置了快表,用于保存正在运行进程页表的子集,通常快表存放在_____中.56. 在虚拟段式存储管理中,若所需页面不在内存则发_____中断.57. 创建进程的主要任务是建立__作业控制块PCB___.58. 程序中一旦某个位置或数据被访问到,它常常很快又要再次被访问,这一现象称之为程序的_____.59. 在计算机系统中,允许多个程序同时进入内存并运行的技术是_____.60. _____作业调度算法有最短的作业平均周转时间.61. 在操作系统中,不可中断执行的操作称为_____操作.62. 当有一个进程从运行态到等待态,则一定有一个进程__处于执行状态___.63. 活动头磁盘的访问时间包括_____、_____和_____.64. __链式存储___存储管理方案解决了外碎片问题.三. 判断题1. 操作系统的所有程序都必须常驻内存.2. 进程获得处理机而运行是通过申请而得到的.3. 通过任何手段都无法实现计算机系统资源之间的互换.4. 进程控制块中的所有信息必须常驻内存.5. 一旦出现死锁, 所有进程都不能运行.6. 所有进程都挂起时, 系统陷入死锁.7. 优先数是进程调度的重要依据, 一旦确定不能改变.8. 同一文件系统中不允许文件同名, 否则会引起混乱.9. 用户程序有时也可以在核心态下运行.10. 虚拟存储系统可以在每一台计算机上实现.11. 进程在运行中, 可以自行修改自己的进程控制块.12. 进程申请CPU得不到满足时, 其状态变为等待态.13. 在虚存系统中, 只要磁盘空间无限大, 作业就能拥有任意大的编址空间.14. 在内存为M的分时系统中, 当注册的用户有N个时,每个用户拥有M/N的内存空间.15. 特殊文件是指其用途由用户特殊规定的文件.16. 由于P、V操作描述同步、互斥等问题的能力不足, 所以有必要引入其它的通讯原语或机制, 如send, receive或Monitor等.17. 大多数虚拟系统采用OPT(优化)淘汰算法是因为它确实可以得到最小的缺页率.18. 实时系统中的作业周转时间有严格的限制.19. 文件的索引表全部存放在文件控制块中.20. 打印机是一类典型的块设备.21. 当一个进程从等待态变成就绪态, 则一定有一个进程从就绪态变成运行态.22. 执行系统调用时可以被中断.23. 在作业调度时, 采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间.24. 在请求页式存储管理中, 页面淘汰所花费的时间不属于系统开销.25. 进程优先数是进程调度的重要依据, 必须根据进程运行情况动态改变.26. 流式文件是指无结构的文件.27. 参与死锁的所有进程都占有资源.28. 页式存储管理中, 用户应将自己的程序划分成若干相等的页.29. 引入当前目录是为了减少启动磁盘的次数.30. 文件目录必须常驻内存.31. 固定头磁盘存储器的存取时间包括搜查定位时间和旋转延迟时间.32. 在文件系统中, 打开文件是指创建一个文件控制块.33. 存储保护的目的是限制内存的分配.34. 原语和系统调用的主要区别在于两者的实现方法不同.35. 清内存指令只能在管态下执行.36. 在大型多道程序设计系统中, 为充分利用外部设备, 应使运行的若干程序都是I/O 型的.37. 在页式虚拟存储系统中, 页面长度是根据程序长度动态地分配的.38. 如果信号量S的当前值为-5, 则表示系统中共有5个等待进程.39. 磁盘上物理结构为链接结构的文件只能顺序存取.40. 系统处于不安全状态不一定是死锁状态.41. 有m个进程的操作系统出现死锁时, 死锁进程的个数为1<k≤m.42. 进程状态的转换是由操作系统完成的, 对用户是透明的.43. 优先数是进程调度的重要依据, 优先数大的进程首先被调度运行.44. 文件系统的主要目的是存储系统文档.45. 对文件进行读写前,要先打开文件.46. 所谓最近最少使用(LRU)页面调度算法是指将驻留在内存中使用次数最少的页面淘汰掉.47. 由于现代操作系统提供了程序共享的功能,所以要求被共享的程序必须是可再入程序.48. 参与死锁的进程至少有两个已经占有资源.49. 在页式虚拟存储系统中,页面长度固定并且是硬件的设计特性.50. 不可抢占式动态优先数法一定会引起进程长时间得不到运行.51. 设置中断屏蔽指令可以在目态下执行.52. 选择通道主要用于连接低速设备.53. 存储保护的功能是限制内存存取.54. 如果输入输出所用的时间比处理时间短得多,则缓冲区最有效.55. 进程间的互斥是一种特殊的同步关系.56. 所有进程都进入等待状态时,系统陷入死锁.57. 引入缓冲的主要目的是提高I/O设备的利用率.58. 进程从运行状态变为等待状态是由于时间片中断发生.59. 文件目录一般存放在外存.四. 回答下列问题1. (1) 什么是先来先服务的作业调度算法?(2) 什么是短作业优先的作业调度算法?(3) 什么是最高响应比优先的作业调度算法?(4) 试评述以上三者之间的关系.2. (1) 什么是文件的逻辑结构?(2) 什么是文件的物理结构?(3) 什么是文件的存取方式?(4) 试叙述文件的结构与文件存储设备、存取方式之间的关系.3. 试叙述在网络操作系统中, 文件管理应提供哪些功能?4. 死锁的预防, 避免和检测三者有什么不同之处?5. (1) 什么是用户态? (2) 什么是核心态?(3) 通过什么途径可以实现由用户态到核心态的转换?6. 在许多操作系统中, 都支持用户设立当前目录. 问:(1) 什么是当前目录? (2) 设立当前目录的主要好处是什么?7. 多道程序在单CPU上并发运行和多道程序在多CPU上并行执行,这两者在本质上是否相同?为什么?8. 系统产生颠簸(抖动)的原因是什么?系统如何检测颠簸?9. (1) 什么是先来先服务磁盘调度调度算法?(2) 什么是最短寻道时间优先磁盘调度算法?(3) 什么是扫描磁盘调度算法?(4) 试评述以上三者之间的关系.10.请叙述页式存储管理方案的基本工作原理;硬件的支持及其作用;地址映射过程;该存储管理方案的优缺点.11.请叙述虚拟存储管理方案的基本工作原理;页表的内容;缺页中断处理;及可能遇到的性能问题和解决方法.五. 简答题1. 简述SPOOLing(斯普林)系统的工作原理.2.请论述操作系统的发展方向及新技术.3. 为什么在操作系统中引入信号量及P、V操作?4. 在信号量S上执行P、V操作时,S的值发生变化,当S>0,S=0,S<0时,它们的物理意义是什么?P(S)、V(S)的物理意义又是什么?5. 试列举一个日常生活中进程的实例,说明进程间的同步关系.6. 试列举一个日常生活中进程的实例,说明进程间的互斥关系.7.一些操作系统提供了COPY系统调用,用于复制文件(COPY file1 file2).试设计一种实现COPY系统调用的方案(请给出具体设计细节).8.试列举至少8项进程控制块的项目.9.试叙述操作系统中一种用时间换取空间的技术.10.计算机系统采用通道部件后,已能实现CPU与外部设备的并行工作,为什么还要引入多道程序设计?六. 计算题1. 假设一个活动头磁盘有200道, 编号从0-199. 当前磁头正在143道上服务, 并且刚刚完成了125道的请求. 现有如下访盘请求序列(磁道号):86, 147, 91, 177, 94, 150, 102, 175, 130试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数).(1). 先来先服务(FCFS)磁盘调度算法.(2). 最短寻道时间优先(SSTF)磁盘调度算法.(3). 扫描法(SCAN)磁盘调度算法.(假设沿磁头移动方向不再有访问请求时, 磁头沿相反方向移动.)2.有一个虚拟存储系统, 每个进程在内存占有3页数据区、1页程序区. 刚开始时数据区为空. 有以下访页序列: 1、5、4、1、2、3、2、1、5、4、2、4、6、5、1试给出下列情形下的缺页次数:(1)系统采用先进先出(FIFO)淘汰算法.(2)系统采用最近最少使用(LRU)淘汰算法.(3)若采用优化(OPT)淘汰算法呢?3. 有个一虚拟存储系统, 每个进程在内存占有3页数据区, 刚开始时数据区为空. 有以下访页序列: 2、3、4、5、3、4、1、2、3、5、1、4、2、4、5、1、3、2、1、3试给出下列情形下的缺页次数:(1) 系统采用先进先出(FIFO)淘汰算法.(2) 系统采用最近最少使用(LRU)淘汰算法.(3) 系统采用优化(OPT)淘汰算法.4. 有一个文件系统, 根目录长驻内存, 如图所示:目录文件采用拉链式, 每个磁盘块存放10个下级文件的描述, 最多存放40个下级文件. 若下级文件为目录文件, 上级目录指向该目录文件的第一块, 否则指向普通文件的文件控制块. 普通文件采用三级索引形式, 文件控制块中给出13个磁盘地址, 前10个磁盘地址指出前10页的物理地址, 第11个磁盘地址指向一级索引表, 一级索引表给出256个磁盘地址, 即指出该文件第11页至第266页的地址; 第12个磁盘地址指向二级索引表, 二级索引表中指出256个一级索引表的地址; 第13个磁盘地址指向三级索引表, 三级索引表中指出256个二级索引表的地址.(1) 该文件系统中的普通文件最大可有多少页?(2) 若要读文件/A/D/K/Q中的某一页, 最少要启动磁盘几次? 最多要启动磁盘几次?(3) 若想减少启动磁盘的次数, 可采用什么办法?5. 设系统中有三类资源A、B和C,又设系统中有5个进程P1,P2,P3,P4和P5.在T0时刻系统状态如下:最大需求量已分配资源量剩余资源量A B C A B C A B CP1 8 6 4 1 2 1 2 1 1P2 4 3 3 3 1 1P3 10 1 3 4 1 3P4 3 3 3 3 2 2P5 5 4 6 1 1 3(1) 系统是否处于安全状态?如是,则给出进程安全序列.(2) 如果进程P5申请1个资源类A、1个资源类B和1个资源类C,能否实施分配?为什么?6. 在一个两道的批处理操作系统中,有6个作业进入系统,它们的进入时刻、估计运行时间和优先级如下表所示.作业号进入时刻估计运行时间优先级JOB1 8:00 90分钟 5JOB2 8:10 30分钟 6JOB3 8:30 20分钟 3JOB4 8:50 15分钟 8JOB5 9:20 10分钟 2JOB6 9:40 5分钟 4系统采用短作业优先作业调度算法,作业一旦被调度运行就不再退出.但当有新的作业投入运行时,可以按照优先级进行进程调度.(1)试给出各个作业的运行时间序列.(例如:JOB1:8:00-8:30,9:10-9:20,…)(2)试计算出作业的平均周转时间.7. 有一个文件系统, 根目录长驻内存, 如图所示:目录文件采用链接式, 每个磁盘块存放10个下级文件的描述, 最多存放50个下级文件. 若下级文件为目录文件, 上级目录指向该目录文件的第一块, 否则指向普通文件的文件控制块.(1) 普通文件采用顺序结构,若要读文件\A\D\G\H\K中的第375页,最少要启动磁盘几次? 最多要启动磁盘几次?(2) 普通文件采用链接结构,若要读文件\A\D\G\H\K中的第100页, 最少要启动磁盘几次? 最多要启动磁盘几次?8. 有一个虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,每个作业占3页主存,其中一页用来存放程序和变量i,j(不作他用).每一页可存放150个整数变量. 某作业程序如下:VAR A:ARRAY[1..150,1..100] OF integer;i,j:integer;FOR i:=1 to 150 DOFOR j:=1 to 100 DOA[i,j]:=0;设变量i,j放在程序页中,初始时,程序及变量i,j已在内存,其余两页为空.矩阵A 按行序存放.(1)试问当程序执行完后,共缺页多少次?(2)最后留在内存中的是矩阵A的哪一部分?9. 设系统中有4个进程P1,P2,P3和P4.在某一时刻系统状态如下:最大需求量已分配资源量P1 6 2P2 7 4P3 3 2P4 2 0剩余资源量 1(1) 系统是否处于安全状态?如是,则给出所有的进程安全序列.(2) 如果进程P4申请2个资源,能否实施分配?为什么?七. 关于P、V操作:1. 为什么说P、V操作必须设计成原语(即同一信号量上的P、V操作必须互斥)?2. 有四个进程A、B、C、D(1) 进程A通过一个缓冲区不断地向进程B、C、D发送信息, A 每向缓冲区送入一个信息后, 必须等进程B、C、D都取走后才可以发送下一个信息, B、C、D对A 送入的每一信息各取一次, 试用P、V操作实现它们之间的正确通讯.(2) 试用最少个数的信号量实现进程A、B、C、D间的正确通讯.3. 写出P、V操作的定义.4. 有n+1个进程A1, A2, ...An 和 B:(1) A1,...An通过同一个缓冲区各自不断地向B发送消息, B不断地取消息, 它必须取走发来的每一个消息. 刚开始时缓冲区为空. 试用P、V操作正确实现之.(2) 若缓冲区个数增至m个, 试用P、V操作实现正确的通讯.5. 请给出V操作的定义.6. 用P、V操作实现PA, PB两个进程的同步问题如下所示:其中, 信号S1, S2的初值均为1. 试问该解法正确吗? 请说明理由.7. 把学生和监考老师都看作进程, 学生有N人, 教师1人. 考场门口每次只能进出一个人, 进考场原则是先来先进. 当N个学生都进入考场后, 教师才能发卷子. 学生交卷后可以离开考场. 教师要等收上来全部卷子并封装卷子后才能离开考场.(1) 问共需设置几个进程?(2) 试用P、V操作解决上述问题中的同步和互斥关系.8. 某商店有两种食品A和B, 最大数量各为m个. 该商店将A,B两种食品搭配出售, 每次各取一个. 为避免食品变质, 遵循先到食品先出售的原则, 有两个食品公司分别不断地供应A,B两种食品(每次一个). 为保证正常销售, 当某种食品的数量比另一种的数量超过k(k<m)个时, 暂停对数量大的食品进货, 补充数量少的食品.(1) 问共需设置几个进程?(2) 试用P,V操作解决上述问题中的同步和互斥关系.9. 两个进程P A、P B通过两个FIFO(先进先出)缓冲区队列连接(如图).P A从Q2取消息,处理后往Q1发消息,P B从Q1取消息,处理后往Q2发消息,每个缓冲区长度等于传送消息长度. Q1队列长度为n,Q2队列长度为m. 假设开始时Q1中装满了消息,试用P、V操作解决上述进程间通讯问题.欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。
概述
进程控制块(PCB)(系统为了管理进程设置的一个专门的数据结构,用它
来记录进程的外部特征,描述进程的运动变化过程。
系统利用PCB来控制
和管理进程,所以PCB是系统感知进程存在的唯一标志。
进程与PCB
是一
一对应的)
编辑本段应用
在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少也
不一样,通常PCB应包含如下一些信息。
1、进程标识符 name:
每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数
字。
2、进程当前状态 status:
说明进程当前所处的状态。
为了管理的方便,系统设计时会将相
同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等
待的事件组成多个等待队列,如等待打印机队列、等待磁盘I/O完成队列
等等。
3、进程相应的程序和数据地址,以便把PCB与其程序和数据联系起来。
4、进程资源清单。
列出所拥有的除CPU外的资源记录,如拥有的I/O 设备
,打开的文件列表等。
5、进程优先级 priority:
进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置。
6、CPU现场保护区 cpustatus:
当进程因某种原因不能继续占用CPU时(如等待打印机),释放CPU ,这时就要将CPU的各种状态信息保护起来,为将来再次得到处理机恢复
CPU的各种状态,继续运行。
7、进程同步与通信机制用于实现进程间互斥、同步和通信所需的信号
量等。
8、进程所在队列PCB的链接字根据进程所处的现行状态,进程相应
的PCB参加到不同队列中。
PCB链接字指出该进程所在队列中下一个进程
PCB的首地址。
9、与进程有关的其他信息。
如进程记账信息,进程占用CPU的时间等。
编辑本段实例
Linux task_struct
在linux 中每一个进程都由task_struct 数据结构来定义.
task_struct就是我们通常所说的PCB。
struct task_struct {
long state; /*任务的运行状态(-1 不可运行,0 可运行(就绪),>0 已停止)*/
long counter;/*运行时间片计数器(递减)*/
long priority;/*优先级*/
long signal;/*信号*/
struct sigaction sigaction[32];/*信号执行属性结构,对应信号将要执行的操作和标志信息*/
long blocked; /* bitmap of masked signals */
/* various fields */
int exit_code;/*任务执行停止的退出码*/
unsigned long start_code,end_code,end_data,brk,start_stack;/*代码段地址代码长度(字节数)
代码长度 + 数据长度(字节数)总长度堆栈段地址*/
long pid,father,pgrp,session,leader;/*进程标识号(进程号) 父进程号父进程组号会话号会话首领*/
unsigned short uid,euid,suid;/*用户标识号(用户id)有效用户id 保存的用户id*/
unsigned short gid,egid,sgid; /*组标识号(组id)有效组id 保存的组id*/
long alarm;/*报警定时值*/
long utime,stime,cutime,cstime,start_time;/*用户态运行时间内核态运行时间子进程用户态运行时间
子进程内核态运行时间进程开始运行时刻*/
unsigned short used_math;/*标志:是否使用协处理器*/
java等四种。