操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其次主要作用是管理好这些设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单接口,便于用户使用。OS是现代计算机系统中最基本和最重要的系统软件,而其他的诸如编译程序,数据库管理系统等系统软件,以及大量的应用软件,都直接依赖于操作系统的支持,取得它所提供的服务。事实上OS已成为现代计算机系统、多处理机系统、计算机网络中都必须配置的系统软件。
1.1.1操作系统的目标
在计算机系统上配置操作系统,其主要目标是:方便性、有效性、可扩充性和开放性。
1.方便性
用户如果想直接在计算机硬件(裸机)上运行自己编写的程序,就必须用机器语言书写程序。但如果在计算机硬件上配置了OS,系统便可以使用编译命令将用户采用高级语言书写的程序翻译成机器代码,或者直接通过OS所提供的各种命令操作计算机系统,极大地方便了用户,使计算机变得易学易用。
2、有效性
有效性包含的第一层含义是提高系统资源的利用率。
第二层含义是提高系统的吞吐量。
3、可扩充性
方便增添新的功能和模块,以及对原有功能和模块进行修改。
4、开放性
彼此兼容,方便的实现互连。
1.1.2操作系统的作用
操作系统在计算机系统中所起的作用,可以从用户、资源管理及资源抽象等多个不同的角度来进行分析和讨论。
1、OS作为用户与计算机硬件系统之间的接口
OS处于用户与计算机硬件系统之间,用户用过OS来使用计算机系统。或者说,用户在OS帮助下能够方便、快捷、可靠的操纵计算机硬件和运行自己的程序。
2、OS作为计算机系统资源的管理者
在一个计算机系统中,通常都含有多种硬件和软件资源。归纳起来可将这些资源分为四类:处理机、存储器、I/O设备以及文件(数据和程序)。
处理机是处理计算机系统中存储程序和数据,并按照程序规定的步骤执行指令部件。处理机管理是用于分配和控制处理机;存储器管理主要负责内存的分配与回收;I/O设备管理是负责I/O设备的分配(回收)与操纵;文件管理是用于实现对文件的存取、共享和保护。可见,OS的确是计算机系统资源的管理者。
当一台计算机系统同时供多个用户使用时,诸多用户对系统中共享资源的需求(包括数量和时间)有可能发生冲突。为此,操作系统必须对使用资源的请求进行授权,以协调诸用户对共享资源的使用。
3、OS实现了对计算机资源的抽象
1.1.3推动操作系统发展的主要动力
1、不断提高计算机资源利用率
2、方便用户
3、器件的不断更新换代
4、计算机体系结构的不断发展
5、不断提出新的应用需求
1.2操作系统的发展过程
1.2.1未配置操作系统的计算机系统
1、人工操作 纸带(或卡片)输入计算机
2、脱机输入/输出(Off-Line I/O)方式
该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当cpu需要这些程序和数据时,再从磁带上高速地调入内存。
相较与人工操作减少了cpu的空闲时间,提高了I/O速度。
1.2.2单道批处理系统
单个程序进入计算机系统,对磁带上的一批作业能自动的逐个作业,依次运行,无须人工干预;并对磁带上的各道作业有顺序地进入内存,各道作业完成的顺序与它们进入内存的顺序在正常情况下是完全相同的。
1.2.3多道批处理系统
多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。
系统的优缺点:
系统利用率高。由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。
系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU和其它资源保持“忙碌”状态; 第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。
平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
1.2.4分时系统
推动分时系统形成和发展的主要动力是为了满足用户对人机交互的需求。
分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,伺时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。
常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求; “后台”处理时间性要求不强的作业。
1.2.5实时系统