0.068

五煦查题

快速找到你需要的那道考题与答案

尔雅操作系统原理_7章节答案(学习通2023完整答案)

97 min read

尔雅操作系统原理_7章节答案(学习通2023完整答案)

第一章 操作系统概述

第1章 单元作业(1)

1、尔雅站在普通用户的操作角度,总结操作系统有哪些基本功能?

2、系统学习操作系统有哪4大核心功能?

3、原理操作系统有哪4个典型的章节整答发展阶段,各有什么特点?

4、答案多道批处理系统为什么工作效率比单道的通完高?

5、分时技术与多道批处理都能完成多个程序的尔雅切换。这两种切换情形有什么差别?

第1章 单元作业(2)-开放性思考题

1、操作尽可能思考没有安装操作系统的系统学习计算机启动过程和结果?

2、常见的原理虚拟机软件(例如VMware,VirtualPC等)能不能理解为操作系统?

3、章节整答思考运行应用程序(例如记事本程序)需要操作系统提供哪些支持?

4、答案Windows-7-64位操作系统的通完分时时间片是多少呢?Linux不同版本的时间片又是多少?请网上了解。

5、尔雅网上尽可能了解Unix的演化历史,各个主流版本的名字和特点。

6、网上尽可能了解多终端计算机的结构,工作过程?

第二章 操作系统逻辑结构

第2章 单元作业(1)

1、何为操作系统的逻辑结构?有哪几种典型逻辑结构?

2、分层结构的分层原则是什么?

3、微内核结构的特点是什么?

4、何为CPU的态?定义态的作用什么?有哪些态?

5、中断的概念是什么?中断的响应过程是怎样的?

第2章 单元作业(2)-开放性思考题

1、操作系统分层结构有何作用?在应用编程中,我们如何使用分层的编程思想提升程序的可移植性和可维护性?

2、操作系统微内核架构有何作用?在应用编程中,我们如何使用“客户-服务器”的编程思想提升程序的功能可扩展性?

3、下载Minix OS源代码,用SourceInsight软件打开源代码,了解其源代码的构成,大致的模块结构,做简单的文字描述。

4、下载Linux 0.11 OS源代码,用SourceInsight软件打开源代码,了解其源代码的构成,大致的模块结构,做简单的文字描述。

5、网上搜索“Intel CPU的保护模式”,“特权级”两个关键词,了解“CPU的态”与“保护模式”、“特权级”等概念。

第2章 单元作业(3)-推荐实验编程内容

1、2.1 (实验目的:了解简单操作系统的源代码结构,熟悉SourceInsight源代码查看工具)利用SourceInsight工具研究Linux 0.11源代码的结构。步骤:下载和安装SourceInsight;下载Linux 0.11源代码并解压。使用SourceInsight新建工程,打开Linux 0.11源代码。浏览和研究源代码结构。 2.2 (实验目的:了解简单操作系统的源代码结构,熟悉SourceInsight源代码查看工具)利用SourceInsight工具研究Minxi OS源代码的结构。步骤:下载和安装SourceInsight;下载Minxi OS源代码并解压。使用SourceInsight新建工程,打开Minxi OS源代码。浏览和研究源代码结构。

第三章 操作系统用户界面

第1-3章单元测试

1、下列说法错误的是 。
A、手工操作阶段,资源利用率低的原因是因为程序的准备和撤销都需要手工完成。
B、单道批处理系统中CPU和外设交替工作和空闲。
C、单道批处理系统效率之所以比手工操作效率高,核心原因是因为可以按批处理作业。
D、多道批处理系统尽量让CPU和外设处于忙碌状态,提升资源利用效率。

2、关于分时技术说法错误的是 。
A、分时技术让CPU以时间片为单位轮流为终端服务。
B、分时技术允许内存中同时存放多道程序。
C、分时技术中每个终端等待固定时间间隔可以再次获得CPU的服务。
D、分时技术中仅当程序需要执行I/O操作时才把CPU让给其他程序,尽量让CPU处于忙碌状态。

3、多道程序设计是指 。
A、允许多个程序同时进入CPU运行
B、允许多个程序同时进入内存并行运行
C、程序段执行不是顺序的
D、同一个程序可以对应多个不同的进程

4、多道程序设计技术可以 单位时间的任务量,对每个任务来说,其完成时间比单道执行所需时间可能要 。
A、增加,减少
B、增加,延长
C、减少,延长
D、减少,减少

5、20世纪60年代, 技术的出现导致操作系统对多道程序的支持能力和操作系统的并发性能的提高起到了重大的推动作用。
A、虚拟存储管理技术
B、SPOOLing技术
C、集成电路技术
D、通道和中断技术

6、当处理器处于核态时,处理器可以执行的指令应该是 。
A、非特权指令
B、仅限于特权指令
C、一切指令
D、访管指令

7、关于操作系统启动过程说法错误的是:
A、启动程序属于BIOS的一部分。
B、安装操作系统的时候会修改甚至重写MBR。
C、引导程序采用文件的方式存在于硬盘。
D、GRUB是一个典型的引导程序。

8、关于操作系统的生成说法错误的是
A、操作系统生成的本质是根据用户需求和硬件配置编写和编译一个新的内核;
B、生成Linux内核的需要使用内核配置工具,例如menuconfig,配置内核模块和参数。
C、可以通过增加新的系统调用来增强Linux内核的功能。
D、不同版本的Linux内核裁剪,编译,配置的过程没有任何差别。

9、用户使用系统调用的目的是 。
A、请求系统服务
B、终止系统服务
C、申请系统资源
D、释放系统资源

10、有关系统功能调用的描述 错 误 的是 。
A、应用程序使用系统功能调用会引起中断。
B、高级语言中不能使用系统功能调用,只有汇编程序中通过INT指令使用。
C、在LINUX操作系统中,每一个系统功能调用都有一个确定的编号。
D、应用程序通过系统功能调用可以进入核态。

11、CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是 。
A、修改程序状态字
B、中断屏蔽
C、使用系统调用
D、进程调度程序

