构建分时及事件触发进程调度系统及性能评测分析
版权申诉
124 浏览量
更新于2024-10-17
收藏 16.16MB ZIP 举报
资源摘要信息:"该资源是一个关于实现分时进程调度和事件触发的进程调度系统的设计报告、项目源码和项目截图的压缩包。该系统不仅实现了分时和事件触发两种调度算法,还对所实现的调度系统进行了性能评测分析。实验环境使用的是VMware Workstation 12 Pro下的Ubuntu 12.04.4 LTS 32位系统。"
知识点:
1. 分时进程调度:这是一种把处理器的时间分成许多小的时间片,并且按照一定的规则轮流为每个作业分配一个时间片来执行,从而使得多个作业能够同时进行。其关键在于时间片的分配和任务切换。分时调度系统需要能够保证所有运行的进程都有机会执行,同时要尽可能减少上下文切换的开销。
2. 事件触发进程调度:事件触发调度系统是基于事件发生来调度进程的执行,当有事件发生时,系统才会根据调度策略去选择一个合适的进程来执行。这种调度方式可以更好地适应I/O密集型的应用,因为它们可以即时响应外部事件。
3. 进程状态的保存(保存现场):当进程被暂停执行时,需要保存其状态信息,以便之后能够恢复执行。需要保存的状态通常包括程序计数器、寄存器内容、进程状态、内存管理信息、I/O状态信息等。保存现场通常在进程切换时发生,可以是由调度器决定,也可以是因为进程执行完毕或阻塞。
4. 进程状态的恢复(恢复现场):当系统决定恢复之前暂停的进程时,需要将保存的现场信息重新加载到处理器和内存中,恢复进程的运行环境。
5. 进程表的引入:进程表是用来记录系统中所有进程状态的数据库。它通常包括进程ID、进程状态、优先级、程序计数器、CPU寄存器、内存管理信息、会计信息、I/O状态信息等。进程表对操作系统管理进程和调度进程至关重要。
6. 进程栈和内核栈:进程栈是进程用来保存局部变量和函数调用的历史信息的内存区域。内核栈是在内核态执行进程时所使用的栈,主要用于保存中断和系统调用发生时的状态信息。
7. 特权级的变换:现代操作系统采用不同的运行级别(特权级)来增强系统的安全性。ring0通常具有最高权限,可以直接访问硬件和执行任何CPU指令,而ring1等其他级别则权限较低,不能执行一些敏感的操作。进程调度时涉及到从用户态切换到内核态,这需要进行ring0和ring1之间的权限级别切换。
8. 操作系统的课程设计:该资源是一份关于操作系统课程设计的材料,提供了如何实现和分析分时进程调度和事件触发的进程调度系统的详细设计报告。课程设计是学习操作系统理论与实践相结合的重要环节,能够帮助学生理解和掌握操作系统中进程调度、进程管理等核心概念。
9. VMware Workstation和Ubuntu的使用:资源中提到了VMware Workstation 12 Pro和Ubuntu 12.04.4 LTS 32位版本。这两个工具是进行操作系统实验和课程设计的常用软件,VMware Workstation是一款虚拟机软件,允许用户在一台主机上运行多个操作系统;Ubuntu 12.04.4 LTS是一个稳定的Linux发行版,非常适合用来学习和开发。
10. 资源包中的文件组成:实验报告.docx提供了系统设计的详细文档,LICENSE文件记录了软件的许可协议,README.md文件包含了项目的基本介绍和使用说明,media文件夹可能包含了项目的截图或其他相关媒体文件,src文件夹则是项目源代码的存放地。这些文件共同组成了该项目的完整资料。
2021-09-09 上传
2021-09-12 上传
2021-09-12 上传
2021-09-12 上传
2021-09-05 上传
2019-11-19 上传
2021-09-17 上传
2021-08-26 上传
2019-07-19 上传
shejizuopin
- 粉丝: 1w+
- 资源: 1300
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