尔雅操作系统_11课后答案(学习通2023完整答案)

尔雅操作系统_11课后答案(学习通2023完整答案)

第一章 导论

1.1 什么是尔雅操作系统随堂测验

1、操作系统的操作核心目标是()。
A、系统学习管理硬件
B、课后运行程序
C、答案让用户方便使用
D、通完提高CPU利用率

2、整答从设备到本地缓冲之间传输数据由()完成。尔雅
A、操作I/O控制器
B、系统学习CPU
C、课后设备机械装置
D、答案内存

3、通完CPU和设备控制器可并行工作,整答但不同的尔雅设备控制器都不能并行工作。

4、操作系统是所有软件中最底层的软件。

5、操作系统只管理硬件资源。

1.2 多道程序设计和分时随堂测验

1、下面关于分时系统的叙述错误的是()。
A、分时系统主要用于批处理作业
B、分时系统中每个任务依次轮流使用时间片
C、分时系统的响应时间好
D、分时系统是一种多用户操作系统

2、可以并行运行2个进程的计算机,必须具备的条件有()。
A、操作系统支持多道程序设计技术
B、程序员实现多进程技术
C、计算机中安装了多个单核处理器或一个多核处理器
D、计算机中安装了一个单核处理器

3、单道批处理系统的核心思想是把一批作业一次装入计算机。

4、分时系统比多道批处理系统的系统开销大。

5、多道批处理系统的CPU利用率比单道批处理系统高,但是设备利用率差不多。

1.3 操作系统类型随堂测验

1、属于手机操作系统的有()。
A、Android
B、iOS
C、Windows 7
D、Linux

2、多处理器系统的优点有()。
A、可靠性强
B、网速快
C、吞吐量大
D、所有程序都能提高运行速度

3、分布式操作系统又称紧耦合系统。

4、ASMP操作系统中,一般有主处理器和从处理器之分。

5、目前,计算速度最快的计算机系统是集群系统。

1.4 操作系统操作和功能随堂测验

1、解决信息在计算机中存储问题的操作系统模块是()。
A、进程管理
B、内存管理
C、文件管理
D、设备管理

2、操作系统采用的双模式分为()。
A、I/O模式
B、程序模式
C、用户模式
D、内核模式

3、CPU能够直接访问的存储设备有()。
A、硬盘
B、内存
C、高速缓存Cache
D、寄存器

4、系统调用的代码是在内核模式执行的。

5、内存保护的目的是为了提高内存的访问效率。

导论单元测试1

1、CPU不能直接访问的存储器是()。
A、内存
B、硬盘
C、寄存器
D、高速缓存

2、以下有关分时系统的论述,错误的是()。
A、一种联机的多用户交互式的操作系统
B、一般采用时间片轮转方式使一台计算机为多个用户服务
C、每个用户都能实时得到服务
D、在单位时间内,每个用户获得一个时间片并运行

3、以下操作系统不属于手持设备系统的是()。
A、Unix
B、iOS
C、Android
D、Windows Phone

4、以下有关分布式操作系统的论述,错误的是()。
A、运行在多个计算机上
B、又称紧耦合系统
C、目前还没有真正意义上的分布式操作系统
D、需要网络操作系统的支持

5、一次系统调用的完成需要进行()次模式转换。
A、0
B、1
C、2
D、3

6、以下()项功能不是操作系统具备的主要功能。
A、进程管理
B、设备管理
C、内存管理
D、数据管理

7、在采用多道程序设计技术的操作系统中,单核CPU ()。
A、只能被一个程序占用,只有这个程序运行完才释放CPU
B、可以被多个程序同时占用
C、可以被多个程序交替占用
D、没有被程序占用

8、多道程序设计是指()。
A、有多个程序同时进入CPU运行
B、有多个程序同时进入主存并发运行
C、程序一个一个依次装入内容并顺序执行
D、同一个程序可以对应多个不同的进程

9、在分时系统中,如果时间片一定,那么(),响应时间越长。
A、内存越多
B、内存越少
C、用户越多
D、用户越少

10、批处理系统的主要缺点是()。
A、CPU的利用率不高
B、内存利用率低
C、不具备并行性
D、缺乏交互性

11、Unix操作系统是著名的()操作系统。
A、批处理
B、分时
C、实时
D、分布式

12、与计算机硬件关系最密切的软件是()。
A、操作系统
B、数据库系统
C、编译器
D、安全软件

13、早期操作系统追求的主要目标是()。
A、方便性
B、可移植性
C、低成本
D、高效率

14、单核单处理计算机系统中,()可并行操作。
A、CPU和硬盘控制器
B、不同进程
C、主程序与子程序
D、用户进程与操作系统进程

15、计算机指令集合中的所有机器指令都能在()状态执行。
A、用户
B、核心
C、中断
D、原子

16、操作系统最为核心的目标是()。
A、管理硬件
B、使用户方便使用计算机
C、使计算机高效运行
D、运行程序

17、控制设备工作的物理部件是()。
A、设备控制器
B、CPU
C、总线
D、内存

18、共享计算机总线和内存的多处理器系统是()。
A、紧耦合系统
B、松耦合系统
C、分布式系统
D、集群系统

19、()是操作系统不可缺少的硬件支持。
A、键盘
B、鼠标
C、定时器
D、USB

20、一般而言,操作系统设计的主要目标包括()。
A、高效率
B、智能性
C、方便
D、运行程序

21、以下关于操作系统的论述,正确的是()。
A、管理计算机资源
B、分配计算机资源
C、用户和计算机硬件间的中介
D、计算机的控制程序

22、以下一对设备可以并行操作的是()。
A、硬盘和鼠标
B、CPU和硬盘
C、一个CPU中的两个核
D、使用同一个控制器的两个硬盘

23、操作系统中的双模式包括()这两种模式。
A、用户模式
B、多模式
C、内核模式
D、单模式

24、常用的PC操作系统包括()。
A、MAC OS
B、Linux
C、Android
D、Windows

25、计算机的内存管理应该提供以下的功能()。
A、内存分配
B、内存回收
C、存储保护
D、内存扩容

26、以下指令中,()是特权指令。
A、内存访问指令
B、I/O指令
C、获取事件指令
D、调用函数指令

27、下面有关多道程序设计技术,正确的是()。
A、在单位时间内,每个作业获得一个时间片并运行
B、在内存中同时存在多道作业,它们可以并发或并行运行
C、一种联机的多用户交互式计算模式
D、一般需要一个作业调度器来选中一个作业并运行

28、以下属于CPU管理的功能有()。
A、提供中程调度
B、提供进程同步
C、提供死锁处理
D、提供进程通信

29、多处理器系统的优点有()。
A、增加吞吐量
B、节省资金
C、增加可靠性
D、增加资源利用率

30、特权指令只能在内核模式下运行。

31、操作系统是整个软件体系中最底层的软件。

32、ASMP是指在多处理器系统中每个处理器运行操作系统的相同副本。

33、单道批处理系统中,内存可以存在多个作业。

34、交互式进程主要关注的指标是响应时间。

35、多道程序设计的目的是提高CPU的利用率,充分发挥计算机系统部件的并行性。

36、并发是指两个或多个作业在同一时间间隔内依次运行。

37、操作系统可以管理计算机中的所有软硬件资源。

38、CPU和设备控制器可并行工作。

39、不同设备在任何时候都可以并行工作。

40、由于所有I/O指令都是特权指令,所以I/O指令只能在核心态运行。

