第一章引论,花了半天时间匆匆浏览,大概建立了一个对操作系统的映像
对于下面第六题的答案里提到管道有点迷惑
后面的几个题好难,自己看的还是不太明白哦!
将本书的课后习题及查到的答案附录于下:
1.什么是多道程序设计?
多道程序设计技术是指在内存同时放若干道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。
[特点]:多道、宏观上并行(不同的作业分别在CPU和外设上执行)、微观上串行(在单CPU上交叉运行)。
[多道批处理系统]:将多道程序设计技术应用于批处理系统,就形成多道批处理系统。
2.SPOOLing:
若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给
SPOOLING
进程,而是在共享设备(磁盘或磁鼓)上的输出SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式存放于此。各进程的数据输出文件形成了一个输出队列,由输出SPOOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。
3.DMA
DMA原理编辑
DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。
DMA
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。
中断方式
为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,用来控制外围设备和内存与CPU之间的数据传送称为中断方式。本词条缺少概述、信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
1.定义
CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序.处理完毕后自动恢复原程序的执行.
2.实质
程序切换
实现方法:
保存断点,保护现场;
恢复现场,返回断点.
时间:
一条指令结束时切换.
保证程序的完整性.
3.特点
具有随机性。
4.处理过程
1)唤醒被阻塞的驱动程序;
2)保护被中断过程的CPU环境;
3)分析中断原因,转入相应的设备中断处理程序。
4)进行中断处理;
5)恢复被中断进程的现场。
4.为了支持25行80列字符的单色文本屏幕需要多少视频RAM?1024*768的24位色彩呢?1980年$5/KB成本是多少?现在呢?
取决于需要存储一个像素的多少信息,以及是否采用了压缩技术。
如果是非黑即白的二值图像,不压缩的情况下一个像素只需要1个bit。
如果是256种状态的灰度图像,不压缩的情况下一个像素需要8bit(1字节,256种状态)。
如果用256种状态标识屏幕上某种颜色的灰度,而屏幕采用三基色红绿蓝(RGB),不压缩的情况下一个像素需要占用24bit(3字节),这个就是常说的24位真彩色。
还有各种其他的存储方式,例如15bit、16bit、32bit
250B 1$多
1024*768*3B 2304KB 1w$多
5.
考虑一个有两个CPU的系统,并且每个CPU有两个线程(超线程)假设有3个线程P0,P1,P2,分别以运行时间5ms,10ms,20ms开始。运行这些程序需要多少时间?假设这三个程序都是100%限于CPU,在运行时无阻塞,并且一旦设定就不改变CPU。
考虑一个有两个
CPU
的系统,
并且每个
CPU
有两个线程
(超线程)
。
假设有三
个线程
P0
,
P1
,
P2
,分别以运行时间
5ms
,
10ms
,
20ms
开始。运行这些程序需
要多少时间?假设这三个程序都是
100%
限于
CPU
,
在运行时无阻塞,
并且一旦设
定就不改变
CPU
。
1)(P0,P1) and P2 => (5ms + 10ms) and 20ms => 20ms
2)(P0,P2) and P1 => (5ms + 20ms) and 10ms => 25ms
3)(P1,P2) and P0 => (10ms + 20ms) and 5ms => 30ms
4)(P0,P1,P2) => (5ms + 10ms + 20ms) => 35ms
6一台计算机有一个四级流水线,每一级都花费相同的时间执行其工作,即1ns。这台机器每秒可执行多少条指令?
答:从管道中每纳秒出现一条指令。意味着该机器每秒执行十亿条指令。它对于管道有多少个阶段不予理睬,即使是10-阶段管道,每阶段1nsec,也将执行对每秒十亿条指令。因为无论哪种情况,管道末端输出的指令数都是一样的。(操作系统第二版中文答案)
7假设一个计算机系统有高速缓存、内存(RAM)以及磁盘,操作系统用虚拟内存。读取缓存中的一个词需要2ns,RAM需要10ns,硬盘需要10ms。如果缓存的命中率是95%,内存的是(缓存失效时)99%,读取一个词的平均时间是多少?
2ns * 0.95 + 10ns *0.99 *(1-0.95) + 10ms * (1-0.99) *(1-0.95)
8文件系统
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等
一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。