0.0866

五煦查题

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

超星操作系统原理_9课后答案(学习通2023题目答案)

36 min read

超星操作系统原理_9课后答案(学习通2023题目答案)

第1章 绪论

第1章作业

1、超星操作1.查找文献,系统学习回答以下问题: (1)操作系统的原理地位和作用。 (2)OS基本功能有哪些?课后 (3)OS的类型有哪些?简述它们的特征。 (4)多道程序设计的答案思想及其意义? (5)现代操作系统有哪些特征? (6)简述UNIX和Linux操作系统的发展历史(用思维导图画出)。

2、通题有两道程序A、目答B,超星操作按下图以多道程序方式运行,系统学习要求在右图画出它们的原理运行轨迹,并计算在60ms内,课后CPU的答案利用率,假设起始时首先运行B,通题并允许忽略监督程序切换A、目答B的超星操作时间。

3、写出以下巡回置换算法的执行结果,并尝试在linux下编程实现,将源代码和执行结果截图上传。

第2章 操作系统用户界面

Linux接口练习1-2-3

1、Linux基础 Shell脚本编程 C语言编程

第3章 进程管理

第3章作业一

1、简述进程的概念,与程序的区别和联系;简述进程的三种基本状态及其相互转换。

2、在生产者和消费者问题中,如果将P操作位置互换,会产生什么结果?如果只将V操作互换,又会产生什么结果?

3、桌上有一个空盘,允许存放一个水果。爸爸可以向盘中放苹果,也可以向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果。规定当盘空时一次放一个水果供吃者取用,请用P,V原语实现爸爸、儿子、女儿三个并发进程的同步。

4、用PV操作解决读者写者问题的正确程序如下: begin S, Sr: Semaphore; rc: integer; S:=1; Sr:=1; rc:=0; cobegin PROCESS Reader i ( i=1,2,…) begin P(Sr); rc:=rc+1; if rc=1 then P(S); V(Sr); read file; P(Sr); rc:=rc-1; if rc=0 thenV(S); V(Sr) end; PROCESS Writer j (j=1,2,…) begin P(S); Write file; V(S) end; coend; end; 请回答: (1) 信号量 Sr的作用; (2) 程序中什么语句用于读写互斥,写写互斥; (3) 若规定仅允许5个进程同时读怎样修改程序?

5、A、B两点之间是一段东西向的单行车道,现要设计一个车辆行驶的自动管理系统。管理规则如下:当A、B之间有车辆在行驶时同方向的车可以同时驶入AB段,但另一方向的车必须在AB段外等待;当A、B之间无车辆在行驶时,到达A点(或B点)的车辆可以进入AB段,但不能从A点和B点同时驶入;当某方向的车从AB段驶出且暂无车辆进入AB段时,应让另一方向等待的车辆进入AB段行驶。现定义两个计数器CountE和CountW分别记录东行和西行车辆进程数。用PV操作进行管理时的三个信号量为SAB、SE、SW,实现上述功能的算法如下: typedef int semaphore ; semaphore SAB = __(1)__ ; semaphore SE = __(2)__ ; semaphore SW = __(3)__ ; int CountE = __(4)__ , CountW = 0 ; PEi:第i个东行车辆进程(i=0, 1, 2, …) __(5)__ ; if (CountE = =0 ) __(6)__ ; CountE = CountE+1 ; __(7)__ ; pass(BA) ; __(8)__ ; CountE = CountE-1 ; if ( CountE = = 0 ) __(9)__ ; __(10)__ ; PWi:第i个西行车辆进程(i=0, 1, 2, …) __(11)__ ; if ( CountW = = 0 ) __(12)__ ; CountW = CountW+1 ; __(13)__ ; pass(AB) ; __(14)__ ; CountE = CountE-1 ; if ( CountW = = 0 ) __(15)__ ; __(16)__ ; 请将空缺处的内容填入下表: (1) (5) (9) (13) (2) (6) (10) (14) (3) (7) (11) (15) (4) (8) (12) (16)

第3章作业二