导论单元作业

1、请上传今天的课堂笔记

上传课堂笔记

1、请拍照上传本次听课笔记。

Lab1 Introduction to Processes

Lab1 Introduction to Processes

1、Exercise 1 If you clicked on the example1.py, you should have a copy of example1.py, which you can try running with python example1.py. How many times does process 3 print a message, compared to processes 1 and 2? Is it always the same number of Program A steps between each Program B message? Explain where this ratio comes from. Feel free to change some of the values in the program to see what effect these might have. Exercise 2 One way to understand what it does is to see what happens without the sleep instruction. Go to your downloaded code for example1.py, and take the sleep statements out from ProgramA and ProgramB. Then run the program. Can you explain what happens? Exercise 3 Modify example1a.py in the following ways, and run each modified version to see the various behaviours. Change the parameters by which each process is known (its label). For example, change "process 1" to "process tom". Add a line to the top of the file from random import *. Now change the time each process sleeps by calling the random number generator random(). You can keep the same relative speeds (roughly) by appending (for example) *random() to each parameter. Run it several times. Do you get the same behaviour each time? random() gives a uniformly distributed random number between 0.0 and 1.0. You can try other fancy ones, see for example the random module reference page. For example, time.sleep(expovariate(8))

Lab1.2 Building Processes in Python

1、Exercise 5 Run the Python interpreter interactively. Type the following commands and observe the behaviour: >>> a Traceback (innermost last): File "<stdin>", line 1, in ? NameError: a >>> a=2 >>> a 2 >>> globals() { '__doc__': None, 'a': 2, '__name__': '__main__', '__builtins__': <module '__builtin__' (built-in)>} >>> globals()['a'] 2 >>> b=5 >>> globals() { '__doc__': None, 'a': 2, 'b': 5, '__name__': '__main__', '__builtins__': <module '__builtin__' (built-in)>} Do you see how, as variables a and b are defined, they get added to the global name space, defined by the builtin function globals()? (You can ignore the identifiers surrounded by double underscores.) Exercise 6 Download example2.py and execute it directly: python example2.py Compare its output with that of the previous exercise. Exercise 7 Download and run programs example3.py and example4.py. Compare the output of example2.py with that of example4.py. Spend a little time making sure you understand what is going on with each example. Exercise 8 Think about how to implement the various parts of example5.py, which are displayed as fragments of literacy programs. And finish it.

Lab1.3 Communicating Processes

1、Exercise 8 Run example6.py and note the interleaving of the two processes. Why does process A seem to go twice as fast? Exercise 9 Download example7.py and run it. Note that it needs the io module fit2070io.py to operate correctly. Try removing some of the evX fragments of code, and see what happens. Good ones to try are the "wait" statements!

第二章 操作系统结构

2.1 操作系统服务和接口随堂测验

1、操作系统提供给应用程序的接口是()。
A、图形化接口
B、命令行接口
C、系统程序
D、系统调用

2、以下选项中,提供命令行接口的操作系统有()。
A、MD-DOS
B、Linux
C、Unix
D、Windows 10

3、以下选项中,是系统程序的有()。
A、时间设置程序
B、用户管理程序
C、PowerPoint
D、计算器

4、操作系统提供服务的形式有()。
A、用户接口
B、系统程序
C、应用程序
D、系统调用

5、IE浏览器不是系统程序。

2.2 操作系统结构随堂测验

1、以下几种结构中,服务器操作系统较为适合的结构是()。
A、简单结构
B、层次结构
C、微内核结构
D、模块结构

2、MAC OS X采用的结构是()。
A、简单结构
B、层次结构
C、混合结构
D、模块结构

3、以下操作系统中,采用模块化结构的有()。
A、Linux
B、Solaris
C、MS-DOS
D、WINDOWS 2000

4、层次结构的操作系统的一个缺点是层的定义困难。

5、模块结构的操作系统中,每个模块只能在启动时加载。

2.3 虚拟机随堂测验

1、服务器虚拟机的优点不包括()。
A、安全性好
B、扩展性好
C、便于隔离
D、运行速度快

2、安装在裸机上的虚拟机是()。
A、JAVA虚拟机
B、服务器虚拟机
C、工作站虚拟机
D、PC虚拟机

3、一个物理计算机上存在多个虚拟机,不同虚拟机相互隔离。

4、一个物理计算机上的各个虚拟机的资源可以动态调配。

5、常用的虚拟机软件有JVM,VMWARE,Virtual Box等。

操作系统结构单元测试

1、操作系统为用户和应用程序提供服务的形式不包括()。
A、系统调用
B、应用程序
C、系统程序
D、用户接口

2、以下有关系统调用的描述,错误的是()。
A、系统调用提供了程序和操作系统之间的接口。
B、系统调用是操作系统服务的编程接口。
C、系统调用可以在用户态运行。
D、系统调用的代码由操作系统提供。

3、早期操作系统采用的人机交互接口是()。
A、图形化接口
B、命令行接口
C、声控接口
D、其它

4、智能手机采用的人机交互接口是()。
A、命令行接口
B、图形化接口
C、声控接口
D、以上都有

5、以下程序中不是系统程序的是()。
A、用户管理器
B、电源管理器
C、设备管理器
D、4399登录器

6、采用简单结构的操作系统是()。
A、Windows
B、Linux
C、MS-DOS
D、IOS

7、有关微内核的论述,错误的是()。
A、微内核的核心是操作系统内核的微型化
B、微内核增加了用户空间和内核空间通信的系统开销
C、微内核操作系统更加稳定
D、微内核操作系统效率更高

8、以下操作系统不属于微内核的是()。
A、Mach
B、Linux
C、Windows 2000
D、Windows 2003

9、大多数现代操作系统采用的结构是()。
A、简单结构
B、层次结构
C、微内核
D、模块结构

10、常用的虚拟机软件不包括()。
A、VMWARE
B、JVM
C、VMP
D、VirtualBox

11、利用虚拟机安装在操作系统上的操作系统称为()。
A、宿主操作系统
B、客户操作系统
C、应用操作系统
D、嵌入操作系统

12、以下有关模块化结构的论述,错误的是()。
A、模块结构更加安全
B、模块结构比层次结构更加灵活
C、模块和模块之间可以相互调用
D、每个模块可以在需要时被加载到内核

13、用户接口和系统调用是操作系统提供给用户的服务形式。

14、在Windows中,屏幕输出不需要使用系统调用。

15、系统调用之间也往往会相互调用,但这不涉及模式转换。

16、Unix和Linux有很多种不同的外壳,称为Shell,如csh,ksh,bsh, bash等。

17、图形化接口是一种用户界面友好的桌面接口,最早的GUI是Windows。

18、基于触摸屏的GUI是手机和平板上流行的人机接口。这类GUI把键盘、鼠标和显示器进行三合一。

19、所有的UNIX系统都采用简单结构设计。

20、在层次结构中,任意两层中的上层和下层可以相互调用。

21、虚拟机是一种通过软件模拟实现,具有完整硬件系统功能,并运行在一个完全隔离环境中的完整计算机系统。

22、服务器虚拟机主要功能是使得代码能够跨平台运行。

23、工作站虚拟机的好处是可以同时在一个计算机上使用多个操作系统,包括一个宿主操作系统和若干个客户操作系统。

24、用户使用服务器虚拟机一般有两种模式:软件模式和硬件模式。软件模式下,在计算机中安装一个远程登录的软件,如Windows的远程桌面。利用这个软件可以操作远程的虚拟机。