12、用户界面(或接口)是操作系统提供给用户与计算机交流的外部机制。用户界面可以分为两类,它们是 。
A、操作界面和系统功能调用
B、操作界面和图形界面
C、系统功能调用和API函数界面
D、图形界面和键盘命令界面

13、不安装操作系统的话,计算机无法运行任何指令或程序。

14、单道批处理系统作业的启动与结束以手工方式进行,作业串行地在系统中运行。

15、严格来讲,分时系统中程序的执行过程是不能够完全重现的。

16、现代操作系统譬如Linux不会因为内存太小而使得某个程序无法运行。

17、层次结构操作系统,确保各层之间只能是单向依赖或单向调用。

18、Linux操作系统是一个典型的微内核结构的操作系统。

19、根据对资源和机器指令的使用权限,处理机工作状态区分为实模式和保护模式。

20、对用户来说,中断的发生都是随机的,任何类型的中断都不可事先预知。

21、用户界面的核心目的就是为用户提供操作计算机的方法和接口。

22、在WINDOWS中编程时调用的WIN32 API函数都是系统调用。

23、Linux Shell脚本程序在运行之前需要使用gcc编译为应用程序才能运行。

24、操作系统的管理CPU资源的功能叫 功能。

25、分时系统的特点是具有多路调制性,独占性和 性。

26、分时技术共享CPU的时间单位是 。

27、第一个采用分时技术实现的实用且广泛使用的操作系统是 。

28、实模式下CPU能访问的内存地址空间大小是 。

29、BIOS的中文名称是 。

30、CPU复位后执行的第一条指令的20位绝对物理地址是 。(16进制)

31、操作系统启动的三个步骤先后是 ,核心初始化,系统初始化。

32、在Windows中和Linux脚本程序类似的一种编程语言叫 。

33、Linux系统中,系统调用功能是利用 号中断实现的。(16进制)

第3章 单元作业(1)

1、系统BIOS的功能有哪些?

2、计算机加电后执行的第一条指令存放在哪里,有什么特点?

3、初始引导的目的和主要过程是什么?

4、何为操作系统的生成?简述Linux内核的生成过程。

第3章 单元作业(2)

1、何为用户界面?有哪些类别?各有什么特点?

2、何为shell?有哪4类典型的shell?

3、何为输出重定向?举一个Linux或Windows中的重定向的应用命令或例子。

4、试述运行shell脚本程序的三种方式?

第3章 单元作业(3)

1、系统调用与普通用户态函数比较,有何异同点?

2、何为隐式系统调用?

3、试述Linux系统调用(INT 80H)的工作原理?

4、试述为Linux增加新的系统调用的过程?

第3章 单元作业(4)-开放性思考题

1、记录你电脑启动过程中输出的所有信息,理解其表示什么含义?有没有哪些信息是可以根据用户配置的不同可以改变或定制的?

2、回顾汇编语言中关于寄存器结构和定义部分的知识,理解各个寄存器的基本作用和用法。

3、尝试去理解用 menucofig命令去配置Linux内核时,配置界面上每个条目的含义和作用?

4、在windows和Linux上练习使用输出重定向和管道命令,给出2-3个例子。

5、在Windows和Linux上分别练习使用批处理程序和Shell脚本编程,实现“统计命令行上指定的文本文件中所有英文单词的个数,并在文末加上当前统计时间,例如:Checked at 2019.10.20”。写出你的实现思路。

第3章 单元作业(5)-推荐实验编程内容

1、3.1 (实验目的:熟悉Windows批处理编程)在Windows环境下,编写一个批处理程序(算命大师.bat),程序运行后,输入:出生年月日(例如20000731)。系统输出你的属相和星座,例如:你属兔,狮子座。 3.2 (实验目的:熟悉Linux脚本编程)在Linux环境下,编写一个Shell脚本理程序,能统计给定文本文件的单词数,行数。 3.3 (实验目的:了解操作系统生成的概念,熟悉Linux内核编译和裁剪)在Ubuntu或Fedora环境下裁剪和编译Linux内核,并启用新的内核。源代码下载网址:www.kernel.org. 3.4 (实验目的:熟悉Linux系统调用原理)在Ubuntu或Fedora环境下为Linux内核增加1-3个新的系统调用,并启用新的内核,编写一个应用程序测试新增加的系统调用是否能正确工作。源代码下载网址:www.kernel.org.

第四章 进程管理

第4章 单元作业(1)

1、进程有哪4个特征?

2、进程有哪3个基本状态,它们之间如何迁移?

3、什么是进程控制,有哪4个典型的进程控制行为?

4、什么是原语,有何特点?

5、列举WINDOWS通过编程启动exe程序的方法?

第4章 单元作业(2)

1、试述fork( )函数的作用和特点?

2、试述线程的概念(Thread)或特点?

3、试述线程有哪些典型应用场合?

4、何为临界资源,何为临界区?

5、试述设计临界资源或临界区访问机制的四个原则是什么?

第4章 单元作业(3)

1、临界区设计太大或太小有何缺点?

2、临界区访问机制为什么要实现让权等待原则?锁机制为什么没有满足该原则?

3、什么是进程的互斥,什么是进程的同步?各举一个例子说明。

4、P-V操作的作用是什么?P操作和V操作各自的原理是什么?

5、试述P-V操作解决互斥问题的思路是什么?

6、试述P-V操作解决同步问题的思路是什么?

第4章 单元作业(4)

1、试分析“司机vs售票员”同步问题中,哪些操作是关键操作,哪些不是?为什么?

2、试分析“生产者与消费者”问题中,P-V操作是如何阻止生产者生产速度过快的,又是如何阻止消费者消费速度过快的?又是如何及时唤醒生产者去尽快生产的,又是如何及时唤醒消费者去尽快消费的?

3、试述Windows的信号量(Semaphore)机制的工作原理(或如何应用该机制)?

4、试述Linux中wait函数和exit函数的作用和它们之间的联系?

5、试述Windows管道通信或Linux信号机制的原理(或如何应用该机制)?

第4章 单元作业(5)-开放性思考题

