操作系统Word文档格式.docx
《操作系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
6.操作系统为什么要提供“系统调用”?
系统调用是操作系统为用户程序提供的一种服务界面,也可以说是操作系统保证程序设计语言能正常工作的一种支持。
在源程序一级,用户用程序设计语言描述算题任务的逻辑要求(如读文件、写文件等)。
而这些要求的实现只通过调用操作系统提供的不同功能的子程序,即系统调用。
7.批处理操作系统、实时操作系统和分时操作系统各有什么特点?
批处理操作系统是将一批作业的程序和数据交给系统后,系统顺序控制作业的执行,当一个作业执行结束后自动转入下一个作业的执行。
多道批处理操作系统,允许若干个作业同时装入主存储器,处理器轮流地执行各个作业,各个作业同时使用各自所需的外围设备。
实时操作系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完接收的事件。
实时操作系统要求要有比分时操作系统更强的及时性。
可靠性是实时系统最重要的设计目标之一。
分时操作系统的主要特点是:
①交互性。
用户能够直接与计算机系统交互。
②及时性。
由于支持人机交互,所以主机应该尽快地对用户的要求给予响应。
③独立性。
这主要是指多个用户虽然在同时使用主机系统,但是他们相互之间是不干扰的。
④多路性。
分时操作系统在宏观上看,整个系统同时在为多个用户服务。
8.从资源管理的观点来看,操作系统有哪些基本功能?
从资源管理的观点看,操作系统的功能可分成五大部分,即:
①处理器管理。
操作系统按照一定的调度算法分配处理机。
②存储管理。
负责分配、回收和保护存储单元。
③文件管理。
涉及到文件存储空间的分配与回收、文件目录管理、文件读写与保护。
④设备管理。
对设备进行分配、回收与控制。
第3章习题解答
1.解释下列术语逻辑地址;
绝对地址;
地址转换答:
逻辑地址:
对于用户来说,他无须知道自己的作业究竟是在主存的什么位置,他们可以认为自己的程序和数据就是放在从0地址开始一组连续的地址空间中,这个地址空间是程序用来访问信息所用的一系列连续地址单元的集合,该地址空间就是逻辑地址空间。
逻辑地址空间中,地址单元的编号称为逻辑地址。
绝对地址:
主存也被按照连续的存储单元进行编号,绝对地址空间就是主存中一系列连续存储信息的物理单元的集合,也称绝对地址空间为存储地址空间或物理地址空间。
绝对地址空间中物理单元的编号称为绝对地址。
地址转换:
由于一个作业装入到与其逻辑地址空间不一致的绝对地址空间,使得逻辑地址与绝对地址不同,而引起的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为重定位,也称为地址转换。
2.存储保护的目的是什么?
怎样实现存储保护?
存储保护的目的就是为了保护主存中各区域内的信息不被破坏,它包括存储的权限,存储不可跨越区域等等。
为实现存储保护,必须由硬件和软件配合实现。
比如在页式管理中,要由操作系统提供页表,硬件机构确定页的使用必须是安全的,如不能访问不属于自己的页等。
3.什么叫重定位?
重定位的方式有哪两种?
比较它们的不同。
重定位有静态和动态两种情况。
所谓静态重定位是在装入一个作业的时候,把作业中的指令地址和数据地址全部一次性地转换成绝对地址。
所谓动态重定位是由软件和硬件相配合来实现的。
地址重定位不再是装入的时候一次完成了,而是设置一个基址寄存器,装入作业的时候,将作业在主存区域的首地址放入到基址寄存器中。
作业执行的时候,由硬件的地址转换机构动态地对地址进行转换,执行指令的时候,只要将逻辑地址加上基址寄存器的内容,就得到了绝对地址。
静态重定位和动态重定位的不同在于:
①静态重定位是在作业装入的时候一次完成,动态重定位是在作业执行时再实现的。
②静态重定位是软件支持的,动态重定位是硬件和软件合作实现的。
③静态重定位不能实现主存的移动,而动态重定位可以。
④动态重定位还可能提供虚拟存储空间。
4.比较固定分区、可变分区和页式存储管理的优缺点。
固定分区优点:
①能支持多道程序设计。
②无需专门的硬件地址转换机构。
缺点:
①主存利用率不算太高,分配中出现内部零头问题。
②分区大小固定不灵活,不能为程序动态申请内存。
③不具备虚拟存储能力。
可变分区优点:
①支持多道程序设计。
②没有内部零头问题,主存利用率比固定分区高。
③采用移动技术后可以满足正在执行的作业的主存扩充的要求。
缺点:
①动态重定位和保护措施需要硬件机构支持,成本高。
②由于有外部零头,所以主存利用率依然不算很高。
③移动技术开销很大。
④每次必须将作业完整调入并连续存放,主存利用率不高。
⑤不具备虚拟存储能力。
页式存储管理优点:
①支持多道程序设计②解决了外部零头问题,内部零头大大减少(一个作业平均只有50%页面大小的内部零头)主存利用率比较高。
③用户作业无需在主存中连续存放,提高主存的利用率。
④如果是分页虚拟存储管理,可以提供大容量的多个虚拟存储器,主存利用率更高了。
①动态重定位和保护措施需要硬件机构支持,成本高;
②采用页表,占用了一部分主存空间和处理机时间。
③分页虚拟存储管理中,增加了缺页中断的处理,增加了系统开销。
5.采用可变分区方式管理主存时,为什么要引人移动技术?
采用移动技术可以使分散的主存空闲区集中以满足分配要求,采用移动技术后可允许作业执行时动态扩充主存区域。
6.页式存储管理中为什么要设置页表?
因为页式管理时把作业分散在主存中的不连续块中存放,必须通过页表来建立逻辑地址中的页号到绝对地址中的块号的映射,作为硬件进行地址转换的依据。
7.页式存储管理中页面大小是根据什么决定的?
页表的长度又是根据什么决定的?
页面的大小是由地址结构决定的。
页表的长度是由作业的信息量决定的,作业有多少页,页表中就有多少个记录项。
8.叙述页式存储管理中地址转换过程。
首先,操作系统为每个作业创建一张页表,它建立了逻辑地址中的页号到绝对地址中的块号的映射。
然后,借助于硬件地址转换机构,在作业执行过程中,每执行一条指令时,按逻辑地址中的页号查页表得到对应的块号,再根据公式“绝对地址=块号×
块长+页内地址”换算出欲访问的主存单元的绝对地址。
9.什么叫虚拟存储器?
根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。
同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制。
也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。
对用户来说,好象计算机系统具有一个容量很大的主存储器,称为“虚拟存储器”。
10.叙述页式存储管理实现虚拟存储器的基本思想。
基本思想是:
只需将作业的全部信息作为副本存放在磁盘上,作业被调度投入到运行时,至少把第一页信息装入主存储器,在作业执行过程中访问到不在主存储器的页的时候,再把它们装入到主存。
11.采用可变分区方式管理主存时,能实现虚拟存储器吗?
为什么?
不可以,因为可变分区每次必须将作业完整调入并连续存放,这不适合虚拟存储的要求。
同时,可变分区的硬件地址转换机构把绝对地址超出限定范围时作地址错处理,而不是产生“缺分区中断”。
12.什么叫“抖动”?
怎样衡量页面调度算法的好坏?
如果选用了一个不合适的调度算法,就会出现这样的现象:
刚被淘汰了的页面又立即要用,又要把它调入进来,而调入不久又被调出,调出不久再次被调入,如此反复,使得调度非常频繁,以至于大部分时间都花费在来回调度上。
这种现象叫“抖动”。
一个好的调度算法应减少和避免抖动现象。
13.假定某计算机系统的主存容量为32K,对主存采用动态定位可变分区分配算法。
现在已经有3个作业在主存储器中(如图),当作业J2执行时,要求扩充3K作业,为了满足作业J2这一要求,应移动几道作业的信息?
写出它们的次序、方向和距离。
因为采用可变分区的管理方式,要求作业的逻辑地址空间是连续的,并且主存空间也是连续的。
因此,作业J2要求扩充的主存区域应该在原占有区域之后,于是必须通过移动来集中空闲区以供J2扩充之需。
移动的方法有两种:
①先把J1向上移动1K再把J2向上移动2K.②J3向下移动2K.显然,第二种方法只要进行一次移动,明显比第一种方法好。
14.某采用页式存储管理的系统,接收了一共7页的作业,作业执行时依次访问的页为:
l、2、3、4、2、1、5、6、2、1、2、3、7.若把开始4页先装入主存,若分别用先进先出(FIFO)调度算法和最近最少用(LRU)调度算法,作业执行时回产生多少次缺页中断?
写出依次产生缺页中断后应淘汰的页。
采用先进先出调度算法会产生6次缺页中断,依次淘汰的页是1、2、3、4、5、6.采用最近最少用调度算法会产生4次缺页中断,依次淘汰的页是3、4、5、6.
15.某采用页式存储理管的系统,把主页分成大小为128的相等长度的块。
有一个用户要把一个128×
128的数组置成初值“0”,在分页时把数组中的元素每一行放在一页中,假定分给用户可用来存放数组信息的工作区只有一块(既只能放数组中的一行元素)。
用户编制了如下两个不同的程序来实现数组的初始化:
l)varA:
array[1.。
128]ofarray[l.。
128」ofinteger;
forj:
=1to128
dofori:
doA[j:
]=0;
2)varA:
array[1.。
128」ofarray[1.。
128」Ofinteger;
fori:
doforj:
doA[j]:
=0;
当分别运行这两个程序时,在实现数组初始化的过程中各会产生多少次缺页中断?
答:
假定数组的第一行元素已经存放在了一个主存块中,由于分页进把数组中的元数每一行放在一页中,所以每次i+1的时候都会产生缺页中断。
这样一来,按1)编制的程序,每执行一次A[j]:
=0就会产生一次缺页中断,于是总共产生(128×
128-1)次缺页中断。
而2)编制的程序执行时产生(128-1)次缺页中断。
第4章习题解答
1.什么叫文件?
所谓文件是指逻辑上具有完整意义的信息集合。
在计算机系统中,很多东西都是以文件的形式存放在辅存中供用户使用,其中包括作业的源程序、目标程序、数据以及各类软件程序等等。
2.文件系统应具有哪些功能?
为了正确地按名存取,文件系统具有如下功能:
①实现从逻辑文件到物理文件间的转换。
②有效地分配文件的存储空间。
③建立文件目录。
④提供合适的存取方法以适应各种不同的应用。
⑤实现文件的共享、保护和保密。
⑤提供一组文件操作。
3.什么是文件的逻辑结构和存储结构?
用户是从使用的角度来组织文件,用户把能观察到的且可以处理的信息根据使用要求构造成文件,这种构造方式称为文件的逻辑结构。
文件系统是从文件的存储和检索的角度来组织文件,在存储媒介上的文件构造方式称为文件的存储结构。
4.解释顺序文件、链接文件和索引文件。
(1)顺序结构将一个文件逻辑上连续信息存放在存储介质(磁盘)中相邻的块上,这种存储结构保证了逻辑记录顺序和物理块顺序相一致。
磁带上的文件只能是顺序结构的,因为磁带机本身就是个顺序存取的设备。
(2)链接结构(串联结构)文件所占用的存储介质物理块不再要求连续(相邻)的,可以分散在存储媒介上。
在结构上,采用链表的结构方式,将每一块的最后一个单元用来存放下一个物理块的地址,形成指针链。
最后一块的最后一个单元为0表示结束。
3)以索引结构和链接结构一样,也是一个非连续存储的结构,但它不采用链接方式,而是为每一个文件建立一张索引表,索引表中存放文件中每一个记录存放的物理地址。
5.解释记录的成组和分解答:
当文件的一个逻辑记录的长度小于一个物理块的长度的时候,我们可以把若干个逻辑记录合并成一组存到一个物理块中,这个工作称为成组。
访问某个记录的时候,需要把这个记录从它所在的块中的一组记录中分离出来,这一工作称为分解。
记录的成组和分解可以提高存储空间的利用率,并且可以减少存储设备的启动次数。
6.假定某个文件由长度为80个字符的100个逻辑记录组成,磁盘存储空间被划分成长度为2048个字符的块,为有效地使用磁盘空间,你可采用成组方式把文件存放到磁盘上,回答下列问题:
①该文件至少占用多少磁盘存储块?
②若该文件是以链接结构形式在磁盘上的,现用户要求使用第28个逻辑记录,写出系统为满足用户要求而应做的主要工作。
①每块能存放的记录个数为「2048/80」=25个。
一共需要100/25=4块。
②首先系统计算出第28个记录在第2个物理块上,然后系统通过文件目录读出第一块物理块,在该块最后单元找到第二物理块的地址,读出第二物理块,再经过肇按第28个记录在第二块中的位置读出该记录。
7.举一例说明数据的分解操作过程。
就以上题为例,假定某个文件由长度为80个字符的100个逻辑记录组成,磁盘存储空间被划分成长度为2048个字符的块,为有效地使用磁盘空间,采用成组方式把文件存放到磁盘上,现用户要求每次读一个逻辑记录到他的工作区中,当对该逻辑记录处理后,要求把下一个逻辑记录读人到工作区,直到连续读出8个记录。
由于主存储器与外存之间的信息交换是以块为单位的,所以应当在主存中开辟一个2048字节的缓冲区。
由上题可知每块中含有25个记录,文件一共占用4块,用户在指明了要读人记录的记录号N后,根据公式[N/25」得到该记录应该在4块的哪一块中,将该块读人到缓冲区中,并根据公式(N/25)得到该记录是块内的第几个记录(式中[]表示取整,()表示取余数),将该记录从缓冲区拷贝到用户工作区,然后N+l,如果[(N+1)/25]=[N/25],则将缓冲区中的下一个记录拷贝到用户工作区,而无需启动I/O操作,否则,按照新的块号将一个数据块读进缓冲区,并将记录从缓冲区拷贝到用户工作区。
8.页式存储管理中用位示图表示主存空间的分配情况,磁盘存储空间的分配也可用位示图来表示,两者能合用一张位示图吗?
不行,主存空间和磁盘存储空间是两种不同的存储空间,应该使用不同的位示图来表示分配情况。
9.为了实现按名存取,文件目录应包含哪些内容?
为了实现按名存取,文件目录至少要包括文件的名字和文件存放的物理地址,除此之外,目录中还可以包含其他的控制和管理文件的信息,如:
文件类型、记录长度、记录个数、口令、建立日期、保存期限、上次修改时间等。
10.怎样才能防止不同的用户可能给各自的文件取了相同的名字而造成混乱?
可以采用二级目录或多级目录结构。
在主目录中登记每个用户的名字和用户文件目录的存放地址;
在第二级用户文件目录中登记用户的每个文件的文件名及文件存放位置。
这样,不同的用户有同名文件时,由于文件的路径是不一样的,所以不会产生混乱。
多级目录是在二级目录的基础上,在用户目录下,根据项目和应用领域再建立子目录和孙目录,这样可以避免同一个用户的同名文件造成的混乱。
11.有一个文件可供两个用户共享,但这两个用户却对这个文件定义了不同的名字,为了保证两个用户都能存取该文件,应怎样设置文件目录?
简单画出目录结构关系且解释之。
采用二级目录结构。
如图4-3所示,用户zhangshan和用户lisi对一个共享文件分别定义了不同的名字ww和pw,只要在它们各自的目录表中把相应的文件存放地址填上共享文件在存储介质上的起始位置,当用户zhangshan存取ww文件,用户lisi存取pw文件时,文件系统按照目录查找文件时得到相同的文件存放位置。
于是各用户使用了不同的文件名,却仍能共享同一文件。
12.总结文件的存取方法、文件的存储结构、存储设备类型之间的关系。
文件的存取方法有两种:
顺序存取和随机存取。
文件的存取方法决定了文件的存储结构,它们的关系如表4-1所示。
13.文件系统提供的主要文件操作有哪些?
文件系统提供的主要文件操作有以下几种:
①‘建立“操作。
用户要求把一个新文件存放到存储介质上时,首先要向系统提出”建立“要求。
系统在接到用户的”建立“要求后,在文件目录中寻找空目录项进行登记②“打开”操作。
用户要使用存放在存储介质上的文件前,必需提出“打开”要求。
系统在接到用户的“打开”要求后,找到该用户的文件目录,如果文件目录在外存上,还要把它调入到主存,然后从文件目录中找到与用户的需求相符合的目录项,取出文件存放的物理地址。
如果是索引文件,还要将这个文件的索引表也调入到主存中,这样,后继的读操作能够很快地进行。
③“读/写”操作。
用户调用这个操作来读/写文件,系统只允许用户对已经过“打开”或“建立”操作的文件进行读/写。
对顺序存取方式的文件,用户只需给出读/写的文件名,而无需给出读/写记录的编号,系统执行本操作的时候,每次顺序读/写一个或几个逻辑记录。
对于采用随机方式的文件,用户除了要给出需读/写的文件名外,还要给出需读/写记录的编号(或主键),系统执行读操作的时候,按指定的记录号(或键)查索引表,得到记录存放的物理地址后,按地址将记录读出;
执行写操作的时候,在索引表找到一个空登记项且找一个空闲的存储块,把记录存人找到的存储块中,同时在索引表中登记④“关闭”操作。
经过“打开”或“建立”的文件,在读/写完毕后,需要执行“关闭”操作。
执行关闭操作时要检查读到主存储器中的文件目录或索引表是否被改变,如果改过,则应把修改过的文件目录或索引表重新保存好。
一个关闭后的文件不能再使用,如果要使用,必须重新执行“打开”操作。
用户提出“关闭”要求时,必须说明关闭哪个文件。
⑤“删除”操作。
用户用本操作向系统提出删除一个文件的要求,系统执行时把指定文件的名字从目录和索引表中除取,并收回它所占用的存储区域。
14.文件系统中为什么要设置“建立”、“打开”和“关闭”操作?
要把一个文件存放到存储介质上或使用一个已经建立在某存储介质上的文件前,首先应该把文件的属性(文件名、文件类型、可访问性、记录大小等),文件的管理信息(口令、建立日期、保存期限等)以及存取方式,通过特定的形式告诉文件系统。
“建立”。
“打开”和“关闭”操作就是为此目的而设置的。
用“建立”操作向系统提出生成一个新文件的要求。
用“打开”操作向系统申请读一指定文件的权力。
用“关闭”操作表示已经不再要读/写某个文件了,向系统归还使用文件的权力。
15.当用户要读一个尚未打开的文件的时候,系统怎么处理?
当用户要读一个文件的时候,系统先要验证该用户是否有使用权力,所以任何一个用户如果要读文件前都要执行“打开”操作。
系统不允许隐式使用,那么当读一个还没有打开的文件,系统不会执行读操作,而是返回一个“文件未打开”的错误信息。
如果系统允许隐式使用,那么系统将会替用户做打开文件的工作。
16.文件系统能允许用户去“关闭”一个不是自己“打开”或“建立”的文件吗?
第5章习题解答
1.从使用的角度,外围设备可分为哪两类?
用户要求使用外围设备时,系统采用什么方法来分配?
从使用角度来分析设备的特点,可以把设备分成两类:
一类是一个作业在执行期间独占使用的设备,称为独占设备。
这类设备一般采用静态分配的办法在作业执行前就分配出去了,直到作业结束撤离的时候,才将分配出去的设备收回,收回后,才能再分配给其他需要使用该类设备的作业。
另外一类是共享设备。
这类设备可以由几个作业同时使用。
共享设备采用动态分配的办法,这种方法不是在作业执行前分配,而是到作业需要启用设备的时候才分配设备给作业。
2.如果某作业申请外围设备时,指定申请某台外围设备,那么按教材中图5-l设置的分配表怎样实现分配?
如果用户指定申请某台外围设备,用户给出设备绝对号,系统为它分配时先查设备分配表,按照设备绝对号找到登记项,查是否未分配且是好的,若是则分配给用户,状态改成已分配,填上占用的作业名,通知用户已经分配成功;
若已经分配或者设备坏了,则分配不能被满足,输出信息告诉用户不能分配的原因。
3.什么是输入输出操作?
作业执行中总要不断地启动外围设备,把信息读入主存储器进行处理,或者把主存储器中的信息传送到存储介质上。
主存储器与外围设备之间的信息传送操作就叫作输入输出操作。
4.解释通道命令、通道程序、通道地址字、通道状态字。
通道命令:
又称为通道命令字(CCW,ChannelcommandWord),它是规定设备的某一种动作的指令。
通道程序:
是由通道命令编制出来一段程序,用于控制设备的工作。
整个通道程序确定了外围设备应执行的操作及操作顺序。
通道地址字:
通道程序是存放在主存中的,为了使通道能够正确快速地找到通道程序的起始地址,系统在主存中安排一个固定的单元,用来存放通道程序的起始地址,这个固定的单元称为通道地址字(CAW,ChanneladdressWord)通道状态字:
通道被启动后,控制指定的设备完成规定的操作,同时,通道在执行对外围设备控制的过程中,要记录通道与设备执行情况,为此系统在主存中安排另一个固定单元,用于存放这些被记录状态,这个固定单元称为通道状态字(CSW,ChannelStatusWord)。
5.中央处理器与通道是怎样配合工作的?
①中央处理器组织好通道程序,并把通道程序的首地址存人通道地址字中。
然后,中央处理器执行“启动I/O”指令来启动通道工作。
通道收到命令后根据通道和设备的工作情况,或者逐条执行通道程序中的通道命令,来控制设备运行;
或者拒绝接受,并且用条件码向中央处理器作出是否接受启动的回答。
②中央处理器分析条件码,若启动不成功,则推迟相应的输人输出操作的执行,待适当的时候重