首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ucoreOS_lab5 实验报告

所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduate_entrance_examination...该函数主要完成的工作如下: 1、调用 mm_create 函数来申请进程的内存管理数据结构 mm 所需内存空间,并对 mm 进行初始化; 2、调用 setup_pgdir 来申请一个页目录表所需的一个页大小的内存空间...vma 结构,明确用户栈的位置在用户虚空间的顶端,大小为 256 个页,即 1MB,并分配一定数量的物理内存且建立好栈的虚地址物理地址映射关系; 6、至此,进程内的内存管理 vma 和 mm 数据结构已经建立完成...* * */ 请在实验报告中描述当创建一个用户态进程并加载了应用程序后,CPU 是如何让这个应用程序最终在用户态执行起来的。...= 0 && start < end); return 0; } 请在实验报告中简要说明如何设计实现 ”Copy on Write 机制“,给出概要设计,鼓励给出详细设计。

1.5K60

ucoreOS_lab7 实验报告

所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduate_entrance_examination...请在实验报告中给出内核级信号量的设计描述,并说其大致执行流流程。...一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。...在 ucore 中,管程数据结构被定义在(kern/sync/monitor.h)中: // 管程数据结构 typedef struct monitor{ // 二值信号量,用来互斥访问管程,只允许一个进程进入管程...其中,条件变量 cv 的数据结构也被定义在同一个位置下: // 条件变量数据结构 typedef struct condvar{ // 用于条件同步 用于发出 wait 操作的进程等待条件为真之前进入睡眠

1.5K20

ucoreOS_lab6 实验报告

所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduate_entrance_examination...trap.c 根据试验要求,我们需要对部分代码进行改进,这里讲需要改进的地方的代码和说明罗列如下: PCT 中增加了三个与 stride 调度算法相关的成员变量,以及增加了对应的初始化过程; 新增了斜堆数据结构的实现...; 每当出现一个时钟中断,则会将当前执行的进程的剩余可执行时间减 1,一旦减到了 0,则将其标记为可以被调度的,这样在 ISR 中的后续部分就会调用 schedule 函数将这个进程切换出去; 请在实验报告中简要说明如何设计实现...所以,也就需要一个数据结构来快速获得最少运行时间的进程, CFS 算法选择的是红黑树,但是项目中的斜堆也可以实现,只是性能不及红黑树。CFS是对于优先级的实现方法就是让优先级低的进程的时间过得很快。...数据结构 首先需要在 run_queue 增加一个斜堆: struct run_queue { ...

1.6K40
领券