1、阅读Linux2.6或更早早期的版本,查看task_struct结构的定义,了解每个成员变量的含义。

2、阅读Linux2.6或更早早期的版本,查看fork函数的实现源代码,研究fork函数的实现思路和原理?

3、课件4.3.1节中“用线程实现并发画圆和画方” ,画圆和画方两个过程是完全同步的吗(即它们是一起开始一起结束的吗)?如果不是,是什么原因造成的?如果不是,应当如何做才能完全同步呢?

4、在实际编程中,举出1个类似“生产者-消费者”问题的同步例子,并简单描述你准备采用什么样的同步机制实现同步?要求给出具体的函数名字。(限Windows或Linux任一平台)

第4章 单元作业(6)-推荐实验编程内容

1、4.1 (实验目的:熟悉Window进程创建过程)在Windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用相关的系统调用(CreateProccess,即系统API)实现一个包括“进程创建,文件读写”的应用程序。有一个文本文件CommandList.txt,第一行是说明性文字:本文件最后一次打开和运行日期是20190407。第二行开始每行是一个可执行程序的名称(含路径)。编写一个应用程序能打开该文件,并顺序执行其中的每个程序,并更新文件第一行中的日期。 [下面有一个文本文件CommandList.txt的截图] --------------------------------------------------------------------- | 本文件最后一次打开和运行日期是20190407 | | c:\Windows\system32\notepad.exe | | c:\Windows\system32\calc.exe | | c:\Windows\system32\mspaint.exe | | | |-------------------------------------------------------------------| 4.2 (实验目的:熟悉Linux fork创建进程的方法)在Ubuntu或Fedora环境使用fork函数创建一对父子进程,分别输出各自的进程号和提示信息串。 4.3 (实验目的:熟悉Linux 创建线程的方法)在Ubuntu或Fedora环境使用pthread_create函数创建2个线程A和B。线程A在屏幕上用while循环顺序递增地输出1-1000的自然数;线程B在屏幕上用while循环顺序递减地输出1000-1之间的自然数。为避免输出太快,每隔0.5秒输出一个数。 4.4(实验目的:熟悉Window线程创建过程)Windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数实现4.3的功能。 4.5(实验目的:熟悉Window线程创建过程)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数实现“并发地画圆和画方”。圆的中心,半径,颜色,正方形的中心,边长,颜色等参数自己确定,合适就行。圆和正方形的边界上建议取720个点。为直观展示绘制的过程,每个点绘制后睡眠0.2秒~0.5秒。 4.6(实验目的:熟悉Window线程创建过程)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数实现“文件拷贝小工具”。功能如下:1)具有一个编辑框,让用户任意指定源目录或文件,2)具有一个编辑框,让用户任意指定目的目录或文件;3)具有“开始拷贝”按钮;4)具有“停止拷贝”按钮5)具有显示拷贝进度的Label,当为目录拷贝时以文件数来统计进度,当为文件拷贝时以字节数来统计进度。 4.7(实验目的:理解“生产者-消费者”同步模型,熟悉Window同步控制机制和编程应用)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数和相关的同步函数,模拟实现“生产者-消费者”问题。 4.8(实验目的:熟悉Linux信号机制编程应用)在Ubuntu或Fedora环境创建父子2个进程A,B。进程A不断获取用户从键盘输入的字符串或整数,通过信号机制传给进程B。如果输入的是字符串,进程B将其打印出来;如果输入的是整数,进程B将其累加起来,并输出该数和累加的和。当累加和大于100时结束子进程,子进程输出“My work done!”后结束,然后父进程也结束。 4.9(实验目的:熟悉Windows管道通信机制编程应用)在windows环境下实现4.7.1节“算命大师程序的改进版”程序。

第五章 死锁

第5章 单元作业(1)

1、什么是死锁或死锁的定义是什么?

2、如何理解“参与死锁的进程至少有2个已经占有资源”?

3、如何理解“参与死锁的所有进程都在等待资源”?

4、死锁的四个必要条件是哪些?

5、如何证明“按有序资源分配法分配资源并发进程不会死锁”?

第5章 单元作业(2)-开放性思考题

1、在Linux或Windows的实际应用中,用户常说的“死机”或“宕机”或“程序卡住”或“系统卡住,键鼠没有任何响应”与本章的“死锁”是同一问题吗?

2、在Linux或Windows是如何处理死锁的?

3、了解“避免死锁”策略,并(baidu搜索)了解“银行家算法”的概念和原理?

第5章 单元作业(3)-推荐实验编程内容

1、5.1 (实验目的:理解死锁产生的原因,熟悉Windows同步进制的编程应用)在Windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)实现5.2 节中“i和j是独占性的资源”例子的演示,使之出现死锁的情形。注意:用线程代替进程。要求:(1)为增强结果的随机性和直观性,各行代码之间增加延时函数(sleep),时间采用随机时间,例如50ms-100ms之间或自己调节时间。(2)输出足够清晰的调试信息,显示两个线程对i,j的存取过程,直到死锁发生。 5.2 (实验目的:理解死锁产生的原因,熟悉Windows同步进制的编程应用)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数实现“哲学家就餐问题”的演示。要求:(1)提供死锁的解法和非死锁的解法;(3)输出足够清晰的调试信息,显示哲学家取筷子,吃饭,放筷子,思考等状态。(3)【可选】有图形界面直观显示哲学家取筷子,吃饭,放筷子,思考等状态。(4)为增强结果的随机性和直观性,各个状态之间的维持时间采用随机时间,例如100ms-400ms之间。 5.3(实验目的:理解死锁产生的原因,熟悉Linux同步进制的编程应用)在Ubuntu或Fedora环境下,利用高级语言编程环境(限定为QT /C/C++)实现“哲学家就餐问题”的演示。要求:(1)提供死锁的解法和非死锁的解法;(3)输出足够清晰的调试信息,显示哲学家取筷子,吃饭,放筷子,思考等状态。(3)【可选】有图形界面直观显示哲学家取筷子,吃饭,放筷子,思考等状态。(4)为增强结果的随机性和直观性,各个状态之间的维持时间采用随机时间,例如100ms-400ms之间。

