操作系统定义
统一定义
操作系统是控制和管理计算机系统的硬件和软件资源、合理地组织计算机工作流程及方便用户使用的程序和数据的集合。
目的:提高计算机系统的效率、增强系统的处理能力、充分发挥系统资源利用率、方便用户使用。
作为最基本的系统软件
操作系统是计算机系统软件的重要组成部分,其物质基础是系统硬件。
计算机系统资源包括:系统硬件和系统软件
作为资源管理器
跟踪资源状态:掌握资源分配的全局信息。分配资源、回收资源、保护资源。
系统资源四大类:处理机、存储器、I/O设备、信息
操作系统的四类管理器:处理机管理、存储管理、设备管理、信息管理
作为虚拟机
是用户和计算机之间的接口。
操作系统为用户提供接口:命令接口、编程接口
操作系统分类
单道批处理系统
同一批作业自动依次更替,CPU和I/O设备使用忙闲不均。
多道批处理系统
优点:作业流程自动化,资源利用率高吞吐量大。
缺点:用户交互性差,调试程序困难;作业平均周转时间长。
分时系统——多道程序设计的自然延伸
多个程序分时共享硬件和软件资源。
按时间片分配:各程序在CPU上执行的轮换时间。
特点:同时性、交互性、独立性、及时性。
同时性:多个用户同时工作;
独立性:各用户独立操作互不干扰;
及时性:系统能及时对用户做出响应;
交互性(基本属性):用户交互式地向系统提出请求。
实时操作系统
能够在制定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出相应的系统。在实时计算中,系统的正确性依赖于计算的逻辑结果和结果产生的时间。
硬实时系统:必须在规定的时刻或时间范围内完成任务。
软实时系统:接受偶尔违反最终时限的情况。
保证实时性的关键:高精度计时系统、多级中断机制、实时调度机制。
网络操作系统
在通常操作系统功能的基础上,提供网络通信和网络服务功能的操作系统。
目标:相互通信、资源共享;
功能:网络通信功能、网络资源管理、网络服务、网络管理、互操作。
分布式操作系统
分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。
特征:
功能和任务的分布;
透明性:资源共享,资源对于用户透明;
自治性:多个主机处于平等地位,无主从关系。
多处理机系统/并行计算系统
优点:
增加系统的吞吐量:采用N个处理器的加速比小于N,因为有额外开销,竞争共享资源
提高系统可靠性:故障时系统降级运行,处理器故障会导致系统变慢而不是停止。
- 适度退化:根据剩余有效硬件的级别按照比例继续提供服务的能力。
- 容错:系统超过适度退化,容忍某部件错误。
规模经济:低于多个单处理器系统的价格,因为可以共享外设、大容量存储和电源供给。
分类1:是否对称处理源于硬件或软件
非对称式多处理ASMP:主从模式
- 一个主处理器:运行OS,管理整个系统的资源,为从处理器分配任务。
- 从处理器:多个,执行应用程序或I/O处理。
- 特点:不同性质任务的负载不均,可靠性不高,不易移植。
对称式多处理SMP(常用的多处理机系统)
- os交替在各个处理器上执行,各处理器平等。
- 任务负载平均,性能调节容易,可同时执行多进程。
- 应当仔细控制I/O;防止CPU先忙不均,处理器共享一定的数据结构即可。
分类2:耦合类型
紧密耦合:各处理及之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理。
松散耦合:各处理及带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理及上独立运行OS。
多核系统
多核系统是多处理器系统,但多处理系统不一定都是多核的。
集成多个计算核到单个CPU芯片。
多处理机系统是多个CPU。
集群系统
是多处理器系统,是松散耦合的(由两个或多个独立系统或节点组成),可以是对称的或非对称的。
- 提供高可用性服务:集群中一个或多个系统出错仍可继续提供服务,代价是增加冗余。
- 提供高性能计算:应用程序专门编写以利用集群。
并行计算:程序分成多部分,每部分运行在各个计算核上,所有节点的结果合并在一起形成解决方案。
嵌入式操作系统
以应用为中心、以计算技术为基础、软硬件可裁剪,适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
操作系统功能
- 处理机管理:进程控制、进程同步、进程通信、进程调度。
- 存储管理:内存分配、内存保护、地址映射、内存扩充。
- 设备管理:缓冲管理、设备分配、设备处理、虚拟设备。
- 文件管理:文件存储空间的管理、目录管理、文件的读\写管理和保护。
- 用户接口:命令接口、程序接口、图形接口。
操作系统特征
并发性(现代操作系统的基本特征):多个事件在同一时间段内发生。
共享性 (现代操作系统的基本特征)
- 系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式,临界资源。
- 同时访问方式。
虚拟性:一个物理实体→若干个逻辑上的对应。
- 虚拟处理机技术:多道程序并发执行分时使用一台处理机。
- 虚拟存储器技术:一台机器的物理存储器变为虚拟存储器,从逻辑上扩充存储器的容量。
- 虚拟设备技术:一台物理I/O设备虚拟为多台逻辑上的I/O设备,允许每个用户占用一台逻辑上的I/O设备。(SPOOLing技术)
异步性(不确定性)
- 进程的执行顺序、执行时间的不确定。
- 运行速度不可预知。分时系统中多个进程并发执行,不可预知每个进程的运行推进快慢;无论快慢,结果应该相同,通过进程互斥和同步手段来保证。
- 难以重现系统在某个时刻的状态。