第一章. 操作系统简介

1 操作系统的概念、功能和目标

常见的操作系统: Windows, Android, iOS, MacOS, Linux

1.1 操作系统的概念

操作系统的概念:

1.管理协调硬件和软件等计算机资源
2.为上层应用程序、用户提供服务
3.操作系统是系统软件,不是硬件

操作系统是控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,已提供给用户和其他软件方便的接口和环境,他是计算机系统中最基本的系统软件

1.2 操作系统的功能和目标

作为系统资源管理者,需要提供处理机管理、存储器管理、文件管理、设备管理。目标是安全高效。

作为用户和计算机硬件之间的接口,提供了命令接口,程序接口(用户通过程序间接使用)和 GUI(图形用户接口)。

其中,命令接口分为联机命令接口和脱机命令接口。联机命令接口(交互式命令接口)比如说windows下的cmd,脱机命令接口(批处理命令接口),比如windows下的bat文件。

程序接口,如windows中的dll文件,调用过程即为系统调用(程序接口),通过用户间接使用。

GUI(Graphical User Interface)

作为做接近的硬件的层次,实现对硬件机器的扩展。在裸机上安装操作系统,使之变为更强、使用更方便的机器。通常把覆盖了软件的机器称为扩充机器,又称虚拟机。(封装的思想)

2 操作系统的四个特征

并发、共享、虚拟、异步。

2.1 并发

并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,但是在微观上是交替发生的。

并行:两个或多个事件在同一时刻同时发生

操作系统的并发性指计算机系统中同时存在着多个运行着的程序。一个单核 CPU 同一时刻只能执行一个程序,OS负责协调多个程序交替执行。

操作系统是伴随着多道程序技术而出现的,因此操作系统适合程序并发一起诞生的。

当今 PC 一般是多核 CPU,这意味着同一时刻可以有多个程序并行执行,但是 OS 系统的并发性仍旧是必不可少的。

2.2 共享

共享指的是资源共享,指的是资源可以供内存中多个并发执行的进程共同使用。

其中资源共享,又分为两种,分别是互斥共享方式和同时共享方式。互斥共享有时候微观上也是在同时访问资源的,比如说扬声器播放歌+游戏背景音。

互斥共享比如说是摄像头、打印机的使用;同时共享比如说是文件A、B分别发给小明和小亮,宏观上同时读取发送文件,微观上是交替访问硬件资源。
其实这里的互斥共享主要在于无法实现宏观上同时,由于某些原因,不够快(摄像头),或者是逻辑上根本达不到共享(打印机)

2.3 并发和共享关系

并发性指的是计算机系统中同时存在多个运行着的程序
共享性是指系统中的资源可以供多个并发性执行的程序共同使用。

2.4 虚拟

虚拟指的是把物理上的实体变成若干个逻辑上的对应物。物理实体是实际存在的,逻辑上是指用户感受到的。
如内存 -> 虚拟内存。
处理器 -> 虚拟处理器(微观上处理机交替为进程服务)
虚拟技术:时分复用和空分复用

2.5 异步

多道程序环境下,允许多个程序并发执行,但是由于资源有限,进程的执行并不是一贯到底,而是走走停停,以不可预知的速度向前推进。

如果失去了并发性,系统串行处理各个进程,每个进程便会一贯到底,不存在异步性。

2.6 小结

3 操作系统的发展与分类

3.1 手工操作阶段

纸带 + 打孔机 + 纸带机
1.等待慢速输入输出,CPU处理速度快,人机速度矛盾,导致计算机资源利用率低。
2.用户独占全机

3.2 批处理阶段--单道批处理系统

脱机输入、输出技术(用磁带完成),并监督程序负责控制作业的输入输出。

1.一定程度上缓解了人机矛盾,提高资源利用率利用率
2.但是内存中仅仅能有一道程序运行,CPU有大量时间是在空闲等待 I/O 完成

3.3 批处理阶段--多道批处理系统

  1. 程序并发执行,共享计算机资源,利用率大幅提高
  2. 但是用户响应时间长,没有人机交互能力。

3.4 分时操作系统

以时间片为单位,轮流为各个用户/作业服务,解决了人机交互问题
但不能优先响应一些紧急任务

3.5 实时操作系统

可以优先响应一些紧急任务,某些紧急任务不需要时间片排队。
主要特点是 实时性和可靠性

3.6 其他操作系统

3.7 小结

4 操作系统的运行机制和体系结构

4.1 运行机制

指令是处理器CPU能够识别、执行的最基本命令。分为特权指令和非特权指令。

CPU如何判断当前是否可以执行特权指令?

4.2 操作系统内核

内核是计算机配置上的底层软件,是操作系统最基本最核心的部分。
实现操作系统内核功能的程序就是内核程序。

4.3 操作系统的体系结构

操作系统的体系结构:大内核和微内核

4.4 小结

5 中断和异常

操作系统引入中断机制,实现多道程序并发执行

系统调用是内中断,可以是请求输出,CPU切换为核心态,对中断进行处理

5.1 中断的概念和作用

5.2 中断的分类

主要分为内中断和外中断,判别标准是否和当前正在执行的指令有关。

5.3 外中断的处理过程

5.4 小结

6 系统调用

6.1 什么是系统调用,有何作用

系统调用的相关处理需要在核心态下进行。

6.2 系统调用和库函数的区别

应用程序是可以通过使用汇编语言的程序来系统调用。

6.3 系统调用背后的过程

下图中的参数 x 执行了系统调用号,int 是 interrupt 缩写

6.4 小结

posted @ 2022-09-07 09:59  lucky_light  阅读(177)  评论(0编辑  收藏  举报