1.进程的状态及转换
三态模型中最基本的状态有3种:运行,就绪和阻塞。
运行:进程正在处理机上运行。对于单片机系统,处于运行状态的进程只有一个。
就绪:进程具备运行条件,但尚未运行。
阻塞:进程因发生某事件而暂停执行。
2.信号量(s)与P、V操作
P、V操作是实现进程同步与互斥的常用方法。
P操作定义:S:=S-1,若S>=0,则执行P操作的进程继续执行;否则,若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
V操作定义:S:=S+1,若是S>0,则执行V操作的进程继续执行;否则,若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进行继续执行。
相关题目
(1)某文件系统采用多级索引结构。若磁盘块的大小为1K字节,每个块号占3字节,那么采用二级索引时的文件最大长度为______字节。
A.1024 B.2048 C.116281 D.232562
【答案】C
【解析】盘块的大小为1KB,每个盘块占3B,则一个索引块可含1KB/3B个盘块号,两级索引最多可含(1KB/3B)*(1KB/3B)个盘块号。因此,允许最大文件长度为(1KB/3B)*(1KB/3B)=116281B
(2)某操作系统采用分页存储管理方式,下图给出了进程A的页表结构。如果物理页的大小为512字节,那么进程A逻辑地址为0x0457(十六 进制)的变量存放在____号物理内存页中。
A.9 B.2 C.4 D.6
【答案】C
【解析】方法一:逻辑地址=逻辑页号+页内地址(都用二进制表示)
逻辑地址=0x0457=0100 0101 0111
页内地址=512字节=2^9。
逻辑地址 | 0100 | 0101 | 0111 | |
除去页内地址2^9,剩余010,转换成十进制就是2,对应物理页是4。
方法二:页内地址=逻辑地址%物理块大小。逻辑页=逻辑地址/页面大小
0x0457转换成十进制是1111。 1111/512=2(取整舍去余数)
逻辑页 = 2,对应的物理页号为4;
(3)某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为1KB字节,那么进程A中逻辑地址为1024(十进制)用变量存放在______号物理页中。
假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A页表逻辑页A表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填_______。
A.8 B.3 C.5 D.2
A.4、4 B.4、5 C.5、4 D.5、5
【答案】B A
【解析】用上一题的方法2:逻辑页=逻辑地址/页面大小。 1024/1024=1,对应物理页=3。
物理页可以共享,所以都是4。
(4) 某计算机系统页面大小为4KB,进程的页面变换表如下所示。若进程的逻辑地址为2D16H。该地址经过变换后,其物理地址应为________.
A.2048H B.4096H C.4D16H D.6D16H
【答案】C
【解析】根据公式 逻辑页=逻辑地址/页面大小。 逻辑地址2D16H=11542(十进制) 11542/ (4*1024)=2。所以逻辑页地址为2,对应物理块号是4,所以物理地址为4D16H。
(5) 某系统中有3个并发进程竞争资源R,每个进程都需要5个R,那么至少有____个R,才能保证系统不会发生死锁。
A. 12 B.13 C.14 D.15
【答案】B
【解析】在有限的资源下,要保证系统不发生死锁,可以按照这种逻辑来分析:首先给每进程分配所需资源数减1个资源,然后系统还有1个资源,则不能发生死锁,即3*(5-1)+1=13。
(6)
某企业的生产流水线上有2名工人P1和P2,1名质检员P3。P1将初步加工的半成品放入半成品箱B1;P2从半成品箱B1取出继续加工,加工好的产品放入成品箱B2;P3从成品箱P2取出产品检验。假设B1可存放n件半成品,B2可存放m件产品,并设置6个信号量S1、S2、S3、S4、S5和S6,且S3和S6的初值都为0。采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5初始值分别为__1__。S2和S4的初值是__2____
- A.分别为同步信号量和互斥信号量,初值分别为0和1。
B.都是同步信号量,其初值分别为0和0。
C.都是互斥信号量,其初值分别为1和1。
D.都是互斥信号量,其初值分别为0和1。
2. A. n、0 B.m、0 C.m、n D.n、m
【答案】C D
【解析】
P操作:作用是将信号量减1。S=S-1。可以认为是占用或者消费。
V操作:作用是将信号量加1。S=S+1。可以认为释放或者发送。
* S1 互斥信号量,指的是B1这个容器,同一时间只能被同一个人占用,初始值为1
* S5 互斥信号量,指的是B2这个容器,同一时间只能被同一个人占用,初始值为1
* S2 出现在B1中半成品加工,与从B1取出半成品操作后,因此S2表示的是B1的容量,初始值为n
* 同理 S4表示的是B2中的容量,初始值为m
* S3 同步信号量(P1和P2互相合作,等待,相互制约),表示箱子B1中产品个数,初始值为0
* S6 同步信号量,表示箱子B2中产品个数,初始值为0
P1初步加工,占用半成品箱S1,即P(S1),此时S1从1变成0,其他人要使用的话需要等待。
P1将半成品放到B1中,B1容量被占用了一个P(S2)。
之后,释放S1,即V(S1),此时S1从0变成1,可以被其他人使用。
V(S3)表示箱子中产品个数加1。