整体框架
1、操作系统的层次结构
对于操作系统:
- 负责管理协调硬件、软件登计算机资源的工作
- 为上层的应用程序、用户提供简单易用的服务
- 操作系统是系统软件,而不是硬件
对于裸机(纯硬件):
- 例如:CPU、内存、硬盘
2、操作系统的定义
操作系统 \color{red}操作系统 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,
- 并合理地组织调度计算机的工作和资源的分配,
- 以提供给用户和其他软件方便的接口和环境,(从下往上)
- 它是计算机系统中最基本的 系统软件 \color{red}系统软件 系统软件。(从上往下)
例如:任务管理器
3、操作系统的功能和目标
① 操作系统 作为系统资源的管理者 \color{red}作为系统资源的管理者 作为系统资源的管理者(这些资源包括软件、硬件、文件等),
- 需要提供什么功能?
② 操作系统 作为用户与计算机硬件之间的接口 \color{red}作为用户与计算机硬件之间的接口 作为用户与计算机硬件之间的接口,
- 要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
③ 操作系统 作为最接近硬件的层次 \color{red}作为最接近硬件的层次 作为最接近硬件的层次,
- 需要在纯硬件的基础上实现什么功能?
3.1、OS 作为系统资源的管理者
补充:进程是一个程序的执行过程。执行前 需要将该程序放到内存中 \color{red}需要将该程序放到内存中 需要将该程序放到内存中,才能被 CPU 处理
如下所示:使用 QQ 视频聊天的过程
Step 1:在各个文件夹找到 QQ 安装的位置(如 D:/Tencent/QQ/Bin)
-
逐层打开文件夹,找到 QQ.exe 这个程序(可执行文件)的存放位置
操作系统的 文件管理 \color{blue}文件管理 文件管理
Step 2:双击打开 QQ.exe
-
需要把该程序相关数据放入内存
操作系统的 存储器 ( 内存 ) 管理 \color{blue}存储器(内存)管理 存储器(内存)管理
Step 3:QQ 程序正常运行
-
对应的进程被处理机(CPU)正常接收
操作系统的 处理机管理 \color{blue}处理机管理 处理机管理
Step 4:开始和朋友视频聊天
-
需要把摄像头设备分配给进程
操作系统的 设备管理 \color{blue}设备管理 设备管理
在实现这些管理的时候,操作系统需要保证这些是安全、高效的
- 这也是操作系统所需要追求的目标
3.2、OS 作为用户和计算机硬件之间的接口
命令接口:允许用户 直接使用 \color{red}直接使用 直接使用
程序接口:允许用户通过程序 间接使用 \color{red}间接使用 间接使用
GUl:现代操作系统中最流行的图形用户接口
3.2.1、命令接口&程序接口
联机命令接口 = 交互式 \color{red}交互式 交互式命令接口
- 用户输一句,操作系统做一句
对于 Windows 系统,例如:命令解释器(cmd)
脱机命令接口 = 批处理 \color{red}批处理 批处理命令接口
例如:其中某个 *.bat 文件
例如:Linux 中使用的 Shell 脚本
程序接口 = 系统调用
如 C:\Windows\System32\user32.dll 程序员在程序中调用 user32.dll
-
该调用过程即为 系统调用 \color{red}系统调用 系统调用,即可实现创建窗口等功能。
只能通过用户程序 间接 \color{red}间接 间接使用。
注意:系统调用 = 系统调用命令 = 广义指令 \color{red}广义指令 广义指令
3.2.2、GUI
GUI:图形用户界面(Graphical User Interface)
用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
例如:在 Windows 操作系统中,删除一个文件只需要把文件 “拖拽” 到回收站即可。
3.2.3、小结
3.3、作为最接近硬件的层次
需要提供的功能和目标:实现对硬件机器的拓展
没有任何软件支持的计算机成为 裸机 \color{red}裸机 裸机。
- 在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
通常把覆盖了软件的机器成为 扩充机器 \color{red}扩充机器 扩充机器,
- 又称之为 虚拟机 \color{red}虚拟机 虚拟机
类比:
-
硬件:锤子、锯子、木头、钉子…
-
操作系统:优秀的工匠
操作系统对硬件机器的拓展:通过优秀工匠,这些简单的原料可以组织成房子、帆船、匹诺曹。。。
普通用户可直接使用工匠提供的房子、帆船、匹诺曹,而无需关心这些东西在底层是怎么组织起来工作的