操作系统是为了提高计算机的利用率,为了方便用户使用,以及提高计算机的系统响应速度而给计算机配备的一种大型系统程序,用它来实现计算机系统自身的硬件和软件资源的管理。
未配置操作系统和其他系统软件的计算机称为裸机。直接使用裸机,不仅不方便,而且人的工作效率和机器的使用效率都不可能高。操作系统为用户提供一套简单的操作命令,并为设计语言处理程序、调试程序等系统软件提供方便。裸机配备操作系统和其他系统软件后,便成为一台既懂命令,又懂各种高级语言,使用操作十分方便的计算机系统。
由于计算机的中央处理器与外部设备在工作速度上存在很大悬殊,中央处理器执行一条指令的时间为微秒或毫微秒级,而外部设备的存取时间往往要几十毫秒或更长,两者相差成千上万倍。为了充分发挥整个计算机系统的效能,在同一规定的时间内,让计算机系统,特别是中央处理机做更多的工作,由此产生了多道程序运行的思想。比如,当甲程序需要使用速度较慢的外部设备时,把相应的外设分配给它,立即让乙程序占据主机运行;乙程序需要使用外设时,又让丙程序运行;直到甲程序交给外部设备的任务完成后,再恢复甲程序的运行。如此等等。
随着计算机技术的发展,计算机的应用范围也越来越广。从计算机技术角度来看,其应用领域可分为三类:批处理、实时处理和分时操作。
批处理是指计算机具有多道程序运行能力后,把若干个用户的任务,成批地交给计算机,然后由计算机来对各个任务进行调度处理,就像前面所举的例子那样,直到完成用户提交的全部任务。
实时处理则是指计算机系统根据外部“请求”的信号,在规定的时间内处理这一请示。当然,在处理完紧迫请示之后,在下一个请求到来之前,计算机还可以照旧执行其他的例行任务。
所谓分时系统,是指在计算机系统同时为多个终端用户所用的情况下,由中央处理器每次分配给每个用户一小段时间,称为一个时间片,依排队先后次序或优先权等办法,轮流为每个用户服务。由于中央处理器速度极快,所以用户感觉不到分时,只觉得是自己在独享计算机。
对于多道程序,批处理、实时处理或分时操作,都有一个调度管理问题。于是,就形成了操作系统的初期阶段——管理程序。这种程序本身不能产生直接数据处理的结果,但它却对许多程序的运行全过程起着调度管理的作用。
随着现代计算机的运行环境越来越复杂,起调度管理作用的管理程序走向了操作系统。除了作以处理机为主要对象的管理外,还进行存储空间的分配与调度,对各种外存文件进行调度管理、外部设备分配调度管理、数据通信的控制管理等。
操作系统主要有下述功能:
处理机管理。主要是作业调度管理和进程调度管理。作业调度管理程序的职能是从一批已提交给计算机的后备作业中,按照一定的算法挑选作业,使其转入运行状态,一旦作业完成,则把该作业撤销。转入运行状态的作业,意味着作业进程已建立,该作业已具备占有处理机的权利。至于什么时候才能真正占有处理机进入运行,则取决于进程管理程序的调度。如何在不发生冲突的前提下,既能有效地完成所有已提交的作业,同时又使处理器发挥最大的效能,使处理器空闲时间减至最少,这就是处理器管理要解决的主要问题。
存储管理。存储管理程序负责为进入运行状态的作业分配适当的内存空间。由于作业的大小不同,内存分配表和空白区的大小及部位在运行过程中不断地变化,因此,这种内存分配必须是动态的。存储管理程序还承担存储保护任务。由于在同一时间内,内存中可能储存着许多不同作业的数据和程序,还有一些系统软件也占用一定的内存空间,为了防止因各程序互相越界访问而发生混乱,必须采取相应的内存保护措施。存储管理程序还负责存储空间的扩充。一种是虚拟存储方法。当实际地址空间小于直接寻址能力时,可以把超出实际地址空间的部分放在磁盘或磁带上,使用户看起来觉得:计算机可直接寻址的逻辑地址空间有多大,用户可以支配的存储空间就有多大。另一种是计算机直接寻址能力小,而实际的内存容量可以扩大。这时就是如何把逻辑地址空间映射到实际地址空间的问题了。
输入/输出管理。由于计算机的外部设备种类和数量很多,为了避免或减少中央处理机因等待那些速度较慢的外部设备操作而占用的时间,在中央处理机引入了与外部设备打交道的通道和中断技术,以提高计算机系统效率。由于输入/输出设备工作速度比中央处理器慢得多,当第二次请求启动通道输入或输出一批数据时,第一批数据可能还没有处理完,此时通道正处于忙状态。特别是在多道程序环境下,更容易发生上述设备冲突情况。解决好这个问题,是输入/输出管理程序的主要责任之一。
文件管理。各种数据,各种程序通常是以文件的形式有组织地存放在磁盘、磁带等存储介质上的。当需要某个文件时,可由操作系统中的文件管理程序调用。文件管理程序还可用来创建和删除文件。为了保证文件使用的安全,防止滥用和失密,在使用文件时,还必须有相应的保护和保密措施,这也是文件管理程序的责任。