操作系统作用
通过资源管理(软硬件资源管理),提高计算机系统的效率,改善人机界面,向用户提供友好的工作环境
层级:计算机硬件 -> 操作系统 -> 其他系统软件 -> 应用软件
进程
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。
进程与程序的区别
- 进程是程序的一次执行过程,没有程序就没有进程;
- 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在
- 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡。
进程说明
进程管理-PV操作
PV操作是一种实现进程互斥与同步的有效方法。 PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思。
例0 例1
- 临界资源:进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
- 临界区:每个进程中访问临界资源的那段代码称为临界区。
- 信号量:是一种特殊的变量。
例1
举例2:
举例3:
举例3:
非抢占:当P1进行V操作,唤醒P2时,P1还会继续执行,直到结束或P操作阻塞,此时被唤醒的P2的才会执行。
进程管理-死锁
死锁
3个进程都需要5个资源:
- 假如每个进程都有4个资源时,即总资源数为12时,可能会发生死锁,如果上图
- 资源总数只需要>12,就至少有一个进程就可以满足条件,也就不会死锁
即:
满足不死锁的条件,资源总数要 >= 进程数 * (单进程所需资源数-1) + 1
死锁-银行家算法
举例:
例2
- 右侧是每个进程要继续运行还需的资源数,下面是当前剩余可用的资源数
- 可以看到,P1 还是需要5、3、1个资源,而剩余的资源数是不够的,所以P1肯定不能先执行。同理P2是可以执行的
- P2执行完成后,需要把其占有的资源加到剩余可用资源数里。
- 按照以上逻辑,就可以计算出答案为B
存储管理
分区存储
页式存储
由于分区存储,不能把大于内存的程序加载执行,所以通过虚拟内存(页式存储)来处理。
- 逻辑地址 = 页号 + 页内地址
- 物理地址 = 页帧号 + 业内地址
例0 例1 例2逻辑地址与物理地址的相互转化,就是计算出页内地址,然后根据页号与页帧号的对应表,直接替换位对方即可。
- 页面大小是4KB,默认按字节编址(8bit=1B)即要存储4K(2^12)个地址,则每个地址是12位
- 逻辑地址
5A29H
,其中A29
正好对应2进制的12位,所以5
就是页号,其对应的页帧号是6
,所以物理地址位6A29H
淘汰算法:
- 优先淘汰访问位=0(最近未被访问)的
- 其次淘汰修改位=0(未修改)的
- 注意:状态位=0,代表不在内存,所以也没有淘汰之说
段式存储
- 段地址合法性:(0,35K),从段表可以看出0号段长度是30K,这里段内偏移量是35K,已经超过的段长度,所以是非法的
考题:
- 按照段合法性判断即可
段页式存储
段页式存储的编号页面置换算法
-
最佳置换算法
该算法是一种理想化的算法,具有非常好的性能,但是由于目前无法预知未来,因此难以实现。 -
先进先出(FIFO)页面置换算法
该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。 -
最近最久未使用(LRU)算法
该算法以过去预测未来,选择之前最长时间未使用的页面置换。但是由于利用“过去”作为“未来”的近似这一做法并非完全可靠,因此有时会造成缺页率非常高,导致效率会非常低。 -
最不常用算法(LFU,Least Frequently Used)
每个块都是有一个引用计数器。
磁盘调度算法
例1 存取时间平均存储时间 = 寻道时间+选中传输时间+延迟时间
- 寻道时间 = 10ms * 10 = 100ms
- 平均存储时间 = (100ms + 100ms + 2ms)*100 = 20200ms
-
解题思路
磁盘在读完R0,对R0进行处理的过程中,磁头还在旋转中。等R0处理完,磁头已经到了R2开始处了,所以要读取R1,只能再旋转一周。
索引文件结构
如果题目中没有给每个地址项的大小,则默认为4字节,即4B
举例:
答案是A、D
解析:
逻辑地址的计算方式每个磁盘索引块为1KB(图中ABCDE部分),每个地址项为4字节,即4B,那一个索引块可以存储1KB/4B = 256个地址项
空闲存储管理 - 位示图
例1计算机指令集
内存模型
嵌入式操作系统
实时操作系统
微内核操作系统
恶意代码
(1)具有自我复制能力的依附性恶意代码:主要代表是病毒。
(2)具有自我复制能力的独立性恶意代码:主要代表是蠕虫。
(3)不具有自我复制能力的依附性恶意代码:主要代表是后门。
(4)不具有自我复制能力的独立性恶意代码:主要代表是木马。
恶意代码-主动 木马与蠕虫
网友评论