操作系统上一篇:计算机系统概述
操作系统下一篇:进程与线程

定义

  • 从资源管理的观点:操作系统是一个程序集合,是用于控制和管理计算机的软硬件资源、合理地组织计算机的工作流程、方便用户的程序集合。

  • 从用户的观点:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。

  • 操作系统的地位:紧贴硬件(裸机)之上,所有其他软件之下。

发展

在以下的讨论中,需要拥有这样两个观念:计算机的工作效率远远大于人;IO操作是人来完成的,即IO的速度等于人的速度。

1946年 第一代计算机 - 没有操作系统

在第一代计算机上没有操作系统,对计算机的操作完全是人工操作方式,这种人工操作方式有两个缺点:

  • 用户完全独占计算机。也就是说,计算机的全部资源只供一个用户使用。
  • 计算机等待人工操作。当用户操作时计算机要等待,CPU空闲。

1958年 第二代计算机 - 监控系统

第二代计算机主要用于科学和工程计算,程序大多用FORTRAN语言书写,该语言适用于作数值运算。
当时主机上用的控制程序称之为监控程序(Monitor),其功能相对比较简单,监控程序是操作系统的雏形 。

单道批处理系统(Simple Batch System)

单道批处理系统由两台机器组成,用一台价格较低的机器作为输入/输出机,用一台正常的机器用于运算作为主机
将所有的作业用为输入/输出机输入到磁带上,用主机进行运算。
大批的作业在输入/输出机的控制下输入到磁带后,用一个特殊的程序来控制作业的读入和运行,这个特殊的程序叫作业控制语言(JCL,Job Control Language)书写,它能控制程序的运行。

单道批处理系统使用的是脱机输入/输出技术,即程序和数据的输入都不是在主机的控制之下,而是在一台专门作输入/输出的计算机的控制之下进行;换句话说,输入/输出工作是在脱离主机的情况之下进行的,故称为脱机输入/输出(Off Line I/O)。

2.脱机输入输出技术

意义:

  1. 使用脱机输入/输出技术,不占用主机的时间,可以减少CPU的空闲时间。
  2. 提高了输入输出的速度。当CPU需要数据时,直接从磁带机上输入,不需要从低速的I/O设备商输入,缓解了CPU与IO设备速度不匹配之间的矛盾。

1964年 第三代计算机 - 极大发展

20世纪60年代中期,产生了多道程序设计。
其核心思想是:把多个程序同时放入内存,使他们共享系统中的资源。

对于单道程序设计,内存中只存在一个程序,当该程序在运行中发出IO请求时,CPU就会处在空闲状态,等待程序IO结束。
而在多道程序设计中,由于内存中存在多个程序,当一个程序发出IO请求时,系统可调度使另一程序运行,使CPU始终处于忙碌状态,提高效率。

3.多道程序设计

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

嵌入式计算机,顾名思义即将计算机嵌入到其他设备上,这些设备无处不在,大到汽车发动机、机器人,小到电视机、微波炉、移动电话。运行在其上的操作系统比较简单,只实现所要求的控制功能。

操作系统上一篇:计算机系统概述
操作系统下一篇:进程与线程