非零基础自学计算机操作系统
文章目录
- 非零基础自学计算机操作系统
- 第1章 操作系统概述
- 1.1 操作系统的概念
- 1.1.1 操作系统的地位
- 1.1.2 操作系统的作用
- 1.1.3 操作系统的定义
第1章 操作系统概述
1.1 操作系统的概念
关于什么是操作系统,目前尚无统一的定义。这里只能从操作系统在整个计算机系统中所处的地位以及所起的作用来给出关于操作系统的非形式化描述。
1.1.1 操作系统的地位
计算机系统是由硬件和软件两部分构成的。
软件又分成系统软件和应用软件两类,操作系统(operating system,OS)是一个最基本也是最重要的系统软件。
从虚拟机的观点来看,软件是分层次的。系统软件位于低层,应用软件位于高层。当然,对系统软件和应用软件都还可以进一步分层。
如果将系统软件进一步分层,可以发现操作系统位于系统软件层次中的最底层,如下图所示。
据此可以看出,操作系统是与计算机硬件关系最为密切的一个系统软件,是对硬件部件的第一次扩充。
上图所示的层次关系具有穿透性:高层软件可以调用所有低层的软件,并与硬件直接打交道。
每个软件层都在原有层次的基础上增加一层新的界面。例如,应用程序(application program)以目标代码的形式运行时,可以与操作系统和硬件直接打交道(调用操作系统或执行硬件指令),操作系统之上的系统库可以被应用程序调用,系统库中的函数又可以调用操作系统,如下图所示:
1.1.2 操作系统的作用
操作系统有以下两个重要的作用。
-
管理系统中的各种资源
一个多道计算机系统可以同时为多个用户服务。也就是说,在计算机系统中同时有多个程序在执行。
这些程序在执行的过程中会要求使用系统中的各种资源,例如当程序运行时,需要处理器资源,输出结果时需要打印机资源。
多个程序的资源需求经常会产生冲突,如程序1和程序2可能同时要使用打印机进行输出。如果对程序的这些资源需求不加以管理,就会造成混乱甚至损坏设备。
也就是说,在系统中需要一个资源仲裁者,由它负责资源在各个程序之间的调度,保证系统中的各种资源得以有效利用。这个资源仲裁者就是操作系统。
-
为用户提供友好的界面
早期的计算机系统中是没有操作系统的,那时使用计算机需要大量的手动操作,既烦琐又费时。可以想象,如果没有操作系统,要运行一个用C语言编写的源程序将会多么困难。
有了操作系统之后,原来需要由人来做的许多烦琐而又费时的工作可以由操作系统完成,这使得用户能够非常方便地使用计算机系统。例如,要运行一个用C语言编写的源程序,用户只需在终端上输入几条命令或者单击几次鼠标即可。可以说,操作系统的产生是计算机发展历程中历史性的一步。
随着硬件成本的不断下降,计算机已经走入家庭和办公自动化领域。
计算机的使用者大多不是计算机专业人员,界面的友好性比资源的利用效率更具实际意义。
目前商业化操作系统提供的图形用户界面(graphic user interface,GUI)就是在此背景下生成的产物。
1.1.3 操作系统的定义
定义:操作系统是位于硬件层之上、所有其他系统软件层之下的一个系统软件,通过它管理系统中的各种软件和硬件资源,使它们能被充分利用,方便用户使用计算机系统。
其实这个概念不是一两句话就能概括的,这个东西需要我们自己去细品。