1.1.1 操作系统的概念和功能
我们熟悉的操作系统有哪些?
从计算机系统的层次结构上看操作系统:
以一台电脑的诞生为例:
第一步,厂家组装一台裸机
第二步,出售前安装操作系统
第三步,用户安装应用程序
第四步,使用应用程序
操作系统的定义
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
操作系统的功能和目标
1. 作为系统资源的管理者
以用户使用QQ和朋友视频聊天为例,解释一下操作系统的功能:
第一步,在各个文件夹中找到QQ安装的位置,这就需要逐层打开文件夹直至找到需要的程序,而文件夹的组织就是由操作系统完成的,这就是文件管理;
第二步,双击打开QQ.exe,这意味着启动QQ这个程序,为了运行程序,操作系统会将程序的相关数据放入内存,以便于后续的调用,这就是存储器管理;
第三步,QQ程序正常运行,此时该程序对应的进程被处理机(CPU)处理,这就是处理机管理;
第四步,开始和朋友视频聊天,这需要操作系统将视频聊天所需的设备(如摄像头、话筒等)分配给相关进程,这就是设备管理。
2. 向上层提供方便易用的服务
封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。
有一个最简单的例子,就是图形化用户接口(GUI),用户可以使用形象化的图形界面进行操作,而不需要记住复杂的命令。
早期的接口是联机命令接口,也就是命令行。使用的是交互式命令,我们说一句,系统就跟着做一句。
还有一种接口叫做脱机命令接口,也就是脚本。使用的是批处理命令,我们说一堆,系统就跟着做一堆。
由此我们可以区分开联机和脱机命令接口:
联机命令接口 | 说一句,做一句 |
脱机命令接口 | 说一堆,做一堆 |
最后还有一种接口,叫做程序接口,可以在程序中进行系统调用来使用程序接口,我们不能直接使用,只能通过程序代码间接使用。
用户接口:狭义的用户接口包括命令接口和程序接口,而不包含GUI。
3. 作为最接近硬件的层次
需要实现对硬件机器的拓展。
裸机 | 没有任何软件支持的计算机 |
虚拟机 | 覆盖了软件的机器,即为扩充机器 |