第六章 进程调度

第4-6章单元测试

1、关于进程错误的说法是 。
A、进程的运行全过程不可重现。
B、一个程序只能生成一个进程。
C、进程具有异步性。
D、多个并发进程共享CPU。

2、关于进程状态说法错误的是 。
A、单CPU的系统中处于运行态的进程可以有多个。
B、进程在整个生存期间会根据不同条件转换状态。
C、阻塞态的进程即便给它CPU它也无法运行。
D、处于就绪态的进程都在等待CPU。

3、关进程控制块PCB说法错误的是 。
A、PCB是进程存在的标志
B、Linux中定义PCB的数据结构是task_struct。
C、进程生存期间PCB成员变量的值一直保持不变。
D、创建进程的时候创建PCB数据结构。

4、进程创建后的状态是 。
A、就绪态
B、运行态
C、阻塞态
D、核态

5、关于进程控制说法错误的是 。
A、进程生存期间都受操作系统控制。
B、进程控制采用原语实现。
C、进程被唤醒的条件和被阻塞的原因一致。
D、进程被撤销时操作系统收回其占用资源,但是不释放相应的PCB。

6、下列应用场景中不适合采用线程的是 。
A、多个功能需要并发的地方
B、需要改善窗口交互性的地方
C、需要改善程序结构的地方
D、应用程序的初始化

7、关于临界资源和临界区的说法错误的是 。
A、临界资源是一个共享变量。
B、临界区是程序中的某个片段。
C、临界区中含有对临界资源的存取操作。
D、线程内定义的变量可以是临界资源。

8、关于临界资源和临界区的说法错误的是 。
A、临界区不允许两个或多个进程同时进入。
B、有限等待原则要求程序员尽量把临界区设置大一些。
C、让权等待可以让系统工作效率更高。
D、同一个线程内可以设置多个不同的临界区。

9、关于锁进制的说法错误的是 。
A、锁机制设置一个标志表示临界区是否可用。
B、锁机制只能解决进程互斥的问题。
C、锁机制满足忙则等待和空闲让进的原则
D、锁机制满足有限等待和让权等待的原则

10、关于P-V操作的说法错误的是 。
A、P-V操作是比锁机制更灵活的同步进制。
B、P-V操作可以用于控制进程间的同步和互斥。
C、P-V操作的核心是两个函数,用来对信号灯和进程进行控制。
D、P操作和V操作都会把信号量加1。

11、关于P-V操作的说法错误的是 。
A、P操作可能会阻塞调用进程。
B、V操作会把信号量加1。
C、P操作可以唤醒一个进程。
D、P操作和V操作在所有并发进程中成对出现。

12、关于P-V操作解决同步问题的说法正确的是 。
A、一般在关键操作之前执行V操作。
B、一般在关键操作之后执行P操作。
C、信号量S的定义可以随意定义。
D、信号量S的初值设置不对可能导致进程并发过程出错。

13、关于Windwos的同步进制不正确的是 。
A、临界区机制CRITICAL_SECTION可以用于进程间的同步。
B、WaitForMultipleObjects函数可能会使调用线程阻塞。
C、信号量机制Semaphore允许指定个数的线程同时访问临界区。
D、ReleaseSemaphore函数具有P-V操作中的V操作的作用。

14、关于Linux进程的不正确的说法是 。
A、fork函数具有两个返回值。
B、wait函数会阻塞进程直到其一个子进程结束为止。
C、exit函数可以在结束进程的时候传递参数给父进程。
D、sleep函数会让调用者进程挂起若干时间。

15、关于死锁不正确的说法是 。
A、资源数量不够不一定产生死锁。
B、每个死锁的进程一定在等待某个资源。
C、每个死锁的进程一定持有某个资源。
D、五个哲学家并发就餐的过程一定会发生死锁。

16、用于科学计算的进程一般都是偏CPU的进程。

17、进程是程序的一次具体运行过程。

18、在Winodws7中,进程是CPU的调度单位。

19、异步性会使得每个进程都按自己的逻辑和速度向前运行。

20、阻塞的进程获得相应服务或信号后会立即开始运行。

21、进程控制是非常重要的过程,所以采用原语实现。

22、线程的并发粒度比进程更细,有利于提升系统并发效率。

23、利用VS等主流IDE开发的Windows程序缺省都是多线程程序。

24、线程函数都具有特定的函数原型。

25、同步机制的实质是当进程运行条件不满足时,能让进程暂停。

26、Windows中创建进程的函数名是 。

27、Linux中创建进程的函数名是 。

28、Windows中创建线程的函数名是 。

29、只考虑作业等候时间的进程调度算法叫 。

30、同时考虑作业等候时间和作业大小的进程调度算法叫 。

第6章 单元作业(1)

1、进程调度的目标有哪些?

2、什么是周转时间,什么是带权周转时间?

3、什么是相应比?响应比高者优先调度算法有什么特点?

4、试述优先数调度的算法概念?何为静态优先数,何为动态优先数?

5、试述循环轮转调度的概念和其优点。

第6章 单元作业(2)-开放性思考题

1、在网上搜索:用图文结合的方式描述Linux(以早期的0.11内核为参考)两个进程A,B切换的基本过程。

2、在网上搜索:用图文结合的方式描述Linux(以早期的0.11内核为参考)中普通进程的调度过程。

第6章 单元作业(3)-推荐实验编程内容

1、6.1 阅读和分析Linux 0.11 版本的的进程调度模块源代码,理解进程调度大致过程和进切切换(上下文切换)概念。参考网址: (1)Linux0.11进程调度详解 https://blog.csdn.net/qq_33973210/article/details/80519327(2)Linux进程调度及初始化(0.11版本源码分析) https://blog.csdn.net/m0_37806112/article/details/80381182

第七章 存储管理

第7章 单元测验

1、Cache是三级存储体系中速度最快,存储容量最大的一类。

2、固定地址映射由程序员或编译器完成地址映射,容易产生地址冲突,运行失败。

3、存储保护功能是指防止访问越界和防止访问越权。

