操作系统(一)—— 计算机系统概述

一、计算机系统概述

1. 操作系统的基本概念

1)结构

image-20220517154744197

2)定义

​ ① 负责管协调硬件、软件等计算机资源的工作

​ ② 为上层的用户和应用程序提供简单易用的服务

​ ③ 一种系统软件

3)功能和目标

​ ① 资源的管理者:处理器管理、存储机管理、文件管理、设备管理

​ ② 向用户提供服务:

​ a. 命令接口:联机命令接口、脱机命令接口

​ b. 程序接口:由一组系统调用组成

​ c. GUI用户图像界面(最终还是通过调用程序接口实现)

​ ③ 对硬件机器的扩展

4) 操作系统的四个特征

​ ① 并发

​ a. 概念:两个或多个事件在同一时间间隔内发生。宏观上是同时的,微观上是交替发生的

​ b. 操作系统的并发指的是 计算机系统中同时存在多个运行着的程序

​ ② 共享

​ a. 概念:资源共享,系统中的资源可供内存中多个并发执行的进程共同使用。

​ b. 分类:互斥共享方式、同时共享方式。【注】“同时”往往是宏观的、而在微观上是交替的(分时共享)

​ c. 并发与共享的关系:并发和共享是相互依赖的,二则相辅相成

​ ③ 虚拟

​ a. 概念:把一个物理上的实体,变为若干个逻辑上的对应物

​ b. 如“空分复用”、“时分复用”

​ 【注】虚拟有意义的前提是并发

​ ④ 异步

​ 概念:多道程序下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底,每个进程是走走停停,以不可预知的速度推进。

​ 【注】异步有意义的前提也是并发

​ ⑥ 考点

​ a. 并发与并行的区别

​ b. 并发和共享互为条件,没有并发和共享,虚拟和异步就没有意义,故并发和共享是操作系统的两个最基本特征

2. 操作系统的发展与分类

1)手工操作阶段

​ 这时候还没有操作系统。

​ 缺点:用户独占主机,资源利用率低、CPU切换依赖人工,利用率低

2)批处理阶段

​ ① 单道批处理系统

​ a. 目的:解决人机矛盾及CPU和IO设备速率不匹配的矛盾

​ b. 特征:自动性、顺序性、单道性

​ ② 多道批处理系统

​ a. 目的:为了进一步提高资源利用率和系统的吞吐量

​ b. 特征:多道、宏观上并行、微观上串行

​ 【注】多道批处理系统不采用某些机制来提高某一技术方面的瓶颈问题,而是让各个组成部分尽量去“忙”,即:当一道程序因IO请求而阻塞时,CPU就立即去运行另一道程序。

​ c. 多道批处理系统需解决的问题:

​ i. 如何合理分配处理器

​ ii. 多道程序的内存分配问题

​ iii. IO设备怎么分配

​ iv. 如何保证多道程序的安全性和一致性

​ d. 批处理系统优缺点

​ i. 优点:CPU和资源利用率高;系统吞吐量大

​ ii. 缺点:用户响应时间长较长;无交互能力,用户不知道程序运行状态,也不能控制计算机

3)分时操作系统

​ ① 原理:为了提高响应速率,将处理器的运行时间分为很短的时间片,按时间片轮流把处理器分给各个联机任务

​ ② 特征:同时性、交互性、独立性、及时性

4)实时操作系统

​ ① 原理:某个时间限制内,完成某些紧急任务而不需要时间片排队

​ ② 分类:硬实时系统(飞机的飞行控制系统)、软实时系统(订票系统)

​ ③ 特征:及时性、可靠性

5)网络操作系统

​ ① 原理:通过网络将多台计算机有机结合

​ ② 特点:网络中的资源共享、每台计算机通过网络通信

6)分布式操作系统

​ ① 原理:多台计算机相互协同完成同一任务。

​ ② 特征:系统中的任意两台计算机通过网络通信;系统中的每台计算机的地位一样,没有主从之分;每台计算机资源共享;每台计算机都是一个子系统;任何工作都可以分布在几台计算机中并行工作,系统完成。

7)个人计算机操作系统

3. 操作系统运行环境

1)运行机制

​ ① 概念:

​ a. 指令

​ i. 概念:处理器能识别和执行的最基本的命令

​ ii. 分类:非特权指令、特权指令(不允许用户程序使用)

​ b. CPU状态(由寄存器标记)

​ i. 用户态(目态):此时只能执行非特权指令

​ ii. 核心态(管态):此时两种指令都能执行

​ c. 程序分类

​ i. 应用程序

​ ii. 内核程序

​ ② 操作系统的内核结构

计算机结构

​ ③ 操作系统的体系结构

​ 分为大内核和小内核体系

大内核小内核

2)中断和异常

​ ① 中断机制的诞生

​ a. 目的:为了实现多道程序并发执行,引入了中断机制

​ b. 原理:发生中断就意味着需要操作系统介入,开展管理工作

​ ② 中断的概念和作用

​ a. 中断发生时,CPU立即进入核心态

​ b. 中断发生后,当前运行的进程暂停运行,由操作系统内核对中断进行处理

​ c. 对于不同的中断信号,操作系统会有不同的处理

​ 【作用】只要发生了中断,就意味着操作系统介入开展管理工作。由于操作系统的管理工作(如进程切换、分配IO设备等)需要使用特权指令,CPU要从用户态转变为核心态。中断可以是CPU从用户态切换到核心态(且是唯一途径),使操作系统获得计算机的控制权。有了中断机制,才能实现多道程序并发执行。

​ ③ 中断的分类(根据信号的来源:CPU内部还是外部,与当前执行的指令是否有关)

​ a. 内中断(异常、陷入、例外):自愿中断(指令中断)、强迫中断(硬件故障或软件中断)

​ b. 外中断:外设请求、人工干预中断和异常

​ ④ 外中断的处理

​ a. 每条指令执行结束后,CPU检查是否有外部中断信号

​ b. 若有外部中断信号,则需要保护被中断进程的CPU环境

​ c. 根据中断信号类型转入相应的中断处理程序

​ d.处理好后,恢复原进程的CPU环境并退出中断,返回原进程下继续执行

3)系统调用

​ ① 概念和作用

​ 应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、/O操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。

​ 这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

​ 【注】系统调用 相关处理涉及到系统资源,故需要在特权指令,因此系统调用的相关处理实在核心态下完成的

​ ② 系统调用和库函数的区别

​ ③ 系统调用背后的进程

​ a. 传递系统调用参数

​ b. 执行陷入指令(int -> interrupt),CPU从用户态切换到核心态

​ c. 执行系统调用相应的服务程序

​ d. 执行结束后,切换到用户态,再返回用户程序

​ 【注】系统调用发生在用户态,系统调用的处理发生在核心态

posted @ 2022-05-17 17:36  浪漫主义程序员  阅读(281)  评论(0编辑  收藏  举报