操作系统类
南风~古草
贵州大学软件工程专业大三,学子彦秉成。立志于笃行求是,践行人生信仰的奋斗者!
展开
-
页面置换算法:先进先出,最优和最近最少;系统抖动的解决(操作系统笔记)
1、belady异常:对于FIFO算法,分配页面数增多,缺页率反而提高的异常。2、最优置换算法:将最长时间不被使用的页置换掉。如:*表示缺页,九次缺页。 7 0 1 2 0 3 0 4 2 3 0 3 2 1原创 2022-05-10 10:30:00 · 1945 阅读 · 0 评论 -
访问文件管程案例(操作系统伪代码)
public class Test04189dian { int now = n; void visit(Program program){ now-=program.num; if(now<=0){ wait(); } //具体访问操作 now+=program.num; if(now>0){ signal(); .原创 2022-04-27 07:44:25 · 508 阅读 · 0 评论 -
一阅览室只能容纳150人,当少于150人时,可以进入,否则,需在外等候,若将每一个读者作为一个进程,请用P、V操作编程(类C、类pascal),并写出信号量的初值。(PV操作伪代码)
1、第一种情况:现实生活中阅览室的门可以同时进入或出去多个人,题目中也没有其他限定时,可以只设立同步信号量即可。伪代码如下: int n = 150; semaphore empty = n;/*empty表示剩余的空位*/ void reader(){ while (1){ P(empty); //读者进入 //读者离开 V(empty); }.原创 2022-04-23 17:56:02 · 1064 阅读 · 0 评论 -
操作系统PV操作伪代码(猎人,兔子,饭店老板问题)
题目:有一只最多能装2只兔子的铁笼子,猎人仅能向笼子中放入兔子(每次只能放入1只),若笼子是满的,则猎人必须等待;饭店老板仅能从笼子中取兔子(每次只能取出1只),若笼子是空的则他也必须等待。假设初始时笼子是空的。定义信号量并初始化,使用P、V操作模拟猎人和饭店老板进程之间的同步与互斥。 int n = 2; semaphore empty = n;/*empty表示笼子空余数量*/ semaphore full = 0;/*full表示笼子现有兔子*/ semaph.原创 2022-04-18 17:37:25 · 1854 阅读 · 0 评论 -
操作系统PV操作伪代码(小和尚提水、老和尚饮水问题)
题目: 某寺庙,有小和尚、老和尚若干。庙内有一水缸,由小和尚提水入缸,供老和尚饮用。水缸可容纳10桶水,每次入水、取水仅为1桶,不可同时进行。水取自同一井中,水井径窄,每次只能容纳一个水桶取水。设水桶个数为3个,试用信号量和PV操作给出老和尚和小和尚的活动。提示:从井中取水并放入水缸是一个连续的动作可以视为一个进程,从缸中取水为另一个进程。设水井和水缸为临界资源,引入mutex1,mutex2;三个水桶无论从井中取水还是放入水缸中都一次一个,应该给他们一个信号量count,...原创 2022-04-16 19:31:12 · 4070 阅读 · 2 评论 -
操作系统前三章试题知识点
第一章:1、计算机开机后,操作系统被加载到RAM。2、操作系统的功能是管理计算机资源并提供用户接口。3、操作系统的特征是并发、共享、虚拟和异步。4、多道程序设计指的是在一个处理器上并发运行多个程序。5、操作系统基本功能包括处理器管理、存储管理、文件管理、设备管理。6、 判断题:操作系统是能方便用户编程的程序(错误)。7、如果分时操作系统的时间片一定,那么用户数越多,则响应时间越长。8、我们所说的裸机是指硬件层。9、实时操作系统较适用于控制火箭的飞行。10、用户通过系统原创 2022-04-05 18:15:00 · 1527 阅读 · 0 评论 -
操作系统PV操作实现进程同步与互斥(苹果橘子问题)
empty=1,apple=0,orange=0,mutex=1;void parent(){ while(1){ p(empty); p(mutex); //放水果; v(mutex); if(放苹果){ v(apple); } if(放橙子){ v(orange); ...原创 2022-04-03 18:15:00 · 4645 阅读 · 0 评论