第二章 ,启动:
DISK 存放OS
BIOS基本I/O处理系统,进行初始化检查,将bootloader放到内存中,再由bootloader将OS放到内存中
OS与设备和程序交互:
面向外设是通过中断和IO
面向应用程序是通过系统调用和异常
系统调用(来源应用程序),异常(来源不良程序),中断(来源外设)
第三章 ,计算机体系结构
cpu ,内存,设备
内存:cache,主存,磁盘
虚拟内存=主存+磁盘 ,抽象,保护,共享,虚拟化
逻辑地址-------物理地址
碎片:
内部碎片:分配单元中的未使用内存
外部碎片:分配单元间的未使用内存
分区的动态分配策略:第一匹配,最佳匹配,最差匹配
压缩式碎片整理
交换式碎片整理
第四章 ,非连续内存分配:
分段
分页
TLB
多级页表
反向页表
第五章 ,虚拟内存:
1.覆盖技术 ,程序内的交换
2.交换技术,程序间的交换
3.虚拟技术 ,基于页的交换,通过缺页异常调入相应的页
后备存储 backing store : 文件 ,代码,动态加载的库,动态产生的配置文件swap file
(effective memory access time )平均访问时间 EAT=10(1-p)+5,000,000p(1+q)
内存访问10ns 磁盘访问5ms
page falut 缺页概率p
dirty page被修改页的概率q ,相当于对内存页进行了写操作
1+q 是因为 被写的页可能需要写回内存的情况
第六章 ,页面置换算法:
减少换入换出的次数
最优页面置换算法:选择最远时间会把使用的页淘汰
先进先出算法,FIFO,First In First Out:选择内存中驻留时间最长的页淘汰
最近最久未使用算法,LRU,Least Recently Used:选择最久未使用的那个页面 (链表/堆栈)-----考虑时间
时钟页面置换算法:选择 access bit 位是否为1 ,即被访问过,操作系统会定期置为0,但当页被访问时由硬件置为1.
二次机会页面置换算法 选择 access bit 和 dirty bit 都为0
最不常用页面置换算法,LFU,Least Frequently Used:选择访问次数最少的页------考虑访问次数
Belady现象
工作集 ,正在使用逻辑页的集合,W(t,A) t当前时刻,A定长页面的时间窗口---需要访问的页有哪些
W(t1,A)={1,2,4} W(t2,A)={3}
常驻集:当前时刻,进程实际在内存中页面的集合---需要访问的页哪些在内存中
全局置换算法
工作集替换算法:页不在工作集窗口中会被丢掉
基于缺页率的页面置换:本次发生缺页时刻t2 ,上次发生缺页时刻t1
t2-t1>2 从工作集中移出不在工作集的页面
t2-t1<=2 增加缺失页到工作集中
缺页率=缺页次数/内存访问次数
影响因素:页面置换算法,分配的物理页数,页的本身大小,程序局部性
第七章 ,进程与线程
进程,相互独立的地址空间
process control block ,PCB,进程控制块,保存与该进程相关的状态信息
进程状态:阻塞,就绪,运行
running----时间片用完--->ready
running-----等待事件---->block
线程,能够共享相同的地址空间
thread control block,TCB,