操作系统
文章平均质量分 91
丶无尘
这个作者很懒,什么都没留下…
展开
-
进程调度实验
一、实验目的通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转调度算法,进一步掌握进程调度的概念和算法,加深对处理机分配的理解。了解进程(线程)的调度机制。学习使用进程(线程)调度算法,掌握相应的与调度有关的 API 函数。二、实验环境Tencent 云服务器一台三、实验内容1 先来先服务算法1.1 算法简介先来先服务算法是最简单的调度算法,既可以用于作业调度 ,也可以用于程序调度,当作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,优先从后备队列中,选择一个原创 2021-11-21 14:11:01 · 4514 阅读 · 4 评论 -
Linux实现银行家算法
1 实验目的熟练Linux系统编程操作了解死锁避免的原理。研究银行家算法的实现方法。2 实验任务最有代表性的避绝死锁的算法是迪杰斯特拉(Dijkstra)提出的银行家算法。该名字的由来是,该算法原本为银行系统而设计,以确保银行在发放现金货款时不会发生不能满足所有客户需要的情况。在 操作系统(OS) 中也可用它来避免死锁。为实现银行家算法,每个新进程在进人系统时,其都必须申明在运行过程中可能需要每种资源类型的最大单元数目,该数目不应超过系统所拥有的资源总数。当进程清求一组资源时,系统须首先确定原创 2021-11-07 21:30:53 · 7751 阅读 · 10 评论 -
进程通信实验
一、实验目的了解什么是消息。熟悉消息传送机理。编程实现消息的发送与接收。了解和熟悉共享存储机制。学会用共享存储区方法进行通信。二、实验环境Tencent 云服务器一台三、实验内容1 消息的发送与接收1.1 消息队列(独立进程)使用系统调用 msgget(),msgsnd(),msgrev(),及 msgctl() 编制一长度为 1k 的消息发送和接收的程序。设计思路:为了便于操作和观察结果,编制二个程序 client.c 和 server.c,分别用于消息的发送与接收。s原创 2021-11-07 12:51:07 · 2628 阅读 · 0 评论 -
进程控制及信号编程实验
实验目的掌握进程的概念,明确进程和程序的区别。认识和了解并发执行的实质。分析进程争用资源的现象,学习解决进程互斥的方法。了解什么是信号。熟悉 LINUX 系统中进程之间软中断通信的基本原理。实验环境Tencent 云服务器一台实验内容1 进程控制1.1 题目编写一段程序,使用系统调用 fork() 创建两个子进程,在系统中有一个父进程和两个 子进程活动。让每个进程在屏幕上显示一个字符;父进程显示字符“a” ,子进程分别显示 字符“b” 和“c” 。试观察记录屏幕上的显示结果,并分原创 2021-11-02 17:10:27 · 4218 阅读 · 0 评论 -
Linux多进程实现读写者问题:读优先、写优先、公平排队实现
1. 任务简介一个数据文件或记录可被多个进程共享,我们把只要求读该文件的进程称为 reader进稈,其他进程称为writer进程。允许多个进程同时读一个共享对象,因为读操作不会使数据文件混乱。但不允许一个writer进程和其他reader进程或writer进程同时访回共享对象,因为这种访问将会引起混乱。所谓读者-写者问题(reader-writer problem)是指保证一个writer进程必须与其他进程互斥地访问共享对象的向步问题。读者-写者问题常被用手测试新同步原语。读者-写者问题被提出后,就一直原创 2021-10-06 00:52:58 · 5845 阅读 · 12 评论 -
Linux多进程4种策略实现哲学家进餐问题
1. 任务简介一张圆桌上坐着5名哲学家,每两个哲学家之间的桌上摆一根筷子,桌子的中间是一碗米饭。哲学家们倾注毕生的精力用于思考和进餐,哲学家在思考时,并不影响他人。只有当哲学家饥饿时,才试图拿起左、右两根筷子(一根一根地拿起)。如果筷子己在他人手上,则需等待。饥饿的哲学家只有同时拿起两根筷子才可以开始进餐,当进餐完毕后,放下筷子继续思考。本实验要求利用Linux多进程实现哲学家进餐问题。2. 思路分析我们分析题目中的同步和互斥关系:2.1 同步关系本题中并不存在需要特别关注的同步关系2.2 互原创 2021-10-05 16:19:55 · 5330 阅读 · 7 评论 -
Linux多进程实现生产者消费者问题
1. 任务简介生产者消费者问题(Producer-consumer problem),也称有限缓冲问题(Bounded-buffer problem),是一个著名的进程同步问题的经典案例。它描述的是有一组生产者进程在生产产品,并将这些产品提供给一组消费者进程去消费。为使生产者进程和消费者进程能够并发执行,在这两者之间设置里一个具有nnn个缓冲区的缓冲池,生产者进程将他所生产的的产品放入一个缓冲区中;消费者进程可从一个缓冲区中取走产品并进行消费。尽管所有的生产者进程和消费者进程都是以异步方式运行的,但亡们之原创 2021-10-04 17:46:56 · 9818 阅读 · 0 评论 -
多生产者单消费者捆绑消费问题
多生产者单消费者捆绑消费问题1. 问题描述某商店有两种食品A和B,最大数量各为m个。该商店将A,B两种食品搭配出售,每次各取一个。为避免食品变质,遵循先到食品先出售的原则,有两个食品公司分别不断地供应AB两种食品(每次一个)。为保证正常销售,当某种食品的数量比另种的数量超过k(k<m)个时,暂停对数量大的食品进货,补充数量少的食品,请回答:(1) 共需设置几个进程?(2) 试用P,V操作解决上述问题中的同步和互斥关系2. 问题分析首先,我们对问题进行抽象:可以看作是多生产者,单消费者问题。原创 2021-09-27 21:28:57 · 1555 阅读 · 0 评论