4、静态地址映射和动态地址映射计算物理地址时都是用虚拟地址加上基址。

5、虚拟内存管理的目标之一是使得大的程序能在较小的内存中运行。

6、采用固定分区的系统在程序装入前,内存已被分区,且每个分区大小都相同,不再改变。

7、动态分区比固定分区更容易产生碎片。

8、内存碎片是指内存损坏而导致不能使用的区域。

9、在页式地址映射过程中,快表的作用是尽量减少内存访问次数。

10、缺页中断处理程序的作用就是把相应页面的数据从写入到硬盘中。

11、最佳算法(OPT算法)淘汰以后不再需要或最远的将来才会用到的页面,是实际应用中性能最好的淘汰算法。

12、采用内存覆盖技术存储系统,调入一个模块时可以临时将其随意将其放在一个足够大的覆盖区上。

13、使用内存交换技术(Swapping)可以增加进程并发数。

14、提高程序的局部性可以有效降低系统的缺页率。

15、段页式系统的地址映射过程需要既需要段表,也需要页表,而且段表和页表都需要多个。

16、控制寄存器CR0的PG位作用是控制实模式和保护模式的选择。

17、若在保护模式下,CS,DS等段寄存器的内容存储的是相应段的段基址。

18、描述符表(Descriptor Table)以8字节为单位存储段的描述符。

19、选择子的作用是用于选择描述符表中的某个描述符。

20、二级页表机制中,页表和页目录的大小都是4K。

21、地址映射是指把程序中的虚拟地址变换成【 】中的真实地址的过程。

22、分区存储管理包括固定分区和【 】两种。

23、按空闲区位置(首址)递增排序的放置策略叫【 】适应算法。

24、按空闲区大小的递增排序的放置策略叫【 】适应算法。

25、尽量保留较大空闲区的放置策略叫【 】适应算法。

26、页面放置策略中,最容易产生页面碎片的算法是【 】适应算法

27、虚拟内存管理的实现思路用到了程序运行的【 】原理,即程序在一个有限的时间段内访问的代码和数据往往集中在有限的地址范围内。

28、页式内存管理方案中,内存以【 】为单位分配使用。

29、假定虚拟地址是20200505,页面大小是4K字节。则该地址所在页号是【 】。(请写十进制数)

30、假定虚拟地址是20200505,页面大小是4K字节。则该地址的页内偏移是【 】。(请写十进制数字)

31、记录页面和页框之间对应关系的数据结构叫【 】

32、页面共享原理是在不同进程的页表中填上相同的【 】,使得多个进程能访问相同的内存空间,从而实现页面共享。

33、在地址映射过程中,当所要访问的目的页不在内存时,系统产生的中断叫【 】。

34、好的淘汰策略应该具有具有较低的【 】且页面抖动较少。

35、淘汰最长时间未被使用的页面的淘汰策略叫【 】算法。(请使用英文简写)

36、段表记录每段在内存中映射的位置,包括段号,【 】,段基地址等三个基本要素。

37、采用二级页表的页式内存管理(不考虑快表)时,访问一个数据需要访问【 】 次内存才能最终获得存取数据。

38、如果发生缺页,引发缺页的线性地址保存在【 】寄存器中。(填写寄存器名字)

39、在CR3寄存中包含有页目录基址的高【 】位。

40、在X86 CPU 架构下的三种地址,逻辑地址先转化为【 】,再转化为物理地址。

第7章 单元作业(1)

1、简述实际的三级存储器体系的结构(组成)和基本原理?

2、存储管理有哪四大功能?

3、什么地址映射?有哪三种地址映射方式?

4、何为动态地址映射?有什么特点?

5、虚拟内存管理的目标是什么?

第7章 单元作业(2)

1、什么是分区存储管理?有哪些类型?

2、何为内存动态分区?有什么特点?

3、何为放置策略?有哪些防止策略?各种防止策略的特点或优点是什么?

4、何为内存覆盖技术(Overlay)?有何缺点?

5、何为内存交换技术(Swapping)?有何优点/缺点?

第7章 单元作业(3)

1、何为内存碎片?有哪些解决碎片的方法?

2、何为程序运行的局部性?

3、试述页式内存管理方案的概念,进程装入和使用内存的原则?

4、何为页表?描述利用页表完成页式地址映射的过程。

5、何为快表?描述有快表的情况下页式地址的映射过程。

第7章 单元作业(4)

1、试述页式存储管理系统的页面共享原理。

2、试述缺页中断的概念和缺页中断响应的过程。

3、何为页面淘汰?页面淘汰的主要算法有哪些?

4、影响缺页的因素有哪些?

5、试述段页式存储管理的主要概念和地址映射过程。

第7章 单元作业(5)

1、X86 CPU 架构下有哪三种地址?

2、何为段描述符,其结构中主要包括哪些内容?

3、何为选择子?选择子的结构是什么?选择子的作用是什么?

4、逻辑地址如何通过选择子/描述符表转化为线性地址?

5、Windows和Linux为何不用普通页表,而要用二级或三级页表结构?(即如果直接使用普通页表会有哪些问题?)

第7章 单元作业(6)-开放性思考题

1、在网上搜索Linux内存管理,用图文结合的方式描述Linux(以早期的2.6内核为参考)Linux内存管理的基本框架和典型算法。

2、在网上搜索实时操作系统对内存管理的要求,了解“页式虚拟内存管理”的实时性?

3、在网上搜索关于Intel CPU的保护模式的概念,了解段描述符,描述符特权级(DPL),请求特权级(RPL)等概念。

4、在网上搜索Linux段机制的实现过程,结合课件上提到的源代码片段,找到Linux内核源代码的相关文件,阅读和研究完整的源代码。

5、了解Linux中的ELF文件结构,了解Linux是如何解析ELF文件并加载其中内容到内存中的?

第7章 单元作业(7)-推荐实验编程内容

