BUAA OS Lab3-2 课上测试 一、exam 1.题目 在原有的时间片轮转上修改调度算法。 在全局有三个调度队列,记为 env_sched_list[3] ,每个队列中的进程单次运行的时间片数量为进程优先级乘以不同的权重,具体的: env_sched_list[0] 中进程单次运行时间片数
都考虑到了。 3.6 思考上面这一段话,并根据自己在 lab2 中的理解,回答: 我们这里出现的” 指令位置” 的概念,你认为该概念是针对虚拟空间,还是物理内存所定义的呢? 指令的位置是虚拟空间,即“第几条”指令,而“第几条”是一种相对偏移,即一块“连续”区域,只有虚拟空间是连续的。 你觉得entry_point其值对...
env_tf : 保存进程的上下文环境 env_link : env_link 的机制类似于lab2中的pp_link, 使用它和env_free_list来构造空闲进程链表。 env_sched_link : 构造调度队列。 env_status : 三种取值: ENV_FREE : 表明该进程是不活动的,即该进程控制块处于进程空闲链表中。 ENV_NOT_RUNNABLE : 进程处于阻塞状态。 E...
对于每个程序而言,它拥有完整的虚拟地址空间,编译过程也与实际系统运行状态无关。故入口保存的位置应当是虚拟地址。 thinking3.5 Thinking 3.5 试找出 0、1、2、3 号异常处理函数的具体实现位置。8 号异常(系统调用) 涉及的 do_syscall() 函数将在 Lab4 中实现。 0号异常是中断异常,函数位于genex.S中。 handle...
北航操作系统实验课程. Contribute to kjgfcdb/BUAA_OS_Lab development by creating an account on GitHub.
BUAA OS实验笔记之Lab3.md BUAA-OS实验笔记之Lab4.md BUAA-OS实验笔记之Lab4.pdf BUAA-OS实验笔记之Lab5.md BUAA-OS实验笔记之Lab5.pdf README.md Lab0 课上实验 prepare.md prepare.pdf 课下实验 212114-21373007-苏云鹤-Lab0实验报告.pdf 实验报告.md Lab1/课下实验 1.png ...
BUAA_OS_Lab3实验报告 思考题 Thinking3.1 为什么我们在构造空闲进程链表时必须使用特定的插入的顺序?(顺序或者逆序) 按照头插法,是逆序。保证链表中的顺序和envs数组中的顺序相同。加载空闲进程时会使用LIST_FIRST()函数,会优先加载envs数组前面的块。进程调度时,最近使用过的放回到空闲链表时也是放到头部,会被...
BUAA_OS lab3 难点梳理 实验难点 进程创建 对于初始化部分,首先需要在pmap.c中修改mips_vm_init()函数,为envs开空间,并map到UENVS空间。 其次,模仿page_init()的做法,将空闲进程控制块串成env_free_list。 至此没有什么理解上的难度。 进
lab3 boot Makefile start.S drivers fs gxemul include init lib mm tools .gitignore Makefile goto_test include.mk Breadcrumbs BUAA_MIPS_OS / / Directory actions More options Latest commit Cannot retrieve latest commit at this time. History ...
北航小操作系统实验代码lab1~lab6. Contribute to menghuanlater/BUAA_MIPS_OS development by creating an account on GitHub.