1.1 操作系统的基本概念
1.1 操作系统的基本概念
1. OS概念
1.1 计算机系统的层次结构
- 用户可以通过调用命令接口的方式以及使用GUI与操作系统进行直接交互
- 应用程序通过调用程序接口的方式与操作系统进行直接交互
- 裸机(纯硬件)包括CPU、内存、硬盘、主板等
1.2 操作系统概念
- 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;
- 以提供给用户和其他软件方便的接口和环境;
- 它是计算机系统中最基本的系统软件。
- 操作系统是系统资源的管理者
- 以提供给用户和其他软件方便的接口和环境
- 向上层提供方便易用的服务
- 它是计算机系统中最基本的系统软件
- 是最接近硬件的一层软件
2. OS功能和目标
2.1 系统资源的管理者
- 用QQ和朋友视频聊天的过程:
- Step 1:在各个文件夹中找到 QQ 安装的位置(如 D:/Tencent/QQ/Bin)
- 逐层打开文件夹, 找到QQ.exe 这个程序(可执行文件)的存放位置
- 文件管理
- Step 2:双击打开 QQ.exe
- 需要把该程序相关数据放入内存
- 存储器管理, 执行一个程序前需要将该程序放到内存中,才能被CPU处理
- Step 3:QQ 程序正常运行
- 对应的进程被处理机(CPU)处理
- 处理机管理
- Step 4:开始和朋友视频聊天
- 需要将摄像头设备分配给进程
- 设备管理
- Step 1:在各个文件夹中找到 QQ 安装的位置(如 D:/Tencent/QQ/Bin)
2.2 向上层提供方便易用的服务
- 封装思想
- 操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可
- 提供的服务
- GUI:图形化用户接口(Graphical User Interface)
- 联机命令接口 = 交互式命令接口
- 如Windows命令行指令
- 特点: 用户说一句, 系统跟着做一句
- 脱机命令接口 = 批处理命令接口
- 如执行Windows中的*.bat文件
- 特定: 用户说一堆, 系统跟着做一堆
- 程序接口(由一系列系统调用组成)
- 可以在程序中进行系统调用(广义指令)来使用程序接口, 普通用户不能直接使用程序接口, 只能通过程序代码间接使用
- 系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式
2.3 作为最接近硬件的层次
需要实现对硬件机器的拓展
没有任何软件支持的计算机称为裸机
- 在裸机上安装的操作系统, 可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机
操作系统对硬件机器的拓展
- 将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能
- 普通用户无需关心这些硬件在底层是怎么组织起来工作的,只需直接使用操作系统提供的接口即可
3. 操作系统的特征
3.1 并发
- 两个或多个事件在同一时间间隔内发生。这些事情宏观上是同时发生的, 但微观上是交替发生的
- 并行
- 指两个或多个事件在同一时刻同时发生
- 操作系统的并发性
- 是指计算机系统中“同时”运行着多个程序, 这些程序宏观上看是同时运行着, 而微观上看是交替运行的
- 操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的
- 注意
- 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行
- 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行
3.2 共享
- 并发与共享是两个最基本的特征, 二者互为存在条件
- 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
- 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
- 共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
- 互斥共享
- 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
- 同时共享
- 系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问
- 所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
- 互斥共享
3.3 虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的, 逻辑上的对应物是用户感受到的
- 空分复用技术
- 虚拟存储器运行着远大于实际存储器内存大小的程序
- 时分复用技术
- 微观上处理机在各个微小的时间段内交替着为各个进程服务
- 显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性
3.4 异步
- 在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
- 只有系统拥有并发性,才有可能导致异步性
1.1 操作系统的基本概念
http://binbo-zappy.github.io/2024/11/19/操作系统/1-1-操作系统的基本概念/