操作系统
- 定义
- 硬件组成:中央处理器、存储器(内存)、输入/输出设备
- 软件资源:操作系统、文本编辑程序、调试程序、汇编程序、各种高级语言的编译程序、数据库管理系统、文字处理系统、网络软件以及各种应用程序
- 操作系统有效组织和管理系统中各种软硬件资源,合理组织计算机系统的工作,又控制程序的执行
- 分类
-
单用户、批处理操作系统
-
分时、实时操作系统
-
网络、分布式操作系统
-
嵌入式操作系统
- 特性
- 并发性
-
共享性(互斥共享 和 同时访问)
-
虚拟性(将物理设备映射成逻辑上n个对应物, 分时策略)
- 异步
- 功能
- 文件管理
- 进程管理
- 存储管理
- 设备管理
- 作业调度管理
进程管理
- 进程 = 程序 + 数据 + PCB(process controller block)进程控制块
- 三态:运行、就绪、阻塞
- 进程通过 控制原语 通过进行控制,(原语不可分割,不允许中断)
- 创建原语、撤销原语
- 唤醒原语、阻塞原语
- 挂起原语、激活原语
-
进程同步:在异步环境下,各进程按照一定的顺序和速度执行
-
进程互斥:临界资源CR 一次只能被一个进程使用
-
PV操作 是通过 低级通信原语 实现(不可再分)
// P 操作
do {
s=s-1;
if(s<0) { // 当进程申请资源不足时
push_2_block_queue(p); // 插入阻塞队列
block_status(p); // 进程状态设置为阻塞, 等待资源
}
}while(s>=0) // 当进程申请资源足时
// V 操作
do {
s=s+1;
if(s<=0) { // 当进程申请资源不足时
pull_block_queue(p); // 消费阻塞队列
wakeup_status(p); // 唤醒一个阻塞进程
}
}while(s>0) // 当进程申请资源足时
- 进程通信与管程
-
低级通信 -> 信息交换,高级通信 -> 数据交换
-
高级通信:共享存储系统、消息传递系统、管道系统
-
管程 只允许一个进程进入,其他等待
- 进程死锁四特性:互斥性、循环等待、请求保持、不可剥夺
- 预防死锁,破坏四特性之一
- 线程是进程的一个实体,是系统独立分配和调度的单位
-
只拥有运行中必备的资源
- 三态:运行、就绪、阻塞
-
1进程 = n线程,线程之间可以并发执行
存储管理
- 衡量标准:速度、容量大、价格
- 作用:提高主存的利用率、扩充主存 以及 保护主存信息
-
直接存储器存取(DMA)技术 和 输入输出通道技术
- 虚拟地址->物理地址
- 现代存储层次 cache(buffer)->主存(内存)->辅存(硬盘)
-
cache 存储器(由 硬件组成, 比主存快, 对程序员透明)
- 组成: 存储体(指令/数据) + 标记(在主存中的位置)
- 缓存命中(90%-95%)及替代算法
- cache与主存一致性问题方法
- 写回(先写cache 做标识,当被替换时才写入主存)
- 直写(既写主存也写cache)
- 不操作 cache 直接写 主存
-
指令 cache 和 数据 cache
- 多层次 cache(一级cache、二级cache、三级cache)
- 虚拟存储器
- 主存-辅存的信息传输单位:段、页、段页
-
段式管理:
- 优势:段与程序分界相对应;便于共享;[堆栈、队列]这类的段可以动态调整长度
- 劣势:起点、终点难以分配;空间不好回收,造成大量冗余碎片
-
页式管理:
- 优势:传输定长页;起点、终点固定,分页方便、分配页方便
- 劣势:最后一页有浪费、每一页都不一定是逻辑独立的,在共享,保护,处理都不方便
-
段页式管理:程序按模块分段,段内分页,进入主存按照页为信息基本传输单位
- 主存储器
-
SRAM(static ram) 静态存储器 [cache]
-
DRAM(dynamic ram) 动态存储器 [主存储器] 需要不停刷新电路
-
直接寻址 和 间接寻址
设备管理
- 作用:提高设备效率、为用户提供标准接口
- 磁盘调度算法:
- FCFS(first come first service) 先来先服务
- SSTF(ShortestSeekTimeFirst) 最短寻到优先
- SCAN 扫描算法
文件管理
- 随机访问:对文件中的信息可以按任意顺序读写
-
文件控制块(PCB):描述和控制文件的数据结构
网络操作系统
网友评论