操作系统类型&操作系统结构&现代操作系统基本特征
五大类型操作系统
(1). 批处理操作系统
- 用户脱机使用计算机
- 用户提交作业之后直到获得结果之前就不再和计算机打交道。
- 作业提交的方式可以是直接交给计算中心的管理操作员,也可以是通过远程通讯线路提交。
- 提交的作业由系统外存收容成为后备作业。
- 成批处理
- 操作员把用户提交的作业分批进行处理
- 每批中的作业将由操作系统或监督程序负责作业间自动调度执行。
- 多道程序运行
- 按多道程序设计的调度原则, 从一批后背作业中选取多道作业调入内存并组织它们运行, 成为多道批处理。
(2). 分时操作系统 (Linux, Windows其实都是)
-
特点:
-
交互性
- 用户可以在程序动态运行情况下对其加以控制。
- 其次, 用户上机提交作业方便。
- 分时系统还为用户之间进行合作提供方便。
-
多用户同时性
- 多个用户同时在自己的终端上上机, 共享CPU和其他资源, 充分发挥系统的效率。
-
独立性
- 客观效果上用户彼此间感觉不到有别人也在适用该台计算机, 如同自己独占计算机一样。
-
(3). 实时操作系统(嵌入式, 冰箱, 空调等家电的系统)
- 特点
- 实时时钟管理(定时处理和延时处理)。
- 连续的人 - 机对话(必要的)
- 要求采取过载保护措施。
- 例如对于短期过载, 把输入任务按一定的策略在缓冲区排队(自旋?), 等待调度。
- 对于持续性过载, 可能要拒绝某些任务的输入。
- 在实时控制系统中, 则及时处理某些任务, 放弃某些任务或降低对某些任务的服务频率。
- 高度可靠性和安全性采取冗余措施。双机系统前后台工作, 包括必要的保密措施等。
(4). 网络操作系统
-
特点:
-
计算机网络是一个互连的计算机系统的群体。
-
这些计算机都是自治的, 每台计算机有自己的操作系统, 各自独立工作, 它们在网络协议控制下协同工作。
-
系统互连要通过通信设施(硬件、软件来实现)。
-
系统通过通信设施执行信息交换、资源共享、互操作和协作处理, 实现多种应用要求。
-
(5). 分布式操作系统
- 特点:
- 计算机网络的开发都遵循协议,而对于各种分布式系统并没有制定标准的协议。(计算机网络也可被认为是一种分布式操作系统)
- 分布式系统要求一个统一的操作系统, 来实现系统操作的统一性
- 分布式操作系统对用户是透明的
- 但对计算机网络,若一个计算机上的用户希望使用另一台计算机上的资源,则必须明确指明是哪台计算机。
- 分布式系统的基础是网络。分布式系统已不仅是一个物理上的松散耦合系统, 同时还是一个逻辑上紧密耦合的系统。
- 分布式系统还处在研究阶段。而计算机网络已经在各个领域得到广泛的应用。
操作系统结构
(1). 单结构 (i.e. DOS)
- 不同的功能归类为不同的功能块,每个功能块相对独立,它们通过一定的方式进行联系,不同的功能块可以相互调用它们提供的服务。这样,整个操作系统就像是一个巨大的单一体,运行在系统的内核态下,为用户提供服务。
- 由于单结构系统的功能块之间结构复杂,修改某一功能块将导致其他功能块的修改,从而导致操作系统设计开发的困难。
(2). 分层结构
- 将操作系统分成若干层,低层次的功能为其上一个层次的功能提供服务,而高层次的层尤为更高一个层次的功能提供服务。
- 操作系统的所有功能都在内核态下运行,而从用户态转化为内核态需要一定的时间成本,这样造成了操作系统效率的嫡系。
- 内核态运行的程序可以访问所有的系统资源,随着操作系统越来越大,设计可靠和安全的操作系统将变得异常困难。
(3). 微内核 (i.e. unix)
- 目标是建立基于消息传送机制的最小内核,以便在此基础上建造对其他操作系统的模拟层来模拟其他操作系统的特性。
- 微内核的有优点是大大提高了操作系统的兼容性,使得基于微内核的操作系统能够模拟其他操作系统的特性,从而支持许多运行于其他操作系统上的应用程序。
(4). 模块化方法 (i.e. linux)
-
使用面向对象技术创建模块化内核。
-
采用模块化结构的操作系统由一些不同功能的结构模块集合组成。
-
每一个模块实现一个特定的功能,如调度、文件系统、设备驱动等等,并且这些模块可以根据需要自动进行加载和卸载。
-
本质上,一个模块就是内核在运行时可以链接或者断开链接的一个对象文件。
现代操作系统的基本特征
(1). 并发性(Concurrency)
- 并发: 在某一段时间间隔内,宏观上有多个程序在同时运行的状态。
- 并行: 在某一段时间间隔内,宏观上有多个程序在同时运行的状态。
(2). 共享性(Sharing)
- 多个用户或者程序共享操作系统中的软硬件资源。共享可以提高各种系统资源的使用效率。
- 由于共享资源属性不同,产生了不同的共享方式:
- 互斥共享方式(Mutual Exclusive):一段时间内只允许一个程序访问资源。互斥共享的设备有打印机、磁带机、绘图仪等等。
- 同时访问方式:允许一段时间内有多个程序同时对它们进行访问。有些快速设备,如磁盘,尽管也只能让多个程序串行访问,但由于程序访问和释放资源的时间较短,在宏观上可以看成是同时共享。另外,只读数据和数据结构、只读文件和可执行文件等软件资源也可以同时共享。
- 共享性和并发性相互依存,有一定的依赖关系,它们是操作系统最基本的两个特征。
(3). 虚拟性(Virtuality)
- 指通过某种技术把一个物理实体变成若干逻辑上的对应物。
- 操作系统也用到了很多虚拟技术来改善系统的性能,如虚拟存储,是为了提高内存利用率,在内存中部分装入程序,其余部分放在虚拟内存,也就是硬盘的一部分。
- SPOOLING技术则是为了减小等待和请求的重复申请,允许硬件设备虚拟为多台虚拟设备,实现脱机工作的方式。
(4). 异步性(Asynchronism)
- 指系统中的多个程序以不可预知的速度向前推进。
- 由于系统中的处理器资源往往是稀缺的,因此程序的执行不可能一气呵成,而是以走走停停的方式运行的。