首页 理论教育 操作系统原理:定义、功能与应用

操作系统原理:定义、功能与应用

时间:2023-10-17 理论教育 版权反馈
【摘要】:虽然操作系统已存在很多年,但至今仍没有一个统一的定义。操作系统是硬件之上的第一层软件,它要管理计算机系统中各种硬件资源和软件资源的分配问题,如CPU时间、内存空间、文件存储空间、I/O设备等,要解决大量对资源请求的冲突问题,决定把资源分配给谁、何时分配、分配多少等,使得资源的利用高效而且公平。另外,操作系统要对I/O设备和用户程序加以控制,保证设备正常工作,防止非法操作,及时诊断设备的故障等。

操作系统原理:定义、功能与应用

大家几乎每天都用到计算机,每次开机后都要引导操作系统。你的机器上或是安装了Windows XP,或是Linux,或是Window 7,等等。它们有许多相同之处,又有众多差别。那么,什么是操作系统?

操作系统是一类软件的总称。虽然操作系统已存在很多年,但至今仍没有一个统一的定义。出现这个问题,一方面是由于操作系统要实现两项相对独立的功能——扩展机器和管理资源,另一方面怎样定义操作系统取决于从什么角度来看待操作系统——用户观点还是系统观点。

1.操作系统作为扩展机器

裸机(仅有硬件的计算机)提供的机器语言(即“0”“1”码)难记、难用、又难懂。在裸机上安装操作系统之后,就把硬件细节与程序员隔离开了。用户可以使用系统提供的各种命令,直接打开文件、读写文件、更改目录、将文件复制到U盘上,等等。在做这些事情时,我们只关心自己要实现的目标,并未考虑硬件如何操作,从而隐藏了底层硬件的特性,实现简单的、高度抽象的处理。抽象是管理复杂事物的关键。可见,操作系统的实际客户是应用程序(当然是通过应用程序员),它们直接与操作系统及其抽象打交道,而终端用户是与用户接口所提供的抽象(~Ishell命令行或图形接口)打交道。

经过操作系统的加工,呈现在用户面前的计算机功能更强、使用更方便。通常把裸机之上覆盖各种软件,从而形成的功能更强的计算机称为扩展机器或虚拟机

这种功能扩展可以重叠。在裸机上覆盖一层软件后,得到第一层扩展;在此基础上再加一层软件,就得到第二层扩展,以此类推。

2.操作系统作为资源管理器

上述把操作系统看作是向应用程序提供基本抽象的概念,是一种自顶向下的观点。另外一种观点是自底向上的观点,它考查操作系统如何管理一个复杂系统的各个部分。大家知道,现代操作系统允许同时运行多道程序。所以,操作系统的功能就是管理系统中的硬件资源和数据、程序等软件资源,控制、协调各个程序对这些资源的利用,尽可能地充分发挥各种资源的作用。这就涉及资源共享问题,即时间复用(如CPU分时)和空间复用(如内存和磁盘的共用)。

作为资源管理者,操作系统主要做以下工作:

①监视各种资源,随时记录它们的状态;

②实施某种策略以决定谁获得资源,何时获得,获得多少;

③分配资源供需求者使用;

④回收资源,以便再分配。(www.xing528.com)

总之,操作系统确实是计算机系统的资源管理器。当今看待操作系统作用的众多观点中,这种观点仍占主导地位。

3.操作系统的用户观点和系统观点

一种观点是用户观点,从计算机用户的角度来看,操作系统处于用户与计算机硬件系统之间,为用户提供使用计算机系统的接口和各种资源管理服务,因此,操作系统应当使用方便、功能强、效率高、安全可靠、易于安装和维护等,当然价格应该便宜。这些看法反映了普通用户对操作系统的需求和期望,是从系统外部来看待操作系统的作用。

另一种观点是系统观点,从系统内部实现的角度来看待操作系统的作用。操作系统是硬件之上的第一层软件,它要管理计算机系统中各种硬件资源和软件资源的分配问题,如CPU时间、内存空间、文件存储空间、I/O设备等,要解决大量对资源请求的冲突问题,决定把资源分配给谁、何时分配、分配多少等,使得资源的利用高效而且公平。从这个意义上讲,操作系统就是资源分配者。

另外,操作系统要对I/O设备和用户程序加以控制,保证设备正常工作,防止非法操作,及时诊断设备的故障等。从这个意义上讲,操作系统就是控制程序。

4.操作系统定义及其理解

通常情况下,我们可以这样来定义操作系统:操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。

怎样理解操作系统的定义呢?我们要注意以下几点。

第一,操作系统是软件,而且是系统软件,就是说,它由一整套程序组成。例如,UNIX系统就是一个很大的程序,它由上千个模块组成,有的模块负责内存分配,有的模块实现CPU管理,还有的模块做读文件的工作,等等。程序中还使用了大量的表格、队列等数据结构

第二,它的基本职能是控制和管理系统内各种资源,有效地组织多道程序的运行。想象一下你编写的程序在计算机上执行的大致过程:程序以文件形式存放在磁盘上,运行之前计算机把它调入内存,然后在CPU上运行,最后将产生的结果在屏幕上显示出来。这些工作都由操作系统来完成。

第三,它提供众多服务,方便用户使用,扩充硬件功能。例如,用户可以使用操作系统提供的上百条命令或者图形界面完成对文件、输入/输出、程序运行等许多方面的控制和管理工作,可以在一台机器上完成多项任务,甚至可以多个人同时使用一台机器。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