首页 > 代码库 > 什么是操作系统?
什么是操作系统?
我们应知道,在一个计算机系统中,硬件与软件资源可分为:处理器、存储器、I/O设备和信息(数据和程序)四类。而OS它是一个计算机系统资源的管理者,并实现了对计算机资源的抽象,连接了用户与计算机硬件系统,作为用户与计算机硬件系统之间的接口(软件接口)。
一、 关于OS对计算机系统资源的管理:
OS的主要功能就是:
(1)、处理机管理:分配和控制处理机
(2)、存储器管理:内存分配与回收
(3)、I/O设备管理:I/O设备分配与操作
(4)、文件管理:文件的存取、共享和保护
注意:当一个计算机系统同时供多个用户使用时,用户对系统中共享资源的需求(包括数量和时间)可能发生冲突,为了管理好这些资源(包括硬件和信息)的使用,操作系统必须记录下各种资源的使用情况,对使用资源的请求进行授权,协调各用户对共享资源的使用。
二、 关于OS对计算机资源的抽象
对于一个完全无软件的计算机系统(裸机),它向用户提供的是实际硬件接口(物理接口),用户需对物理接口的实现细节有充分的了解,并利用机器指令进行编程。显然,这对于用户是不容易的。
为了方便用户使用I/O设备,人们在裸机上覆盖一层I/O设备管理软件,由它来实现对I/O设备操作的细节,并向上提供一组I/O操作命令。即在裸机上铺设的I/O软件隐藏了对I/O设备操作的具体细节,向上提供了一组抽象的I/O设备。通常把覆盖了上述软件的机器称为扩充机器或虚机器。它向用户(进程)提供了一个对硬件操作的抽象模型,用户可利用抽象模型提供的接口(软件接口)使用计算机,而无需了解物理接口实现的细节。该层软件实现了对计算机硬件操作的第一个层次的抽象。
为了方便用户使用文件系统,人们在第一层软件上再覆盖上一层用于文件的管理软件,同样由它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。该层软件实现了对计算机硬件资源操作的第二个层次的抽象。
当人们又在文件管理软件上再覆盖一层面上用户的窗口软件后,用户便可在窗口环境下方便地使用计算机,形成一台功能更强的虚机器。
由此可知,OS是铺设在计算机硬件上的多层系统软件,它增强了系统功能,隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象。
对一个硬件在底层进行抽象后,在高层次还可再次对该资源进行抽象,成为更高层次的抽象模型。随着抽象层次的提高,抽象接口所提供的功能就越来越强,用户使用也更加方便。
三、 用户与操作系统的接口
为了方便用户使用操作系统,OS又向用户提供了“用户与操作系统的接口”。该接口通常分为两大类:用户接口与程序接口。
用户接口:提供给用户使用的接口,用户可通过该接口取得操作系统的服务;
程序接口:提供给 程序员在编程时使用的接口,是用户程序取得操作系统服务的唯一途径。
用户接口可以分为:
(1) 联机用户接口
(2) 脱机用户接口
(3) 图形用户接口
联机用户接口是为联机用户提供的,它由一组键盘操作命令及命令解释程序组成。(用户在终端或控制台上每键入一条命令,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。完成指定功能后,控制又回到终端或控制台上,等待用户键入下一条命令。这样,用户可通过先后键入不同命令的方式,来实现对作业的控制,直至作业完成。)
脱机用户接口是为批处理作业的用户提供的,故也称为批处理用户接口。该接口由一组作业控制语言(JCL)组成。(批处理作业的用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预)这里的JCL便是提供给批处理作业用户的、为实现所需功能而委托系统代为控制的一种语言。(用户用JCL把需要对作业进行的控制和干预事先写在作业说明书上,然后将作业连同作业说明书一起提供给系统。当系统调度到该作业运行时,又调用命令解释程序,对作业说明书上的命令逐条地解释执行。如果作业在执行过程中出现异常现象,系统也将根据作业说明书上的指示进行干预,这样,作业一直在作业说明书的控制下运行,直至遇到作业结束语句时,系统才停止该作业的运行。)
图形用户接口采用了图形化的操作界面,用容易识别的各种图标来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。(用户可用鼠标或通过菜单和对话框来完成对应用程序和文件的操作。)
关于程序接口:
程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。它由一组系统调用组成。(每一个调用都是一个能完成特定功能的子程序。早期的系统调用都是用汇编语言提供的,只有在用汇编语言书写的程序中才能直接使用系统调用;但在高级语言中,往往提供了与各系统调用一一对应的库函数,这样,应用程序便可通过调用对应的库函数来使用系统调用。但随着操作系统发展,其系统调用本身已经采用C语言编写,并以函数形式提供,故在用C语言编制的程序中,可直接使用系统调用。)
综上,OS本身是作为用户与计算机硬件之间的接口,联系了用户与计算机硬件,承担着计算机资源管理的任务;用户又通过操作系统提供的接口实现对操作系统的操作。
什么是操作系统?