首页 > 代码库 > 现代操作系统阅读 散记_系统概述

现代操作系统阅读 散记_系统概述

第一章引论,花了半天时间匆匆浏览,大概建立了一个对操作系统的映像

对于下面第六题的答案里提到管道有点迷惑

后面的几个题好难,自己看的还是不太明白哦!



将本书的课后习题及查到的答案附录于下:

1.什么是多道程序设计?

       多道程序设计技术是指在内存同时放若干道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。

[特点]:多道、宏观上并行(不同的作业分别在CPU和外设上执行)、微观上串行(在单CPU上交叉运行)。

[多道批处理系统]:将多道程序设计技术应用于批处理系统,就形成多道批处理系统。

2.SPOOLing:

         若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给

SPOOLING

SPOOLING

进程,而是在共享设备(磁盘或磁鼓)上的输出SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式存放于此。各进程的数据输出文件形成了一个输出队列,由输出SPOOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。

3.DMA

DMA原理编辑

DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。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的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等

            一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。