第三章:多道程序与分时多任务# 引言 本章导读 协作式操作系统 抢占式操作系统 实践体验 本章代码树 本章代码导读 多道程序放置与加载 本节导读 多道程序放置 多道程序加载 执行应用程序 任务切换 本节导读 任务的概念形成 不同类型的上下文与切换 任务切换的设计与实现 多道程序与协作式调度 本节导读 多道程序背景与 yield 系统调用 任务控制块与任务运行状态 任务管理器 实现 sys_yield 和 sys_exit 系统调用 第一次进入用户态 分时多任务系统与抢占式调度 本节导读 分时多任务系统的背景 时间片轮转调度 RISC-V 架构中的中断 时钟中断与计时器 抢占式调度 练习 课后练习 编程题 问答题 实验练习 实践作业 获取任务信息 打印调用堆栈(选做) 实验要求 实验约定 问答作业 实验练习的提交报告要求 练习参考答案 课后练习 编程题 1. 扩展内核,能够显示操作系统切换任务的过程。 2. 扩展内核,能够统计每个应用执行后的完成时间:用户态完成时间和内核态完成时间。 3. 编写浮点应用程序A,并扩展内核,支持面向浮点应用的正常切换与抢占。 4. 编写应用程序或扩展内核,能够统计任务切换的大致开销。 5.扩展内核,支持在内核态响应中断。 问答题