南工程操作系统原理期末复习
2015-12-15 23:28
323 查看
包含老师上课画的重点
整体上来说考试要求还是比较简单的,跟着我过一遍本文,包过。
一共分为5章,4章是重点章节
参考相关章节即可,下图仅仅是个人总结,意义不大
内核态:CPU访问内存所有的数据和进行所有的操作。包括磁盘,程序切换。
用户态:仅能有限的访问数据和操作。不允许访问外围设备。
特权指令:只能在内核态操作的指令,其余的为非特权指令。
抖动(颠簸):一次未作处理的计算机活动
因为所需的资源未被满足而不能进行操作
进程的控制在操作系统的内核中是通过进程控制原语执行的
进程的定义和其三态模型
进程是并发下一个独立程序在某个数据集上的一次执行,是系统分配资源的最小单位,也是执行的单位。
三态:1.运行态 2.就绪态 3。等待态,此外还有创建态和终止态
进程调度算法
1.先来先服务FCFS算法
2.优先级算法
实时操作系统RTOS是抢占式优先级算法
答: 严格按照就绪队列上的最高优先级任务先执行,可以被抢占
3.时间片轮转算法
题目:时间片应该是越大越好还是越小越好?
答:时间片过大会导致用户延迟过大,如果时间片过小,会导致操作系统浪费大量资源在切换时间片上导致效率低下。
题目:50ms的任务在20ms的时间片情况下要调度几次?
答:需要调度2次
分析:此处需要采用动态时间片方法。第一次时间片为20ms,第二次则翻倍为40ms。所以一共调度了2次。静态时间片方法则是每次都是20ms
PV为重点!
生产者消费者模型
简单的模型
1.IO中断 2.外部中断 3.程序中断 4.硬件故障中断 5.访管中断
管程的三大特性
1.互斥性 2.共享性 3.安全性
管程定义
是一种若干数据结构,变量,函数组成的特殊数据结构。进程可以使用提供的接口,但是不可以使用其内部的结构。
死锁的四个必要条件
互斥使用资源
占用且申请资源
不可抢占式分配资源
循环等待
死锁的原因
同类资源分配不合理
进程推进顺序不合理
何如预防死锁
可抢占式分配资源
资源按需分配
资源静态分配
死锁定理:当一个进程的资源分配图完全不可以简化的时候,就发生了死锁
例题:n个进程,共享m个资源。每个进程最多分配多少个(X)资源不会发生死锁?
满足公式:n(X-1) + 1 <= m
例题:n个进程,一个使用X个资源。最少分配多少个(m)资源不会发生死锁?
满足公式:n(X-1) + 1 <= m
快表是什么?
将最近访问的页表部分内容存入相联缓存器,则其中的页表则为快表
当作业要访问的页面不在主存的时候,由缺页中断服务函数将页面调到主存中去。若主存空间不够,需要将一定的页面置换出来。
页面置换算法
FIFO先进先出
LRU(最近最久未使用置换)
1.什么是设备驱动程序?
答:是主机和设备之间特殊的程序。是驱动IO,IO控制器,DMA控制器的代码的集合。是硬件的接口。设备必须要有设备驱动程序
2.设备驱动程序的作用?
答:1.检查用户发送的IO指令的合法性 2.发送IO指令控制设备 3.处理设备的硬件异常
软件IO,分为系统调用和spooling技术
软件IO的作用是什么?:高效(提高IO效率),统一规范标准
IO通道控制方式
字节多路通道: 低速IO,适合用于打印机等等
数组选择通道: 高速IO适合磁盘等。同时只允许一个设备传输。
数组多路通道: 高速IO,同时适合多个设备传输。
spooling的作用:能同时操作多个外围设备。
将独立设备变成共享设备。提高系统效率。
为什么要使用缓冲?
CPU和IO设备速率不匹配
逻辑记录大小与物理记录大小不一致
DMA控制,通道控制会使进程长时间等待
硬件缓存:硬件上有相应寄存器 软件缓存:使用临时区域存储数据
磁盘的三个参数?三个时间?
参数:1. 柱面号 2. 磁头号 3. 扇区号
时间:1. 寻找时间 2. 延迟(旋转)时间 3. 传输时间
顺序存取—根据顺序记录存取
随机存取—根据编号直接移动到记录地址进行读写操作
按键存取—根据key值得到逻辑记录,再去找到物理记录
顺序结构
链表结构
索引结构:
哈希结构:通过key值找到物理地址,适合无序快速查找
位示图
空闲文件目录
空闲块表(组织成链表,效率低下)
整体上来说考试要求还是比较简单的,跟着我过一遍本文,包过。
一共分为5章,4章是重点章节
第一章 操作系统概论 |
操作系统的结构 |
结构 | 一言以蔽之 |
---|---|
整体式结构 | 用户态包含应用和系统库,核心态包含系统调用和底层的设备驱动以及内核。 |
层次式结构 | 分为进程、文件、存储、设备、硬件管理五部分 |
客户/服务器结构 | 用户态是客户服务器、进程服务器、文件服务器、存储服务器。核心态是硬件和微内核 |
虚拟机 | 一个操作系统划分为多个子操作系统,每个操作系统有相应的应用程序 |
内核态和用户态 |
用户态:仅能有限的访问数据和操作。不允许访问外围设备。
特权指令:只能在内核态操作的指令,其余的为非特权指令。
第二章 处理器管理以及并发进程 |
进程 |
因为所需的资源未被满足而不能进行操作
进程的控制在操作系统的内核中是通过进程控制原语执行的
进程的定义和其三态模型
进程是并发下一个独立程序在某个数据集上的一次执行,是系统分配资源的最小单位,也是执行的单位。
三态:1.运行态 2.就绪态 3。等待态,此外还有创建态和终止态
进程调度算法
1.先来先服务FCFS算法
2.优先级算法
实时操作系统RTOS是抢占式优先级算法
答: 严格按照就绪队列上的最高优先级任务先执行,可以被抢占
3.时间片轮转算法
题目:时间片应该是越大越好还是越小越好?
答:时间片过大会导致用户延迟过大,如果时间片过小,会导致操作系统浪费大量资源在切换时间片上导致效率低下。
题目:50ms的任务在20ms的时间片情况下要调度几次?
答:需要调度2次
分析:此处需要采用动态时间片方法。第一次时间片为20ms,第二次则翻倍为40ms。所以一共调度了2次。静态时间片方法则是每次都是20ms
并发进程同步与互斥(PV操作) |
生产者消费者模型
简单的模型
int buffer; semaphore sp(缓冲区为空,可以放入)=1,sc(没有产品可以用来消费)=0; process producer(void) { while(1) { 生产产品 P(sp);//生产出了产品 buffer=产品//放入缓冲区 V(sc);//消费者可以消费了 } } process customer(void) { while(1) { P(sc); //从缓冲区取出 消费=buffer; V(sp);//取出了,可以继续放入 消费商品 } }
中断 |
管程 |
1.互斥性 2.共享性 3.安全性
管程定义
是一种若干数据结构,变量,函数组成的特殊数据结构。进程可以使用提供的接口,但是不可以使用其内部的结构。
死锁 |
互斥使用资源
占用且申请资源
不可抢占式分配资源
循环等待
死锁的原因
同类资源分配不合理
进程推进顺序不合理
何如预防死锁
可抢占式分配资源
资源按需分配
资源静态分配
死锁定理:当一个进程的资源分配图完全不可以简化的时候,就发生了死锁
例题:n个进程,共享m个资源。每个进程最多分配多少个(X)资源不会发生死锁?
满足公式:n(X-1) + 1 <= m
例题:n个进程,一个使用X个资源。最少分配多少个(m)资源不会发生死锁?
满足公式:n(X-1) + 1 <= m
第三章 存储管理 |
分页存储管理 |
将最近访问的页表部分内容存入相联缓存器,则其中的页表则为快表
分段存储管理 |
页面置换 |
页面置换算法
FIFO先进先出
LRU(最近最久未使用置换)
第四章 设备管理 |
答:是主机和设备之间特殊的程序。是驱动IO,IO控制器,DMA控制器的代码的集合。是硬件的接口。设备必须要有设备驱动程序
2.设备驱动程序的作用?
答:1.检查用户发送的IO指令的合法性 2.发送IO指令控制设备 3.处理设备的硬件异常
软件IO |
软件IO的作用是什么?:高效(提高IO效率),统一规范标准
设备IO控制方式 |
字节多路通道: 低速IO,适合用于打印机等等
数组选择通道: 高速IO适合磁盘等。同时只允许一个设备传输。
数组多路通道: 高速IO,同时适合多个设备传输。
缓冲技术 |
将独立设备变成共享设备。提高系统效率。
为什么要使用缓冲?
CPU和IO设备速率不匹配
逻辑记录大小与物理记录大小不一致
DMA控制,通道控制会使进程长时间等待
硬件缓存:硬件上有相应寄存器 软件缓存:使用临时区域存储数据
磁盘调度 |
参数:1. 柱面号 2. 磁头号 3. 扇区号
时间:1. 寻找时间 2. 延迟(旋转)时间 3. 传输时间
虚拟设备 |
第五章文件管理 |
文件存取方式 |
随机存取—根据编号直接移动到记录地址进行读写操作
按键存取—根据key值得到逻辑记录,再去找到物理记录
文件物理结构 |
链表结构
索引结构:
哈希结构:通过key值找到物理地址,适合无序快速查找
文件存储管理 |
空闲文件目录
空闲块表(组织成链表,效率低下)
相关文章推荐
- html+css复习小结
- 密码
- 如何在Linux上部署gerrit 服务?
- 关于LinearLayout属性android:layout_marginRight的错误
- struts2学习笔记(三)
- MySQL安装--ubuntu
- leetcode -- Triangle -- dp题目重点
- 51nod贪心例子活动安排问题二
- 《多线程之GCD》
- storm入门教程 第一章 前言
- 移动web开会发一些问题
- Objective-C中的内存管理
- ViewPager结合ImageView实现图片轮播的实例
- php中以双下划线打头的作用
- cursorindexoutofboundsException: After last row 分析
- Day Five (beta)
- struts2学习笔记(二)
- 自己写 el 函数
- My SQL ON DUPLICATE KEY UPDATE
- 数据库的配置文件注释