操作系统之基础篇

242 阅读3分钟

操作系统的演进

无操作系统

人工操作
用户独占
cpu等待人工操作
资源利用率低

批处理系统

无需等待人工操作
批量输入任务
资源利用率提升
多道程序设计

分时系统

人机交互
多用户共享
及时调试程序

多道程序设计的管理

操作系统概览

是管理硬件,提供用户交互的软件系统

操作系统的基本功能

操作系统统一管理着计算机资源

处理器资源
IO设备资源
存储器资源
文件资源

操作系统相关概念

并发性
共享性:操作系统中的资源可供多个并发的程序共同使用
虚拟性:把一个物理实体转变为若干个逻辑实体。物理实体是真实存在的,逻辑实体是虚拟的。
异步性:允许多个进程并发执行。进程在使用资源时可能需要等待/放弃。进程的执行并不是一气呵成的,而是走走停停的形式推进

进程管理

进程实体

为什么需要进程?
没有配置OS之前,资源需要当前运行的程序
配置OS之后,引入多道程序设计的概念
合理的隔离资源,运行环境,提升资源利用率

进程是系统进行资源分配和调度的基本单位
进程作为程序独立运行的载体保障程序正常执行
进程的存在使得操作系统资源的利用率大幅提升

主存中进程形态

标识符
状态
优先级
程序计数器
内存指针
上下文数据
IO状态信息
记账信息

进程与线程

线程 是操作系统进行运行调度的 最小单位
进程  是系统进行资源分配和调度的 基本单位

五状态模型

创建

创建进程时拥有PCB但其他资源尚未就绪的状态称为创建状态

就绪

其他资源都准备好,只差CPU资源的状态为就绪状态

终止

进程结束由系统清理/归还PCB的状态称为终止状态

阻塞

从而放弃CPU的状态称为阻塞状态

执行

进程获得CPU,其程序正在执行称为执行状态

进程同步

  根本问题是:彼此相互之间没有通信。所以,需要进程间的同步

进程间的同步

空间让进:资源无占用,允许使用
忙则等待:资源有占用,请求进程等待
有限等待:保证有效等待时间能够使用资源
让权等待:等待时,进程需要让出CPU

进程同步的方法

消息队列
共享存储
信息量

线程同步的方法

互斥量
读写锁
自旋锁
条件变量

Linux的进程管理

进程类型

前台进程:具有终端,可以和用户交互的进程
后台进程:没有占用终端的就是后台进程
守护进程:进程名字以d结尾的一般是守护进程

进程标记

进程ID:

存储管理

内存分配与回收

段页式存储管理

虚拟内存

Linux的存储管理

作业管理

过程调度

死锁

文件管理

操作系统的文件管理

Linux文件系统

Linux基本操作

操作系统的设备管理

设备管理