第二版linux操作系统原理与应用chp4
- 格式:ppt
- 大小:957.00 KB
- 文档页数:58
操作系统原理与实践教程(第二版)第4章习题答案第4章进程同步与死锁(1) 什么是进程同步?什么是进程互斥?解:同步是进程间的直接制约关系,这种制约主要源于进程间的合作。
进程同步的主要任务就是使并发执行的各进程之间能有效地共享资源和相互合作,从而在执行时间、次序上相互制约,按照一定的协议协调执行,使程序的执行具有可再现性。
进程互斥是进程间的间接制约关系,当多个进程需要使用相同的资源,而此类资源在任一时刻却只能供一个进程使用,获得资源的进程可以继续执行,没有获得资源的进程必须等待,进程的运行具有时间次序的特征,谁先从系统获得共享资源,谁就先运行,这种对共享资源的排它性使用所造成的进程间的间接制约关系称为进程互斥。
互斥是一种特殊的同步方式。
(2) 进程执行时为什么要设置进入区和退出区?解:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为“进入区”代码;在退出临界区后,必须执行“退出区”代码,用于恢复未被访问标志。
(3) 同步机构需要遵循的基本准则是什么?请简要说明。
解:同步机制都应遵循下面的4条准则:1.空闲让进。
当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
2.忙则等待。
当有一个进程在临界区时,其它欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
3.有限等待。
对要求访问临界资源的进程,应保证进程能在有限时间内进入临界区,以免陷入“饥饿”状态。
4.让权等待。
当进程不能进入临界区时,应立即放弃占用CPU,以使其它进程有机会得到CPU的使用权,以免陷入“饥饿”状态。
(4) 整型信号量是否能完全遵循同步机构的四条基本准则?为什么?解:不能。
在整型信号量机制中,未遵循“让权等待”的准则。
1、管理对象是内存及作为内存的扩展和延伸的后援存储器(外存)。
基本任务:a.按某种算法分配和回收存储空间。
b.实现逻辑地址到物理地址的转换。
c.由软硬件共同实现程序间的相互保护。
2、程序中通过符号名称来调用、访问子程序和数据,这些符号名的集合被称为“名字空间”,简称名空间。
当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为目标程序,或者相对目标程序。
这个目标程序指令的顺序都以0为一个参考地址,这些地址被称为相对地址,或者逻辑地址,有的系统也称为虚拟地址。
相对地址的集合称为相对地址空间,也称虚拟地址空间。
目标程序最后要被装入系统内存才能运行。
目标程序被装入的用户存储区的起始地址是一个变动值,与系统对存储器的使用有关,也与分配给用户使用的实际大小有关。
要把以0作为参考地址的目标程序装入一个以某个地址为起点的用户存储区,需要进行一个地址的对应转换,这种转换在操作系统中称为地址重定位。
也就是说将目标地址中以0作为参考点的指令序列,转换为以一个实际的存储器单元地址为基准的指令序列,从而才成为一个可以由CPU调用执行的程序,它被称为绝对目标程序或者执行程序。
这个绝对的地址集合也被称为绝对地址空间,或物理地址空间。
用户程序的装入,是一个从外存空间将用户已经编译好的目标程序,装入内存的过程。
在这个过程中,要进行将相对地址空间的目标程序转换为绝对地址空间的可执行程序,这个地址变换的过程称为地址重定位,也称地址映射,或者地址映象。
覆盖:是利用程序内部结构的特征,以较小的内存空间运行较大程序的技术。
交换:是指内外存之间交换信息。
3、一旦一个区域分配给一个作业后,其剩余空间不能再用(内零头或内碎片),另外当一区域小于当前所有作业的大小时,便整个弃置不用(外零头或外碎片)。
4、(1)2.4us (2)1.5us5、为了给大作业(其地址空间超过主存可用空间)用户提供方便,使他们摆脱对主存和外存的分配和管理。
《 Linux 操作系统(第 2 版)》课后习题答案1.6练习题一、选择题1. Linux 最早是由计算机爱好者B开发的。
A. Richard PetersenB. Linus TorvaldsC. Rob PickD. Linux Sarwar2.下列 C 是自由软件。
A. Windows XPB. UNIXC. LinuxD. Windows 20003.下列B不是 Linux的特点。
A. 多任务B.单用户C. 设备独立性D. 开放性4.Linux 的内核版本 2.3.20 是A的版本。
A. 不稳定B. 稳定的C. 第三次修订D. 第二次修订5.Linux 安装过程中的硬盘分区工具是D。
A. PQmagicB. FDISKC. FIPSD. Disk Druid6.Linux 的根分区系统类型是 C 。
A. FATl6B. FAT32C. ext4D. NTFS二、填空题1. GNU 的含义是: GNU's Not UNIX 。
2.Linux 一般有 3 个主要部分:内核( kernel)、命令解释层( Shell 或其他操作环境)、实用工具。
3.安装 Linux 最少需要两个分区,分别是swap 交换分区和 /(根)分区。
4.Linux 默认的系统管理员账号是root。
三、简答题(略)1.简述 Red Hat Linux 系统的特点,简述一些较为知名的Linux 发行版本。
2.Linux 有哪些安装方式?安装 Red Hat Linux 系统要做哪些准备工作?3.安装 Red Hat Linux 系统的基本磁盘分区有哪些?4.Red Hat Linux 系统支持的文件类型有哪些?2.6练习题一、选择题1.C命令能用来查找在文件TESTFILE中包含四个字符的行?A. grep ’????’TESTFILEB. grep’⋯.’TESTFILEC. grep’^????$’TESTFILED. grep’^⋯ .$’TESTFILE2.B命令用来显示/home及其子目录下的文件名。
操作系统概述在计算机应用的过程中,人们接触最频繁的是操作系统,例如磁盘操作系统DOS、易于使用的图形界面操作系统Windows、开放源代码的操作系统Linux等。
但是,操作系统往往是比较复杂的系统软件,相对于使用而言,要掌握它的运行机制就不是那么容易。
1.1 认识操作系统可以从不同的角度来认识操作系统。
从使用者的角度看,操作系统使得计算机易于使用。
从程序员的角度看,操作系统把软件开发人员从与硬件打交道的繁琐事务中解放出来。
从设计者的角度看,有了操作系统,就可以方便地对计算机系统中的各种软、硬件资源进行有效的管理。
1.1.1 从使用者角度人们对操作系统的认识一般是从使用开始的。
打开计算机,呈现在眼前的首先是操作系统。
如果用户打开的是操作系统字符界面,就可以通过命令行完成需要的操作。
例如,要在Linux下复制一个文件,则输入:cp /floppy/TEST mydir/test上述命令可以把/floppy目录下的TEST文件复制到mydir目录下,并更名为test。
为什么可以这么方便地复制文件?操作系统为此做了什么工作?首先,文件这个概念是从操作系统中衍生出来的。
如果没有文件这个实体,就必须指明数据存放的具体物理位置,即位于哪个柱面、哪个磁道、哪个扇区。
其次,数据转移过程是复杂的I/O操作,一般用户无法关注这些具体的细节。
最后,这个命令的执行还涉及其他复杂的操作,但是,因为有了操作系统,用户只需要知道文件名,其他繁琐的事务完全由操作系统去处理。
如果用户在图形界面下操作,上述处理就更加容易。
实际上,图形界面的本质也是执行各种命令,例如,如果复制一个文件,那么就要调用cp命令,而具体的复制操作最终还是由操作系统去完成。
因此,不管是敲击键盘或者单击鼠标,这些简单的操作在指挥着计算机完成复杂的处理过程。
正是操作系统把繁琐留给自己,把简单留给用户。
1.1.2 从程序开发者角度从程序开发者的角度看,不必关心如何在内存存放变量、数据,如何从外存存取数据,如何把数据在输出设备上显示出来,等等。