三、操作系统
3.1操作系统的类型
批处理操作系统(单道和多道)
分时系统(多路性(同时性)、独立性、交互性、及时性)注:UNIX是多用户多任务的分时系统。
实时系统——高可靠性
网络操作系统
分布式操作系统
微机操作系统
嵌入式操作系统
3.2互斥和同步
利用PV操作实现进程的互斥和同步。
3.3网络操作系统
集中模式
客户机/服务器模式
对等模式
3.4中断响应时间
从发出中断请求到进入中断处理所用的时间。
3.5中断响应时间
中断响应时间=关中断的最长时间 +保护CPU内部寄存器的时间 +进入中断服务函数的执行时间 +开始执行中断服务例程(ISR)的第一条指令时间。
3.6数据记录
在磁盘驱动器向盘片的磁性涂层写入数据时,均是以串行方式一位接着一位的顺序记录在盘片的磁道上。
3.7高速缓存的组成
高速缓存的组成:Cache由两个部分组成:控制部分和Cache存储器部分。
3.8Cache与主存之间的地址映像
Cache与主存之间的地址映像,就是把CPU送来的主存地址转换成Cache地址。有三种方式:
直接映像:它把主存空间按Cache大小等分成区,每区内的各块只能按位置一一对应到Cache的相应块位置上。
主存地址:主存区号+块号B+块内地址W
Cache地址:块号b + 块内地址w
对应关系:块号B=块号b , 块内地址W = 块内地址 w
全相联映像:主存中的每一页可以映像到Cache中的任意一页。
主存地址:块号B+块内地址W
Cache地址:块号b +块内地址w
对应关系:块号B通过地址变换表对应于块号b , 块内地址W = 块内地址 w
组相联映像:是直接映像和全相联映像的折中方案。即组间直接映像,组内全相联映像。
主存地址:区号E+组号G+组内块号B+块内地址W
Cache地址:组号g + 组内块号b + 块内地址w
组间是直接映射关系,组内是全相连映射关系
对应关系:组号G=组号g,组内块号B通过地址变换表对应于组内块号b , 块内地址W = 块内地址 w
3.9Cache存储器
命中率:t3=μ×t1﹢﹙1-μ﹚×t2。其中:μ为Cache的访问命中率(1﹣μ)为未命中率,t1表示Cache的周期时间,t2表示主存储器的周期时间,t3为“Cache+主存储器”的平均周期。
使用Cache后提高的倍数: r = t2/t3。
3.10替换算法
目标就是使Cache获得最高的命中率。常用算法如下:
随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去。
先进先出算法。就是将最先进入Cache的信息块替换出去。此法简单但并不能说最先进入的就不经常使用。
近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。该算法较先进先出算法要好一些。但此法也不能保证过去不常用将来也不常用。
优化替换算法。使用这种方法时必须先执行一次程序,统计Cache的替换情况。
3.11局部性理论和Denning的工作集理论
虚拟存储管理系统的基础是程序的局部性理论:程序的局部性表现在时间局部性和空间局部性上。时间局部性是指最近被访问的存储单元可能马上又要被访问。空间局部性是指马上被访问的存储单元,其相邻或附近单元也可能马上被访问。
根据程序的局部性理论,Denning提出了工作集理论:在进程运行时,如果能保证它的工作集页面都在主存储器内,就会大大减少进程的缺页次数,使进程高效地运行;否则将会因某些工作页面不在内存而出现频繁的页面调入/调出现象,造成系统性能急剧下降,严重时会出现“抖动”现象。
3.12进程状态
就绪→运行:条件是被调度程序选中。
运行→就绪:条件是时间片到(超时) 或被更高优先级的进程剥夺。
运行→等待:条件是不具备运行条件,等待某一事件的发生。
等待→就绪:条件是等待的事件已发生,具备了运行条件。
在状态转换中不能由等待态直接进入运行态,也不能由就绪态进入等待态。
3.13进程不发生死锁的条件
系统资源数 = 进程数*(每个进程所需资源数-1)+1。
3.14前趋图
前趋图是一个有向无循环图。
3.15PV操作
生产者和消费者问题。
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机。
临界区:每个进程中访问临界资源的那段程序代码。
s:信号量;P操作:使S = S-1,若S<0,进程暂停执行,放入信号量的等待队列;V操作:使s = s+1,若s≤0,唤醒等待队列中的一个进程。
进入临界区时进行P操作,退出临界区是进行V操作。
3.16进程通信(间接通信)
发送信件:如果指定信箱未满,则将信件送入信箱中由指针所指示的位置,并释放等待该信箱中信件的等待者;否则发送信件者被置成等待信箱状态。
接收信件:如果指定信箱中有信,则取出一封信件,并释放等待信箱的等待者,否则接收信件者被置成等待信箱中信件的状态进程通信。
3.17存储管理
页式存储管理:逻辑地址分为页号+页内地址,页表分为 页号+块号,块号对应内存块号。物理地址 = 块号+页内地址。页内地址由每页的大小决定,如逻辑地址有16K=214,页面大小为2K=211则页内地址为11位,也号为3位。即:P=INT[A/L];d=[A]MOD L.其中逻辑地址为A。页面大小为L页号P,页内地址d。
段式存储管理方式:逻辑地址分为 段号+段内地址,段表分为 段号+段长+基址。基址对应内存地址。物理地址 = 基址+段内地址。
段页式存储管理方式:逻辑地址分为 段号(s)+段内页号(P)+页内地址(w)。由一个段表和多个(一组页表)组成。物理地址 = 块号+页内地址。在多道环境下,每道程序还需要一个基号作为用户标识。那么物理地址 = (基号+段号+页号)*2n+页内地址。其中2n是将n位的页内地址拼接到后面。
3.18文件系统的主要功能
实现对文件的按名存取,使用打开文件(open)将文件的控制信息从辅存读到内存。
3.19FAT16文件系统中磁盘分区容量
FAT16文件系统中磁盘分区容量=簇的大小×216。
3.20Spooling技术
Spooling技术是用一类物理设备模拟另一类物理设备的技术,实现这种技术的功能模块称做斯普林系统。Spooling系统的特点:
提高了I/O速度。
将独占设备改造成共享设备。
实现了虚拟设备的功能。