欢迎来到夜的世界
解 该算法有错。
若A进程永不要求访问临界资源,则不会执行V(S1),意味着B进程的申请永远得不到操作临界资源的机会;同理,若B进程不要求访问临界资源,则不会执行V(S2),意味着A进程下次也得不到操作临界资源的机会。所以问题在于本应进行互斥控制而使用的却是同步控制。实现改正:
设置信号mutex
mutex:=1;
cobegin
A进程:
Begin
repeat
P(mutex);
CSA;
V(mutex);
until false
End
B进程:
CSB;
Coend
算法2. 设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行车,到站停车;售票员的活动为关车门,售票,开车 门。试问:
(1)在汽车不断地到站、停车、行驶过程中,司机和售票员的活动是同步关系还是互斥关系?
(2)用信号量和P、V操作实现他们间的协调操作。
解(1)在这个问题中,司机与售票员间是并行操作的,司机和售票员本身的操作是顺序进行的。因此司机是一个进程,售票员是一个进程,它们之间是同步关系。
(2)根据同步规则以及操作流程确定信号量的个数是2个,S1和S2。
S1的含义是否关门;
S2的含义是否停车。
信号量的初值
S1=0;
S2=1。
P、V操作实现
driver()
{ do while T
{ P(S1);
启动车辆;
正常行车;
到站停车;
V(S2);
}
busserver ()
{ 关车门;
V(S1);
售票;
P(S2);
开车门;
上下乘客;
(1)若对资源分配不加限制,会发生什么情况?为什么?
(2)为保证进程正确地工作,可以采用怎样的资源分配策略?为什么?
(1) 先来先服务(按A,B,C,D,E)算法。
(2) 优先级调度算法。
(3) 时间片轮转算法。
(1) 求对某一数据进行一次次存取可能需要的时间?
(2) 现连续对同一页面上的数据进行4次连续读取,求每次读取数据可能需要的时间?
(1)逻辑地址的有效位是多少?
(2)物理地址需要多少位?
(3)假定某时刻系统用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5C和093C变换为物理地址。
(1)程序空间的大小为32KB,因此逻辑地址的有效位数是15位。
(2)内存储空间的大小是16KB,因此物理地址至少需要14位。
(3)当页面为1KB时,虚地址0A5C表示页号为00010,页内地址是1001011100。该页在内存的第4块,即块号为0100,因此0A5C的物理地址是01001001011100,即125CH。
(4)用同样的方法可以求得,093C的物理地址是113CH。
(1)顺序结构
一个文件被存放到依次相邻的块上,便形成顺序结构。这是一种逻辑记录顺序和物理块的顺序相一致的文件结构,这类文件称顺序文件或连续文件。
顺序结构的优点是存取信息的速度快,只要记住当前位置,则后继信息一定在下一位置上。但采用顺序结构使磁盘的存储空间容易产生“存储碎片”。
(2)链接结构
链接结构是将文件的逻辑记录顺序与磁盘上的存储空间顺序独立开来,即逻辑记录是顺序的,但存储空间不必连续。链接结构的特点是每个物理块的最后一个单元中用来存放物理块之间的链接指针。文件信息占用的第一块的物理地址登记在文件目录中,而每个物理块中的链接指针指出了文件信息存放的下一个物理块地址,这种结构的文件叫链接文件,又称串联文件。采用链接结构的文件,可方便地对文件进行扩充、插入或删去记录等操作。
链接结构与顺序结构都只适合于顺序存取,不适宜随机访问,而索引结构文件适于随机访问。
(3)索引结构
索引结构是实现非连续存储的另一种方法,索引结构为每个文件建立一张索引表,其中包含两项内容:记录的关键字和存放地址。索引结构具有随机存取记录的能力,同时也支持顺序存取。
文件目录中应该包含:文件名、存放地址、类型、组织方式、记录的长度、存取权限,以及文件的建立日期和保存期限等,这些信息构成文件控制块。
因为在I/O操作中,大部分外部设备都是独占设备,其固有属性决定了设备只能独占使用,不能共享使用。这种设备一旦被某进程占用,直到使用完才能被释放。而且在通道程序控制的输入输出系统中,通道程序的执行是不受中断影响的。时间片中断信号并不能中断通道程序的操作。所以I/O调度中不能采用时间片轮转法。
(2)页表是在系统执行过程中,每时每刻都需要访问的,因此,访问时间的微小缩短,其累计节约的时间却可以达到很大。
(2)上限是p
说明:因为页面序列中有n个不同的页号,这n个页面可定是要通过页面失效中断装入内存的,故失效数的下限是n;因为页面序列的长度是p,即使每个页面都失效,其次数也不会超过p,故上限是p。
(2)产生死锁的原因有:资源不足资源、进程推进次序不当。
(3)产生死锁的必要条件有:互斥条件、请求和保持条件、不可剥夺条件、环路等待条件。
(1)面向用户准则。首先,对于用户的紧迫性作业,系统能够及时地处理,不至于运行延误。其次,对于批处理系统,还应追求作业的周转时间短;分时系统中作业的响应时间块;实时系统中作业的截止时间有保证。
(2)面向系统准则。系统的吞吐量高,处理机的利用率高,各类系统资源能够得到平衡利用。
(1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是,按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为它们创建进程、分配必要的资源,然后再将创建的进程控制块挂入就绪队列上。
(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是,按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。
(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调出到外存上等待。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存,将其状态变为内存就绪状态。
因此说,如果让6-1台打印机分给N个进程,满足它们每人一台的话,进程数量N必然小于等于5。
当该进程运行完毕释放出它所占有的打印机后,又可以进一步满足其他进程。系统就不会出现死锁。
(1)当有若干个进程要求进入它们的临界区时,应在有限的时间内使一个进程进入临界区,进程之间不应相互等待而使谁都不能进入临界区。
(2)每次只允许一个进程进入临界区内。
(3)进程在临界区内逗留应在有限的时间范围内。
它与广义指令的区别主要体现在两个方面:
(1)原语的执行是不可分割的,而广义指令所包含的程序段是允许被中断的,不要求具有不可分割性。
(2)广义指令的功能可以在用户态下实现,而原语只能在系统态下执行。
(1)进程是动态的,程序是静态的。程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
程序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被创建到消亡的生命周期。
硬件方面主要是指构成计算机系统器件的性能和硬件的体系结构,如存储器的速度和容量、多处理机结构、总线结构等。
软件方面主要是指操作系统,因为操作系统决定了硬件是否能被用户使用、硬件的功能是否能发挥出来、其它软件能否在计算机系统上运行。
27.作业控制块JCB连成一串而形成的一个排队队列,该队列称为()。
A挂起队列 B.阻塞队列
C.就绪队列 D.后备队列
挂起队列
就绪队列
A.周转时间短 B.响应时间快
C.截止时间的保证 D.优先权准则
周转时间短
截止时间的保证
posted on 2022-04-05 09:47 二十四桥_明月夜 阅读(1027) 评论(0) 收藏 举报