操作系统学习笔记
1 操作系统的演进
多道程序设计
- 多道程序设计是指在计算机内存中同时存放多个程序
- 多道程序在计算机的管理程序之下相互穿插运行
操作系统五大功能
2 操作系统概述
2.1 What&Why
- 操作系统的种类是多种多样的,不局限于计算机
- 从手机到超级计算机,操作系统可简单也可复杂
- 在不同的设备上,操作系统可向用户呈现多种操作手段
- - 我们不可能直接操作计算机硬件
- 设备种类繁多复杂,需要统一界面
- 操作系统的简易性使得更多人能够使用计算机
2.2 操作系统的基本功能
2.3 操作系统相关概念
2.3.1并发性
并行:是指两个或多个事件可以在同一个时刻发生 并发:是指两个或多个事件可以在同一个时间间隔发生
2.3.2共享性
-
共享性表现为操作系统中的资源可供多个并发的程序共同使用,这种共同使用的形式称之为资源共享 -
互斥共享形式:当资源被程序A占用时,其他想使用的话只能等待,只有进程A使用完以后,其他进程才可以使用该资源 -
同时访问形式:某种资源在一段时间内并发地被多个程序访问,这种“同时”是宏观的,从宏观去看该资源可以被同时访问
2.3.3虚拟性
2.3.4 异步性
- 在多道程序环境下,允许多个进程并发执行
- 进程在使用资源时可能需要等待或放弃
- 进程的执行并不是一气呵成的,而是以走走停停的形式推进
3 进程管理
-进程是系统进行资源分配和调度的基本单位
- 进程作为程序独立运行的载体保障程序正常执行
- 进程的存在使得操作系统资源的利用率大幅提升
3.1 进程实体
3.1.1 主存中的进程形态
- 标识符:唯一标记一个进程,用于区别其他进程
- 状态:标记进程的进程状态,如:运行态
- 程序计数器:进程即将被执行的下一条指令的地址
- 内存指针:程序代码、进程数据相关指针
- 上下文数据:进程执行时处理器存储的数据
- IO状态信息:被进程IO操作所占用的文件列表
- 记账信息:使用处理器时间、时钟数总和等
进程控制块(PBC)
- 用于描述和控制进程运行的通用数据结构
- 记录进程当前状态和控制进程运行的全部信息
- PCB的使得进程是能够独立运行的基本单位
- PCB是操作系统进行调度经常会被读取的信息
- PCB是常驻内存的,存放在系统专门开辟的PCB区域内
3.1.2 进程与线程
3.2 五状态模型
就绪状态
- 当进程被分配到除CPU以外所有必要的资源后
- 只要再获得CPU的使用权,就可以立即运行
- 其他资源都准备好、只差CPU资源的状态为就绪状态
执行状态:
- 进程获得CPU,其程序正在执行称为执行状态
- 在单处理机中,在某个时刻只能有一个进程是处于执行状态
阻塞状态:
- 进程因某种原因如:其他设备未就绪而无法继续执行
- 从而放弃CPU的状态称为阻塞状态
创建状态:
- 创建进程时拥有PCB但其他资源尚未就绪的状态称为创建状态
终止状态:
- 进程结束由系统清理或者归还PCB的状态称为终止状态
3.3 进程同步
3.3.1 为什么需要进程间同步
- 对竞争资源在多进程间进行使用次序的协调
- 使得并发执行的多个进程之间可以有效使用资源和相互合作
3.3.2 进程间同步的原则
- 空闲让进:资源无占用,允许使用
- 忙则等待:资源有占用,请求进程等待
- 有限等待:保证有限等待时间能够使用资源
- 让权等待:等待时,进程需要让出CPU
3.3.3 线程同步
互斥量------原子性
- 互斥量是最简单的线程同步的方法
- 互斥量(互斥锁),处于两态之一的变量:解锁和加锁
- 两个状态可以保证资源访问的串行
自旋锁
读写锁
条件变量
4 作业管理
4.1 进程调度
4.1.1 概述
4.1.2 调度算法
4.3 死锁
- 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的
4.3.1 死锁产生原因
4.3.2 死锁处理
破环条件
5 存储管理
5.1 内存分配和回收
5.1.1 内存分配过程
5.1.2 内存回收过程
5.2 段页式存储管理
5.2.1 页式存储管理
5.2.2 段式存储管理
5.2.3 段页式存储管理
5.3 虚拟内存
5.3.1 概述
5.3.2 程序的局部性原理
5.3.3 虚拟内存置换算法
6 文件管理
6.1 文件的逻辑结构
6.2 辅存的存储空间分配
6.2.1 辅存的分配方式
6.2.2 存储空间管理
7设备管理
7.1 广义的IO设备
7.2 IO设备的缓冲区
7.3 SPOOLing技术
|