操作系统2
页式存储管理
将进程空间分为一个个页,同样的将系统的物理空间也分为一个个物理块,每次将需要运行的页装入物理块,运行完在装入其他需要运行的页,就可以分批完成进程,而无需将整块逻辑空间全装入内存中。
优缺点(不怎么考)
优点:利用率高,碎片小(只在最后一个页有)、分配及管理简单。
缺点:增加了系统开销,可能产生抖动现象。
页面置换算法
-
有时候,进程空间分为100个页面,而系统内存只有10个物理块,无法全部满足分配,就需要将马上要执行完的页面先分配进去,而后根据算法进行淘汰,使100个页面能按执行顺序调入物理块中执行完。
-
缺页:需要执行的页不在内存物理块中,需要从外部调入内存,会增加执行时间,因此,缺页数越多,系统效率越低。
-
最优算法:OPT,理论上的算法,无法实现。
-
先进先出算法:FIFO,先调入内存的页先被置换淘汰,会产生抖动现象,即分离的页数越多,缺页率可能越多
-
最近最少使用:LRU,在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据局部性原理。这种方式效率高,且不会产生抖动现象。
段也是存储管理
- 对进程空间先分段,后分页
- 优点:空间浪费小、存储共享容易,能动态连接
- 缺点:由于管理软件的增加,复杂性和开销也增加,执行速度下降
系统中有13个索引节点,0-9为直接索引,即每个索引节点存放的是内容,假设每个物理盘大 小为4KB,共可存4KB* 10=40KB数据; 10 索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理 盘块的地址,假设每个地址占4B,4kb/4B=1K,则共有1024个地址,对应1024个物理盘,可存1024* 4KB=4098KB数据。
二级索引节点类似,直接盘存放一级地址, 一 级地址再存放物理盘快地址, 而后链接到存放数据的物理盘块, 容量又扩大了一个数量级, 为1024_1024_4KB数据。
树形文件目录
- 相对路径:是从当前路径开始的路径。
- 绝对路径:是从根目录开始的路径。
- 全文件名=绝对路径+文件名。要注意,绝对路径和相对路径是不加最后的文件名的,只是单纯的路径序列.
- 树形结构主要是区分相对路径和绝对路径,如下面例题(答案DB):
输入输出设备(稍微看一下)
-
程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低。只有这个是串行,下面几个都是并行的。
-
程序中断方式:外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高。适用于键盘等实时性较高的场景。
中断响应时间指的是从发出中断请求到开始进入中断处理程序;中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套,使用堆栈来保护断点和现场。
- DMA方式(直接主存存取):CPU只需完成必要的初始化等操作,数据传输的整个过程都由DMA控制器来完成,在主存和外设之间建立直接的数据通路,效率很高。适用于硬盘等高速设备。
在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求是在一条指令执行结束时;区分指令执行结束和总线周期结束。
虚设备和SPOOLING技术
一台实际的物理设备,例如打印机,在同一时间只能由一个进程使用,其他进程只能等待, 且不知道什么时候打印机空闲,此时,极大的浪费了外设的工作效率。
引入SPOOLING技术,就是在外设上建立两个数据缓冲区,分别称为输入井和输出井,这样, 无论多少进程,都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动按顺序打印,实现了物理外设的共享,使得每个进程都感觉在使用 个打印机,这就是物理设备的虚拟化。如下图所示:

磁盘结构
磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。
读取数据时,磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区,才能读取到对应的数据,因此,会产生寻道时间和等待时间,就是磁头移动到磁道所需的时间和等待读写的扇区转到磁头的下方所用的时间。其中寻道时间耗时最长, 寻道时间的调度算法如下:
- 先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
- 最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
- 扫描算法SCAN:又称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
- 单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。
嵌入式
嵌入式操作系统特点:微型化、代码质量高、专业化、实时性强、可裁剪可配置。
实时嵌入式操作系统的内核服务:异常和中断、计时器、/管理。
常见的嵌入式RTOS(实时操作系统):VxWorks、RT-Linux、QNX、pSOS。
嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:
片级初始化->板级初始化->系统初始化。
芯片级是微处理器的初始化,板卡级是其他硬件设备初始化,系统级初始化就是软件及操作系统初始化。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!