
操作系统OS
文章平均质量分 50
frewenwang
用技术改变自己的未来。
常怀感恩之心,守住宁静之地。
展开
-
实验一: 进程状态转换及PCB的模拟
实验目的1)加深对进程概念的理解。2)深入了解进程控制块和进程状态之间的转换。3)掌握进程调度算法。实验预备知识1)进程的状态2)进程的结构——PCB进程都是由一系列操作(动作)所组成,通过这些操作来完成其任务。因此,不同的进程,其内部操作也不相同。在操作系统中,描述一个进程除了需要程序和私有数据之外,最主要的是需要一个与动态过程相联系的数据结构,该数据结构用来描述进程的外部特性(名字、状态等)以...原创 2018-04-07 17:16:58 · 16121 阅读 · 5 评论 -
生产者消费者问题--练习题目
10-os考研题目改题目中p0,p1两个进程可以互斥的进入临界区,会出现饥饿现象(答案给的是D,但是自我认为可以出现饥饿现象)互斥的访问:p0: Flag[0]=TRUE;p1: Flag[1]=TRUE;p1: turn=0; p1: While (flag[0] && (turn==0)); // p1 会一直循环p0: turn=1;// 此时的p1循环条件不满足,进...原创 2018-03-31 12:52:22 · 16398 阅读 · 3 评论 -
pv操作的经典习题
1、有一阅览室,共有100个座位。读者进入时必须先在一种登记表上登记,该表为每一座位列一个表目,包括座号和读者姓名。读者离开时要注销掉登记内容。试用wait和signal原语描述读者进程的同步问题。semaphore empty = 100;// 记录空座位semaphore mutex = 1;// 作为互斥的访问登记和注销操作void reader(){ while(true) {...原创 2018-04-10 17:28:22 · 59942 阅读 · 15 评论 -
生产者-消费者问题
问题基本描述生产者消费者问题是一个著名的进程同步的问题。它描述的是:有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程将其所生产的产品放入一个缓冲区中;消费者进程可从一个缓冲区中取走产品消费。一组生产者进程和一组消费者进程共享一个初始为空、大小为n的缓冲区(实质在数据结构中是一个循环对列),只...原创 2018-03-28 19:04:43 · 4339 阅读 · 0 评论 -
哲学家进餐问题
五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在桌子上有五只碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐毕,放下筷子继续思考。经分析可知:放在桌子上的筷子是临界资源,在一段时间内只允许一位哲学家使用,为了实现对筷子的互斥访问,可以用一个信号量表示筷子,由这五个信号量构成信号量数组。s...原创 2018-04-03 22:06:33 · 8286 阅读 · 3 评论 -
较为复杂的生产者消费者问题
问题描述桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等吃盘子中的橘子,女儿专等吃盘子中的苹果。只有盘子为空时,爸爸或妈妈就可向盘子中放一个水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出。问题分析1) 关系分析。这里的关系稍复杂一些,首先由每次只能向其中放入一只水果可知爸爸和妈妈是互斥关系。爸爸和女儿、妈妈和儿子是同步关系,而且这两...原创 2018-03-28 19:31:59 · 734 阅读 · 0 评论 -
“读者—写者”问题
“读者—写者”问题—记录型信号量一个数据文件或记录可被多个进程共享。只要求读文件的进程称为“Reader进程”,其它进程则称为“Writer进程”。允许多个进程同时读一个共享对象,但不允许一个Writer进程和其他Reader进程或Writer进程同时访问共享对象“读者—写者问题”是保证一个Writer进程必须与其他进程互斥地访问共享对象的同步问题。读者—写者问题要解决:读、读共享;写、写互斥;写...原创 2018-04-05 11:32:42 · 22694 阅读 · 2 评论 -
“读者--写者”问题练习题目:南北桥问题
有桥如下图所示,车流如箭头所示,桥上不允许两车交汇,但允许同方向多辆车依次通过(即桥上可以有多个同方向的车)。用P、V操作实现交通管理以防止桥上堵塞【北京大学 1992】 解析:这个题目要解决:南、北互斥(桥上不允许两车交汇,相当于“读、写互斥”),需要设置一个互斥信号量mutex,初值为1;南、南共享(相当于“读、读共享”),套用实现“...原创 2018-04-05 15:46:53 · 9252 阅读 · 0 评论 -
实验二 死锁避免的模拟
一、实验目的1)深入了解死锁的原因和必要条件。2)掌握死锁的处理方式。3)实现死锁避免的模拟二、实验预备知识1)系统安全状态2)银行家算法三、实验内容验证银行家算法避免系统死锁。假设系统中有三类资源A、B、C和五个进程P1、P2、P3、P4、P5。然后设定每种资源的数量。之后设定每个进程对各类资源的最大需求,最后假定在某一时刻,系统已经给各个进程分配多少资源。要求检查该时刻系统是否处于安全状态。四...原创 2018-05-02 19:18:52 · 3395 阅读 · 3 评论