打算认真的把操作系统的内容学习一下,补补基础。
操作系统的概念、功能和目标
我们常说的操作系统:
1. 操作系统的概念
操作系统在计算机系统的层次结构中的位置:
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
承上启下:
向下,操作系统需要管理和分配硬件资源;
向上,操作系统要为用户和其他软件提供方便的接口和环境。我们如果打开电脑上的任务管理器,可以很清楚的看到这一点,操作系统既管理着计算机的软件,又管理者计算机的硬件分配:
2. 操作系统的功能和目标
我们不妨问两个问题:
- ① 操作系统作为系统资源的管理者(这些资源包括软件、硬件、文件等),需要提供什么功能?
- ② 操作系统作为用户与计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
- ③ 操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?
首先是第一个问题: 操作系统作为系统资源的管理者(这些资源包括软件、硬件、文件等),需要提供什么功能?
我们以打开一个QQ进行视频聊天为例:
- S1:在各个文件夹中找到QQ的安装位置
逐层打开文件夹,找到QQ.exe,这个程序(可执行文件)的存放位置 —— 文件管理
- S2:双击打开QQ.exe
需要把改程序相关数据放入内存 —— 存储器管理
- S3:QQ程序正常运行
对应的进程被处理机(CPU)处理 —— 处理机管理
- S4:开始和朋友视频聊天
需要把摄像头设备分配给进程 —— 设备管理
第二个问题:操作系统作为用户与计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
- 命令接口:允许用户直接使用
- 程序接口:允许用户通过程序间接使用
- GUI:现代操作系统中最流行的图形用户接口
比较重要的是用户接口:
-
命令接口:
什么是联机命令接口?
联机命令接口就是交互式命令接口。
比如我们打开我们的Windows中的命令提示符,我们每输入一条命令,就会有一个结果或者操作在等着我们去查看或执行,这种方式就叫联机命令接口:
什么是脱机命令接口呢?
脱机命令接口其实就是批处理命令接口。
我们还是以windows为例,比如一些.bat
文件,里面包含了诸多条命令,我们执行外部的.bat文件,就会自动把所有的指令都按顺序执行一遍:
-
程序接口:
程序接口:如
C:\Windows\System32\user32.dll
,程序员在程序中调用user32.dll(该调用过程即为系统调用)即可实现创建窗口等功能。只能通过用户程序间接使用。易混淆的概念:
系统调用 = 系统调用命令 = 广义指令 -
GUI:图形用户界面(Graphical User Interface)
用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
例子:在 Windows操作系统中,删除一个文件只需要把文件“拖拽”到回收站即可。包括手机上的,也称之为GUI。
第三个问题:操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?
需要提供的功能和目标:实现对硬件机器的扩展。
没有任何软件支持的计算机称为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机。