1、7.1 (实验目的:理解程序局部性的概念和其对程序效率的影响)完成7.3.6节“MyArray两个数组”的实验,比较两个数组的访问时间有何差异,理解程序的局部性。 7.2 (实验目的:理解操作系统虚拟存储管理的原理,理解程序执行局部性的概念。)在windows环境下编写一个程序,模拟实现OPT,FIFO,LRU等页面淘汰算法,计算“分配不同的页框数”,“页框具有不同的大小”,“不同的指令访问顺序”,“不同淘汰算法”等情形下的命中率。(命中率 = 1-页面失效次数/页地址流长度)。提示:(1)用数组模拟内存;(2)访问并输出数组某个元素即为执行指令;(3)用随机数改变元素的访问顺序,以获得不同的指令流,以便获得不同的局部性。(参考网上资料) 7.3(实验目的:理解Linux下虚拟地址,物理地址的对应关系,了解pagemap技术)在Linux环境下,编写一个小程序,获取该程序中的某个变量的虚拟地址,虚拟页号,页内偏移地址,物理页框号,页内偏移地址,物理地址,并将它们打印出来。建议使用/proc/pid/pagemap技术。

第八章 设备管理

8.1 设备管理概念随堂测验

1、按“信息组织特征”对设备分类,可以分为 。
A、串行设备
B、字符设备
C、块设备
D、网络设备

2、下面说法错误的是 。 设备管理模块具有将逻辑设备映射到物理设备的功能。
A、设备管理模块具有将逻辑设备映射到物理设备的功能。
B、逻辑设备是一类物理设备的抽象。
C、逻辑设备是物理设备的实例。
D、物理设备具有用户容易理解的友好名(Friendly Name)。

3、关于设备独立性的说法正确的是 。
A、用户使用统一规范的方式使用设备。
B、用户编程时使用设备逻辑名。
C、更换同类物理设备时不影响用户的使用。
D、操作系统统一把设备当做文件来处理。

4、关于设备驱动程序说法正确的是 。
A、设备驱动程序实质是对物理设备进行I/O操作。
B、设备驱动程序为用户提供操作设备的接口。
C、设备驱动程序工作在核态。
D、操作系统仅规定驱动接口规范,而不限定其内部实现细节。

8.2 Spooling系统随堂测验

1、关于设备分配方法说法正确的是 。
A、独占型设备任意时间段内最多只能被一个进程占用。
B、虚拟设备技术是指在一类物理设备上模拟另一类物理设备的技术。
C、独占型设备主要是字符串设备。
D、共享型设备主要是块设备。

2、下面关于SPOOLin技术说法正确的是 。
A、SPOOLing系统是虚拟技术和虚拟分配的一种实现。
B、输出时进程将结果暂放于输出缓冲区,待外设空闲时再实际输出。
C、输入/输出监控进程相当于脱机系统中的卫星机。
D、Spooling技术将独占设备改造为“共享”设备。

8.3 设备驱动——8.3.2 Linux驱动程序随堂测验

1、驱动程序工作在 (选填“用户”或“内核”)态。

2、以字节为单位逐个进行I/O操作的设备类型是 (选填“字符”或“块”)设备。

3、之所以把设备当成文件看待,是因为用户采用 (选填“自定义的接口”或“文件接口”)来操作设备。

4、标识设备种类或标识驱动程序的是 (选填“主”或“次”)设备号。

8.3 设备驱动——8.3.3 Windows驱动程序随堂测验

1、下面说法错误的是 。
A、设备管理模块具有将逻辑设备映射到物理设备的功能。
B、逻辑设备是一类物理设备的抽象。
C、物理设备是逻辑设备的实例。
D、物理设备具有用户容易理解的友好名(Friendly Name)。

2、按“信息组织特征”对设备分类,可以分为 。
A、串行设备
B、字符设备
C、块设备
D、网络设备

3、关于设备驱动程序说法正确的是 。
A、设备驱动程序实质是对物理设备进行I/O操作。
B、设备驱动程序为用户提供操作设备的接口
C、设备驱动程序工作在核态。
D、操作系统仅规定驱动接口规范,而不限定其内部实现细节。

4、关于设备独立性的说法正确的是 。
A、用户使用统一规范的方式使用设备。
B、用户编程时使用设备逻辑名。
C、更换同类物理设备时不影响用户的使用。
D、操作系统统一把设备当做文件来处理。

第8章 单元作业(1)

1、什么是设备映射?

2、什么是设备的独立性?

3、什么虚拟分配?什么是Spooling技术?

4、SPOOLing系统的工作原理是什么?

5、Linux设备主要有哪三类,各有和特点?

第8章 单元作业(2)

1、什么叫设备文件,如何读写,有何作用?

2、Linux设备主要有哪三类,各有和特点?

3、Linux中如何把驱动程序中自定义的接口与文件操作的标准接口关联起来?

4、Windows中如何把驱动程序中自定义的接口与文件操作的标准接口关联起来?

5、给出Windows中应用程序访问设备对象的一种方法?

第8章 单元作业(3)-开放性思考题

1、通过Linux或Windows驱动程序的结构,开发过程,谈谈你如何理解“设备是文件”这一重要概念的?

2、网上搜索,了解Linux下,网络驱动程序的例子和开发过程。

3、网上搜索,在Linux下,如何把新编写的驱动程序(或设备)编译到内核中?

4、网上搜索,了解Windows下“过滤驱动”程序的例子和开发过程。

5、网上搜索,对比Windows 98,WinXP,WIN7三种典型操作系统下驱动程序结构差异,开发环境的差异。

第8章 单元作业(4)-推荐实验编程内容

