目录
一、操作系统的发展
1. 单道批处理系统
单道批处理系统中CPU的利用情况:
![](https://i-blog.csdnimg.cn/blog_migrate/1a197053a15399271477c7e50f1c6577.jpeg)
2. 多道程序系统
多道程序系统中CPU的利用情况:
![](https://i-blog.csdnimg.cn/blog_migrate/08a9125c87671ecdaa0a813a20f0b70e.jpeg)
特点:主存中有两道或两道以上的程序,它们在任一时刻必处于就绪、运行、阻塞三种状态之一。宏观上并行。微观上串行。
优点:提高系统资源的利用率、增加系统吞吐量。
缺点:平均周转时间长、无交互能力。
多道程序系统需要计算机硬件的支持:中断系统和通道技术。
3. 分时操作系统
所谓分时是指把系统主CPU的运行时间分成长短相等的时间片,并把它轮流地、机会均等地分配给每个用户进程。用户和进程之间可进行交互。分时操作系统也是一种多道程序系统,一般是多用户操作系统。现在常用的多用户操作系统和网络操作系统都是分时操作系统。
4. 实时操作系统
实时系统主要用于需要对外部事件进行及时响应、处理的场合,可分为实时控制系统和实时处理系统。实时控制系统主要用于生产过程的自动监控,武器装备的制导等。实时处理系统主要用于航空订票系统、情报检索系统等。
5. 通用操作系统
通用操作系统可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上功能。
二、操作系统的分类
随着计算机技术和软件技术长期发展,已形成了各种类型的操作系统,以满足不同的应用要求。根据其使用环境和对作业处理方式,操作系统的基本类型有:
① 单用户(微机)操作系统
② 批处理系统
③ 分时系统
④ 实时系统
⑤ 网络操作系统
⑥ 分布式操作系统
⑦ 多处理机操作系统
⑧ 嵌入式操作系统、
1. 单用户(微机)操作系统
1.单用户单任务OS:
只允许一个用户上机,只允许一个用户程序作为一个任务运行。如MS-DOS(16位)
2.单用户多任务OS:
只允许一个用户上机,但允许一个用户程序分为若干个任务,使它们并发执行。如WINDOWS (32位)
3.多用户多任务OS:
允许多个用户通过各自的终端使用同一台主机,而每个用户程序又可进一步分为几个任务使它们并发执行。如:UNIX、LINUX (能在微机工作站、大、中、小型机上运行的OS)、WindowsNT等。
2. 批处理系统
批处理系统把系统的处理能力即作业的吞吐量作为主要目标,同时兼顾作业的周转时间。批处理系统可分为单道批处理系统和多道批处理系统。
实现批处理的主要输入输出手段是SPOOLing( Simultaneous Peripheral Operation On Line)技术。可译作外围设备同时联机操作。
![](https://i-blog.csdnimg.cn/blog_migrate/36e67104df1c1dfdd2f457e8c90a6507.jpeg)
3. 分时操作系统
一台计算机连接多个终端,用户通过各自的终端把作业送入计算机,计算机又通过终端向用户报告作业的运行情况。这种计算机能分时轮流地为各终端用户服务并能及时地对用户服务请求予以响应。
同时性:若干用户可同时操作,共同使用同一系统资源。
独立性:每个用户有独占感。
及时性:用户的请求能得到及时响应。
交互性:它是分时系统的主要属性,所以分时系统也称交互作用系统。
分时系统的响应时间T=nq; n为用户数,q为时间片的时间。
4. 实时系统
实时系统主要用于需要对外部事件进行及时响应、处理的场合,可分为实时控制系统和实时处理系统。 实时控制系统主要用于生产过程的自动监控,武器装备的制导等。实时处理系统主要用于航空订票系统、情报检索系统等。
实时系统特点:
及时性:对事件或请求响应的及时性是对实时系统最关键的要求。实时控制系统要求最高,可能为毫秒或微秒级,也可能为秒级;实时处理系统的要求不高,与分时系统差不多,一般为秒级。
安全可靠性:对于实时控制系统,尤其是一些重要项目,如航空航天、核工程、化学反应过程、武器控制等等,任何疏忽都会导致灾难性的后果。首先要保证安全可靠,要有容错机制。
实时系统通常配置在微机、小型机或工作站上。现在大量的嵌入式系统也常采用实时系统。
5. 网络操作系统
计算机网络环境下具有网络功能的操作系统。网络操作系统(NOS)是使网上各计算机能方便而有效地进行数据通信和资源共享,为网络用户提供所需的各种网络服务的软件集合。
网络操作系统提供的功能:
⑴ 实现网中各节点机之间的通信。
⑵ 实现网中软、硬件资源的共享。
⑶ 提供网络服务软件。(电子邮件服务、文件传输、共享硬盘服务、共享打印服务)
⑷ 提供网络用户的应用程序接口。
6. 分布式操作系统
6.⒈分布式计算机系统
把一个计算问题分成若干个可以并行执行的子计算,让每个子计算在系统中的各计算机上并行执行,充分利用各计算机的优势。
集中式处理系统:所有任务均由主机完成。
分布式处理系统:系统的处理控制功能分布在各个节点单元上,所有任务也动态地分布在各个处理单元上。(处理、资源、功能、任务、控制均是分布的)建立在计算机网络系统之上。
分布式系统的主要特点是:
①各节点的自治性; ②资源共享的透明性;
③各结点间的协同性; ④系统的健壮性;
6.⒉分布式操作系统
分布式操作系统和单机的集中式操作系统的主要区别表现在通信、资源管理和系统结构三个方面。
①系统状态的不精确性。
②控制机构的复杂性。
③通信开销引起性能的下降。
7. 多处理机操作系统
多处理机系统是由多台处理器组成的计算机系统。多处理机系统可分为两大类:
①基于共享存储的多处理机系统。又称紧耦合多处理机系统。
②基于分布存储的多处理机系统。又称松耦合多处理机系统。
多处理机系统也称为并行计算机系统。并行机上使用的操作系统称为并行操作系统。
8. 嵌入式操作系统
根据IEEE的定义:嵌入式操作系统是“用于控制、监控或者辅助操作机器和设备的装置”。
8.1 嵌入式操作系统的重要特征:
①系统内核小。
②专用性强。软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。
③系统精简。没有系统软件和应用软件的明显区分,不要求其在功能设计及实现上过于复杂,便于控制系统成本,利于实现系统安全。
④高实时性操作系统。
8.2 嵌入式系统与微机比较:
① 嵌入式系统一般是专用系统,而微机是通用系统。
② 嵌入式系统的资源比微机少得多。
③ 嵌入式系统软件故障带来的后果比微机严重得多。
④ 嵌入式系统一般采用实时操作系统,而微机大多采用通用操作系统。
⑤ 嵌入式系统大都有成本、功耗的要求。
⑥ 嵌入式系统需要专用的开发工具。
三、操作系统的主要特征
1.并发性:指两个或多个事件在同一时间间隔内发生。
2.共享性:指系统中的资源可供内存中多个并发执行的进程共同使用。
3.虚拟性:指通过某种技术把一个物理实体变成若干个逻辑上的对应物。
4.异步性:即不确定性。在多道程序环境中由于资源等因素的限制程序是以走走停停的方式运行的,系统中的每个程序何时执行,多个程序间的执行顺序以及完成每道程序的时间是不确定的,因而也是不可预知的。
四、操作系统的结构
操作系统通常由内核和核外部分(实用软件)组成。
1. 操作系统的内核
内核是在系统保护状态(核心态或管态)下运行的程序,为系统的基本工作单位(进程或线程)提供良好的运行环境。为提高操作系统的效率,内核常驻内存中。
内核通常包含的功能模块:
① 进程、线程及其管理。
② 存储管理。
③ I/O管理。
④ 文件管理。
操作系统的内核组织形式:
强内核(Monolithic Kernel)和微内核(Micro Kernel)
强内核:基于传统的集中式操作系统的内核结构,系统调用是通过陷入内核实现的,在内核完成所需的服务,最后返回结果给用户程序。(Unix)
微内核:体现操作系统结构设计的新思想。微内核的设计目标是使操作系统的内核尽可能小,其它所有操作系统服务都放在核外用户级完成,微内核仅提供①进程间通信机制;②存储管理;③有限的低级进程管理和调度;④低级I/O;四种服务。
![](https://i-blog.csdnimg.cn/blog_migrate/aafbdd7697c71ffa4eeba30c014f2c08.jpeg)
微内核与强内核相比的优点:
⑴灵活性。不用重启系统就能激活新的服务。
⑵开放性。(系统服务运行在核外用户级上,以服务器的形式建立在内核之上。)
⑶可扩充性。(通过增加或改变服务扩充系统功能)
微内核技术与客户/服务器模式的结合是网络操作系统、分布式操作系统结构的新形式,Windows NT是这种结合的一个良好范例。
五、操作系统设计模式
1. 传统的操作系统结构设计模式
1.1. 整体式结构设计模式
整体式模式是把操作系统组织成一个过程(模块)集合,任一过程可以调用其它过程。系统中每个过程都有一个定义完好的接口,包括入口参数和返回值,过程之间的调用不受任何约束。
缺点:扩充这类系统困难,因为修改一个过程可能导致系统若干过程的修改,会产生看起来与系统无关的错误,操作系统的正确性难以保正。
1.2. 层次式结构设计模式
层次式方法把操作系统划分为若干层,每一层有若干模块。每个模块提供一组可被其它模块调用的功能。在任一特定层次上的代码只能调用较低层次上的代码。
层次式结构设计的优点是把模块间的复杂依赖关系转化为单向依赖关系,即高层软件依赖低层软件,而低层软件不依赖高层软件。
2. 现代的操作系统结构设计模式
2.1. 客户/服务器模式
基本思想:把操作系统划分为若干进程,每个进程实现单独的一套服务(功能)。每一种服务对应一个服务器,每个服务器都运行在用户态,并执行循环,在循环过程中检测是否有客户请求该服务器提供的某种服务。客户可以是一个应用程序,也可以是另一操作系统成分。它通过发送一条消息给服务器请求一项服务。运行在核心态下的操作系统内核把消息传给服务器,由服务器执行具体操作,其结果经由内核用一消息返回给用户。
优点:①简化了基本操作系统;②提高了可靠性;③适合分布式计算环境。
2.2. 对象模式
面向对象的程序设计方法就是把系统中的所有资源如进程、文件、内存块等看成是对象。对象是基本的运行时的实体,包括数据(属性)和作用于数据的操作(行为)。
2.3. 对称多处理模式
多处理模式支持多处理机操作系统的结构设计。多处理机操作系统的多处理方式可采用对称多处理(SMP)和非对称多处理(ASMP)两种模式。
非对称多处理操作系统:一台处理机执行操作系统代码,其它处理机只执行作业。此法也称主从模式。
对称多处理操作系统:操作系统在所有处理机上运行,并且共享同一内存
六、相关术语
作业: 用户一次请求计算机系统完成任务所进行的工作总和。
作业步: 作业步是处理作业的各个独立的子任务,系统可以创建若干进程完成各作业步的计算,所以作业是由若干作业步组成的。
作业流:由若干作业组成。在批量处理系统中通常把若干作业依次放在输入设备上,在操作系统控制下将其送入辅存,这样形成了一个作业流,也称输入流。
脱机作业:用户不能直接与计算机系统交互,中间通过操作员干预的作业。
联机作业:用户与计算机系统直接交互,用户通过终端或控制台键盘上的操作命令或菜单图标等方式控制其作业的运行,这种作业也称为交互型作业或终端型作业。
管态:也称核心态,是CPU支持的一种运行状态,系统程序运行在此状态,在此状态下支持专用的机器指令,即特权指令。
算态:也称用户态,用户程序运行在此状态,在算态下通过访管指令进入管态。
系统调用:通过访管指令或软中断方式中断现行程序,转去执行相应的子程序,完成特定的系统功能。
过程调用:调用过程和被调过程都运行在同一系统状态下,可以直接由调用过程转向被调用过程。