操作系统结构单元作业

1、从方便性和效率两个方面比较一下GUI和CLI的优点和缺点。

2、什么是系统程序?什么是应用程序?请说明你区分的标准。另外,请列举10个WINDOWS的系统程序。

3、操作系统的结构有哪几种?每种结构请给出1-2例子。

4、什么是虚拟机?引入虚拟机有什么好处?

5、采用微内核方法来设计系统的主要优点是什么?在微内核中如何使客户程序和系统服务相互作用?微内核方法的缺点是什么?

上传第二章听课笔记

1、请拍照上传本次听课笔记。

第三章 进程

3.1 进程概念随堂测验

1、进程和程序的本质区别是()
A、前者动态在运行,后者静态不变
B、前者存储在内存,后者存储在外存
C、前者在一个文件中,后者在多个文件中
D、前者分时使用CPU,后者独占CPU

2、进程在操作系统中存在的惟一标志是()
A、数据集合
B、目标程序
C、源程序
D、进程控制块

3、进程所请求的一次打印输出结束后,将有可能使进程状态从()
A、运行态变为就绪态
B、运行态变为等待态
C、就绪态变为运行态
D、等待态变为就绪态

4、进程上下文都需要保存到FCB中。

5、进程的执行是在多个状态间多次转换的过程,但只有处于就绪和执行状态的进程位于内存。

3.2 进程操作随堂测验

1、下列各项工作步骤中,( )是创建进程所必需的步骤。
A、建立一个PCB
B、作业调度程序为进程分配CPU
C、为进程分配内存等资源
D、将PCB链入进程就绪队列

2、下面可能会引起进程创建的事件是()
A、用户登录
B、设备中断
C、作业调度
D、执行fork系统调用

3、进程创建是一个原语操作。

4、操作系统对进程的管理和控制都是操作系统的主动行为。

5、原语的执行可以被中断。

3.3 进程通信随堂测验

1、速度最快的进程通信方式是()
A、消息传递
B、socket
C、共享内存
D、管道

2、若进程用信箱来传递信息,那么发送信息者的进程名应()
A、存放在信件中
B、作为send原语的参数
C、作为receive原语的参数
D、存放在信箱说明中

3、进程通信类型可分为直接通信和间接通信。

4、信箱通信是一种间接通信方式。

进程单元测试

1、正在执行的进程由于其时间片用完而被暂停运行,此时该进程应从运行态变为()。
A、运行态
B、等待态
C、就绪态
D、终止态

2、某单处理器系统中若同时存在5个进程,则处于等待状态的进程最多可有()个。
A、0
B、1
C、4
D、5

3、一个进程退出等待队列而进入就绪队列,是因为进程()。
A、启动了外设
B、用完了规定的时间片
C、获得了所等待的资源
D、能得到所等待的处理器

4、进程间采用间接通信方式时,在消息中必须给出()。
A、接收者名
B、发送者名
C、信件名
D、信箱名

5、在操作系统的处理器管理中,标识每一个进程的唯一标志是()。
A、数据集合
B、PCB
C、FCB
D、目标程序

6、当外围设备工作结束后,等待该外围设备传输信息的进程状态可能变为()。
A、就绪态
B、运行态
C、等待态
D、终止态

7、下列进程状态变化中,没有外力干预不可能发生的变化是()。
A、运行态->就绪态
B、运行态->等待态
C、等待态->就绪态
D、等待态->运行态

8、进程创建原语的任务主要是()。
A、为进程编制程序
B、为进程建立PCB表
C、为进程分配CPU
D、为进程分配内存

9、操作系统是通过( )对进程进行管理。
A、进程号
B、数据
C、PCB
D、代码

10、在只有1个CPU的系统中,设系统中有n个进程,则处于就绪状态的进程最多为()个。
A、1
B、n-1
C、n
D、0

11、以下对进程的论述中错误的是()。
A、进程具有动态性
B、一个作业可以划分为一个或多个进程
C、进程由代码、数据和进程控制块等组成
D、进程就是一个程序

12、信箱通信是一种()通信方式。
A、信号量
B、低级通信
C、直接通信
D、间接通信

13、利用fork创建的子进程,它和父进程之间()。
A、有一样的PID
B、不共享任何资源
C、共享所有资源
D、地址空间不同

14、某单处理器系统中若同时存在5个进程,则处于等待状态的进程最少可有()个。
A、0
B、1
C、2
D、5

15、某处理器有4个核,目前系统中若同时存在5个进程,则处于运行状态的进程最多可有()个。
A、0
B、1
C、4
D、5

16、某处理器有4个核,目前系统中若同时存在5个进程,则处于运行状态的进程最少可有()个。
A、0
B、1
C、4
D、5

17、进程间共享内存存在的问题是()。
A、通信速度慢
B、浪费存储空间
C、需要在进程间进行访问控制
D、只能传输少量数据

18、在消息通信中,接受者进程阻塞,直到有消息可用才继续运行的模式是()。
A、非阻塞send
B、阻塞send
C、非阻塞receive
D、阻塞receive

19、处于()状态的进程才能被调度程序调度去运行。
A、新建
B、就绪
C、等待
D、终止

20、进程操作的原语有()。
A、创建原语
B、撤销原语
C、阻塞原语
D、唤醒原语
E、延迟原语

21、原语是一种特殊的系统调用命令,它的特点是()
A、执行时不可中断
B、自己可以调用自己
C、可被外层调用
D、由若干条机器指令组成
E、功能强

22、进程和程序的区别是()。
A、进程是动态的,程序是静态的
B、进程存储在内存中,程序存储在外存中
C、进程分时使用CPU,程序独占使用CPU
D、进程是程序的一次执行
E、进程和程序是一一对应的

23、有关进程的下述说法中正确的是()。
A、进程是静态的文本
B、进程是动态的过程
C、进程和程序是一一对应的
D、多个进程可以在单个CPU上并发运行
E、进程是有生命周期的

24、在进程的三个基本状态转换中,不会出现的转换是()。
A、等待 à 运行
B、运行 à 就绪
C、就绪 à 等待
D、就绪 à 运行
E、运行 à 等待

25、进程控制块包括若干信息,它们是()。
A、进程状态信息
B、内存管理信息
C、CPU调度信息
D、记账信息
E、I/O状态信息

26、父进程和子进程在资源共享方面的关系有()。
A、父进程共享子进程资源的子集
B、父进程子进程共享所有的资源
C、子进程共享父进程资源的子集
D、父进程和子进程无资源共享

27、协同进程的优点有()。
A、方便
B、信息共享
C、模块化
D、加速运算

28、可在多个进程间建立通信链路的通信方式是()。
A、共享内存
B、直接通信
C、间接通信
D、剪贴板

29、一个阻塞进程被唤醒意味着该进程重新占有了CPU。

30、进程可以在各个状态之间自由转换。

31、创建进程时,将由调度程序为其分配CPU。

32、父进程一般可以撤销子进程。

33、在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于进程调度策略和进程自身。

34、在5状态图中,任意一个进程在它的生命周期中必须要经过不同的5个状态后才能结束。

35、进程只有运行完了才可能被撤销。

36、用户进程可以自由访问自己的PCB。

37、一个程序可对应一个或多个进程,但一个进程不可对应一个或多个程序。

38、单任务操作系统不需要进行进程上下位切换。

39、在Linux下,采用exec系统调用创建新的子进程和父进程共享所有资源。

