操作系统的概念
计算机系统
计算机系统包括硬件子系统及软件子系统。
各种程序和数据组成了计算机的软件系统。
操作系统:在计算机系统中,集中了资源管理功能和控制程序执行功能的一种软件。
操作系统的定义
“有效”是指根据用户的不同的要求,在管理计算机资源时考虑到系统运行的效率及资源的利用率。
“合理”是指操作系统要“公平对待”不同的用户程序,保证系统不发生“死锁”及“饥饿”现象。
操作系统的特征
- 并发性 是指在计算机系统中同时存在若干个运行的程序。计算机的并发行体现在下面两个方面:
- 用户程序与用户程序之间并发执行
- 用户程序与操作系统之间并发执行
- 共享性
- 随机性
研究操作系统的观点
- 软件的观点 操作系统就是一种大型的软件系统,它是多种功能程序的集合。
- 外在特性 操作系统是一种软件,它的外部表现形式,即它的操作命令定义集和它的界面,完全确定了炒作系统这个软件的使用方式。
- 内在特性 操作系统既然是臃肿软件,他就具有一般软件的结构特点。
- 资源管理的观点操作系统就是负责记录谁在使用什么样的资源。 操作系统要提供一些机制去协调程序间的竞争与同步,提供机制对资源进行合理使用,对其保护,一机采取虚拟技术来“扩充”资源等。
- 进程的观点 操作系统就死看作是由多个可以独立运行的程序和一个对这些程序进行协调的核心所组成的。
- 虚拟机的观点
- 服务提供者的观点
操作系统的功能
- 进程管理 对中央处理器进行管理。 进程管理分为一下几个方面:
- 进程控制进程控制的主要任务就是创建进程、撤销结束的进程以及控制进程进行时候的各种状态的转换。
- 进程同步
- 互斥 :是指多个进程对临界资源访问时采用互斥的形式。
- 同步 :是在相互协作共同完成任务进程之间,用同步机制协调他们之间的执行顺序。
- 进程间通讯进程通讯主要发生在相互协作的进程之间。由操作系统提供给的进程间的通讯机制是协作的进程之间相互交换数据和消息的手段。
- 调度 调度又称处理器调度,通常包括进程调度、线程调度及作业调度。
- 进程调度 任务就是从进程(线程)的就绪队列中按照一定的算法挑选出一个,吧处理器资源分配给他,并准备好特定的执行上下文让他执行起来。
- 作业调度 依照作业说明书为他们分配一定的资源,把他们装进内存并未每个作业建立相应的进程。
- 存储管理存储管理的任务就是管理计算机内存的资源。
- 文件管理 文件管理的任务就是有效的支持文件的存储、检索及修改等操作,解决文件的共享、保密及保护问题,以使用户方便、安全的访问文件。
- 设备管理
- 用户接口 用户计算机系统之间的接口。
操作系统的发展
手工操作
通过在插板上的硬连接线来控制计算机的基本功能。
监控程序(早期批处理)
多道批处理
多道 是指允许多个程序同时存在于内存之中,由CPU以切换的方式为之服务,使得多个程序可以同时执行。
分时系统
分时系统 是指多个用户通过终端设备与计算机交互作用来运行自己的作业,并且共享一个计算机系统而互不干扰。
UNIX通用操作系统
C语言编写。
个人计算机操作系统
Android操作系统
操作系统分类
批处理操作系统
批处理操作系统特点就是成批处理。
作业吞吐率:在单位时间内计算机系统处理作业的个数。
设计思想
在监控程序启动之前,操作员有选择的把若干作业合并成一批作业,将这些作业安装在输入设备之上,然后自动监控程序,监控程序将自动控制这批作业执行。
一般指令与特权指令
运行模式通常分为用户模式和特权模式。
目态: 为用户服务的用户模式。
管态: 为系统专用的特权模式。
系统调用的过程
- 系统调用时,通常是中断或者异常处理,将处理器模式转变成特权模式。
- 由监控程序执行被请求的功能代码。
- 处理结束之后,监控程序恢复系统调用之前的现场;把运行模式从特权模式恢复成为用户方式;最后将控制权转移到原来的用户程序。
SPOOLing技术(假脱技术)
基本思想: 用磁盘设备作为主机的直接输入/输出设备,主机直接从磁盘上选取作业运行,作业的执行结果也存在磁盘上;相应的,通道则负责将用户作业从卡片机上动态写入磁盘,而这一操作与主机并行。
分时系统
基本工作方式
在分时系统中,一台计算机主机连接了若干个终端,每个终端可有一个用户使用。
设计思想
分时系统将CPU的时间划分成若干个小片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。
特点
- 多路性: 只有多个用户在使用同一台计算机。
- 交互性: 指用户根据系统响应的结果提出下一个请求。
- 独占性: 指每个用户感觉不到计算机在为其他人服务。
- 及时性: 指系统能够对用户提出的请求及时给予响应。
分时操作系统追求的目标 :及时响应用户输入的交互命令。
分时与批处理的处理原则 :分时优先,批处理在后。
实时操作系统
实时操作系统(RTOS)是指计算机能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致の工作的操作系统。
硬实时系统 对关键外部事件的响应和处理时间有着极为严格的要求,系统必须满足这种严格的时间要求,否则会产生严重的不良后果。
软实时系统 对事件的响应和处理时间有一定的时间范围要求,不能满足相关的要求会影响系统的服务质量,但是通常不会引发灾难性后果。
实时时钟管理
主要设计目标:对实时任务能够进行实时处理。
依据时间要求
- 定时任务: 依据用户定时启动并按照严格的时间间隔重复运行。
- 延时任务: 非周期运行,允许被延后执行,但往往有一个严格的时间线界限。
依据功能划分
- 主动式任务: 依据时间间隔主动运行,多用于实时监控。
- 从动式任务: 运行以来于外部时间的发生,但外部事件出现时,这种实时任务应尽可能地进行处理,并且保证不丢失现象。
过载防护
实时任务的启动时间和数量具有很大的随机性,突发的大量实时任务极有可能超出系统的处理能力,从而发生过载。
高可靠性
嵌入式操作系统EOS
嵌入式操作系统就是运行在嵌入式环境芯片中,对整个芯片以及它所操作的、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。
优点 具有高可靠性、实时性、占用资源少、智能化能源管理、易于连接、低成本等优点。
个人计算机操作系统PCOS
个人计算机操作系统是一种单用户多任务的操作系统。
网络操作系统NOS
网络操作系统:为计算机网络配置的操作系统。
分布式操作系统DOS
将大量计算机通过网络连接在一起,可以获得极高的运算能力及广泛的数据共享。
特征:
- 是一个统一的操作系统。
- 实现资源的深度共享。
- 透明性。
- 自治性。
集群 Cluster是分布式系统的一种,一个集群通常由一群处理器密集构成,集群操作系统专门服务于这样的集群。用低成本的微型计算机和以太网设备等产品,构造出性能相当于超级计算机运行性能的集群。
智能卡操作系统COS
四个基本功能:资源管理、通信管理、安全管理和应用管理。
操作系统结构
操作系统结构就是指操作系统各部分程序存在方式及相互关系。
- 模块结构: 以程序模块方式存在。
- 进程结构: 以进程的方式存在。
整体式结构
模块 将总功能分解成若干个子功能,实现每个子功能的程序。
优点:结构紧密,接口简单直接,系统效率较高。
模块组合法 (又称无需模块法,模块接口法),系统中的模块不是根据程序和数据本身的特性而是根据他们完成的功能来划分的,数据基本上作为全称量使用。
层次结构
层次结构就是把操作系统的所有功能模块,按照功能流程图的调用次序,分别将这些模块排列成若干层,各层之间的模块只能是单项依赖或则单先调用 。
全序的层次关系: 每一层中的同层模块之间不存在相互调用的关系。
优点:
- 整体问题局部化
- 各模块之间的组织架构和依赖关系清晰明了。
分层原则:
- 可适应性,方便于系统一直,可放在仅靠硬件的最底层。BIOS但硬件系统环境改变时只需要修改这一层模块就可以。
- 多种操作方式, 共同要使用的基本部分放在内层,而改变的部分放在外层。
微内核结构(C/S结构)
采用C/S结构的操作系统适宜于应用在网络环境下分布式处理的计算环境。
特点:
- 运行在核心态的内核:线程调度、虚拟内存、信息传递、设备驱动以及内核的原语操作集中中断处理等。
- 运行在用户态的并以C/S方式运行的进程层:除内核部分外,操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程。
- 这些服务进程可以提供各种系统功能、文件系统服务以及网络服务等。
好处:
- 可靠: 每一个分支是独立的,不会引起其他组成部分的损坏或崩溃。
- 灵活: 是自包含的,且接口规范,可维护性好。
- 分布式处理:具有分布式处理的能力。
缺点: