一、操作系统的功能
1、处理器管理
2、存储管理
3、设备管理
4、文件管理
5、网络与通信管理
6、用户接口
二、操作系统的作用
1、操作系统作为用户接口和公共服务程序
2、操作系统作为程序执行的控制者和协调者
3、操作系统作为扩展机或虚拟机
4、操作系统作为资源的管理者和控制者
三、系统调用
系统调用是把应用程序的请求送至内核,调用相应的内核函数完成所需的处理,将结果
返回给应用程序。
四、系统调用的分类
1、进程管理
2、文件操作
3、设备管理
4、主存管理
5、进程通信
6、信息维护
五、死锁
如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的
事件,则称一组进程或系统此时发生死锁。
六、死锁产生的因素
1、系统拥有的资源数量
2、资源分配策略
3、并发进程的推进顺序
七、系统形成死锁的四个必要条件
1、互斥条件
进程互斥使用资源
2、部分分配条件
申请新资源时不释放已占有资源
3、不剥夺条件
一个进程不能抢夺其他进程占有的资源
4、环路条件
存在一组进程循环等待资源的
八、死锁防止
1、破坏第一个条件
使资源可同时访问而不是互斥使用,
2、破坏第三个条件
采用剥夺式调度方法,当进程在申请资源未获准许的情况下,如主动释放资源(一
种剥夺式),然后才去等待。
3、破坏第二个条件或第四个条件
上述死锁防止办法造成资源利用率和吞吐率低
九、比较实用的死锁防止方法
1、采用层次分配策略(破坏条件 2 和 4)
资源被分成多个层次
当进程得到某一层的一个资源后,它只能再申请较高层次的资源
当进程要释放某层的一个资源时,必须先释放占有的较高层次的资源
当进程得到某一层的一个资源后,它想申请该层的另一个资源时,必须先释放
该层中的已占资源
2、层次策略的变种按序分配策略
把系统的所有资源排一个顺序,例如,系统若共有 n 个进程,共有 m 个资源,
用 ri 表示第 i 个资源,于是这 m 个资源是:
r1,r2……,rm
规定如果进程不得在占用资源 ri(1≤i≤m)后再申请 rj(j
第一章
练习题
5、在单 CPU 和两台 I/O(I1 、I2)设备的多道程序设计环境下,同时投入 3 个作业运行。其
运行轨迹如下:
Job 1: I2(30 ms),CPU(10 ms),I1(30 ms),CPU(10 ms)
Job 2 : I1(20 ms),CPU(20 ms),I2(40 ms)
Job 3 : CPU(30 ms),I1(20 ms)
如果 CPU、I1 和 I2 都能并行工作,优先级从高到低以此为 Job 1,Job 2,Job 3,优先级
高的作业可以抢占优先级低的作业的 CPU。试求:
(1)每个作业从投入到完成分别所需要的时间。
(2)从作业的投入到完成,CPU 的利用率。
(3)I/0 设备利用率。
答案:
第二章
1、什么是 PSW?其主要作用是什么?
答案:
PSW 是程序状态字
PSW 用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序
状态的保护和恢复。
每个程序都有一个与其执行相关的 PSW.
2、当从具备运行条件的程序中选取一道程序运行后,怎样才能让它占有处理器工作?
答案:
保存上一个程序现场 上下文切换
3、为什么现代计算机要设置两种或多种 CPU 状态?
答案:
区分当前是特权还是非特权指令
4、为什么要把机器指令分为特权指令和非特权指令?
答案:
特权指令:是指只能提供给操作系统的核心程序使用的指令,如启动 I/O 设备、设置时钟、
控制中断屏蔽位、清主存、建立存储键,加载 PSW 等。
非特权指令:供应用程序使用的指令。
5、硬件如何发现中断事件?发现中断事件后应做什么?
答案:
中断装置
发现中断源——>保护现场——>转向中断事件的处理程序——>恢复现场
6、试述中断在操作系统中的重要性及其主要作用。
答案:
打断处理器正常工作,就称之为中断。
中断机制是现代计算机系统的重要组成部分之一,每当应用程序执行各种内部和外部事
件时,都要通过中断机制产生中断信号并启动内核工作,可以说操作系统是由“中断驱动”
的。
7、什么是进程?计算机操作系统中为什么要引入进程?
答案:
进程是一个资源分配和保护的基本单位。
引入进程是为了支持多道程序的并发执行。
8、在操作系统中引入进程概念后,为什么还要引入线程的概念?
答案:
为了减少程序并发执行时所付出的时空开销,使得并发粒度更细、并发性更好。
71、试说明访管指令与特权指令之间的区别?
答案:
特权指令是操作系统才能使用的指令。
访管指令是非特权指令,施工用户程序使用的指令。
9、解释:
(1)作业周转时间;
答案:批处理用户从作业提交给系统开始,到作业完成为止的时间间隔称作业周转时间
(2)作业带权周转时间
答案:如果作业 i 的周转时间为 ti,所需运行时间为 tk,则称 wi=ti/tk 为该作业的带权周转
时间。
(3)响应时间
答案:交互式进程从提交一个请求(命令)到接收到响应之间的时间间隔称响应时间。
(4)吞吐率
答案:单位时间内处理的作业数。
11、为什么说操作系统是由中断驱动的?
答案:
因为每当应用程序执行各种内部和外部事件时,都要通过中断机制产生中断信号并启动内
核工作,可以说操作系统是由“中断驱动”的。
核心态
应用题:
1、下列指令中,哪些只能在核心态运行?
(1)读时钟日期; 用户态
(2)访管指令
用户态
(3)设时钟日期
核心态
(4)加载 PSW
(5)置特殊寄存器
(6)改变存储器映像图
(7)启动 I/0 指令
3、并发进程之间有何种制约关系?下列日常生活中的活动属于哪种制约关系?
(1)踢足球
(2)吃自助餐
同步
(3)图书馆借书 互斥
(4)电视机生产流水线工序 同步
核心态
互斥
核心态
核心态
执行时间/ms 优先权
7、假定作业 Job1~Job5,,作业号即为其到达顺序,依次在时刻 0 按照序号 1、2、3、4、5
进入单处理器系统。
(1)分别采用先来先服务调度算法、时间片轮转算法、短作业优先算法及非抢占优先权调
度算法计算出各作业的执行次序(注意优先权越高其数值越小)
(2)计算每种情况下作业的平均周转时间和平均带权周转时间。
--------------------------------------------------------
作业号
-------------------------------------------------------
Job 1
Job 2
Job 3
Job 4
Job 5
-------------------------------------------------------
答案:
10
1
2
1
5
3
1
3
4
2
(1)先来先服务(FCFS):1,2,3,4,5
时间片轮转法:1,2,3,4,5,1,3,5,1,5,1,5,1,1,1,1,1,1
非抢占优先权:2,5,1,3,4
短作业优先(SJF):2,4,3,5,1
(2)先来先服务:平均周转时间:(10+11+13+14+19)/5=13.4
平均带权周转时间:(10/10+11/1+13/2+14/1+19/5)/5=7.26
时间片轮转法:平均周转世间:(19+2+7+4+14)/5=9.2
平均带权周转时间:(19/10+2/1+7/2+4/1+14/5)/5=2.84
非抢占优先权:平均周转时间:(16+1+18+19+6)/5=14
平均带权周转时间:(16/10+1/1+18/2+19/1+6/5)/5=6.36
短作业优先: 平均周转时间:(19+1+4+2+9)/5=7
平均带权周转时间:(19/10+1/1+4/2+2/1+9/5)/5=1.74
执行时间/min
进入后备队列的时间
5、在道数不受限制的多道程序系统中,作业进入系统的后备队列时立即进行作业调度。现
有 4 个作业进入系统,有关信息列举如下,作业调度和进程调度均采用高优先级算法(规
定数值越大则优先级越高)。
------------------------------------------------------------------------------------------------------
作业名
-----------------------------------------------------------------------------------------------------
Job 1
Job 2
Job 3
Job 4
-----------------------------------------------------------------------------------------------------
试填充下表。
----------------------------------------------------------------------------------------------------------------------
作业名| 进入后备队列 | 执行时间 | 开始执行 | 结束执行 | 周转时间 | 带权周转
8:00
8:30
8:40
8:50
60
50
30
10
优先数
1
2
4
3
| 的时间
|
/min
| 时间
| 时间
|
/min
| 时间
60
50
|
|
|
|
|
|
|
|
2.5
150
8:30
8:00
8:30
8:00
8:40
10:00
10:30
----------------------------------------------------------------------------------------------------------------------
Job1 |
----------------------------------------------------------------------------------------------------------------------
Job2 |
----------------------------------------------------------------------------------------------------------------------
Job3 |
----------------------------------------------------------------------------------------------------------------------
Job4 |
----------------------------------------------------------------------------------------------------------------------
平均周转时间 T=(150+90+30+30)/4=75
----------------------------------------------------------------------------------------------------------------------
带权平均周转时间 W=(2.5+1.8+1+3)/4=2.075
----------------------------------------------------------------------------------------------------------------------
8:50
8:40
9:10
9:10
9:20
1.8
30
|
|
|
|
|
|
|
|
|
|
|
|
1
3
10
90
30
30
10:00
9、对某系统进行监测后表明,每个进程在 I/0 阻塞之前的平均运行时间为 T,一次进程切换
的系统开销时间为 S。若采用时间片长度为 Q 的时间片轮转法,对下列各种情况计算 CPU
的利用率。
(1)Q=无穷大 CPU 利用率=T/(T+S)
(2)Q>T
CPU 利用率=T/(T+S)
(3)S
试填充下表
----------------------------------------------------------------------------------------------------------------------
作业
----------------------------------------------------------------------------------------------------------------------
作业周转时间/min
进入主存时间
运行结束时间
A
10:00
12:40
160
----------------------------------------------------------------------------------------------------------------------
B
10:20
10:50
30
----------------------------------------------------------------------------------------------------------------------
C
10:30
11:50
80
----------------------------------------------------------------------------------------------------------------------
D
10:50
13:00
130
----------------------------------------------------------------------------------------------------------------------
E
12:00
12:20
80
---------------------------------------------------------------------------------------------------------------------
F
11:50
1200
50
----------------------------------------------------------------------------------------------------------------------
平均作业周转时间 =(160+30+80+130+80+50)/6=88.33
----------------------------------------------------------------------------------------------------------------------
27、 某多道程序系统供用户使用的主存空间为 100 KB,磁带机 2 台,打印机 1 台。采用可
变分区主存管理,采用静态方式分配外部设备,忽略用户作业 I/0 操作时间。现有作业序列
如下:
----------------------------------------------------------------------------------------------------------------------
作业号 进入输入井时间 运行时间/min 主存需求量/KB 磁带机需求/台 打印机需求/台
----------------------------------------------------------------------------------------------------------------------
1
2
3
4
5
8:00
8:20
8:20
8:30
8:35
25
10
20
20
15
15
30
60
20
10
1
0
1
1
1
1
1
0
0
1
----------------------------------------------------------------------------------------------------------------------
作业调度采用 FCFS 策略,优先分配主存低地址区且不准移动已在主存中的作业,主存中
的各作业平分 CPU 时间。现求:
(1)作业调度的先后次序
(2)全部作业运行结束的时间
(3)作业平均周转时间
(4)最大作业周转时间。