0416
计算机操作系统笔记
〇、视频课链接
王道计算机考研 操作系统
复试那会听过一遍,写了点笔记,这次再听一遍,写一份电子档的笔记,方便以后查阅。
第一章 操作系统概述
1.1 操作系统的概念、功能和目标
1.1.1 概念
操作系统(Operating System,OS
)是指
- 控制和管理整个计算机系统的硬件资源和软件资源,—
系统资源的管理者
- 并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,—
向用户提供服务
- 它是计算机系统中最基本的系统软件。—
是系统软件,不是硬件
1.1.2 计算机系统的层次结构:
1.1.3 功能
1.1.4 操作系统的特征
①并发☆☆☆
并行和并发的区别(很重要):
并发:两个或多个事件在同一间间间隔内发生,这里的“同时”在宏观上是同时发生的,微观上是交替发生的;
并行:两个或多个时间在同一时刻同时发生。 — 多核处理器
操作系统的并发性质计算机系统中同时存在着多个运行着的程序。这里的“同时”依然是宏观上是同时发生的,微观上是交替发生的。
常说的计算机有多核CPU,比如自己的电脑是八核,即有八个CPU,
就意味着同一时刻可以有8个程序并行
执行,但是操作系统的并发性
依然是不可或缺的,因为计算机中有超过8个以上的程序需要同时工作,所以仅有并行不够用,还要加上并发。
举个栗子:
补充:线程数、CPU核数、超线程计算
上面说的并行是因为8个CPU的存在所以可以有八个程序同时工作,而其实这8个CPU是指8个逻辑处理器,并非物理内核,实际上电脑只有4个CPU物理内核,通过超线程技术让一个内核做到2个线程计算,这样就相当于是有8个内核,现在一般说的多少核都是指有多少个逻辑处理器,而不是真的物理内核数。
②共享☆☆☆
共享分为互斥共享和同时共享两种方式:
- 互斥共享方式:某些资源可供多个进程使用,但一个时间段内只能有一个进程访问该资源;
- 同时共享方式:某些资源允许一个时间段内有多个进程“同时”访问该资源;
举例:
共享方式 | 资源 | 进程 | 备注 |
---|---|---|---|
互斥共享方式 | 摄像头 | QQ和微信 | 同一时刻只能有一个进程使用摄像头 |
同时共享方式 | 某个文件 | QQ和微信 | 可以同时发送这个文件,宏观:同时;微观:交替进行 |
特例 | 扬声器 | 网易云音乐和酷狗音乐 | 宏观和微观都是同时访问该资源 |
③虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是用户感受到的(明明只有八核CPU,但却能同时运行10个以上的程序,甚至更多)。
虚拟技术:
- 空分复用技术:虚拟存储器技术;
- 时分复用技术:虚拟处理器。
虚拟技术的前提是并发性。
④异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停,已不可预知的速度向前推进,这就是进程的异步性。
只有系统拥有并发性,才有可能导致异步性。
总结:☆☆☆
1.操作系统的特征:并发、共享、虚拟、异步。
2.理解并发和并行的区别;
3.没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。
1.2 操作系统的发展与分类
1.2.1 手工操作阶段
- 缺点:人机速度矛盾,人的速度远低于机器的速度。
1.2.2 批处理阶段
- 单道批处理系统:
引入脱机输入输出技术;
优点:缓解人机速度矛盾的问题;
缺点:资源利用率依然很低。 - 多道批处理系统:
操作系统开始出现;
优点:多道程序并发执行,资源利用率高;
缺点:不提供人机交互功能。
1.2.3 分时操作系统
- 计算机以时间片为单位轮流为各个用户/作业服务;
- 优点:提供人机交互功能;
缺点:不能优先处理紧急任务。
1.2.4 实时操作系统:
- 硬实时系统:
必须在绝对严格的规定时间内完成处理;如导弹控制系统、自动驾驶系统。 - 软实时系统:
能接受偶尔违反时间规定;如12306火车订票系统。 - 优点:能优先处理紧急任务。
图解:
1.2.5 总结
1.3 操作系统的运行机制与体系结构
(0620)
1.3.1 操作系统的内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。
1.3.2 中断和异常(这节没看)
1.3.2 系统调用
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口,其中程序接口由一组系统调用组成。
- 命令接口:(允许用户直接使用)
- 程序接口:(允许用户通过程序间接使用)
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(存储分配、I/O操作、文件管理等),都必须通过系统调用的方式提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
系统调用和库函数的区别
- 普通应用程序:可以直接进行系统调用;也可以使用库函数。
有的库函数涉及系统调用(fopen、fread…
为库函数;open、read、write
为系统调用),有的不涉及(如取绝对值的函数)。 - 编程语言:可以理解成把系统调用封装成库函数,以隐藏系统调用的一些细节,使上层使用更加方便。
- 操作系统:向上提供系统调用。
- 裸机:
1.4 操作系统的体系结构(这节没看)
第二章 进程管理
2.1 进程与线程
2.1.1 进程的组成、特征
PCB、程序段、数据段三部分构成了进程实体(进程映像)。
- PCB:
系统为每个运行的程序(即进程)配置一个数据结构,称为进程控制块(PCB),用来描述进程的各种信息(如进程代码存放位置)。
操作系统通过PCB来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息。 - 程序段:
程序代码存放在程序段。 - 数据段:
程序运行时使用或产生的运算数据,如全局变量、局部变量、宏定义的常量等就存放在数据段内。
进程的特征:
- 动态性:最基本的特征,运行起来的程序被称为进程;
- 并发性:内存中有多个进程实体,各进程可并发执行;
- 独立性:进程是资源分配的基本单元(线程是接受调度的基本单元)
- 异步性:会导致并发程序执行结果的不确定性,需要进行进程同步;
- 结构性:
2.1.2 进程的状态 及 状态间的转换(五状态模型)
运行态、就绪态、阻塞态、创建态、终止态。
状态间的转换:
- 就绪态–>运行态:进程被调度;
- 运行态–>就绪态:时间片到,或者处理机被抢占;
- 运行态–>阻塞态:进程用系统调用的方式申请某种系统资源,或者请求等待某个时间发生;(进程自身做出的主动行为)
- 阻塞态–>就绪态:申请的资源被分配,或者等待的时间发生(是一种被动行为);
2.1.3 如何实现进程控制?
用原语实现进程控制。
原语的特点是执行期间不允许中断,只能一气呵成;这种不可被中断的操作即原子操作。
原语采用关中断指令和开中断指令实现。
2.1.4 进程通信:共享内存、消息队列、管道
2.1.5 线程
进程是资源分配的基本单位;线程是处理机调度的基本单位;
各进程间可以并发执行;各线程间也能并发执行;
进程间的切换系统开销很大;同一进程下的不同线程之间切换,系统开销小;
同一进程下的不同线程共享进程的资源;
2.2 处理机调度
2.2.1 进程的挂起态和七状态模型
进程的挂起态和七状态模型:
(暂时调到外存等待的进程状态为挂起状态suspend
,进一步可细分为就绪挂起和阻塞挂起)
2.2.2 处理机调度的层次
处理机调度分为三个层次:
- 高级调度(作业调度)
创建态–>就绪态 - 中级调度(内存调度)
利用虚拟存储技术,决定将哪个处于挂起状态的进程重新调入内存;
挂起态–>就绪态 - 低级调度(进程调度)
按照某种方法和策略从就绪队列中选取一个进程&#x