操作系统(OS)的目标
实现:方便性/有效性/可扩充性/开放性
- 方便性
- 如果在计算机硬件上配置了OS=可以使用编译命令将用户采用高级语言编写的程序翻译成机器代码,或者直接通过OS所提供的各种命令来操纵计算机系统
- 有效性
- 提高系统资源的利用率
- 提高系统的吞吐量
- 可扩充性
- 其好坏与OS结构有着紧密联系
- 开放性
- 指系统能够准寻国际标准,特别是遵守开放系统互连
操作系统的作用
- OS作为用户与计算机硬件系统之间的接口
- OS作为计算机系统资源的管理者
- OS实现了对计算机资源的抽象
操作系统的发展
未配置操作系统
1945年第一台计算机问世,此时还未出现OS,所以对计算机的全部操作都是由用户采取人工操作方式运行
- 人工操作方式
- 缺点
- 用户独占全机
- CPU需等待人工操作
- 缺点
- 脱机I/O方式
- 减少了CPU的空闲时间
- 提高了I/O速度
单道批处理系统
第二代晶体管计算机问世,为了能充分提高计算机利用率,使系统尽量保持系统连续运行,即 使其在处理完一个作业后,紧接着处理下一个作业,减少系统的空闲时间
- 优点
- 提高系统资源的利用率和系统吞吐量
- 缺点
- 系统中的资源得不到充分的利用
多道批处理系统
第三代计算机的问世的同时开发出OS/360(第一个能运行多道程序的批处理系统)
-
优点
- 进一步提高资源的利用率
- CPU一直忙碌状态
- 内存利用率和I/O设备的利用率提高
- 系统吞吐量大
- CPU和其他资源保持忙碌状态
- 仅当作业完成时或运营不下去时才切换
- 进一步提高资源的利用率
-
缺点
- 平均周转时间长
- 无交互能力
多道批处理系统需要处理的问题
- 争用处理机问题
- 内存分配与保护问题
- I/O设备分配问题
- 文件的组织与管理问题
- 作业管理问题
- 用户与系统的接口问题
分时系统
根据用户的需求而推动的分时系统
- 人机交互:允许有多个用户同时通过自己的键盘键入命令,系统应能将全部命令及时接收并处理
- 系统必须能提供多个终端同时给多个用户使用
- 当用户在自己的终端上键入命令时,系统应能及时接收并处理该命令
- 将处理结果返回给用户
- 用户可根据系统的相应情况在举行键入下一条命令
- 共享主机
分时系统的特征
- 同时性,计算机系统能被多个用户同时使用;
- 独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象;
- 及时性:系统能以最快的速度将结果显示给用户;
- 交互作用性:用户能和电脑进行人机对话。
实时系统
实时系统最主要的特征时将时间作为关键参数,它必须对所接受的某些信号做出"及时"或"实时"的反应
实时系统的类型
- 工业控制系统
- 信息查询系统
- 多媒体系统
- 嵌入式系统
实时任务的类型
- 周期性实时任务和非周期性实时任务
- 周期性时按照指定周期循环执行
- 分周期性时必须联系一个截止时间(deadline)
- 开始截止时间:某任务在某时刻以前必须开始执行
- 完成截止时间:某任务在某时刻以前必须执行完成
- 硬实时(HRT)任务和软实时(SRT)任务
- 硬实时是系统必须满足任务对截止时间的要求
- 软实时对截止时间的要求没那么严格
实时系统与分时系统特征的比较
-
多路性:
- 两者都具有多路性。软实时与分时系统中的多路性表现为系统按分时原则为多个任务终端用户服务;硬实时则指系统周期性地对多路现场信息进行采集以及对多个对象或多个执行机构进行控制。
-
独立性:
- 两者都具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。
-
及时性:
- 实时信息系统(信息查询系统)对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。
-
交互性:
- 实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。
-
可靠性:
- 分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。
微机操作系统
- 单用户单任务OS:只允许一个用户上机,且只允许用户程序作为一个任务运行。
- 单用户多任务操作系统:仅允许单用户上机,但允许用户把程序分为若干个任务并发执行,进而有效改善系统性能。
- 多用户多任务OS:允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使他们能并发执行,从而可进一步提高资源利用率和系统吞吐量
常见的微机操作系统
- Windows系统:是当今使用用户最多的一个操作系统。它是Microsoft公司在1985年11月发布的第一代窗口式多任务系统,它使PC机开始进入了所谓的图形用户界面时代
- DOS操作系统:DOS是磁盘操作系统的缩写,更简单一些,DOS就是人给机器下达命令的集合
- Mac OS 操作系统:Mac OS操作系统是美国苹果计算机公司为它的Macintosh计算机设计的操作系统的一代操作系统
- Unix系统:UNIX为用户提供了一个分时的系统以控制计算机的活动和资源,并且提供一个交互,灵活的操作界。UNIX被设计成为能够同时运行多进程,支持用户之间共享数据。同时,UNIX支持模块化结构
- Linux系统:Linux是目前全球最大的一个自由免费软件,其本身是一个功能可与Unix和Windows相媲美,具有完备的网络功能,它的用法与UNIX非常相似
嵌入式操作系统
嵌入式系统
- 为了完成某个特定功能而设计的系统,或是具有附加机制的系统,或是其他部分的计算机硬件与软件的结合体
嵌入式OS:应用于嵌入式系统的OS 是一种系统软件
特点:
- 可装卸性、开放性、可伸缩性的体系结构。
- 强实时性:EOS实时性一般较强,可用于各种设备控制当中。
- 统一的接口。提供各种设备驱动接口。
- 操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用。
- 提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
- 强稳定性,弱交互性:嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。
- 固化代码:在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。
- 更好的硬件适应性,也就是良好的移植性。
网络操作系统
网络操作系统是网络用户与计算机网络之间的接口,是计算机网络中管理一台或多台主机的软硬件资源、支持网络通信、提供网络服务的程序集合。
网络操作系统的特征
- 硬件独立性:网络OS允许在不同的硬件平台上安装和使用,能够支持各种的网络协议和网络服务。
- 接口一致性:提供必要的网络连接支持,即针对同一性质的资源,采用统一的访问方式和接口。
- 资源透明性:提供多用户协同工作的支持,具有多种网络设置,管理的工具软件,能够方便的完成网络的统一管理。
- 系统可靠性:能够进行系统安全性保护和各类用户的存取权限控制。
- 执行并行性:系统不仅实现了在每个节点计算机中各道进程的并发执行,而且实现了网络中多个节点计算机上进程的并行执行
网络OS除了实现单机操作系统全部功能外,还具备管理网络中的共享资源,实现用户通信以及方便用户使用网络等功能,是网络的心脏和灵魂。
- 连接的建立与拆除
- 报文的分解与组装
- 传输控制
- 流量控制
- 差错的检测与纠正
分布式操作系统
分布式系统是建立在网络之上的软件系统,拥有软件特性,所以分布式系统具有高度内聚性,和透明性。是建设于网络之上的高层软件,而不是硬件。
分布式系统是多个服务器通过网络互联而构建的松耦合系统,其具备以下特点:
- 分布性:分布式由多台计算机组成,在地域上是独立分散的,可以分散在一个单位,一个城市,一个国家,或是全球范围内。整个系统的统一功能是分散在多个节点上实现的,因而分布式系统具有数据处理的分布式特性。
- 透明性:分布式系统各个节点包含自己独有的cpu和内存,具备独立的处理数据能力。一般来说每个节点是对等的,没有主次之分,可以自治的进行任务处理,还可以通过网络传输信息,协同完成任务处理。
- 同一性:一个大的任务可以按规则划分到多个计算节点上进行独立的子任务支持,体现了并行性。
- 全局性:分布式系统必须存在一个单一的,全局的通信机制,使得任何一个进程都能和其他进程通信,并且不区分本地通信和远程通信。在一个分布式集群中,往往所有机器具有统一的系统调用能力。
分布性OS的功能:
- 通信管理功能
- 资源管理功能
- 对系统中所有资源进行统一管理、统一分配、统一调度
- 进程管理功能