1、两进程PA,PB通过两FIFO缓冲区队列连接(如图),每个缓冲区长度等于传送消息长度。 进程PA,PB之间的通信满足如下条件: (1) 至少有一个空缓冲区存在时,相应的发送进程才能发送一个消息。 (2) 当缓冲队列中至少存在一个非空缓冲区时,相应的接收进程才能接收一个消息。 试描述发送过程send(i,m)和接收过程receive(i,m)。这里i代表缓冲队列。

2、编写一个程序使用系统调用fork生成3个子进程,并使用系统调用pipe创建一管道,使得这3个子进程和父进程公用同一管道进行信息通信。

3、The Fibonacci sequence is the series of numbers 0, 1, 1, 2, 3, 5, 8, … Write a multipthreaded program that generates the Fibonacci series using Pthreads library. This program should work as follows : The user will enter on the command line the number of Fibonacci numbers that the program is to generate. The program will then create a separate thread that will generate the Fibonacci numbers, placing the sequence in data that is shared by threads (an array is probably the most convenient data structure). When the thread finishes execution, the parent thread will output the sequence generated by the child thread. Because the parent thread cannot begin outputting the Fibonacci sequence until the child thread finishes, this will require having the parent thread wait for the child thread to finish.

第4章 处理机调度

第四章作业

1、在一个批处理单道系统中,假设有四道作业,它们的提交时间及运行时间在下表中所列,当第一个作业进入系统后开始调度,假定作业都是仅作计算,采用计算时间短的作业优先调度算法,忽略调度花费时间。 作业 进入系统时间 运行时间 开始时间 完成时间 周转时间 1 8:00 2小时 2 8:50 30分钟 3 9:00 6分钟 4 9:30 12分钟 (1) 求出每个作业开始时间、完成时间及周转时间并填入表中。 (2) 计算四个作业的平均周转时间应为____。

