计算机操作系统作业文档格式.docx
- 文档编号:4010741
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:27
- 大小:127.42KB
计算机操作系统作业文档格式.docx
《计算机操作系统作业文档格式.docx》由会员分享,可在线阅读,更多相关《计算机操作系统作业文档格式.docx(27页珍藏版)》请在冰点文库上搜索。
综合上述,可得操作系统是由中断驱动的。
2.1 什么是系统调用?
所谓系统调用,指运行在用户态的应用程序请求操作系统为之服务的一种手段。
它由运行在核心态的操作系统的一段程序来完成特定功能,属于一种特殊的过程调用。
2.3什么是系统调用?
系统调用与一般程序有什么区别?
答:
区别:
(1)运行状态不同。
一般的过程调用其调用和被调用过程都是用户程序,都运行在同一种系统状态(用户态)下;
而系统调用的调用过程一般是用户程序,它运行在用户态,被调用过程是系统过程(操作系统程序),运行在系统态。
(2)进入方式不同。
一般用户程序调用可以直接通过过程调用语句将控制转移到被调用过程;
而执行系统调用时,由于调用和被调用过程处于不同系统状态,必须通过访管中断进入。
第三章进程与线程
3.1什么是进程?
进程与程序的主要的区别是什么?
进程是一个具有一定独立功能的程序在一个数据集合上运行的过程,它是系统进程资源分配和调度的一个独立单位。
没有程序就没有进程,没有进程就不能描述其运行过程,所以进程与过程既有联系也有区别:
(1)进程是一个动态的概念,而程序是一个静态的概念。
程序是指令的有序集合,没有任何运动的含义,而进程是程序在处理机上的一次执行过程,具有生命周期,它动态地被创建,并被调度执行,执行完成后消亡。
(2)进程具有并发性,而程序没有。
(3)进程是竞争计算机系统资源的基本单位,也是处理机调度的基本单位。
(4)若干不同的进程可以包含同一个程序,只要该程序所对应的数据集合不同即可。
(5)程序可以创建其它进程,而程序并不能形成新的程序。
3.6什么是进程控制块?
它有什么作用?
在OS中,描述一个进程除了程序和数据之外,最重要的是需要一个与动态过程相联系的数据结构,即进程的外部特性,以及与其他进程之间的联系。
因此为每个进程设置的一个描述进程的外部特性以及与其他进程之间的联系的数据结构叫做进程控制块(PCB)。
作用:
它是操作系统感知进程存在的唯一标志,操作系统正是通过对PCB的操作来管理进程的。
3.8为什么要将处理机的状态划分为核心态和用户态?
在实际系统中,之所以要区分机器的用户态和核心态两种运行状态,目的是要给操作系统内核以某些特权,这些特权是通过执行特权指令实现的,仅当在核心态才能执行特权指令,若在用户态下执行特权指令则为非法,从而保证操作系统中的关键表格不被用户程序所破坏,增强系统的稳定性和可靠性。
3.9处理机的状态与进程的状态有何区别?
处理机有时可能执行系统程序,有时又执行用户程序为了保证OS中的关键表格不被用户的程序所破坏,因而引进了用户态和核心态两种状态。
从进程管理的角度出发,将进程划分程三种基本的状态:
运行状态,就绪状态、等待状态、新建状态和终止状态。
进程之间的状态有三个特点:
(1)进程之间的状态转换在大多数情况下是不可逆的。
(2)进程之间的状态转换在大多数情况下是被动的,只有运行到等待的转换是进程的主动行为,其它都是被动行为。
(3)一个进程在某个时刻只能处于上述状态的某一种状态。
3.20进程(Process)的定义和特征
定义:
进程是一个正在执行的程序。
进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。
进程和程序相关联,但是是两个截然不同的概念。
进程有五个基本特征:
•
(1)动态性。
有生命期。
•
(2)并发性。
多个进程实体同存于内存,能并发执行。
•(3)独立性。
具备申请系统资源的独立单位。
•(4)异步性。
进程以各自独立、不可预知的速度向前推进。
•(5)结构特性。
为描述进程的运动变化过程,每个进程都由程序段、数据段和一个进程控制块(PCB)三部分组成
第四章进程的同步与通信
4.1什么是临界资源和同类临界资源?
临界资源就是指一次仅允许一个进程使用的资源,即不能同时被共享的资源。
同类临界资源是指在计算机系统中性质一样的临界资源,可分为硬临界资源和软临界资源。
某类同类临界资源实质上是某类同类临界区所涉及的临界资源。
4.2什么是临界区和同类临界区?
临界区是指每个进程中访问临界资源的那段代码。
同类临界区是指所有与同一个临界资源(CR)相联系的临界区(CS)。
4.3导致“与时间有关的错误”的原因是什么?
导致“与时间有关的错误”的原因是共享了临界资源且又在一进程开始使用尚未结束期间另一进程也开始使用。
4.1、什么是临界资源和同类临界资源?
临界资源:
一次仅允许一个进程使用的资源。
即不能同时被共享的资源。
也就是说,如果某进程已开始使用这个资源且尚未使用完毕,则其他的进程不能使用;
若另一进程也要使用,则必须等待,直至前者使用完毕并释放之后,后者才能使用。
同类临界资源:
所有于同一个临界区相联系的临界资源叫同类临界资源。
4.2、什么是临界区和同类临界区?
临界区:
每个进程中访问临界资源的那段程序。
同类临界区:
所有于同一个临界资源相联系的临界区。
4.3、导致“与时间有关的错误”的原因是什么?
导致“与时间有关的错误”的原因有两个:
1.共享了变量;
2.在一进程开始使用且尚未结束使用期间,另一进程也开始使用,即“同时”使用了这个变量。
4.6设有三个进程P、Q、R。
其中P、Q构成一对生产者---消费者,共享一个由n个缓冲区构成的缓冲池;
Q、R也是一对生产者---消费者,共享一个由m个缓冲区构成的缓冲池;
用P、V操作描述他们之间的相互制约关系。
解:
viodmain()
{
Semaphorefulln=fullm=0;
Semaphoreemptyn=n;
Semaphoreemptym=m;
Intin_n=in_m=out_n=out_m=0;
Intbuffer_n[n],buffer_m[m];
CoBegin
P();
Q();
R();
}
CoEnd
viodP()
While(true)
……………..
Produceaniteminnextp;
P(emptyn);
Buffer_n[in_n]=nextp;
in_n=(in_n+1)%n;
V(fulln);
viodQ()
P(fulln);
nextc=buffer_n[out_n];
out_n=(out_n+1)%n;
V(emptyn);
Consumetheiteminnextc;
…………..
P(emptym);
buffer_m[in_m]=nextp;
in_m=(in_m+1)%m;
V(fullm);
viodR()
while(ture)
P(fullm);
nextc=buffer_m[out_m];
out_m=(out_m+1)%m;
V(emptym);
4.13
voidmain()
staticsemaphorechopstick[5]={1,1,1,1,1};
Cobegin
philosopher(0);
philosopher
(1);
philosopher
(2);
philosopher(3);
philosopher(4);
Coend
voidphilosopher(inti)
while(ture)
{
if(i%2==0)
p(chopstick[i]);
p(chopstick[(i+1)%5]);
}
else
......
eating;
v(chopstick[i]);
v(chopstick[(i+1)%5]);
thinking......
20、进程之间的通信有:
消息缓冲通信,共享文件通信,以及信箱通信.
20、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。
若把一个购票者看作一个进程,请回答下列问题:
(1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。
(2)根据所定义的信号量,把应执行的PV操作填入下述方框中,以保证进程能够正确地并发执行。
CoBegin ProcessI(I=1,2,……)
Begin
进入售票厅;
购票;
退出;
End;
(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。
(1)定义一信号量S,初始值为20。
意义:
S>
0 S的值表示可继续进入售票厅的人数
S=0 表示售票厅中已有20名顾客(购票者)
S<
0 |S|的值为等待进入售票厅的人数
(2)上框为P(S);
下框为V(S);
(3)S的最大值为20
S的最小值为20-n
注:
信号量的符号可不同(如写成Num),但使用时应一致(即上述的S全应改成Num)
第五章处理机调度
5.14假定在一个多道处理系统中,道数不受限制。
当第一个作业进入输入井后或内存中有一道程序完成后即进行作业调度。
现有4道都是仅作计算而没有请求设备输入输出的作业,它们进入输入井的时间,需要计算的时间及优先级如下所示:
作业名
进入输入井时间
需要计算时间
优先(数大极高)
A
8:
00
60
1
B
10
40
2
C
20
30
4
D
30
10
3
(1)作业调度和进程调度均采用FCFS算法时,计算这批作业的T和W。
先来先服务调度算法(FCFS)
作业名
进入输入井时间
运行时间
(分)
开始时间
完成时间
周转时间
带权周转时间
A
8:
9:
B
40
90
9/4
C
10:
110
11/3
D
11
调度顺序:
A->
B->
C->
平均周转时间:
T=(60+90+110+110)/4=92.5(分)
平均带权周转时间:
W=(1+9/4+11/3+11)/4=4.48
(2)作业调度采用SJF和进程调度采用SPF算法时,计算这批作业的T和W。
短作业优先调度算法
开始时间
完成时间
周转时间
带权周转时间
9:
80
8/3
10:
130
13/4
调度顺序:
D->
T=(60+130+80+40))/4=77.5
W=(1+13/4+8/3+4))/4=2.73
(3)作业调度和进程调度均采用优先级高者时,计算这批作业的T和W。
优先级高者优先算法
70
7/3
70
7
C->
T=(60+130+70+70))/4=82.5(分)
W=(1+13/4+7/3+7))/4=3.40
第六章死锁
1、简述死锁的防止与死锁的避免的区别。
1、答:
死锁的防止是系统预先确定一些破坏死锁必要条件资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。
而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
6、怎样考虑死锁的检测和恢复?
死锁检测算法(回溯):
每次资源被申请或释放时,检测系统资源图是否存在环路(此时死锁可能还没有发生),如果存在环路,则逐一在环路中选择一进程撤消,直至死锁消除.
缺点:
效率太低,导致系统总体性能太为下降。
死锁恢复策略(事后恢复):
依次流产所有的死锁进程,直至死锁解除;
依次剥夺资源直到死锁解除;
预先定义检测点,备份每一个死锁的进程,然后重启这些进程。
缺点:
原来的死锁可能再次出现
7、产生死锁的四个必要条件?
1)互斥(Mutualexclusion)
在一段时间内某资源只能由一个进程占有。
2)占有且等待(Holdandwait)
已占有了一些资源的进程可能还要等待申请其他的资源才能继续工作。
3)非剥夺(Nopreemption)
已分配给某进程的资源不可被其他进程剥夺,除非该进程自己释放该资源。
4)循环等待(Circularwait)
存在一个封闭的进程-资源循环链。
8、系统资源向量(Available)为:
(1,5,2,0),最大需求量(Max)、已分配资源量(Allocation)如下表所示:
资源
进程
Max(最大需求量)
Allocation(已分配资源量)
R1
R2
R3
R4
P1
1
2
P2
7
5
P3
3
6
4
P4
P5
使用银行家算法回答下列问题:
(1)Need的内容是什么?
(2)系统是否处于安全状态?
(3)如果P2请求(0,4,2,0),能否立即得到满足?
3、答:
(1)Need的内容如下:
P1(0000),P2(0750),P3(1002),P4(0020),P5(0642)。
(2)系统处于安全状态,因为P1已得到它所需资源,可释放它已分配资源,系统资源向量变为:
(1,5,3,2),根据Need,可满足P3,P4,其他进程也相继能满足,因此系统是处于安全状态,其中一个安全序列为:
P1,P3,P4,P5。
(3)因为P1已得到它所需资源,可释放它已分配资源,系统资源向量变为:
(1,5,3,2),如果P2请求(0,4,2,0),系统资源向量变为:
(1,1,1,2),能满足P3进程对资源的要求。
其中一个安全序列为:
P1,P3,P4,P2,P5。
系统仍处于安全状态,能立即满足P2的请求。
第七章存储器管理
7.3什么是动态地址重定位?
请画出过程。
动态地址重定位是指程序在执行过程中,处理机在访问内存单元之前,将要访问的程序和数据逻辑地址变换成物理地址。
过程图如下:
7.10设某系统采用分页存储器管理技术,页长为1KB。
程序地址长16位,物理内存地址长为16位。
作业A的三个页面0,1,2被分配到内存的3,6,8块中。
该作业运行时,其页表内存首址为M。
将该程序中为(1030)10的地址转换为内存的物理地址,并画出地址映射过程。
解:
(1030)10换为二进制:
10000000110;
所以前6位为000001,后10位为0000000110
故页号为1,页内相对地址为6.
物理地址PA=1024*6+6=6150
具体的图如下:
第八章虚拟存储器
8.5考虑一个程序的内存访问序列:
10,111,304,70,173,309,185,245,246,434,548,364。
(1)如果页面大小为100,给出其页面走向序列;
页面走向序列为:
0,1,3,0,1,3,1,2,2,4,5,3。
(2)若该程序的内存空间的大小为200,分别给出采用OPT,FIFO,LRU置换算法的缺页。
因为内存空间大小为200,所以驻留集中页的个数为2
OPT:
时间
8
9
11
12
页面访问序列
m=2
缺页中断次数
命中
缺页中断次数7次
FIFO:
缺页中断次数10次
LRU:
缺页中断次数10次
8.15某计算机系统提供2^24字的虚拟存储空间,该计算机有2^18字的物理存储区,虚拟存储器是通过分页方法实现的,且页面的大小为256个字,假定一用户产生了虚拟地址1123456(八进制),说明该系统如何产生对应的物理地址。
解答:
依题意,虚拟地址1123456,共24位(000001001010011100101110)。
则依逻辑地址LA得:
页号p=0000010010100111页内偏移d=00101110。
由于页号大于实际内存的页帧数,故采用虚拟存储器管理。
系统产生物理地址的过程如下:
首先会查找p是否在页表中?
1.如果在,查得对应的叶帧号f,再计算物理地址PA=f*256+d;
2.如果不在,将查得对应的外存地址,找到相应的页,再看内存是否已经满?
a.若满,按照某种置换算法将一页换出,将所缺的页装入。
b.否则,将所缺页装入。
c.查得对应的叶帧号f,再计算物理地址PA=f*256+d;
16、什么是内部碎片?
外部碎片?
在固定式分区存储器管理中,这种由于被装入的数据块小于分区从而使得分区内部有空间浪费的现象称作内部碎片。
在可变分区存储器管理中,系统运作一段时间后,导致小分区越来越多,而且越来越小的现象。
这种方法最终导致在主存中出现许多空洞,这种现象称作外部碎片。
17、什么是抖动(Thrashing)?
抖动就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的时间,我们称这种现象为抖动。
抖动情况下,处理器大部分时间花费在交换块,而不是执行指令。
第九章设备管理
9.1按信息交换的单位可以将设备分为哪几类?
各有何特点?
举例加以说明。
可将设备分为块设备和字符设备。
字符设备处理信息的基本单位是字符,如键盘、打印机和显示器是字符设备。
块设备处理信息的基本单位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 作业