山东大学2022操作系统期末(计算机学院)

这篇文章是一位学生分享的操作系统课程期末考试复习笔记,主要包括内核与用户模式的区别、OS发展的影响、C语言函数是否会陷入内核态、抖动现象及预防、虚拟存储机制、死锁检测、设备驱动程序功能、文件管理以及进程和线程的交互。此外,还涉及了优先级调度可能导致的饥饿问题和复数运算的线程同步问题。
摘要由CSDN通过智能技术生成

写在开头:
之前上网搜OS期末考试原题,基本全是软件学院的,没有计科的。这次是第一次写期末考试,希望对学弟学妹有帮助
没想到居然真的写完了,自我感觉还原度95%,基本题干都背过了

一、解答题(4*10)

1.

(1)内核模式和用户模式的区别
(2)对OS发展的帮助
(3)C语言printf语句会陷入内核态吗
(4)C语言cos(13)会陷入内核态吗

2.

抖动是什么,什么原因造成的,工作集如何预防抖动

3.

(1)虚拟存储的思想
(2)请求调页中,页表项有哪些,有什么作用
(3)让一个进程不访问不属于它的地址空间怎么做

4.

(1)设备驱动程序的作用
(2)一切皆文件的优缺点

二(35’)

1.死锁的检测

(1)给了一个4个进程+五种资源那种表,其中一个资源的量为x,问若让系统无死锁,x最小值是多少,给出推理过程
(2)死锁必要条件是什么,银行家算法破坏了哪些(个)条件

2.(15’)

给了两条C语言程序语句,一个是打开file.txt文件,另一条是读入一个字符,并赋值到变量c中
(1)写出从拿到file.txt开始,到赋值结束过程中,OS都干了什么
(2)这个过程中,用到了哪些文件管理的数据结构

3.

给了编程代码
int main()
{
pid_t pid1,pid2;
pid1 = fork();
pid2 = fork();
printf(“hello,world”);
return 0;
}
问一共输出几次hello,world,给出进程树,并给出解释

三、计算编程题

1.

给了一个优先级priorty,刚开始设为nice,优先级调度法,进程被调度时,cputime每单位时间+1,waittime置零;进程等待时,cputime置零,waittime每单位时间+1
(1)若priority就设为nice,不变,则会可能有饥饿,为什么
(2)给出一个动态优先级算法,保证不饥饿,waittime在其中作用是什么

2.

给一段代码
作用是,复数的struct,定义复数的加法算法,有三个线程。x,y,z是三个复数,是全局变量
线程1:有局部变量m,m=x+y
线程2:有局部变量m,m=y+z
线程3:有局部变量m,m=(1,1),y = y+m,z = z+m
请增加条件变量,并用wait和signal来使得线程可以最大限度并发,且互不干扰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mac-lengs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值