- 15
- 0
- 约1万字
- 约 8页
- 2018-02-19 发布于浙江
- 举报
uco的re实验7实验报告
LAB7实验报告
实验目的:
熟悉ucore中的进程同步机制,了解操作系统为进程同步提供的底层支持;
在ucore中理解信号量(semaphore)机制的具体实现;
理解管程机制,在ucore内核中增加基于管程(monitor)的条件变量(condition variable)的支持;
了解经典进程同步问题,并能使用同步机制解决进程同步问题
实验内容:
实验六完成了用户进程的调度框架和具体的调度算法,可调度运行多个进程。如果多个进程需要协同操作或访问共享资源,则存在如何同步和有序竞争的问题。本次实验,主要是熟悉ucore的进程同步机制—信号量(semaphore)机制,以及基于信
号量的哲学家就餐问题解决方案。然后掌握管程的概念和原理,并参考信号量机制,实现基于管程的条件变量机制和基于条件变量来解决哲学家就餐问题。
在本次实验中,在kern/sync/check_sync.c中提供了一个基于信号量的哲学家就餐问题解法。同时还需完成练习,即实现基于管程(主要是灵活运用条件变量和互斥信号量)的哲学家就餐问题解法。哲学家就餐问题描述如下:有五个哲学家,他们的生活方式是交替地进行思考和进餐。哲学家们公用一张圆桌,周围放有五把椅子,每人坐一把。在圆桌上有五个碗和五根筷子,当一个哲学家思考时,他不与其他人交谈,饥饿时便试图取用其左、右最靠近他的筷子,但他可能一根都拿不到。只有在他拿到两根筷子时
原创力文档

文档评论(0)