现代操作系统(一)——引论

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

    创新互联建站始终坚持【策划先行,效果至上】的经营理念,通过多达十载累计超上千家客户的网站建设总结了一套系统有效的全网营销解决方案,现已广泛运用于各行各业的客户,其中包括:成都高空作业车租赁等企业,备受客户表扬。

多道程序设计是将内存分几个部分,每一部分存放不同的作业,例如:

现代操作系统(一)——引论

当一个作业等待I/O操作完成时,另一个作业可以使用CPU。如果内存中可以同时存放足够多的作业,则CPU利用率可以接近100%,在内存中同时驻留多个作业需要特殊的硬件来对其进行保护,以避免作业的信息被窃取或受到***。

2.什么是SPOOLing?是否认为将来的高级个人计算机会把SPOOLing作为标准功能?

当一个作业运行结束时,操作系统就能将一个新作业从磁盘读出,装进空出来的内存区域运行,这种技术叫做SPOOLing(同时的外部设备联机操作)

3.在早期计算机中,每个字节的读写直接由CPU处理(即没有DMA),对于多道程序而言这种组织方式有什么含义?

4.系列计算机的思想在20世纪60年代由IBM引入进System/360大型机,现在这种思想已经消亡了还是继续活跃着?

5.缓慢采用GUI的一个原因是支持它的硬件的成本(高昂)。为了支持25行80列字符的单色文本屏幕应该需要多少视频RAM?对于1024*768像素24色彩位图需要多少视频RAM?在1980年($5/kb)这些RAM的成本是多少?现在它的成本是多少?现在它的成本是多少?

6.在建立一个操作系统时有几个设计目的,例如:资源利用、及时性、健壮性等。列出两个可能互相矛盾的设计目的。

7.下面的哪一条指令只能在内核态中使用?

    a)禁止所有的中断

    b)读日期-时间时钟

    c)设置日期-时间时钟

    d)改变存储器映像

8.考虑一个有两个CPU的系统,并且每一个CPU有两个线程,假设有三个程序P0,P1,P2,分别以运行时间5ms、10ms、20ms开始。运行这些程序需要多少时间?假设这三个程序都是100%限于CPU,在运行时无阻塞,并且一旦设定就不改变CPU。

9.一台计算机有一个四级流水线,每一级都花费相同的时间执行其工作,即1ns。这台机器每秒可执行多少条指令?

10.假设一个计算机系统有高速缓存、内存(RAM)以及磁盘,操作系统用虚拟内存。读取缓存中的一个词需要2ns,RAM需要10ns,磁盘需要10ms。如果缓存的命中率是95%,内存的是(缓存失效时)99%,读取一个词的平均时间是多少?

11.一个校队人员注意到一部将要出版的操作系统手稿中有一个多次出现的拼写错误。这本书大致有700页,每页50行,一行80个字符。若把文稿用电子扫描,那么 主副本进入【】每个存储系统的层次要花费多少时间?对于内存储方式,考虑所给定的存储时间是每次一个字符,对于磁盘设备,假定存取时间是每次一个1024字符的盘块,而对于磁带,假设给定开始时间后的存取时间和磁盘存取时间相同。

12.在用户程序进行一个系统调用,以读写磁盘文件时,该程序提供指示说明了所需要的文件,一个指向数据缓冲区的指针以及计数。然后,控制权转给操作系统,它调用相关的驱动程序,假设驱动程序启动磁盘并且直到中断发生才终止,在从磁盘读的情况下,调用者会被阻塞(因为文件中没有数据)。在向磁盘写时会发生什么情况?需要把调用者阻塞一直等到磁盘传送完成为止吗?

13.什么是陷阱指令?在操作系统中解释它的用途

14.陷阱和中断的主要差别是什么?

15.在分时系统中为什么需要进程表?在只有一个进程存在的个人计算机系统中,该进程控制整个机器直到进程结束,这种机器也需要进程表吗?

16.说明有没有理由要在一个非空的目录中安装一个文件系统?如果要这么做,如何做?

17.在一个操作系统中系统调用的目的是什么?

18.对于下列系统调用,给出引起失败的条件:fork、exec以及unlink。

19.在count=write(fd,buffer,nbytes);调用中,能在count中而不是nbytes中返回值吗?如果能,为什么?

20.有一个文件,其文件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5.有如下系统调用:

lseek(fd,3,SEEK_SET);

read(fd,&buffer,4);

其中lseek调用寻找文件中的字节3.在读操作完成之后,buffer中的内容是什么?

21.假设一个10MB的文件存在磁盘连续扇区的同一个轨道上(轨道号:50)。磁盘的磁头臂此时位于第100号轨道,要想从磁盘上找回这个文件,需要多长时间?假设磁头臂从一个柱面移动到下一个柱面需要1ms,当文件的开始部分存储在的扇区旋转到磁头下需要5ms,并且读的速率是100MB/s。

22.块特殊文件和字符特殊文件的基本差别是什么?

23.在图1-17的例子中库调用称为read,而系统调用自身称为read。这两者都有相同的名字是正常的吗?如果不是,哪一个更重要?

24.在分布式系统中,客户机-服务器模式很普遍。这种模式能用在单个计算机的系统中吗?

25.对程序员而言,系统调用就像对其他库过程的调用一样,有无必要让程序员了解哪一个库过程导致了系统调用?在什么情形下,为什么?

26.图1-23说明有一批UNIX的系统调用没有与之相等价的Win32 API。对于所列出的每一个没有Win32等价的调用,若把一个UNIX程序转换到Windows下运行,会有什么后果?

27.可移植的操作系统是能从一个系统体系结构到另一个体系结构的移动不需要任何修改的操作系统。为什么建立一个完全可移植性的操作系统是不可行的,描述一下在设计一个高度可移植的操作系统时所设计的高级的两层是什么样的。

28.请解释在建立基于微内核的操作系统时策略与机制的分离带来的好处

29.下面是关于单位转换的

    a)一微年是多少秒?

    b)微米常称为micron。那么gigamicron是多长?

    c)1TB存储器中有多少字节?

    d)地球的质量是6000 yottagram,换算成kilogram是多少?

30.写一个和图1-19类似的shell,但是包含足够的实际可工作的代码,还可以填写某些功能,如输入输出重定向、管道以及后台作业等。

31.如果拥有一个个人UNIX类操作系统(Linux、MINIX、Free BSD),可以安全地崩溃和再启动,请写一个可以试图创建一个无限制数量子进程的shell脚本并观察所发生的事。在运行之前,通过shell键入sync,在磁盘上备好文件缓冲区以避免毁坏文件系统。

32.用一个类似于UNIX od或MS-DOS DEBUG的程序考察并尝试解释UNIX类系统或Windows的目录。


分享名称:现代操作系统(一)——引论
路径分享:http://scjbc.cn/article/igdjpg.html

其他资讯