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。

逻辑地址010001010111

除去页内地址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____

  1. 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。