40、一个系统中进程上下文切换的次数越多,系统效率越高。

进程单元作业

1、为什么进程需要有自己的PCB?请举例谈谈PCB在进程运行过程中的作用。

2、请从进程创建和进程终止角度谈谈父进程和子进程的关系。

3、某系统的进程状态转换图,请说明: (1)引起各种状态转换的典型事件有哪些? (2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。在什么情况下,转换 3 的发生能立即引起转换 1 的发生? (3)试说明是否会发生下述因果转换: a)转换 2 是否会引起转换 1 b)转换3是否会引起转换2 c)转换4是否会引起转换1

4、描述内核在两个进程间进行上下文切换的过程。

5、什么是直接通信?什么是间接通信?请各举一个例子并讨论他们各自的优缺点。

上传笔记:第三章

1、请拍照上传本次听课笔记

第四章 线程

4.1 什么是线程随堂测验

1、线程没有自己的代码和线程控制块。

2、线程比进程在上下文切换上速度更加快。

3、任意2个线程都能共享同一个进程的资源。

4、线程是由()创建的。

5、()是操作系统中资源分配的基本单位。

4.2 多线程模型随堂测验

1、以下关于用户线程的描述,错误的是()。
A、用户线程由用户线程库进行管理
B、用户线程的创建和调度需要内核的干预
C、操作系统无法调度用户线程
D、内核看不到用户线程

2、Windows系统中的线程普遍采用的多线程模型是()。
A、一对一模型
B、多对一模型
C、一对多模型
D、多对多模型

3、在多对一模型中,以下论述错误的是()。
A、一个进程的多个线程不能并行运行在多个处理器上
B、进程中的用户线程由进程自己管理
C、线程切换会导致进程切换
D、一个线程的系统调用会导致整个进程阻塞

4、并发性好的多线程模型有()。
A、一对一模型
B、多对一模型
C、多对多模型
D、单线程模型

5、以下有关一对一模型的论述,正确的有()。
A、多个线程可并行运行在多个处理器上
B、内核的调度程序开销大
C、线程切换不会导致进程切换
D、一个线程的系统调用会导致整个进程阻塞

4.3 线程库随堂测验

1、调用用户线程库会产生系统调用。

2、JAVA线程库只能创建用户线程。

3、Unix和Linux常用的线程库是()。

4、一个用于创建Win32线程的函数,只能有()个参数。

5、可以跨操作系统平台的线程是()线程。

线程单元测试

1、下列关于线程的说法,正确的是()。
A、单处理机的计算机上,2个线程实际上不能并发执行
B、两个线程可以共享各类资源
C、一个线程可以包含多个进程
D、一个进程可以包含多个线程

2、同一个进程中的线程,不可以共享()。
A、打开文件列表
B、代码
C、公有数据
D、堆栈

3、一般情况下,线程来源于创建该线程的进程中的()。
A、一段代码
B、一个子进程
C、一个动态链接库
D、一段数据

4、在进程中的一段代码可以被创建成为()个线程。
A、1
B、2
C、0个
D、以上都可以

5、用户程序调用线程库管理自己的线程,这些线程是()。
A、内核线程
B、用户线程
C、超线程
D、子线程

6、多线程模型中不包括()。
A、一对一模型
B、多对多模型
C、一对多模型
D、多对一模型

7、在多对一模型中,一个用户线程的阻塞()导致进程的阻塞。
A、会
B、不会
C、如果没有可运行的其它线程,
D、如果有可运行的其它线程,

8、在一下线程模型中,最得益于多处理器架构的模型是()。
A、多对一模型
B、一对一模型
C、一对多模型
D、二级模型

9、调用线程库可能会产生系统调用的线程库是()。
A、JAVA线程库
B、Win32线程库
C、Pthreads线程库
D、以上都不是

10、Pthreads是符合POSIX标准的线程库,不可以用在以下()操作系统中。
A、Unix
B、Linux
C、MS-DOS
D、MAC OS X

11、某个分时系统采用一对一线程模型。内存中有10个进程并发运行,其中9个进程中只有一个线程,另外一个进程A拥有11个线程。则A获得的CPU时间占总的时间的()。
A、1/10
B、1/20
C、11/20
D、1

12、某个分时系统采用多对一线程模型。内存中有10个进程并发运行,其中9个进程中只有一个线程,另外一个进程A拥有11个线程。则A获得的CPU时间占总时间的()。
A、1/10
B、1/20
C、0
D、1

13、JAVA线程通过D方法可以休眠一段时间,然后恢复运行。
A、run
B、setPrority
C、yield
D、sleep

14、以下有关JAVA线程的论述,正确的是()。
A、Java 线程创建有两种方法:1)扩展java.lang.Thread类;2)实现Runnable接口
B、JAVA线程操作系统可见
C、Java 线程由JAVA虚拟机JVM管理
D、JAVA线程是内核线程

15、常用的线程库有()。
A、Win32线程库
B、JAVA线程库
C、Linux线程库
D、Pthreads线程库

16、以下有关内核线程的论述,正确的是()。
A、内核线程由内核管理
B、内核线程由内核完成线程调度
C、多个内核线程不能并行运行在多个处理器上
D、内核线程由内核进行创建和撤销

17、以下有关多对一模型中的用户线程的论述,正确的是()。
A、用于不支持内核线程的操作系统
B、进程内的线程切换不会导致进程切换
C、一个进程内的多个线程能并行运行在多个处理器上
D、进程中的用户线程由操作系统管理

18、在操作系统中引入线程的原因是()。
A、资源分配紧张
B、操作进程所需的系统开销大
C、有些进程中的代码有并发执行的需求
D、适合多核处理器的并行化操作系统

19、线程的优点有()。
A、线程创建开销小
B、线程创建、上下文切换比进程快
C、进程中的线程可以共享进程资源
D、可以用于多处理器或多核体系结构

20、一个线程的TCB中包含了()。
A、线程状态
B、打开文件列表
C、栈空间
D、程序计数器PC

21、下面关于线程的叙述中,错误的是()。
A、在引入线程的系统中,进程仍是资源分配和调度分派的基本单位
B、不管系统中是否有线程,进程都是拥有资源的独立单位
C、不论是系统支持线程还是用户级线程,其切换都需要内核的支持
D、线程是资源的分配单位,进程是调度和分配的单位

22、线程是比进程更小的能独立运行的基本单位。

23、一个进程一定包含多个线程。

24、?线程自己拥有系统资源。

25、同一进程中的线程切换不会引起进程切换。

26、一个进程被撤销后,会导致它的所有线程被撤销。

27、引入线程后,处理机只在线程间切换。

28、Java中的线程有四种状态,分别是:可运行(Runable)、就绪(Ready)、阻塞(Blocked)、死亡(Dead)。

29、在一个引入了用户线程的操作系统中,操作系统调度的基本单位是线程。

30、程序开发者必须创建一个线程去管理内存的分配。

31、一旦一个线程被创建,它就开始运行。

32、Unix的Fork创建的是轻量级进程,它可以和创建它的父进程共享各类资源,从而使得它的创建、切换成本较低。

33、Unix的exec创建的进程可以和创建它的父进程共享各类资源,从而使得它的创建、切换成本较低。

34、线程是一个在CPU上运行的基本执行单位,一般情况下,进程内的一个代码片段可以被创建成为一个或多个线程。

35、从调度角度来看,进程是操作系统的基本调度单位,但是同一进程中的线程切换不会引起进程切换,不同进程中的线程切换回引起进程切换。

