操作系统笔记——01
目录
1.2.3多道批处理系统(Multiprogrammed Batch Processing System)
1.2.4 分时系统(Time Sharing System)
1.操作系统引论
1.1操作系统的目标和作用
1.1.1操作系统的目标
在计算机系统上配置操作系统,其主要目标是:方便性、有效性、可扩充性和开放性。
1.1.2操作系统的作用
- OS作为用户与计算机硬件系统之间的接口
- OS作为计算机系统资源的管理者
在一个计算机系统中,通常都含有多种硬件和软件资源。归纳起来可将这些资源分为四类:处理机、存储器、I/O设备以及文件(数据和程序)。
- 处理机管理是用于分配和控制处理机;
- 存储器管理主要负责内存的分配与回收;
- I/O设备管理是负责I/O设备的分配(回收)与操纵;
- 文件管理是用于实现对文件的存取、共享和保护。
3. OS实现了对计算机资源的抽象
1.1.3推动操作系统发展的主要动力
1. 不断提高计算机资源利用率
形成了能自动地对一批作业进行处理的多道批处理系统。
出现了能够有效提高I/O设备和CPU利用率的SPOOLing系统。
2. 方便用户
分时系统。图形界面。
3. 器件的不断更新换代
4. 计算机体系结构的不断发展
计算机由单处理机系统发展为多处理机系统。网络操作系统。
5. 不断提出新的应用需求
1.2操作系统的发展过程
简单的批处理OS→多道程序批处理系统→分时系统
1.2.1 未配置操作系统的计算机系统
- 人工操作方式
(1)用户独占全机
(2)CPU等待人工操作
2. 脱机输入/输出(Off-Line I/O)方式
(1)减少了CPU的空闲时间
(2)提高了I/O速度
1.2.2 单道批处理系统
-
单道批处理系统(Simple Batch Processing System)的处理过程
- 单道批处理系统的缺点
单道批处理系统最主要的缺点是:系统中的资源得不到充分的利用。内存的浪费
1.2.3多道批处理系统(Multiprogrammed Batch Processing System)
IBM 360。IBM公司为IBM 360开发的OS/360操作系统是第一个能运行多道程序的批处理系统。
- 多道程序设计的基本概念
为了进一步提高资源的利用率和系统吞吐量,引入了多道程序设计技术,由此形成了多道批处理系统
2. 多道批处理系统的优缺点
(1)资源利用率高。引入多道批处理能够使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高I/O设备的利用率。
(2)系统吞吐量大。能提高系统吞吐量的主要原因可归结为:①CPU和其他资源保持“忙碌”状态;②仅当作业完成时或运行不下去时才进行交换,系统开销小。
(3)平均周转时间长。
(4)无交互能力。
3. 多道批处理系统需要解决的问题
⑴处理机争用问题。
⑵内存分配和保护问题。
⑶I/O设备分配问题。
⑷文件的组织和管理问题。
⑸作业管理问题。
⑹用户与系统的接口问题。
把操作系统定义为:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
1.2.4 分时系统(Time Sharing System)
- 分时系统的引入
如果说推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是为了满足用户对人—机交互的需求,由此形成了一种新型OS。用户的需求具体表现在以下几个方面:
⑴人—机交互。
⑵共享主机。
分时系统是指:在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。
2. 分时系统实现中的关键问题
在多道批处理系统中,用户无法与自己的作业进行交互的主要原因是:作业都先驻留在外存上,即使以后被调入内存,也要经过较长时间的等待后方能运行,用户无法与自己的作业进行交互。
人机交互:允许有多个用户同时通过自己的键盘键入命令,系统也应能全部及时接收并处理。
⑴及时接收。只需在系统中配置一个多路卡。
⑵及时处理。各个用户的作业都必须驻留在内存中,并能频繁地获得处理机运行。
①作业直接进入内存。
②采用轮转运行方式。时间片
3. 分时系统的特征
①多路性。
②独立性。
③及时性。
④交互性。
1.2.5实时系统(Real Time System)
事实上实时系统最主要的特征,是将时间作为关键参数,它必须对所接收到的某些信号做出“及时”或“实时”的反应。
实时系统是指系统能及时响应外部时间的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
- 实时系统的类型
⑴工业(武器)控制系统。
⑵信息查询系统。
⑶多媒体系统
⑷嵌入式系统。
2. 实时任务的类型
⑴周期性实时任务和非周期性实时任务。
- 周期性实时任务是指这样一类任务,外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。
- 反之,非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间(Deadline),或称为最后期限。它又分为:
①开始截止时间,指某任务在某时间以前必须开始执行
②完成截止时间,指某任务在某时间以前必须完成。
⑵硬实时任务和软实时任务。
- 硬实时任务(Hard Real-time Task,HRT)是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。用于工业和武器控制的实时系统,通常它所执行的是硬实时任务。
- 软实时任务(Soft Real-time Task,SRT)也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。诸如用于信息查询系统和多媒体系统中的实时系统,通常是软实时任务。
3.实时系统与分时系统特征的比较
⑴多路性。
⑵独立性。
⑶及时性。
⑷交互性。
⑸可靠性。
分时系统要求系统可靠
实时系统要求系统高度可靠
1.2.6微机操作系统的发展
1. 单用户单任务操作系统
- CP/M:8位
- MS-DOS:16位
2. 单用户多任务操作系统
目前在32位微机上配置的操作系统,基本上都是单用户多任务操作系统。
Windows1.0、Windows2.0、Windows3.0、Windows3.1(16)、Windows95(32)、Windows98、WindowsXP、WindowsNT
3. 多用户多任务操作系统
Unix OS(32)、Unix V.7、Xenix、Solaris OS、Linux OS、Solaris 2.7和2.8(64)
1.3操作系统的基本特征
三种基本操作系统:
批处理系统:高的资源利用率和系统吞吐量
分时系统:能获得及时响应
实时系统:具有实时特征
除此之外,他们还具有并发、共享、虚拟、和异步四个基本特征。
1.3.1并发(Concurrence)
- 并行与并发
并行性:是指两个或多个事件在同一时刻发生。
并发性:是指两个或多个事件在同一时间间隔内发生。
2. 引入进程
进程:在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。
1.3.2共享(Sharing)
目前主要实现资源共享的方式有如下两种。
1. 互斥共享方式
临界资源(独占资源):在一段时间内只允许一个进程访问的资源
2. 同时访问方式
典型的可供多个进程“同时”访问的资源是磁盘设备。
并发和共享是多用户(多任务)OS的两个最基本的特征。
1.3.3虚拟(Virtual)
在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。在OS中利用时分复用和空分复用技术来实现“虚拟”的。
1. 时分复用技术
时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
⑴虚拟处理机技术。利用多道程序设计技术。
⑵虚拟设备技术。
2.空分复用技术
如果说,多道程序技术(时分复用技术)是通过利用处理机的空闲时间运行其他程序,提高了处理机的利用率,那么,空分复用技术则是利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。
- 如果采用分时复用的方法,设N是某物理设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N
- 类似的,如果利用空分复用的方法,此时虚拟设备平均占用的空间必然也等于或低于物理设备所拥有的1/N。
1.3.4 异步(Asynchronism)
进程的异步性:进程是以人们不可预知的速度向前推进的。
1.4 操作系统的主要功能
引入OS的主要目的是:为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率,方便用户的使用。
在传统的OS中应具有处理机管理、存储器管理、设备管理和文件管理等基本功能。
1.4.1 处理机管理功能
对处理机的管理可归纳为对进程的管理。
处理机管理的主要功能有:创建和撤消进程、对诸进程的运行进行协调、实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程。
1. 进程控制
进程控制的主要功能:为作业创建进程、撤消(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
2. 进程同步
常用的协调方式有两种:
- 进程互斥方式,这是指诸进程在对临界资源进行访问时,应采用互斥方式;
- 进程同步方式,指在相互合作去完成共同任务的诸进程间,由同步机构对他们的执行次序加以协调。
3. 进程通信
4. 调度
在传统OS中,调度包括作业调度和进程调度两步。
❋作业调度。
❋进程调度。
1.4.2 存储器管理功能
存储器管理的主要任务,是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。
为此,存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
1. 内存分配
内存分配的主要任务是:
▷为每道程序分配内存空间,使它们“各得其所”。
▷提高存储器的利用率,尽量减少不可用的内存空间(碎片)
▷允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。
OS在实现内存分配时,可采取静态和动态两种方式:
- 静态分配方式。
- 动态分配方式。
2.内存保护
内存保护的主要任务是:
确保每道用户程序都仅在自己的内存空间运行,彼此互不干扰。
决不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去。
内存保护机制:设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。
3. 地址映射
4. 内存扩充
内存扩充机制,用于实现下述各功能:
●请求调入功能
●置换功能
1.4.3 设备管理功能
设备管理的主要任务如下:
- 完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作。
- 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
为实现上述任务,设备管理应具有以下功能:
1. 缓冲管理
可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。最常见的缓存区机制有:
- 单缓冲机制
- 能实现双向同时传送数据的双缓冲机制
- 能供多个设备同时使用的公用缓冲池机制
2. 设备分配
3. 设备处理
设备处理程序又称为设备驱动程序
1.4.4文件管理功能
文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。因此,文件管理应具有以下功能:
1. 文件存储空间的管理
2. 目录管理
3. 文件的读/写管理和保护
⑴文件的读/写管理,读/写可合用一个指针。
⑵文件保护,①防止未经核准的用户存取文件;②防止冒名顶替存取文件;③防止以不正确的方式使用文件。
1.4.5操作系统与用户之间的接口
1. 用户接口
- 联机用户接口,为联机用户提供。
- 脱机用户接口,为批处理作业的用户提供。
- 图形用户接口。
2. 程序接口
是用户程序取得操作系统服务的唯一途径。由一组系统调用组成。
1.4.6现代操作系统的新功能
相比传统,增加了面向安全、面向网络、面向多媒体等功能。
1. 系统安全
❶认证技术。
❷密码技术。
❸访问控制技术。
❹反病毒技术
2. 网络的功能和服务
①网络通信
②资源管理
③应用互操作
3. 支持多媒体
❶接纳控制功能
❷实时调度
❸多媒体文件的存储
1.5 OS结构设计
软件质量可用这样几个指标来评价:功能性、有效性、可靠性、易使用性、可维护性和易移植性。
为此,产生了多种操作系统的开发方法,如模块化方法、结构化方法和面向对象的方法等。
1.5.1 传统操作系统结构
1. 无结构操作系统(第一代)
或整体系统结构
2. 模块化结构OS
⑴模块化程序设计技术的基本概念
该技术基于“分解”和“模块化”的原则来控制大型软件的复杂度。模块—接口法。
⑵模块独立性,衡量模块的独立性有以下两个标准:
❶内聚性
❷耦合度
⑶模块接口法的优缺点
✔优点
- 提高OS设计的正确性、可理解性和可维护性。
- 增强OS的可适应性。
- 加速OS的开发过程。
✘缺点
- 在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。
- 在OS设计阶段,设计者必须做出一系列的决定,每一个决定必须建立在上一个决定的基础上,但模块结构设计中,各模块的设计齐头并进,无法寻找一个可靠的决定顺序,造成各种决定的“无序性”。因此模块—接口法又被称为“无序模块法”。
3. 分层式结构OS
⑴分层式结构的基本概念
⑵分层结构的优缺点
✔优点
- 易保证系统的正确性。
- 易扩充和易维护性。
✘缺点
- 系统效率降低