定义
-
从资源管理的观点:操作系统是一个程序集合,是用于控制和管理计算机的软硬件资源、合理地组织计算机的工作流程、方便用户的程序集合。
-
从用户的观点:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。
-
操作系统的地位:紧贴硬件(裸机)之上,所有其他软件之下。
发展
在以下的讨论中,需要拥有这样两个观念:计算机的工作效率远远大于人;IO操作是人来完成的,即IO的速度等于人的速度。
1946年 第一代计算机 - 没有操作系统
在第一代计算机上没有操作系统,对计算机的操作完全是人工操作方式,这种人工操作方式有两个缺点:
- 用户完全独占计算机。也就是说,计算机的全部资源只供一个用户使用。
- 计算机等待人工操作。当用户操作时计算机要等待,CPU空闲。
1958年 第二代计算机 - 监控系统
第二代计算机主要用于科学和工程计算,程序大多用FORTRAN
语言书写,该语言适用于作数值运算。
当时主机上用的控制程序称之为监控程序(Monitor),其功能相对比较简单,监控程序是操作系统的雏形 。
单道批处理系统(Simple Batch System)
单道批处理系统由两台机器组成,用一台价格较低的机器作为输入/输出机,用一台正常的机器用于运算作为主机。
将所有的作业用为输入/输出机输入到磁带上,用主机进行运算。
大批的作业在输入/输出机的控制下输入到磁带后,用一个特殊的程序来控制作业的读入和运行,这个特殊的程序叫作业控制语言(JCL,Job Control Language)书写,它能控制程序的运行。
单道批处理系统使用的是脱机输入/输出技术,即程序和数据的输入都不是在主机的控制之下,而是在一台专门作输入/输出的计算机的控制之下进行;换句话说,输入/输出工作是在脱离主机的情况之下进行的,故称为脱机输入/输出(Off Line I/O)。
意义:
- 使用脱机输入/输出技术,不占用主机的时间,可以减少CPU的空闲时间。
- 提高了输入输出的速度。当CPU需要数据时,直接从磁带机上输入,不需要从低速的I/O设备商输入,缓解了CPU与IO设备速度不匹配之间的矛盾。
1964年 第三代计算机 - 极大发展
20世纪60年代中期,产生了多道程序设计。
其核心思想是:把多个程序同时放入内存,使他们共享系统中的资源。
对于单道程序设计,内存中只存在一个程序,当该程序在运行中发出IO请求时,CPU就会处在空闲状态,等待程序IO结束。
而在多道程序设计中,由于内存中存在多个程序,当一个程序发出IO请求时,系统可调度使另一程序运行,使CPU始终处于忙碌状态,提高效率。
1974年 第四代计算机 - 多元化发展
随着大规模集成电路(在每平方厘米的芯片上集成数千个晶体管)的发展,计算机向着微型化、网络化和智能化的方向发展。个人计算机的时代到来了。个人计算机连接成了网络。因此运行其上的网络操作系统和分布式操作系统就开始崛起。
操作系统发展的因素——速度不匹配的矛盾
主机与外设速度的不匹配。
- 通过设置多台外设,以数量弥补速度,产生多道程序设计(第三代)。
- 通过提高外设速度。
- 在硬件设计方面,产生通道、中断技术(第三代)。
- 在软件设计方面,使用缓冲区(Buffer),产生脱机技术。
计算机与人速度的不匹配。
- 设置合理的操作员。第一代计算机的操作员没有分工,每个人负责IO和执行;第二代计算机的操作员分为IO和执行两种。
- 减少人工干预。从原始的手工干预,到后来早期的批处理。
- 作业控制卡
- 作业控制语言JCL
- FORTRAN语言产生(第二代)
- 多用户。产生分时系统(第三代)
操作系统的特征
操作系统具有并发性
操作系统支持两个或两个以上的事物在同一时间间隔内发生,例如我们可以在听歌的同时进行聊天。
补充:并行是指两个或两个以上事物在同一时刻发生。
在单处理机环境中,某一时刻CPU上只能运行一个程序。依赖于多道程序设计技术,使得多个程序在一个小的时间间隔内交替执行称为可能,从而实现并发。
实质上,从宏观上讲,并发是多个程序同时运行的;从微观上讲,程序之间是交替执行的。
操作系统具有共享性
在操作系统的统一控制下,可以实现计算机中的各种资源在其上运行的程序共同享用。
共享有两种方式,分为互斥共享和共同访问。
- 互斥共享——某时间内只允许一个进程访问,该进程访问完了,别人才可访问。如:打印机。
- 同时访问——某时间段内,允许多个进程同时访问。如:磁盘。
并发和共享是操作系统中两个最基本的特征,它们互为存在条件:资源的共享以程序的并发执行为条件;资源共享使得程序并发称为可能。
以同时访问为例,假设文件管理器和文本编辑器并发执行,文件管理器在读取磁盘上的内容,文本编辑器往磁盘上写入内容。因为这两个程序可以并发,所以才磁盘才能被多个程序共享;也正是因为磁盘能够被多个程序共享,才能允许多个程序同时访问磁盘。
操作系统具有虚拟性
通过某种技术手段把一个物理上的实体,变成多个逻辑上的对应物。如CPU的物理核心和逻辑核心、内存交换区等。多道程序设计使得虚拟称为可能。
操作系统具有不确定性
操作系统具有不确定性,也称随机性,是指系统中各种事件的发生顺序是不确定的。
在多道程序环境下,进程的执行是并发执行的,在微观上是交替执行的,人们无法对某一时刻究竟是执行哪一个程序做出预测。
功能
操作系统具有进程管理、存储管理、设备管理、文件管理和操作系统接口五大功能。
进程管理
进程管理又称为处理机管理,其主要目的是提高CPU的利用率。
主要任务:
- 对处理机的分配和运行实施有效管理。
- 在多道程序环境下,处理机的分配和运行以进程为单位,因此对处理机的管理即对进程的管理。
主要功能:
- 进程控制
- 进程同步
- 进程通信
- 进程调度
存储管理
存储管理要管理的资源是内存储器(即内存)。
主要任务:
- 方便用户使用内存
- 提高内存的利用率
- 从逻辑上扩充内存
主要功能:
- 内存分配
- 地址映射
- 内存保护
- 内存扩充
设备管理
在设备管理中涉及很多实际物理设备,品种繁多、用法各异;各种外部设备都能与主机并行工作,有的设备还能被多个程序共享;主机与外部设备的速度极不匹配,相差几个数量级甚至更大。
设备管理是用来管理计算机各种硬件,是操作系统中最庞杂、最琐碎的部分。
主要任务:
- 完成用户程序请求的I/O操作,为用户程序分配I/O设备
- 提高外部设备的利用
- 尽可能地提高输入/输出的速度
- 方便用户使用外部设备
主要功能:
- 设备分配
- 设备控制
- 设备无关性
文件管理
程序和数据等信息是以文件的形式存处在计算机中的,所以文件管理也称为信息资源管理,其主要功能是向用户提供一种简便、统一的存取和管理信息的方法,并同时解决信息的共享、安全保密等问题。
主要功能:
- 文件存储空间的管理
- 目录管理
- 文件的读、写管理
- 文件的存取控制
操作系统接口
为了方便用户的使用,操作系统提供用户与操作系统的接口,分为命令接口和程序接口。
命令接口:
- 联机命令接口
- 脱机命令接口
- 图形用户界面(命令接口的改版)
程序接口也被称为系统调用,是为用户能在程序一级访问操作系统功能而设置的,是用户程序取得操作系统服务的唯一途径。
分类
成熟的
批处理系统
-
单道批处理系统:内存中仅放一道作业,作业的完成顺序与进驻内存的顺序相关。
-
多道批处理系统:内存中放多道作业,作业的完成顺序与进驻内存的顺序无严格对应关系
-
优点
- 资源利用率高
- 系统吞吐量大
-
缺点
- 平均周转时间长
- 无交互能力
实例:DOS/VSE
分时系统
允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好象独占计算机一样。
类型
- 简单分时系统
- 具有前后台的分时系统
- 多道分时系统
特征
- 多路性
- 独立性
- 交互性
- 及时性
实例:OS/360Multics
实时系统
对外部输入的信息,实时系统能够在规定的时间内处理完毕并作出反应。
类型
- 闭环——实时控制系统
- 开环——实时信息处理系统
特殊要求
- 高可靠性
- 过载保护
- 对截止时间的要求
实例:QNX VxWorks RTLinux
发展中的
微机操作系统
- CP/M 操作系统
- MS-DOS 操作系统
- OS/2 操作系统
- Windows 操作系统
- UNIX及类UNIX 操作系统
- Solaris
- SVR4
- SCO OpenServer
- SCO Unix Ware 7
- Xenix
- Linux
- Mac OS X操作系统
多处理机操作系统
引入原因
- 增加系统吞吐量
- 节省投资
- 提高系统可靠性
多处理机OS类型
- 非对称多处理模式——主-从模式
- 对称多处理模式——独立管理模式
网络操作系统
- 客户/服务器模式——Client/server
- 对等模式——Peer to Peer
网络OS功能
- 网络通信
- 资源共享管理
- 网络服务
- 网络管理
- 互操作能力
分布式操作系统
分布式系统是由若干个计算机经互连网络连接而成的,这些计算机既可以独立工作,又能协同工作。可实现系统内的资源管理,任务动态分配,并能并行地运行分布式程序。
特点
- 多机合作
- 健壮性
- 透明性
- 共享性
嵌入式操作系统
计算机发展的趋势之一是体积越来越小,掌上电脑和嵌入式系统随机出现。掌上电脑也称PDA
嵌入式计算机,顾名思义即将计算机嵌入到其他设备上,这些设备无处不在,大到汽车发动机、机器人,小到电视机、微波炉、移动电话。运行在其上的操作系统比较简单,只实现所要求的控制功能。