操作系统 | 《操作系统设计与实现》Homework 1 引言

教材:《操作系统设计与实现》(第三版)

1、操作系统的两个主要功能是什么?
答:管理系统软硬件资源;2)扩展计算机的功能

2、内核态和用户态的区别是什么?对于一个操作系统来说,这种区别为什么很重要?
答:1)内核态下,CPU可以执行其指令集中的每条指令,并在执行时使用硬件的各种功能。但是用户态只能执行部分指令,执行时仅使用部分功能。
2)拥有两种模式允许设计人员以用户态运行用户程序,拒绝他们访问关键指令。

3、什么是多道程序?
答:把多个程序放在内存中,并使他们交替进行,共享软硬件资源。宏观上看,多道程序是并行的,因为多道程序都在运行之中。从微观上看,多道程序是串行的,因为CPU每次只处理一个程序,交替执行。

4、什么是假脱机?你认为将来的高档个人计算机会将假脱机作为标准特性吗?
答:1)利用缓冲区、外围控制器等方法将独占设备改造成共享设备的技术,使得独占设备能逻辑上像共享设备一样使用。以打印机为例,若没有spooling技术,当要打印数据时,CPU要向打印机输出要打印的数据,打印机速度慢。有spooling时,cpu先将数据送到磁盘输出井,然后去做其他事。当打印机被占用,spooling系统将打印请求挂到等待队列上,等待条件满足,然后执行。
2)假脱机技术提高了CPU利用率我认为会作为标准特性。

5、在早期的计算机中,每一个字节数据的读写都是由CPU直接进行处理的(那时没有DMA,即直接存储器访问)。这种组织结构对多道程序技术有什么影响?
答:多道程序设计的主要原因是在某个程序等待I/O完成时,可以让CPU做一些其他操作。如果没有DMA,则CPU完全占用I/O,因此多道程序设计在CPU利用率方面没有任何收益增加。无论程序执行多少I/O,CPU都处于完全忙碌的状态。

7、下列哪种指令只能在内核态下执行?
(1)屏蔽所有中断
(2)读时钟日期
(3)设置时钟日期
(4)改变内存映像图
答:(1)、(3)、(4)只能在内核态下执行。

8、请指出个人计算机操作系统与大型主机操作系统的不同之处。
答:大型计算机通常是专门做某件事的主机,比如银行的主机,医院的主机等等。大型计算机能够非常快地处理大量的数据,比一个人在自己的计算机上处理的数据要多得多。大型计算机通常比个人计算机更加稳定,硬件要求更高。大型计算机允许多用户同时登录,而个人计算机不支持。

10、一个MINIX文件的所有者的UID=12,GID=1,该文件的权限模式码为rwxr-x—。另一个用户的UID=6,GID=1,如果他试图去执行该文件,结果会如何?
答:可以正常执行,权限码分为三部分,第一部分是UID的权限,第二部分是GID的权限,第三部分是所有用户。由于GID相同,由权限模式码可得同组用户具有可读和可执行的权限,因此可以正常执行。

14、块设备文件和字符设备文件的本质区别是什么?
答:块设备文件描述的是以随机访问的数据块为单元的设备,如磁盘;在打开一个块设备文件后,可以直接访问它的某一个数据块,随机存取;字符设备文件指以字符流方式进行操作的设备,如打印机。依照先后顺序存取资料的设备。

15、在MINIX3系统中,用户2对用户1的一个文件建立了一个链接,然后用户1删除了此文件,如果此时用户2去访问访问该文件,结果会如何?
答:文件没有被删除,只是文件的链接数减少了一次,仍然可以正常访问。

16、管道是一种必备的工具吗?如果没有了管道,系统的许多功能会失效吗?
答:管道不是一种必备的工具,管道本质是一种用来连接两个进程的虚拟文件,如果没有管道,系统可以通过其他的方式来代替它,不过使用起来没有那么方便。

21、假设一台计算机的执行速度为10亿条指令/秒,一个系统调用需要1000条指令,包括陷阱指令和上下文切换指令。请问,在保留一半的CPU容量来运行应用程序的情形下,该系统每秒钟能执行多少次系统调用?
10亿×12÷1000=50万
在保留一半的CPU容量来运行应用程序的情形下,该系统每秒钟能执行50万次系统调用。

25、客户-服务器模式在分布式系统中很流行。它能用在单机系统中吗?
答:可以,尤其当系统内核是消息传递系统时。

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值