操作系统知识点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
虚拟机:在裸机的基础上,每增加一层新的操作系统的软件,就变成了功能更为强大的虚拟机或虚机器。
操作系统的目标:1. 方便性2. 有效性3. 可扩充性4. 开放性
操作系统的作用:OS作为用户与计算机硬件系统之间的接口;OS作为计算机系统资源的管理者;OS实现了对计算机资源的抽象(作扩充机器)。
操作系统的特征:并发性;共享性;虚拟性;异步性
推动操作系统发展的主要动力:不断提高计算机资源利用率;方便用户;器件的不断更新换代;计算机体系结构的不断发展。
人工操作方式的特点:用户独占全机;CPU等待人工操作;独占性;串行性。缺点:计算机的有效机时严重浪费;效率低
脱机I/O方式的主要优点:减少了CPU的空闲时间;提高I/O速度。
单道批处理系统的特征:自动性; 顺序性;单道性
多道批处理系统原理:用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入存,使它们共享CPU和系统中的各种资源。
多道批处理系统的优缺点资源利用率高;系统吞吐量大;可提高存和I/O设备利用率;平均周转时间长;无交互能力
多道批处理系统需要解决的问题(1)处理机管理问题(2)存管理问题(3)I/O设备管理问题4)文件管理问题(5)作业管理问题
分时系统:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
时间片:将CPU的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务
实时系统与分时系统特征的比较:多路性;独立性;及时性;交互性;可靠性
操作系统的特征:并发性;共享性;虚拟性;异步性
操作系统的主要功能:处理机管理;存储器管理;设备管理;文件管理;作业管理
对处理机管理,可归结为对进程的管理:进程控制(创建,撤消,状态转换);进程同步(互斥,同步);进程通信;进程调度(作业调度,进程调度)。
存储器管理功能:存分配(最基本);存保护;地址映射;存扩充
设备管理功能:设备分配;设备处理(相当于启动);缓冲管理;虚拟设备
文件管理功能:文件存储空间管理;目录管理;文件读写管理;文件保护。
用户接口:命令接口;程序接口;图形接口
传统的操作系统结构:无结构OS;模块化OS结构;分层式OS结构
模块化操作系统结构:操作系统是由按其功能划分为若干个具有一定独立性和大小的模块。每个模块具有某个方面的管理功能,规定好模块之间的接口。
微核的基本功能:进程管理-存储器管理-进程通信管理-I/O设备管理
进程的特征:动态性(最基本);并发性;异步性;独立性;结构特征(程序段,数据段,进程控制块PCB)
进程的基本属性:可拥有资源的独立单位;可独立调度和分配的基本单位。
进程控制块的基本组成:进程标识符;处理机的状态;进程调度所需信息;进程控制信息。进程控制一般是由操作系统的核中的原语来实现
临界资源:如打印机、磁带机等一段时间只允许一个进程进行使用的资源。
信号量:整型,记录型,and型,信号量集。实现进程互斥,前趋关系,进程同步。semaphore
同步P操作在互斥P操作前
Swait(S, d, d)表示每次申请d个资源,当少于d个时,便不分配
Swait(S, 1, 1)表示互斥信号量
Swait(S, 1, 0)可作为一个可控开关(S 1时,允许多个进程进入临界区;S=0时,禁止任何进程进入临界区)
同步机制应遵循的规则:空闲让进;忙则等待;有限等待;让权等待
生产者进程i:
Repeat
生产数据nextp;
wait(empty);
wait(mutex);
buffer[in]:=nextp;
in=(in+1)%n ;
signal(full);
until false;
消费者进程i:
Repeat
wait(full);
wait(mutex);
Nextc=buffer(out);
out=(out+1)%n ;
signal(empty);
until false;
哲学家i:
Repeat
wait(SM);
wait(chopstick[i]);
wait(chopstick[(i+1)%5]);
就餐;
signal(chopstick[i]);
signal(chopstick[(i+1)%5]);
signal(sm) ;
继续思考;
until false;
Chopstick[0..4]=1;sm=4
读者进程i:
REPAET
wait(rmutex);
if readcout=0 wait(wmutex);
Readcount++;
signal(rmutex);
访问数据文件;
Readcount--;
If readcout=0 wait(wmutex); signal(rmutex);
until false;
写者进程i:
REPAET
wait(wmutex);
修改文件;
signal(wmutex);
until false;
司机与售票员的合作问题VAR S1=1;S2=0;
司机:
Wait(s1);
启动车辆;
正常行车;
到站停车
Signal(s2);
售票员:
Wait(s2);
开车门;
上下乘客;
关车门
Signal(s1);
售票
读者进程i:
Var s=100;mutex=1;
Wait(s);
Wait(mutex);
查登记表,并置某座位为占用态Signal(mutex);
在座位上坐下阅读;
Wait(mutex);
查登记表,并置某座为空闲状态Signal(mutex);
Signal(s);
接收原语
Procedure receive(b)
Begin
J=internal name;
Wait(j.sm);
Wait(j.mutex);
Remove(j.mq,i);