1、8.1 (实验目的:掌握Linux模块编程技术)在Linux环境下,利用vi编写一个模块程序,安装的时候输出hello,退出的时候输出exit。利用gcc编译,尝试反复的安装和卸载该模块。 8.2 (实验目的:掌握Linux驱动编程技术)在Linux环境下,利用vi编写一个驱动程序和测试用的应用程序。驱动程序的主要功能包括:(1)安装时输出hello,卸载时输出exit;(2)read时,读出当前时间;(3)write时,如果写入“1”,则输出“you are wirte 1.”;如果写入“0”,则输出“you are wirte 0.”;如果写入其他数字,则输出“Please wirte 0 or 1.”。利用gcc编译,尝试反复的安装和卸载该驱动,编写应用程序测试该驱动。 8.3 (实验目的:掌握Windows XP或Windows7驱动编程技术)在Windows环境下,在VS环境下(利用DDK或WDK)编写一个驱动程序和测试用的应用程序。驱动程序的主要功能包括:(1)安装时输出hello,卸载时输出exit;(2)read时,读出当前时间;(3)write时,如果写入“1”,则输出“you are wirte 1.”;如果写入“0”,则输出“you are wirte 0.”;如果写入其他数字,则输出“Please wirte 0 or 1.”。尝试反复的安装和卸载该驱动,编写应用程序测试该驱动。

第九章 文件管理

9.1 文件系统概念随堂测验

1、文件的 (选填“逻辑”或“物理”)结构强调文件信息项的构成方式和用户的存取方式。

2、文件的 (选填“逻辑”或“物理”)结构强调合理利用储存空间,缩短I/O存取时间。

3、Windows 7(64位)中的“学生成绩表.txt”文件属于 (选填“记录式”或“流式”)文件。

4、文件的存取方法有两种:顺序存取和 存取。

9.2 文件物理结构随堂测验

1、串联文件属于文件的 (选填“逻辑”或“物理”)结构。

2、索引文件的文件内容存放在 (选填“连续”或“不连续”)的存储块中。

3、FAT文件系统中文件属于 (选填“索引”或“串联”或“连续”)文件。

第9章 单元作业(1)

1、什么是文件,什么是文件系统?

2、什么是文件的逻辑结构?有哪二种典型的逻辑结构?

3、什么是文件的物理结构?有哪三种典型的物理结构?

4、什么索引文件,有什么特点?

5、何为空闲文件,何为空闲文件目录?

6、何为文件目录,其作用是什么?何为目录文件?

第9章 单元作业(2)-开放性思考题

1、网上搜索,研究FAT16文件系统的结构。研究软盘被FAT16系统格式化后,软盘的结构(包括其上的数据定义)是如何组织的?尽可能用图文结合方式描述。

2、网上搜索,了解Linux虚拟文件系统的概念和作用。

3、网上搜索,如果磁盘上的文件(假定是FAT16或FAT32)被彻底删除(回收站没有了),如果需要还原文件的话,往往需要用到“文件还原工具”。请问这些工具的工作原理是什么?

期末考试

期末考试【客观题部分】

1、当操作系统处理缺页中断的时候,CPU处在 。
A、用户态
B、核态
C、不确定的状态
D、空闲状态

2、操作系统的用户界面可以分为两类,它们是 。
A、操作界面和系统功能调用
B、操作界面和图形界面
C、系统功能调用和API函数界面
D、图形界面和键盘命令界面

3、采用最佳适应算法实现分区存储管理时,内存空闲区队列 。
A、按首地址增加顺序排列
B、按释放的先后顺序排列
C、按空闲区大小递增顺序排列
D、按空闲区大小递减顺序排列

4、站在用户角度来看,文件系统的主要目的是 。
A、实现按文件名存取文件
B、实现虚拟存储
C、提高外存的读写速度
D、用于存储系统文件

5、有关系统功能调用的描述错误的是 。
A、应用程序使用系统功能调用会引起中断。
B、高级语言中不能使用系统功能调用,只用汇编程序才能通过INT指令使用。
C、在LINUX中,每一个系统功能调用都有一个确定的编号。
D、应用同程序通过系统功能调用可以进入核态。

6、进程从运行状态到阻塞状态可能是由于 。
A、调度程序的调度
B、现进程的时间片用完
C、现进程执行了V操作
D、现进程执行了P操作

7、关于死锁的一些结论,不正确是 。
A、参与死锁的进程可能只有1个;
B、参与死锁的进程至少有2个已经占有资源;
C、参与死锁的所有进程都在等待资源;
D、如果死锁发生,会浪费大量系统资源;

8、在分区存储管理中,有关碎片的说法不正确的是 。
A、碎片问题之所以存在是因为程序要求占有连续内存才能运行。
B、固定分区会产生碎片,而动态分区不会产生碎片。
C、页式存储管理系统尽管能充分利用内存,但是也不能完全避免碎片出现。
D、分区分割之前通过门槛比较可以一定程度上减少碎片问题。

9、关于“虚拟存储”概念,下列有关说法不正确的是 。
A、虚拟存储的功能之一就是要在小内存空间中运行大型程序。
B、虚拟存储可以在没有任何物理内存的情况下虚拟足够大的内存空间来运行程序。
C、段页式存储管理系统也属于虚拟存储的一种重要实现方式。
D、对时间有严格时限要求的实时操作系统不适合采用虚拟存储管理系统。

10、多道程序设计技术是指 。
A、有多个程序同时进入CPU运行。
B、有多个程序同时进入主存并行运行。
C、程序段执行不是顺序的。
D、同一个程序可以对应多个不同的进程。

11、系统调用的目的是 。
A、请求系统服务
B、终止系统服务
C、申请系统资源
D、释放系统资源

12、甲、乙两个旅行社为旅客到某航空公司订飞机票。形成互斥的资源是 。
A、飞机票
B、旅行社
C、航空公司
D、旅行社和航空公司

13、原语是 。
A、一条机器指令
B、按一定逻辑组合完成特定功能的若干机器指令。
C、一条特定的机器指令
D、中途能中断的指令

14、在P操作定义中,使进程进入阻塞状态的条件是 。
A、S>0
B、S=0
C、S<0
D、S<>0

15、关于临界区说法不正确的是 。
A、临界区与并发程序享变量的存取有关。
B、临界区的设置不宜太太也不宜太小。
C、锁机制可以实现临界区的互斥访问。
D、一个程序最多只能设置一个临界区。

16、动态地址映射是在程序的 过程中进行的。
A、执行
B、编译
C、装入
D、修改

17、经过 ,目标程序可以不经过任何改动而装入物理内存单元直接运行。
A、静态地址映射
B、动态地址映射
C、固定地址映射
D、存储扩充

