操作系统设计与实现(上册)课后答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章引言
1.操作系统的两个主要功能是什么?
答:底层硬件的扩展机和硬件资源管理器
2.内核态和用户态的区别是什么?对于一个操作系统来说,这种区别为什么很重要?
答:核心态下进程可以执行特权指令,而用户态下不行。内核态下运行的程序,收到硬件保护,用户不能随便去篡改它的内容,一般是操作系统的组成部分。用户态程序,因为不是操作系统的组成部分,是操作系统上独立的程序,可以很容易被其它程序代替。因为这种区别可以很好的保护操作系统,防止用户修改,所以对操作系统很重要。
3.什么是多道程序?
答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行。它将内存划分为几个分区,每个分区存放不同的作业。当一个作业正在等待I/O操作完成时,另一个作业就可以去使用CPU。按照这个思路,如果在内存中存放足够多的作业,那么CPU的利用率就可以接近100%。
多道程序运行的特征是:1多道:即计算机内存中同时存放几道相互独立的程序。2宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。3微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有处理机。
4.什么是假脱机?你认为将来的高档个人计算机会将假脱机作为标准特性吗?
答:当一张卡片被拿到机房后,能够很快把其中的作业读入磁盘。这样,当一个作业运行结束后,操作系统就能将一个新作业从磁盘中读出,并装入刚刚空出来的内存分区去运行。这种技术称为假脱机技术。将来的高档个人计算机中也需要这种特性,因为计算机的CPU和内存,内存和硬盘,硬盘和数据录入之间数据读取速度都差几个数量级,如用户录入数据时,可以通过扫描,将数据很快读入磁盘。或者通过人工录入数据,这种方法是效率是很低的。这样会严重浪费计算机的内存和CPU资源,如果利用假脱机技术,能够弥补这方面的缺陷。
5.在早期的计算机中,每一个字节数据的读写都是由CPU直接进行处理的(那时候没有DMA,即直接存储器访问)。这种组织结构对多道程序技术有什么影响?
答:多道程序计数目的在于当一个作业在等待I/O操作时,另一个作业能够使用CPU。如果每个字节数据的读写都由CPU直接进行处理,那么在作业进行I/O操作时,CPU不是空闲的,无法被另一个作业使用。因此达不到多道程序并行运行的效果。
6.为什么分时系统未被第二代计算机广泛采用?
答:第一代:真空管和插接板;第二代:晶体管和批处理系统;第三代:集成电路和多道程序;第四代:个人计算机
因为第二代计算机的设计没有采用所需要的硬件保护机制,不能很好的保护内存中的各个作业,使它们不会相互妨碍攻击。
7.下列哪种指令只能在内核态下执行?
(1)屏蔽所有中断
(2)读时钟日期
(3)设置时钟日期
(4)改变内存映像图
答:(4)因为内存映像图用户态程序是无法发出请求改变的,所以只会有内核态程序自动进行调整。8. 请指出个人计算机操作系统与大型主机操作系统的不同之处
答:个人计算机是面对那些对计算机一无所知且不想学习的用户。因此它必须要有友好的用户接口,用户接口在操作系统中占有很重要的地位,他们主要是图形的用户接口。而大型主机操作系统所面对的用户是专业的计算机人员,对用户接口要求不是很高,主要是通过命令行的方式进行交互。
9.给出一个理由,说明为什么源代码不公开的商业操作系统(如Windows)要比一个开放源代码的操作系统(如Linux)具有更好的品质。然后再给出一个理由,说明为什么开放源代码的操作系统(如Linux)要比一个源代码不公开的商业操作系统(如Windows)具有更好的品质。
答:不开源的操作系统,有利于保护公司的知识产权,公司能够投入大量的资金和技术进行研发和维护,并且同时有利于标准化。开源的操作系统,能够吸收全世界优秀的程序员为它进行修改和维护,它是免费的。因为开源,所以操作系统的漏洞很容易被发现,并能得到及时的修正,因此发展更快。
10. 一个MINIX文件的所有者UID=12,GID=1,该文件的权限模式码为rwxr-x---。另一个用户的UID=6,GID=1,如果他试图去执行该文件,结果会如何?
答:可以正常执行,权限码分为三部分,第一部分是UID的权限,第二部分是GID的权限,第三部分是所有用户都有的权限,所以可以正常执行。
11.既然超级用户的存在将导致许多安全问题,为什么还要使用这个概念?
答:超级用户是系统中的一个特殊的用户,超级用户拥有系统的最高权限,许多保护规则对它无效。可以管理系统所有的权限,管理系统非常方便。
12.UNIX的所有版本都支持文件的两种命名方式,即绝对路径名(相对于根目录)和相对路径名(相对于当前工作目录)。能否去掉其中的一种,只使用一种统一的命名方式?如果要这样做,你建议保留哪一种。
答:可以去掉其中的一种,但是使用起来就没有两种方式混合用那么方便。如果要去掉一种,建议去掉第二种,因为第一种可以进行全局定位,不需要知道当前目录是哪里。
13.在分时系统中为什么需要进程表?假设在一个PC机系统中,只有一个进程存在,该进程占有整个的系统资源,直至它运行结束。在这种情形下,是否还需要进程表?
答:在分时系统中,每隔一定的周期,操作系统就会暂停当前进程的执行,转而启动另一个进程。进程被暂时挂起,那么后来当它需要重新运行的时候,就要求此刻的状态与先前暂停时的状态完全相同。这就意味着当我们挂起一个进程时,必须把它所有信息都要保存在某个地方。因此,就需要进程表来存放进程的所有信息。如果系统只有一个进程,占有整个系统资源,那么就不需要进程表。
14.块设备文件和字符设备文件的本质区别是什么?
答:块设备文件描述的是以随机访问的数据块为单元的设备,如磁盘。在打开一个块设备文件后,可以直接去访问它的某一个数据块,如第4个数据块,而不用考虑其文件系统的内部结构。类似地,字符设备文件指那些以字符流方式进行操作的设备,如打印机、调制解调器等。他们的本质区别是操作的对象不一样和访问数据的方式不一样,归根到底是设备特性引起的。