上传笔记:第四章 线程

1、请拍照上传课堂笔记

第五章 CPU调度

5.1 CPU调度概述随堂测验

1、进程从新建状态转换到就绪状态的工作由()完成。
A、进程调度
B、中级调度
C、高级调度
D、低级调度

2、进程从提交到运行结束的全部时间称为()。
A、运行时间
B、等待时间
C、周转时间
D、响应时间

3、中程调度的目的是()。
A、提高CPU的效率
B、降低系统开销
C、提高CPU的利用率
D、节省内存

4、以下的进程状态转换会导致抢占式调度的有()。
A、新建转换到就绪
B、运行转换到等待
C、等待转换到就绪
D、运行转换到终止

5、分配程序的工作包括()。
A、上下文切换
B、负责把CPU的控制权转交CPU调度程序
C、切换到用户态,跳转到用户程序的适当位置并重新运行之
D、选择内存中的就绪进程,并分配CPU

5.2 CPU调度算法1(FCFS和SJF)随堂测验

1、FCFS算法的就绪队列是按照进程的()排列。
A、运行时间
B、到达时间
C、等待时间
D、响应时间

2、SJF算法的就绪队列是按照进程的()排列。
A、到达时间
B、等待时间
C、下一个CPU脉冲时间
D、提交时间

3、一般情况下,SJF可以获得最短的平均等待时间。

4、FCFS调度算法对长作业有利,对短作业不利。

5、SJF算法中抢占算法比非抢占算法一般可以获得较短的等待时间。

5.3 CPU调度算法2(PR和RR)随堂测验

1、一般来说,能够获得最短响应时间的调度算法是()。
A、先来先服务调度算法
B、短作业优先调度算法
C、优先数调度算法
D、时间片轮转调度算法

2、存在饥饿问题的调度算法有()。
A、先来先服务调度算法
B、短作业优先调度算法
C、优先数调度算法
D、时间片轮转调度算法

3、时间片越小,RR算法的平均响应时间就越小。

4、优先数调度算法不存在抢占式调度。

5、RR调度算法的平均周转时间最短。

5.4 CPU调度算法3(MLQ、MLFQ和多处理器调度)随堂测验

1、以下调度算法中,系统开销最小的调度算法是()。
A、多级对列度算法
B、多级反馈队列调度算法
C、先来先服务调度算法
D、时间片轮转调度算法

2、多级队列调度算法中的核心问题有:
A、队列数
B、决定进程如何退出队列
C、每一队列的调度算法
D、决定新进程将进入哪个队列的方法

3、在多级队列调度算法中,多个不同队列只能采用相同的调度算法。

4、和多级队列调度算法相比,多级反馈队列调度算法增加了进程在不同队列中降级和升级的功能。

5、亲和性好的多处理调度算法是()。

CPU调度单元测试

1、由新建状态转换为就绪状态的调度方式是()。
A、长程调度
B、短程调度
C、中程调度
D、线程调度

2、以下有关抢占式调度的论述,错误的是()。
A、调度程序可根据某种原则暂停某个正在执行的进程,将已分配给它的CPU重新分配给另一进程
B、可防止单一进程长时间独占CPU
C、进程切换频繁
D、系统开销小

3、假设一个系统中有3个进程,到达时间依次为0,1,3。运行时间依次为3、5和2。若按照时间片轮转(时间片为2)调度算法调度CPU,那么各进程的平均周转时间为()。
A、8
B、7
C、6
D、其它

4、假设一个系统中有5个进程,它们到达的时间依次为0、2、4、6和8,运行时间依次为3、6、4、5和2。若按照抢占式短作业优先调度算法调度CPU,那么各进程的平均周转时间为()。
A、7.2
B、8
C、7.4
D、其它

5、在()调度算法中,按照进程进入就绪队列的先后次序来分配CPU。
A、SJF
B、RR
C、MQ
D、FCFS

6、假设一个系统中有5个进程,它们到达的时间依次为0、1、2、3和4,运行时间依次为2、3、2、4和1,优先数分别为3、4、2、1、5。若按照非抢占优先数调度算法(优先数小则优先级高)调度CPU,那么各进程的平均周转时间为()。
A、5
B、5.4
C、3.3
D、其它

7、假设一个系统中有4个进程,它们到达的时间依次为0、2、4和6,运行时间依次为3、6、4和5。若按照抢占式短作业优先调度算法调度CPU,那么各进程的平均周转时间为()。
A、7.5
B、6
C、8
D、其它

8、在时间片轮转算法中,假如时间片大小为5ms,系统中处于就绪队列的进程有10个(运行期间没有新进程加入就绪队列),则最长的响应时间为()。
A、5ms
B、50ms
C、45ms
D、其它

9、从进程提交到首次运行的时间段,称为()。
A、运行时间
B、周转时间
C、等待时间
D、响应时间

10、抢占式CPU调度可能发生在一个进程()时。
A、从运行转到等待
B、从运行转到就绪
C、从运行转到终止
D、新建进程

11、可以模拟其它调度算法的调度算法是()。
A、FCFS
B、SJF
C、RR
D、PR

12、对短作业不利的调度算法是()。
A、FCFS
B、RR
C、SJF
D、MQ

13、MLQ调度算法需要考虑的问题中,不包括()。
A、队列数
B、每一队列的调度算法
C、进程升级和降级方法
D、决定新进程将进入哪个队列的方法

14、单队列多核调度方法中,系统有()个就绪队列。
A、0
B、1
C、2
D、多个

15、多队列调度方法中,系统有多个就绪队列,一般每个CPU()个
A、0
B、1
C、2
D、多个

16、分时系统一般采用的调度算法是()。
A、时间片轮转
B、先来先服务
C、短作业优先
D、优先级算法

17、不具有抢占和非抢占模式的调度算法是()。
A、FCFS
B、SJF
C、PR
D、其它都不是

18、FCFS调度算法实现简单,可以使用FIFO队列来实现,当一个进程进入就绪队列,就是将其PCB链接到队列()。
A、头部
B、中间
C、第二个
D、尾部

19、FCFS调度算法实现简单,可以使用FIFO队列来实现。发生调度时,CPU分配给位于队列()的进程,并将该进程从就绪队列删除。
A、头部
B、尾部
C、中间
D、以上都不正确

20、为了照顾紧迫型进程,应采用()调度策略。
A、FCFS
B、PR
C、RR
D、SJF

21、当系统中( )时,将不会引起系统执行进程调度原语。
A、一个新进程被创建
B、当前进程执行了P操作
C、在非抢占调度中,进程A正在运行而进程B恰好被唤醒
D、分时系统中的时间片用完

22、进程调度的准则包括()。
A、最大的CPU利用率
B、最大的内存利用率
C、最短的周转时间
D、最短的等待时间

23、多核处理器的CPU调度和单核处理器调度相比,还需要考虑()。
A、负载平衡
B、亲和性
C、吞吐量
D、CPU利用率

24、在时间片轮转算法中,时间片越小,则()。
A、进程切换越频繁
B、系统开销大
C、平均响应时间短
D、平均等待时间小

25、可能存在饥饿问题的调度算法有()。
A、FCFS
B、SJF
C、RR
D、PR

26、具有抢占和非抢占两种调度模式的调度算法有()。
A、FCFS
B、SJF
C、PR
D、RR

27、以下有关短程调度和长程调度的论述,正确的是()。
A、短程调度比长程调度切换频率低
B、短程调度比长程调度切换频率高
C、短程调度比长程调度开销小
D、短程调度比长程调度开销大

28、多级反馈队列调度和多级队列调度相比,需要多考虑一下问题 ()。
A、队列数
B、进程降级的方法
C、进程升级的方法
D、每一队列的调度算法

29、下列进度调度算法中,( )可能出现进程长期得不到运行的情况。
A、静态优先数算法
B、抢占式短作业优先算法
C、时间片轮转调度算法
D、先来先服务算法

30、若进程P一旦被唤醒就能够马上投入运行,系统可能为( )。
A、分时系统,进程P的优先级最高
B、抢占调度方式,就绪队列上的所有进程的优先级皆比P的低
C、就绪队列为空队列,并且没有进程在运行
D、抢占调度方式,P的优先级高于当前运行的进程

31、在进程调度中,每个进程的等待时间等于响应时间。

32、在进程调度中,每个进程的等待时间加上运行时间等于周转时间。

33、给定一批进程,抢占式调度一定比非抢占式调度获得小的平均周转时间。

34、在RR算法中,时间片越小越好。

35、一般而言,交互进程需要短的响应时间。

36、SJF算法可以获得最小的响应时间。

37、亲和性是指进程在某个给定的CPU上尽量长时间运行而不被迁移到其他处理器的倾向性。

38、静态优先级是指在调度进程时就确定每个进程的优先数。

39、动态优先级是指在创建进程之初先赋予每个进程一个优先级,然后其值随进程的推进或等待时间的增加而改变,以便获得更好的调度性能。

40、抢占式SJF的平均等待时间一定小于非抢占式SJF。

上传笔记:第五章1

1、请拍照上传课堂笔记

上传笔记:第五章2

1、请拍照上传听课笔记

第六章 进程同步

6.1 临界区随堂测验

1、下面有关数据不一致性的论述中,错误的是()。
A、存在于并发运行的协同进程之间
B、同一进程在同一批数据上多次运行的结果可能不一样
C、一个进程在同一批数据上的运行结果每次都不一样
D、单任务操作系统不存在数据不一致性

2、防止竞争条件出现的有效方法有()。
A、同步
B、调度
C、互斥
D、不共享数据

3、临界区使用准则包括()。
A、互斥
B、有限等待
C、同步
D、有空让进

4、临界区是涉及临界资源的数据区。

5、一次只允许一个进程使用的资源称为互斥资源。

6.2 信号量随堂测验

1、如P和V操作的信号量S初值为4,则现在S=-1,表示有()个进程在等待该信号量。
A、0
B、1
C、2
D、4

2、用V操作可以唤醒一个进程,被唤醒的进程状态可能会变为()。
A、就绪
B、运行
C、等待
D、结束

3、?S必须置一次且只能置一次初值。

4、记录型信号量S的当前值为0,一个进程调用wait(S)会把自己阻塞并挂到S的等待队列上。

5、记录型信号量的值不可能为负数。

6.3 生产者消费者问题随堂测验

1、有两个并发进程,设置了互斥信号量mutex,现在mutex=0,则表示()。
A、两个进程均进入临界区
B、没有进程进入临界区
C、一个进程进入临界区
D、一个进程进入临界区,另一个在等待

2、所有的生产者必须等待消费者先运行的前提条件是()。
A、缓冲区为空
B、缓冲区为满
C、缓冲区不可用
D、缓冲区半满

3、所有的消费者必须等待生产者先运行的前提条件是()。
A、缓冲区空
B、缓冲区满
C、缓冲区不可用
D、缓冲区半空

4、消费者阻塞在wait(m)(m是互斥信号量)的条件是()。
A、没有空缓冲区
B、没有满缓冲区
C、有其它生产者已经进入临界区存放产品
D、有其它消费者已经进入临界区取产品

5、在生产者消费者问题中,以下关于唤醒操作正确的是()。
A、生产者唤醒其它生产者
B、生产者唤醒消费者
C、消费者唤醒其它消费者
D、消费者唤醒生产者

6.4 读者写者问题随堂测验

1、在读者写者问题中,能同时执行读写的是()。
A、读者和写者
B、不同写者
C、不同读者
D、都不能

2、在读者优先的读者写者问题中,读者可以进入读的前提是()。
A、没有读者和写者在读写
B、有读者在读
C、有写者在写
D、有写者在等

3、在读者代码 rc--; If (rc==0) V(W) 中V(W)可能唤醒其它读者。

4、读者优先的读者写者问题中,一个写者先来,但有可能比后来的读者后运行。

5、只有没有读者在读,写者就可以进入写。

6.5 哲学家就餐问题随堂测验

1、哲学家就餐问题的解决方案如下: semephore *chopstick[5]; semaphore *seat; 哲学家 i: …… P(seat); P(chopStick[i]); P(chopStick[(i + 1) % 5]); 吃饭 V(chopStick[i]); V(chopStick[(i + 1) % 5]); V(seat); 其中,信号量seat的初值为()。
A、0
B、1
C、4
D、5

2、在哲学家就餐问题中,有以下代码: P(m); test(i); V(m); 在test[i]中的临界资源包括()。
A、state[i]
B、state[(i+1)%5]
C、ph[i]
D、其它

3、当信号量的值等于2时,表示()。
A、该信号量上有2个进程等待
B、有2个信号量可用
C、该信号量是同步信号量
D、该信号量是二值信号量

4、如果给5个哲学家6根筷子,则不会有死锁发生。

5、互斥信号量的P和V操作一般在不同进程中。

6.6 管程随堂测验

1、引入条件变量后的管程内部,不存在()。
A、条件队列
B、紧急队列
C、入口队列
D、条件变量

2、进程P调用wait操作唤醒进程Q后,P等待直到Q离开管程才允许的管程是()。
A、Hoare管程
B、MESA管程
C、Hansen管程
D、系统管程

3、每个管程中只能有一个条件变量。

4、在Hoare管程中,当一个管程内的进程P调用x.wait()时,如果紧急队列非空,则会唤醒第一个入口队列中的等待进程,P进入x的条件队列。

5、Linux和Windows系统中都有信号量同步机制。

进程同步单元测试

1、有界缓冲问题中,“counter++”的伪机器语言为: (S0)register1 = counter (S1)register1 = register1 + 1 (S2)counter = register1 “counter—”的伪机器语言为: (S3)register2 = counter (S4)register2 = register2 – 1 (S5)counter = register2 当这两段代码并行执行时,有()种不同的执行结果。
A、1
B、2
C、3
D、4

2、有界缓冲问题中,“counter++”的伪机器语言为: (S0)register1 = counter (S1)register1 = register1 + 1 (S2)counter = register1 当两个生产者并发执行“counter++”时,有()中不同的运行结果。
A、1
B、2
C、3
D、4

3、访问临界区过程中,在临界区前的进入区应该实现()准则。
A、互斥
B、有空让进
C、有限等待
D、以上所有

4、访问临界区过程中,在临界区后的退出区应该实现()准则。
A、互斥
B、有空让进
C、有限等待
D、所有

5、存在忙等的信号量是()。
A、记录型信号量
B、AND信号量
C、整型信号量
D、二值信号量

6、在生产者消费者问题中,生产者的代码“把产品放入指定缓冲区”和消费者的代码“从满缓冲区取出一个产品”存在()种不同的运行可能。
A、1
B、2
C、3
D、其它

7、在生产者消费者问题中,生产者的代码中的signal(full)可能会唤醒()。
A、生产者自己
B、其它生产者
C、消费者
D、生产者或消费者

8、在生产者消费者问题中,消费者执行Wait(full)后阻塞的原因是()。
A、full=0
B、full<1
C、full=1
D、full>1

9、读者优先的读者写者问题中,写者可以进入写的前提条件是()。
A、没有读者在读
B、没有写者在写
C、既没有读者在读,也没有写者在写
D、其它

10、系统中有10个并发进程涉及某个相同的变量A,则变量A的相关临界区最少有()个。
A、1
B、2
C、10
D、20

11、进程P1对信号量S执wait(S)操作,则信号量S的值应()。
A、加1
B、不定
C、不变
D、减1

12、有m个进程共享同一临界资源,若使用信号量机制实现对这一临界资源的互斥访问,则信号量的变化范围是()。
A、0~1
B、0~m
C、-(m-1)~1
D、0~(m-1)

13、设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示()。
A、一个进程进入了临界区,另一个进程等待
B、两个进程进入临界区
C、没有一个进程进入临界区
D、两个进程都在等待

14、设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示()。
A、两个进程都在等待
B、没有一个进程进入临界区
C、两个进程都进入临界区
D、一个进程进入了临界区,另一个进程等待

15、若有10个进程共享同一程序段,而且每次最多允许5个进程进入该程序段,则互斥信号量的变化范围是()。
A、1~10
B、5~10
C、(-5)~5
D、(-5)~1

16、有两个并发进程要访问一个临界区,设置了互斥信号量mutex,现在mutex=-1,则表示()。
A、两个进程均进入临界区
B、没有进程进入临界区
C、一个进程进入临界区
D、一个进程进入临界区,另一个在等待

17、所有的消费者必须等待生产者先运行的前提条件是()。
A、缓冲区空
B、缓冲区满
C、缓冲区只能再放一个产品
D、缓冲区半空半满

18、消费者阻塞在wait(full)(full是同步信号量)的条件是()。
A、没有空缓冲区
B、没有满缓冲区
C、有其它生产者已经进入临界区存放产品
D、有其它消费者已经进入临界区取产品

19、在哲学家就餐问题中,不能防止死锁的方法为()。
A、最多允许4个哲学家同时坐在桌子周围。
B、仅当一个哲学家左右两边筷子都可用时,才允许他拿筷子。
C、这三个都正确
D、给所有哲学家编号,奇数号哲学家必须首先拿左边筷子,偶数号哲学家必须首先拿右边筷子。

20、当信号量的值等于0时,以下描述错误的是()。
A、再有进程申请信号量将阻塞
B、目前没有信号量可用
C、该信号量的值不能比0更小
D、申请该信号量的进程无法进入临界区

21、在Hoare管程中,有关条件变量x的操作wait()的描述正确的是()。
A、紧急队列非空时,会唤醒第一个等待进程
B、紧急队列空时释放管程控制权,允许入口队列进程进入管程
C、执行该操作进程进入x的条件队列
D、执行该操作进程继续运行

22、在Hoare管程中,有关条件变量x的操作signal()的描述正确的是()。
A、x的条件队列空时是空操作,执行该操作进程继续运行
B、x的条件队列空时是空操作,执行该操作进程进入紧急队列
C、x的条件队列非空时,唤醒该条件队列的第一个等待进程,执行该操作进程进入紧急队列
D、x的条件队列非空时,唤醒该条件队列的第一个等待进程,执行该操作进程继续运行

23、以下防止5个哲学家就餐出现死锁的解决方法,正确的有()。
A、最多允许4个哲学家同时坐在桌子周围
B、仅当一个哲学家左右两边筷子都可用时,才允许他拿筷子
C、增加一根额外的筷子
D、给所有哲学家编号,奇数号哲学家必须首先拿左边筷子,偶数号哲学家则反之

24、在读者写者问题中,读者可以进入缓冲区读的条件是()。
A、有读者在等待
B、无读者、写者在读写
C、有写者等,但有其它读者在读
D、有写者写

25、临界区使用的准则包括()。
A、互斥
B、有空让进
C、同步
D、有限等待

26、以下有关临界区的论述,正确的是()。
A、临界区的设置方法由操作系统确定
B、临界区是代码片段
C、每个进程可能有一个或多个临界区
D、进程必须互斥进入临界区

27、有关信号量S的描述,正确的是()。
A、S必须置一次且只能置一次初值
B、S初值不能为0
C、除了初始化,只能通过执行P、V操作来访问S
D、S的值不为负

28、在生产者消费者问题中,消费者调用wait(mutex)(mutex是互斥信号量)阻塞的条件是()。
A、有生产者进入在往缓冲区存放产品
B、有消费者进入在从缓冲区读产品
C、缓冲区空
D、缓冲区满

29、在读者优先的读者写者问题中,写者可以进入写的前提必须包括()。
A、没有读者在读
B、没有写者在写
C、有读者阻塞
D、没有写者在等

30、有关同步信号量,以下论述错误的是()。
A、同步信号量不可为负数
B、同步信号量只能设置一次初值
C、同步信号量一般初值设置为1
D、同步信号量为负数时,其绝对值表示目前使用这个信号量的进程的数量

31、二值信号量的值区间为0-1。

32、若信号S的初值为5,当前值为-2,则表示有2个等待进程。

33、当一进程因在记录型信号量S上执行signal(S)操作而导致唤醒另一进程前,S的值等于0。

34、一次允许多个进程使用的资源称为共享资源。

35、互斥操作时,一个信号量的P、V操作一般处于同一进程。

36、同步操作时,一个信号量的P、V操作一般处于同一进程。

37、在生产者消费者问题中,不同消费者之间不需要互斥。

38、10个生产者,5个消费者共享容量为8的缓冲区的生产者-消费者问题中,互斥使用缓冲区的信号 量S的初始值为1。

39、整型信号量是一个整数,如果一个进程要申请信号量时发现该信号量大于等于0则表示可以获得信号量,小于0则表示无法获得信号量。

40、记录型信号量增加了一个等待队列,当一个进程无法获得一个信号量时,马上释放CPU并把自己转换为等待状态,加入该信号量的等待队列,从而消除忙等。

上传笔记:第六章(6.1和6.2)

1、请拍照上传课堂听课笔记

上传笔记:第六章(6.3)

1、请拍照上传课堂听课笔记

上传笔记:第六章(6.4和6.5)

1、请拍照上传课堂听课笔记

上传笔记:第六章(6.6和6.7)

1、请拍照上传课堂听课笔记

Lab2 Introduction to Disks and Files

lab2.1 The Disk Subsystem

1、Exercise 1 Run the test program test1.py that imports the disk subsystem, creates a block, and writes a various sequence of bytes to the block, then prints the block. Read through the code to make sure you follow what is happening. "test1.py" 3.9 = import disk_sys nblock = disk_sys.block() nblock.setbyte(0x2b,0x48) nblock.setbyte(0x2c,0x65) nblock.setbyte(0x2d,0x6c) nblock.setbyte(0x2e,0x6c) nblock.setbyte(0x2f,0x6f) print nblock Exercise 2 Try modifying the code to generate your own short string (the variable printable might help you, particularly if you know that there are 32 (or 0x20) characters per line). Exercise 3 Write a test program test.py that imports the disk subsystem, creates a block, and writes the sequence of bytes 87,101,108,108,32,100,111,110,101,33 (in decimal) to addresses 62 and following. Call print <block> on your updated block to see the result. Exercise 4 Use the test program test2.py to create and test a disk object. Make sure you understand what is happening. Hint: python uses reference semantics. What does this mean? Your tutor can explain if you are not sure "test2.py" 3.14 = import disk_sys mydisk = disk_sys.disk() print mydisk.getblockref(13) b = mydisk.getblockref(13) b.setbyte(0x2b,0x48) b.setbyte(0x2c,0x65) b.setbyte(0x2d,0x6c) b.setbyte(0x2e,0x6c) b.setbyte(0x2f,0x6f) print mydisk.getblockref(13)

