第三章 操作系统
; L. ~ i) F3 p# h* {1、操作系统概念:一是管理系统中的各种资源;二是给用户提供一个友好的界面。
2 H: ]9 v5 E1 ]8 g7 E, {2、操作系统包括以下3个基本特征:并发性、共享性、随机性。
/ w' Q) \: a7 N1 k. Q A% v) b, F# @3、功能:进程管理、存储管理、作业管理、文件管理、设备管理
6 ]5 d: n; u( ~4 j4、操作系统类型 & A3 B" j7 w4 F6 K2 G
(1)批处理操作系统:成批、多道,交互性不强。系统目标:提高资源利用率、作业吞吐量和作业流程自动化。 2 B, P* G9 o9 g" o% W$ `1 d2 v
(2)分时操作系统:多路、交互性、独立性、及时性
: o7 c6 K, w: V& j/ u! [(3)实时系统(实时控制、实时信息处理):及时、可靠
9 C7 g p( z3 h% C(4)嵌入式操作系统:高可靠性、实时性、占资源少、智能化、易连接、低成本等。 & i) g8 X- a; z$ A
5、操作系统与用户的接口:程序级接口:系统调用命令组成。操作级接口:提供操作命令 ' A8 w! B% ?- W" \0 {. \% R- E
6、操作系统的硬件环境(CPU、存储体系、中断系统、I/O控制和时钟)
) M+ Q6 L/ Z1 i, w! y+ p(1)CPU:CPU状态:管态(CPU执行操作系统程序)和目态(CPU执行用户程序) ! @4 o) w/ h+ c- y0 }
目态到管态的转变的唯一途径是中断,通过修改程序状态字实现管态和目态的转换 - |3 s/ H8 Z2 @
(2)中断机制: 3 N" ]+ U( `2 h0 ]5 B
中断的实现需要硬件和软件结合完成。中断类型:强迫性中断和自愿性中断。 0 Y' I4 m, J* K/ o( d
强迫性中断:不期望或不可预料的中断.如:输入输出中断、硬件故障中断、时钟中断、程序性中断。
" e T7 f9 M, {! u& s自愿性中断:程序有意安排的访管指令或系统调用。
( f4 o0 k8 g9 I* N# }" N中断向量:中断处理程序的入口地址及运行环境(程序状态字PSW) " `* a- P2 Y+ p7 U0 c* k
中断优先级由硬件规定,中断屏蔽由程序状态字的中断屏蔽位决定。通过中断屏蔽可以调整中断事件的响应次序 ; k [; D$ m6 I7 r p- |
(3)定时装置:定时装置硬件时钟通常分为两类:即绝对时钟和相对时钟。 ) A1 x' z% J8 l. V- }! `
CPU对外部设备的控制方式: 5 Y% A/ O. g% m1 ~; J) w& g
1、循环测试I/O 2、中断 3、DMA(直接内存存取):高速外设与内存批量处理数据 4、通道处理(I/O处理机)
" {# o; e! {' a, W! H7、进程管理
% E2 e( |% }! e(1)进程与程序的区别与联系:a.进程是程序的执行,是动态的;而程序是指令的集合,是静态的。 ! B. Z) u& @$ }0 P; E' c# [
b.进程有生命周期,即进程的存在是有限的,从运行到结束,是暂时的;而程序则是永久存在的。
/ ?5 Z. L3 [3 T3 X! Q! _ c.进程包括程序、数据和进程控制块(PCB)。 4 G: I7 a% G' _6 }; p) E
d.一个程序可以有多个进程,一个进程也可以包含多个程序。
4 m3 F/ ?* Q+ A" t! P0 a2 X" T进程控制块PCB是一个数据结构,进程在内存中存在的唯一标志 $ J2 h5 f/ g3 }1 A( f
(2)进程状态: 运行态, 就绪态,等待状态(阻塞状态)
+ d0 f ] t2 t) k3 P" I: ]3 ^% z(3)线程:CPU调度和分派的基本单位。共享进程资源。
1 U u2 o H) m4 h(4)进程的通信 * e& M* _) e. m) v3 A& v2 K
临界资源是指一次只允许一个进程使用的资源:一个进程中访问临界资源的那段程序代码称为临界区。它们不允许两个及以上的进程同时访问或修改。
' B' t9 q& a) p( V 进程同步:多个进程协同完成任务。进程互斥:多个进程使用同一资源(临界资源)。 4 ^! C* @: ~1 f. q
低级通信:少量信息的交换(P操作和V操作)
( ~: ?4 a) t/ V 高级通信:大信息交换(消息机制(消息缓冲、信箱通信)、共享内存,管道)
; B- J% b% Z! i' q, p( a 进程(线程)调度:先来先服务、时间片轮转、最高优先级(紧迫度高的进程)、 多级队列反馈算法:综合了FCFS、时间片轮转和可抢占最高优先数算法。
7 s+ _) O6 U9 e6 ]+ }! m: L(5)死锁:
4 G9 e- P6 I7 j( {产生死锁的必要条件:互斥条件、不可剥夺条件、部分分配、循环等待 4 T6 J- p0 q. h P: F
死锁的预防: 破环必要条件之一:静态预分配(破坏部分分配)、资源有序分配(破坏环路等待)、 可剥夺资源(破坏不可剥夺性)
) N0 F; ~) M9 h# e- Z死锁的避免:银行家算法 |