实验八:文件系统 实验内容 实验七完成了在内核中的同步互斥实验。本次实验涉及的是文件系统,通过分析了解ucore文件系统的总体架构设计,完善读写文件操作,从新实现基于文件系统的执行程序机制(即改写do_execve),从而可以完成执行存储在磁盘上的文件和实现文件读写等功能。 练习 对实验报告的要求: …
清华大学操作系统课程实验7:同步与互斥
实验七:同步互斥 练习0:填写已有实验 本实验依赖实验1/2/3/4/5/6。请把你做的实验1/2/3/4/5/6的代码填入本实验中代码中有“LAB1”/“LAB2”/“LAB3”/“LAB4”/“LAB5”/“LAB6”的注释相应部分。并确保编译通过。注意:为了能够正确执行lab7的测试应用程序, …
清华大学操作系统课程实验6:CPU调度
实验六: 调度器 实验五完成了用户进程的管理,可在用户态运行多个进程。但到目前为止,采用的调度策略是很简单的FIFO调度策略。本次实验,主要是熟悉ucore的系统调度器框架,以及基于此框架的Round-Robin(RR) 调度算法。然后参考RR调度算法的实现,完成Stride Scheduling调 …
清华大学操作系统课程实验5:用户进程管理
实验5 创建用户进程 练习0:填写已有实验 本实验依赖实验1/2/3/4。请把你做的实验1/2/3/4的代码填入本实验中代码中有“LAB1”/“LAB2”/“LAB3”/“LAB4”的注释相应部分。注意:为了能够正确执行lab5的测试应用程序,可能需对已完成的实验1/2/3/4的代码进行进一步改进。 …
清华大学操作系统课程实验4:内核线程管理
Lab4 内核线程管理 练习0:填写已有实验 本实验依赖实验1/2/3。请把你做的实验1/2/3的代码填入本实验中代码中有“LAB1”,“LAB2”,“LAB3”的注释相应部分。 Lab1中需要合并的文件: kdebug.c 中函数print_stackframe kern/trap/trap.c …
清华大学操作系统课程实验3:虚拟内存管理
Lab3 虚拟内存管理 lab3主要完成了什么? 首先是本实验借助实验一和实验二 借助于页表机制和中断异常处理机制完成Page Fault异常(缺页异常)处理和FIFO页替换算法(最简单的先进先出替换算法)的实现 lab3主要函数介绍: swap.c::check_swap(void):测试页交换算 …
清华大学操作系统课程实验2:物理内存管理
Lab2 练习0:填写已有实验 本实验依赖实验1。请把你做的实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。提示:可采用diff和patch工具进行半自动的合并(merge),也可用一些图形化的比较/merge工具来手动合并,比如meld,eclipse中的diff/merge工具,un …
清华大学操作系统课程实验1:系统启动及中断
Lab1 练习1:理解通过make生成执行文件的过程。(要求在报告中写出对下述问题的回答) 列出本实验各练习中对应的操作系统原理的知识点,并说明本实验中的实现部分如何对应和体现了原理中的基本概念和关键知识点。 在此练习中,大家需要通过静态分析代码来了解: 操作系统镜像文件ucore.img是如何一步 …
WebStorm Vue如何将缩进改为4空格
Vue默认的缩进是2空格,一次Tab键代表2空格。我们习惯的缩进格式一般为4空格,我们希望按下一次tab按键就可以缩进4空格。 下面演示下WebStorm是如何设置的。 鼠标左键单击 “2 spaces”,选择“Configure Indents for Vue template”: Tab Siz …
什么是准确率、召回率。简单解释
召回率(Recall):该类样本有多少被找出来了(召回了多少)。 精确率 (Precision):你认为的该类样本,有多少猜对了(猜的精确性如何)。 参考文献:https://www.zhihu.com/question/19645541