第一章 操作系统引论
1、操作系统是什么?
操作系统为用户完成所有“硬件相关,应用无关“的工作,以给用户方便、高效、安全的使用环境
1.1、定义:
操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调多个任务的活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。
1.2、目标
(1)、方便性:配置OS后计算机系统更容易使用
(2)、有效性:改善资源利用率;提高系统 吞吐量
(3)、可扩充性:OSde结构(如层次化的结构:无结构发展->模快化结构->层次化结构->微内核结构)
(4)、开放性:OS遵循世界标准范围。
1.3、作用:
(1)、OS作为用户与计算机硬件系统之间的接口(API/CUI/GUI)
即:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
(2)、OS是计算机系统资源的管理者(处理机、存储器、I/O设备、文件)
处理机管理是用于分配和控制处理机
存储器管理是负责内存的分配与回收
I/O设备管理是负责I/O设备的分配(回收)与操纵
文件管理是用于实现文件的存取、共享和保护
(3)、OS实现了对计算机资源的抽象(OS是扩充机/虚拟机)
2、操作系统的发展过程
2.1、未配置操作系统的计算机系统(40年代 手工操作阶段)
(1)、人工操作方式:用户独占全机,资源空闲浪费。
缺点:
(2)、脱机输入输出(Off-Line I/O)方式。
优点:
2.2、单道批处理系统(50年代)
(1)、解决问题:
单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。批处理系统旨在提高系统资源的利用率和系统的吞吐量。(但单道批处理系统仍不能充分利用资源,故现在已很少用)
单道批处理分为:联机批处理、脱机批处理
联机批处理:CPU直接控制作业输入输出
脱机批处理:由外围机控制作业输入输出
(2)、缺点:
(3)、特征
2.3、多道批处理系统(60年代初)
目的:为了进一步提高资源利用率和系统吞吐量
该系统中,用户提交的作业都先存在外存中,在作业A在执行I/O请求时,CPU空闲,此时调用作业B,防止CPU空闲。同理按一定的算法调用作业,防止CPU空闲
PS:推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量。
优点:
缺点:
特点:
还需解决的问题:
2.4、分时系统(60年代中)
分时系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的键盘,以交互的方式使用计算机,共享主机中的资源。
PS:推动分时系统形成和发展的主要动力是用户的需要:交互、共享主机、方便上机。
关键问题:
特征:
2.5、实时操作系统(60年代中)
实时系统(Real-Time System)是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
特征:
2.6、微机操作系统
2.7、多处理机操作系统
2.8、网络操作系统
2.9、分布式操作系统
2.10、嵌入式操作系统
3、操作系统的基本特性
3.1、并发
并发是指在内存中放多道作业, 在一个时间段上来看,每一道作业都能不同程度地向前推进。但在任何一个时间点上只能有一道占用CPU。
两个概念:
3.2、共享
系统中的资源可供多个并发的进程共同使用。
根据资源属性的不同,有两种资源共享方式:
3.3、虚拟
通过某种技术将一个物理实体映射为若干个逻辑上对应物(如CPU;一个屏幕可看成多个屏幕-窗口)。或将多个物理实体映射为一个逻辑实体(如虚拟存储是内存和外存的虚拟)。
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
3.4、异步
不确定性:什么时候开始,执行多久时间,终止时间
4、操作系统的主要功能
4.1、处理机管理功能:进程控制、进程同步、进程通信、调度(作业调度、进程调度)
4.2、存储器管理功能:内存分配、内存保护、存储扩充、地址映射
4.3、设备管理功能:缓冲管理、设备分配、设备处理
4.4、文件管理功能:文件存储空间的管理、目录管理、文件的读 /写管理和保护
4.5、操作系统与用户之间的接口:命令接口、程序接口、图形接口
4.6、现代OS的新功能:
5、操作系统的结构设计
传统的操作系统结构
现代OS结构——微内核结构
第二章:进程的描述与控制
1、进程的定义和特征
进程有很多各式各样的定义,如:
进程实体(简称进程):程序块、相关的数据、进程控制块PCB
进程的特征:
2、进程与程序的区别:
3、进程的3种状态及转换
就绪队列:处于就绪状态的进程按一定的策略排队,同一时刻可有多个就绪队列。
进程的状态变迁图:
状态进程模型:
思考题:
1、如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?
运行:1 0
就绪:N-1 0
等待:N 0
4、进程控制块PCB
PCB是OS中最重要的记录型数据结构
作用:
将一个不能独立运行的程序变成一个可以独立运行的基本单位,一个能与其他进程并发执行的进程。
进程描述信息:
5、进程同步
5.1、两种制约关系
间接相互制约关系:系统资源竞争,进程间彼此无关
直接相互制约关系:进程间合作,彼此相关
5.2、临界资源(Critical Resource/CR):一次仅允许一个进程访问的资源。
5.3、临界区(Critical Section/CS):临界段,在每个程序中,访问临界资源的那段程序。
如程序段A、B有关于变量X的临界区,而C、D有关于变量Y的临界区,那么,A、B之间需要互斥执行,C、D之间也要互斥执行,而A与C、B与D之间不用互斥执行。
5.4、同步机制应遵循的规则
5.6、信号量机制
V(S) 或 signal(S): S:=S+1;
两种操作皆为原语操作。
进程同步练习题:
思考题:
1、桌上有一空盘,最多允许存放一只水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。
试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。
提示:设置一个信号量表示可否向盘中放水果,一个信号量表示可否取桔子,一个信号量表示可否取苹果。
解:
设置三个信号量S,So,Sa 。
S:表示可否向盘中放水果,初值为1。
So:表示可否取桔子,初值为0。
Sa:表示可否取苹果,初值为0。
2、有一个仓库,可以存放A和B两种产品。存储空间充分大,但要求:
(1) 每次只能存入一种产品(A或B)
(2) -N<A产品数量-B产品数量<M。
其中,N和M是正整数。试用P、V操作描述产品A与B的入库过程。
提示:设两个信号量Sa、Sb
Sa:表示允许A产品比B产品多入库的数量
Sb:表示允许B产品比A产品多入库的数量
解:
设:
互斥信号量mutex,初值为1。
Sa:表示允许A产品比B产品多入库的数量,初值为M-1; 即B的数量为0,A最多为M-1
Sb:表示允许B产品比A产品多入库的数量,初值为N-1;即A的数量为0,B最多为N-1
3、问题描述:假定阅览室最多容纳100人阅读,读者进入时,必须在门口的登记表上登记,内容包括:姓名、座号等;离开时要撤销登记内容。用P、V操作描述读者进程的同步算法。
4、问题描述:理发店由一个有几张凳子的等待室和一个放有一张理发椅的理发室组成。若没有理发的人员,理发师睡觉;若顾客到来,且所有的椅子占满,则该顾客离开理发店;若理发师正在理发,则该顾客就找一张椅子坐下等待;若理发师在睡觉,则该顾客唤醒理发师。设计一个理发师和顾客的协调程序。
5、问题描述:设公共汽车上,司机和售票员的活动分别为:
司机:启动汽车; 售票员:上下乘客;
正常行车; 关车门;
到站停车; 售票;
开车门;
上下乘客;
用P、V原语描述:在汽车不断到站,停车,行驶的过程中。两个人的同步活动
6、进程通信
所谓进程通信是指进程之间信息交换。
高级通信:用户可直接利用OS提供的一组通信命令高效传送大量数据。分为:
直接通信:发送进程直接把消息发送给接收者,并将它挂在接收进程的消息缓冲队列上。接收进程从消息缓冲队列中取得消息。也称为消息缓冲通信
间接通信:发送进程将消息发送到某种中间实体中(信箱),接收进程从(信箱)中取得消息。也称信箱通信。在网络中称为电子邮件系统。
思考:直接通信与间接通信方式的主要区别?
前者需要两进程都存在,后者不需要。 习题: 进程A1、A2,…An1通过m个缓冲区向进程B1、B2、…Bn2不断发送消息。发送和接收工作遵循下列规则:
(1)每个发送进程一次发送一个消息,写入一个缓冲区, 缓冲区大小等于消息长度
(2)对每个消息,B1,B2,…,Bn2都须各接收一次,读 入各自的数据区内
(3)m个缓冲区都满时,发送进程等待,没有可读消息 时,接收进程等待。
试用P、V操作组织正确的发送和接收工作。
提示:每个缓冲区只需写一次但要读n2次,因此,可以看成n2组缓冲区,每个发送者要同时写n2组缓冲区中相应的n2个缓冲区,而每个接收者只要读它自己对应的那组缓冲区的对应单元。
Sin[n2]=m,表示每组缓冲区中可放的(空的)缓冲区的数目,初值为m;
Sout[n2]=0,表示每组缓冲区中可取的(已用的)缓冲区的数目,初值为0;
先将问题简化:
设缓冲区的大小为1
有一个发送进程A1
有二个接收进程B1、B2
设有信号量Sin[1] 、Sin[2] 初值为1
设有信号量Sout[1] 、Sout[2] 初值为0
向目标前进一步
解:
设缓冲区的大小为m
有一个发送进程A1
有二个接收进程B1、B2
设有信号量Sin[1] 、Sin[2] 初值为m
设有信号量Sout[1] 、Sout[2] 初值为0
到达目标:
解:
设缓冲区的大小为m
有n1个发送进程A1….An1
有n2个接收进程B1…Bn2
设有n2个信号量Sin[n2] 初值均为m
设有n2个信号量Sout[n2] 初值均为0
7、线程:是进程中的一个实体,是被系统独立调度的基本单位。
7.1、线程的引入
7.2、进程的两个基本属性
7.3、引入线程的好处
7.4、线程的属性
这就先总结到第二章,后面的内容在下一篇博文中。
总结重点:
第一章 操作系统引论
1.操作系统的作用
2.操作系统的发展过程
(包括解决的问题和优缺点)
3.操作系统的基本特征
第二章 进程的描述与控制
1.进程的定义和特征
2.进程和程序的比较
3.进程的三种基本状态及转换
4.PCB是什么及其作用
5.进程间的两种制约关系
6.临界资源 临界区的概念
7.同步机制应遵循的规则
8.信号量机制-整型信号量
(Ps:书上的经典同步问题不会考你)
9.进程通信的类型
10.线程