【实验6-调度器】 调度器是操作系统的核心组件,负责决定哪个进程应该获得CPU的使用权。在本实验中,学生需要理解ucore的调度器框架,包括默认的Round Robin(RR)调度算法。RR调度算法是一种时间片轮转的策略,每个进程在分配的时间片内运行,时间片用尽后被强制切换到就绪队列的末尾。调度器通过`sched_class`中的函数指针来执行不同的调度策略。在练习中,学生首先需要分析这些函数指针的用法,然后描述ucore的调度执行过程。此外,他们还需要实现Stride Scheduling算法,这是一种根据进程步长进行调度的策略,旨在提高处理器利用率和响应时间。 【实验7-同步互斥】 同步互斥是多进程或多线程环境下确保资源安全访问的关键技术。在实验7中,学生将学习内核级信号量的实现,它用于控制对共享资源的访问。信号量机制包括P(wait)和V(signal)操作,用于同步和互斥。学生需要理解信号量的工作原理,实现基于内核级信号量的哲学家就餐问题解决方案。哲学家就餐问题是经典的并发问题,演示了如何避免死锁。此外,学生还应比较用户态进程与内核级信号量的差异。 【实验8-文件系统实现及综合实验】 文件系统是操作系统中用于组织、存储和检索文件的层次结构。在本实验中,学生将在ucore的基础上完成文件系统的实现,包括读文件操作和基于文件系统的执行程序机制。这涉及文件的打开、关闭、读写等操作,以及如何通过文件系统调用执行程序。实验的扩展部分是将调度器改为多级反馈队列调度算法,这种算法可以根据进程的优先级和执行时间动态调整时间片,优化系统性能。 实验的总结部分要求学生对比实验结果,描述ucore_lab中参考答案与自己实现的区别,并指出实验中未涵盖的知识点。通过这三个实验,学生可以深入理解操作系统的调度、同步和文件系统的核心概念,并能实际动手实现这些关键功能,提升对操作系统设计和实现的理解。
剩余56页未读,继续阅读
- 粉丝: 23
- 资源: 334
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0