18、分区存储管理中是在主存的 进行分区。
A、系统区域
B、用户区域
C、程序区域
D、整个区域

19、是指将作业不需要或暂时不需要的部分移到外存,腾出内存调入其他模块。
A、覆盖技术
B、交换技术
C、虚拟技术
D、物理扩充

20、在页式存储管理中,若所需页面不在内存中,则会引起 。
A、输入输出中断
B、时钟中断
C、越界中断
D、缺页中断

21、在段页式存储管理中,系统中 。
A、每个进程一个段表,一个页表
B、进程的每个段一个段表一个页表
C、每个进程一个页表,每个段一个段表
D、每个进程一个段表,每个段一个页表

22、下列说法错误的是 。
A、利用有序资源分配法的目的是破坏环路条件。
B、利用有序资源分配法,可以避免进程阻塞。
C、有序资源分配法会降低资源使用效率。
D、有序资源分配法保证并发进程不发生死锁。

23、关于P-V操作解决同步问题的说法正确的是 。
A、一般在关键操作之前执行V操作。
B、一般在关键操作之后执行P操作。
C、信号量S的定义可以随意定义。
D、信号量S的初值设置不对可能导致并发过程出错。

24、关于分时技术说法错误的是 。
A、分时技术把CPU以时间片为单位轮流为每个终端服务。
B、分时技术允许内存中同时存放多道程序。
C、Linux采用分时技术支持多用户多任务按时间片共享CPU。
D、Windows 7不支持多用户,不是利用分时技术的操作系统。

25、关于文件目录说法错误的是 。
A、文件目录的实质是记录文件名和存放地址的对应关系。
B、文件目录具有将文件名转换为外存物理位置的功能。
C、文件的各种属性记录在文件里面,没有记录在文件目录中。
D、文件目录也是一个特殊的文件,称为目录文件。

26、关于操作系统的逻辑结构说法错误的是 。
A、整体式结构以模块为基本单位构建。
B、层次结构把具有共性的服务放置在较低层。
C、层次结构把活跃的服务放置在较高层。
D、层次结构有利于操作系统的移植。

27、关于设备管理有关的说法错误的是 。
A、物理设备是指I/O系统中实际安装的设备。
B、逻辑设备是指应用软件通过逻辑名使用的设备。
C、逻辑设备是一类物理设备的抽象。
D、每个逻辑设备都对应唯一一个特定的物理设备。

28、关于设备驱动程序说法错误的是 。
A、设备驱动程序的实现与硬件密切相关。
B、操作系统一般仅对与设备驱动程序的接口提出要求。
C、设备驱动程序工作在用户态。
D、设备驱动程序的本质就是实现设备的文件操作接口。

29、关于Intel CPU内存管理机制说法错误的是 。
A、是否启用保护模式取决于CR0寄存器的PE位。
B、无论在实模式下还是保护模式下,段寄存器都是16位。
C、段描述符(Descriptor)是描述一段内存属性的数据结构。
D、段描述符(Descriptor)是一个32位(bit)的数据结构。

30、关于Intel CPU内存管理机制说法错误的是 。
A、局部描述符表LDT(Local Descriptor Table)中描述的内存每个进程可以访问的。
B、中断描述符表IDT(Interrupt Descriptor Table)包含有与中断服务程序相关的段描述符。
C、在保护模式下段寄存器的内容用于选择GDT或LDT中的某个描述符。
D、在保护模式下段寄存器的内容包含有访问权限控制的参数。

31、中断在什么时候发生程序员在任何情况下都无法预知。

32、多道批处理系统的特点就是把CPU时间分成小片轮流地为多个作业服务。

33、处于阻塞态的进程当运行条件满足后立即进入运行状态。

34、WINDOWS 10中线程是资源分配和CPU调度的基本单位。

35、如果系统中资源总数不足,则进程一定会发生死锁。

36、利用P-V机制控制并发过程时,如果信号量S小于0,其绝对值表示相应阻塞队列中进程的个数。

37、最久未使用页面淘汰算法将驻留在内存中时间最久的页面淘汰。

38、GDTR和LDTR寄存器中存放的内容是相应描述符表的绝对地址。

39、同步机制的实质是当进程运行条件不满足时,能让进程即刻暂停,而条件一旦满足,则及时唤醒它。

40、空闲文件是指当前没有任何用户存取使用的文件。

41、采用二级页式存储管理时,执行一条访存指令访问某个内存单元(假定不会发生缺页)时,在最坏情况下需要访问内存 次。

42、若页式系统地址宽度16位,页大小为2K。则页式虚拟地址的高 位表示页号。

43、在段页式存储系统中,执行一条访存指令访问某个内存单元(假定不会发生缺段缺页)时,在最坏情况下需要访问内存 次。

44、Windows2000以及之上版本的操作系统,其设备驱动程序的入口函数名称是 。

45、Linux中动态加载模块(例如驱动程序)使用的命令是 。

46、从逻辑结构的意义上划分文件类型,可以分为流式文件和 文件。

47、Intel 80386 CPU进行地址转换时,逻辑地址先转化为 地址,再转化为物理地址。

48、假设操作系统的地址宽度32位,页大小4KB。某进程的页表中有如下5条记录(假定每条记录的结构是[页号:页框号:中断位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。则该进程中的虚拟地址17408对应的物理地址是 (请写成十进制数字)。

49、假设操作系统的地址宽度32位,页大小4KB。某进程的页表中有如下5条记录(假定每条记录的结构是[页号:页框号:中断位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。该进程访问虚拟地址408时发生的异常现象叫 。

50、表示外存存储空间占用情况时,利用内存若干个字节,每位(bit)表示相应存储块是空闲还是被占用的方法叫 。

期末考试【主观题部分】

1、微内核结构有什么特点?

2、试述为Linux增加新的系统调用的过程?

3、试述线程有哪些典型应用场合?

4、试述缺页中断的概念和缺页中断响应的过程。

5、通过Linux或Windows驱动程序的开发过程,如何理解“设备是文件”这一重要概念?

6、枚举Windwos的的三种进程/线程同步机制的名字和特点?