lab2.2 The File Subsystem

1、Exercise 5 On a sheet of paper, write the values (in binary and hexadecimal) of the key variables nbyte, nbit, mask, and clearmask for the following calls toallocateblock: allocateblock(3) allocateblock(7) allocateblock(25)Exercise 6 We now have developed enough of the system to try creating a few files. Download the file test3.py and run it. Extend it by creating additional files. Make sure you understand what happens to the directory block and free space block. "test3.py" 4.11 =import file_sys f = file_sys.file() f.initialize() f.create('test') b=f.disk print b.block2str(0) print b.block2str(1) print b.block2str(2)

lab2.2 File operation

1、Exercise 7 Try opening one of the files you created in exercise 6, and also a file that you haven't created. Is this a sensible response? What might a more elaborate design do? Exercise 8 Download test4.py and run it. Add some more writestrs and experiment to see what data gets written to disk and where. "test4.py" 4.19 = import file_sys f = file_sys.file() f.initialize() b=f.disk print b.block2str(0) f.create('test') f.create('newfile') f.create('thirdfile') fd = f.open('newfile') f.writestr(fd,'Hello Folks! Some data in a file') fd = f.open('thirdfile') f.writestr(fd,'This data in the third file') print b.block2str(0) print b.block2str(1) print b.block2str(2) print b.block2str(3) print b.block2str(4) print b.block2str(5) print b.block2str(6) Exercise 9 Code up the routine readbyte, and test it using the block2str routine provided in disk.py. You can also modify the routine or extend it. Write the readstr routine yourself and test it. In modifying and writing the readstr routine yourself, you will need to address the design questions of what happens on End-Of-File, and how long a string should be read. (How long is a piece of string?) Exercise 10 Write a delete file interface. Using a test file similar to test4.py, delete one or two files, and look particularly at what happens to the directory block and free space block.

第七章 死锁

7.1 死锁概念及其资源分配图随堂测验

1、引起死锁的主要原因有()。
A、资源静态分配
B、竞争互斥资源
C、竞争共享资源
D、进程推进不当

2、死锁的必要条件有()。
A、互斥
B、占有
C、非抢占
D、循环等待

3、多个进程竞争比进程数目少的资源就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。

4、操作系统处理死锁,只要采用预防、解除、检测、避免等方法中的一种就足够了。

5、如果资源分配图没有环,那么系统就不处于死锁状态;反之,如果有环,那么系统处于死锁状态。

7.2 死锁预防随堂测验

1、系统出

学习通操作系统_11

操作系统是计算机系统中最重要的软件之一,它是计算机硬件和应用程序之间的连接桥梁。学习通操作系统_11是一门面向大学生的操作系统课程,本文将会介绍该课程的一些基本知识和学习方法。

课程简介

学习通操作系统_11是一门由教育部高等教育“十三五”普通本科教学指导委员会批准的课程,由全国高等学校计算机教育指导委员会主办。该课程旨在培养学生的操作系统基础知识和实践能力,为学生未来的职业发展打下坚实的基础。

课程内容

学习通操作系统_11的课程内容涵盖了操作系统的基本概念、进程管理、内存管理、文件系统等方面。具体来说,包括:

    \t
  • 操作系统概述
  • \t
  • 进程管理
  • \t
  • 线程管理
  • \t
  • 死锁
  • \t
  • CPU调度
  • \t
  • 内存管理
  • \t
  • 文件系统
  • \t
  • 输入输出系统
  • \t
  • 安全与保护

通过学习这些内容,学生可以深入了解操作系统的运行原理和管理机制,以及如何优化系统性能和保护系统安全。

学习方法

学习通操作系统_11的学习方法非常重要,以下是一些建议:

1. 抓住重点

在学习过程中,要抓住重点,理解和掌握操作系统的基本概念和关键技术。这样可以为后续的学习和实践奠定基础。

2. 动手实践

在学习过程中,要注重动手实践,例如编写简单的操作系统程序、模拟系统调用等。通过实践,可以更好地理解系统的运作机制和实现过程。

3. 多看书

在学习过程中,要注重阅读操作系统相关的书籍和资料,例如《操作系统概念》、《现代操作系统》等。这些书籍可以帮助学生深入了解操作系统的发展历程、设计思想和实践技巧。

4. 参与项目

在学习过程中,可以参与一些基于操作系统的项目,例如开发操作系统组件、优化系统性能等。这些项目可以帮助学生更好地掌握操作系统的实践技能。

总结

学习通操作系统_11是一门重要的操作系统课程,它可以帮助学生深入了解操作系统的基本概念和关键技术。在学习过程中,要注重抓住重点、动手实践、多看书和参与项目等,这样可以更好地掌握操作系统的知识和技能。

学习通操作系统_11

操作系统是计算机系统中最重要的软件之一,它是计算机硬件和应用程序之间的连接桥梁。学习通操作系统_11是一门面向大学生的操作系统课程,本文将会介绍该课程的一些基本知识和学习方法。

课程简介

学习通操作系统_11是一门由教育部高等教育“十三五”普通本科教学指导委员会批准的课程,由全国高等学校计算机教育指导委员会主办。该课程旨在培养学生的操作系统基础知识和实践能力,为学生未来的职业发展打下坚实的基础。

课程内容

学习通操作系统_11的课程内容涵盖了操作系统的基本概念、进程管理、内存管理、文件系统等方面。具体来说,包括:

    \t
  • 操作系统概述
  • \t
  • 进程管理
  • \t
  • 线程管理
  • \t
  • 死锁
  • \t
  • CPU调度
  • \t
  • 内存管理
  • \t
  • 文件系统
  • \t
  • 输入输出系统
  • \t
  • 安全与保护

通过学习这些内容,学生可以深入了解操作系统的运行原理和管理机制,以及如何优化系统性能和保护系统安全。

学习方法

学习通操作系统_11的学习方法非常重要,以下是一些建议:

1. 抓住重点

在学习过程中,要抓住重点,理解和掌握操作系统的基本概念和关键技术。这样可以为后续的学习和实践奠定基础。

2. 动手实践

在学习过程中,要注重动手实践,例如编写简单的操作系统程序、模拟系统调用等。通过实践,可以更好地理解系统的运作机制和实现过程。

3. 多看书

在学习过程中,要注重阅读操作系统相关的书籍和资料,例如《操作系统概念》、《现代操作系统》等。这些书籍可以帮助学生深入了解操作系统的发展历程、设计思想和实践技巧。

4. 参与项目

在学习过程中,可以参与一些基于操作系统的项目,例如开发操作系统组件、优化系统性能等。这些项目可以帮助学生更好地掌握操作系统的实践技能。

总结

学习通操作系统_11是一门重要的操作系统课程,它可以帮助学生深入了解操作系统的基本概念和关键技术。在学习过程中,要注重抓住重点、动手实践、多看书和参与项目等,这样可以更好地掌握操作系统的知识和技能。