2、在一个单CPU的计算机系统中,有两台输入输出设备IO1、IO2和三个进程P1、P2、P3。系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如下表所示: 进程 优先级 使用设备的先后顺序和占用设备时间 P1 高 IO2(30ms)→CPU(10ms)→IO1(30ms)→CPU(10ms) P2 中 IO1(20ms)→CPU(20ms)→IO2(40ms) P3 低 CPU (30ms)→IO1(30ms) 假设操作系统的开销忽略不计,请回答下列问题: (1) 三个进程从投入运行到完成,所用的时间分别是多少? (2) 三个进程从投入运行到全部完成,CPU的利用率为多少?IO1和IO2的利用率分别为多少?(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。

3、Consider the following set of processes, with the length of the CPU-burst time given in milliseconds: The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0. a. Draw four Gantt charts illustrating the execution of these processes using FCFS, SJF, a nonpreemptive priority (a smaller priority number implies a higher priority), and RR (quantum = 1) scheduling. b. What is the turnaround time of each process for each of the scheduling algorithms in part a? c. What is the waiting time of each process for each of the scheduling algorithms in part a? d. Which of the schedules in part a results in the minimal average waiting time (over all processes)?

4、设有A、B、C三个作业,执行情况如下表所示。请填写周转时间栏,并回答下列问题: 作业名 到达时间 开始执行时间 执行结束时间 周转时间(小时) A 10:00 10:00 12:00 B 10:10 12:25 13:25 C 10:25 12:00 12:25 (1) 作业的平均周转时间是多少? (2) 采用了什么作业调度算法?如何判定?

5、(1)进程调度的功能由哪些?进程调度的时机有哪几种? (2)进程上下文切换由哪几部分组成?形式化地描述进程上下文切换过程。

第5章 存储管理

第5章作业

1、页式存储管理中,主存空间按页面分配,可用一张“位示图”构成主存分配表。设主存容量为8M字节,页面长度为1K字节,若字长为32位,页面号从0开始,字号和字内位号(从低位到高位)均从0开始,试求: (1) “位示图”需要的字数; (2) 第2030页面对应的字号和位号; (3) 90字16位对应的页面号。

2、在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167。若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题:(图示算法运行过程) (1) 按FIFO调度算法将产生____次缺页中断,依次淘汰的页号为____,缺页中断率为____。 (2) 按LRU调度算法将产生____次缺页中断,依次淘汰的页号为____,缺页中断率为____。

3、某段式存储管理采用如下表所示的段表。试计算[0,500],[1,100],[2,50],[3,70]的主存地址。当无法进行地址变换时,应说明产生何种中断。 段号 段长 主存起始地址 是否在主存 0 600 2100 是 1 40 2800 是 2 100 否 3 80 4000 是

4、Given five memory partitions of 100 KB, 500 KB, 200 KB, 300 KB, and 600 KB (in order), how would each of the first-fit, best-fit, and worst-fit algorithms place processes of 212 KB, 417 KB, 112 KB, and 426 KB (in order)?Which algorithm makes the most efficient use of memory?

5、查阅资料,撰写报告分析Intel X86体系结构下Linux系统的虚拟内存管理策略。

第6章进程与存储管理示例

实验指导书与实验报告

1、一、实验要求 1. 根据实验内容编写C或C++程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。 4.实验报告提交为word文档,其文件名为学号+姓名+实验报告 二、程序说明和程序流程图 三、执行结果(截图)与分析 四、实验内容 实验1 进程管理 实验2 进程通信 实验3 线程管理 实验4 存储管理

学习通操作系统原理_9

本次学习通操作系统原理的课程重点内容为进程通信和同步.

进程通信

进程通信是指不同进程之间进行信息交换的过程.在操作系统中,进程通信通常使用同步和互斥来控制进程之间的通信.

同步

同步指的是不同进程之间的协调和顺序控制.在同步的过程中,一个进程必须等待另一个进程完成某个任务,才能继续执行下去.在操作系统中,同步通常使用信号量来实现.

信号量

信号量是一种专门用于实现同步的机制.信号量是一个整型变量,可以用于协调多个进程的顺序执行.操作系统提供了两种信号量:二进制信号量和计数信号量.

二进制信号量

二进制信号量也称为互斥信号量.它的值只有0和1两种情况.当值为0时,表示资源不可用;当值为1时,表示资源可用.

计数信号量

计数信号量是指一个整型变量,它的值可以大于1.计数信号量的主要作用是用于表示某种资源的可用数量.

互斥

互斥指的是不同进程之间的互相排斥.在互斥的过程中,一个进程必须等待另一个进程完成某个任务,才能继续执行下去.在操作系统中,互斥通常使用临界区来实现.

临界区

临界区是指多个进程或线程同时访问的某个共享资源.在临界区内,每个进程或线程只能执行一部分代码,以防止多个进程或线程同时修改共享资源.

进程同步

进程同步是指不同进程之间进行同步操作的过程.在操作系统中,进程同步通常使用管程来实现.

管程

管程是一种用于实现进程同步的机制.管程是一个封装了某种共享资源的代码块,在管程内部可以实现对共享资源的互斥访问和同步操作.

互斥访问

互斥访问指的是在管程内部对共享资源进行的互斥访问.在管程内部,只要有一个进程在访问共享资源,其它进程就必须等待.

同步操作

同步操作指的是在管程内部对进程进行的同步操作.在管程内部,只有满足一定条件的进程才能进行下一步操作.

进程调度

进程调度是指操作系统对进程进行管理和调度的过程.在操作系统中,进程调度通常使用多级反馈队列调度算法来实现.

多级反馈队列调度算法

多级反馈队列调度算法是指将进程按照优先级划分成多个队列,每个队列之间的优先级依次递减,同时为每个队列设置时间片大小.当一个进程的时间片用完时,如果它还未完成,就将它移动到下一个队列中,直到完成为止.

通过多级反馈队列调度算法,可以有效地平衡进程的响应时间和系统吞吐量,并且可以避免进程的饥饿情况.

总结

本次学习通操作系统原理的课程重点内容为进程通信和同步.进程通信通常使用同步和互斥来控制进程之间的通信,而进程同步通常使用管程来实现.同时,进程调度通常使用多级反馈队列调度算法来实现.