操作系统
文章平均质量分 92
JustinAustin
这个作者很懒,什么都没留下…
展开
-
操作系统实验ucore_lab8实验报告
lab8练习0:填写已有实验proc.cdefault_pmm.cpmm.cswap_fifo.cvmm.ctrap.csche.cmonitor.check_sync.c练习1: 完成读文件操作的实现(需要编码)首先了解打开文件的处理流程,然后参考本实验后续的文件读写操作的过程分析,编写在sfs_inode.c中sfs_io_nolock读文件中数据的实现代码。请在实验报告中给出设计实现”UNIX的PIPE机制“的概要设方案,鼓励给出详细设计方案当进行文件读取/写入操作时原创 2022-03-11 16:59:08 · 1151 阅读 · 0 评论 -
操作系统实验ucore_lab7
lab7练习0:填写已有实验发现需要更改的文件为:proc.cdefault_pmm.cpmm.cswap_fifo.cvmm.ctrap.csched.c练习1:理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题(不需要编码)。请在实验报告中给出内核级信号量的设计描述,并说其大致执行流流程。理解哲学家就餐问题: 每个哲学家拿起叉子,进食,然后放下叉子。int state_sema[N]; /* 记录每个人状态的数组 *//* 信号量是一个特殊原创 2022-03-11 16:58:30 · 1423 阅读 · 0 评论 -
操作系统实验ucore_lab6
lab6练习0:填写已有实验修改已下文件即可:proc.cdefault_pmm.cpmm.cswap_fifo.cvmm.ctrap.c练习1: 使用 Round Robin 调度算法(不需要编码)算法思想: 让所有 runnable 态的进程分时轮流使用 CPU 时间。Round Robin 调度器维护当前 runnable进程的有序运行队列。当前进程的时间片用完之后,调度器将当前进程放置到运行队列的尾部,再从其头部取出进程进行调度。算法实现://初始化环节,初原创 2022-03-11 16:57:31 · 1410 阅读 · 0 评论 -
操作系统实验ucore_lab5实验报告
ucore_lab5练习0:修改proc.c , default_pmm.c , pmm.c , swap_fifo.c , vmm.c , trap.c文件中的代码即可。练习1:加载应用程序并执行(需要编码)题目概述: do_execv函数调用load_icode(位于kern/process/proc.c中)来加载并解析一个处于内存中的ELF执行文件格式的应用程序,建立相应的用户内存空间来放置应用程序的代码段、数据段等,且要设置好proc_struct结构中的成员变量trapframe原创 2022-03-11 16:55:33 · 902 阅读 · 0 评论 -
清华操作系统实验ucore_lab3
lab3练习0:填写已有实验需要修改的文件:default_pmm.c:static struct Page *default_alloc_pages(size_t n) { assert(n > 0); if (n > nr_free) { //如果所有的空闲页的加起来的大小都不够,那直接返回NULL return NULL; } list_entry_t *le, *len; le = &free_list; /原创 2021-12-12 11:25:28 · 1875 阅读 · 0 评论 -
清华操作系统ucore_lab1
操作系统实验报告练习一一、操作系统镜像文件ucore.img是如何一步一步生成的?(需要比较详细地解释Makefile中每一条相关命令和命令参数的含义,以及说明命令导致的结果)首先我们在Makefile文档中找到ucore.img文件生成的代码段:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DHSL6Ce1-1639279618160)(E:/Typore%E5%9B%BE%E7%89%87/image-20211116160117324.png)]我们对该代码进原创 2021-12-12 11:27:44 · 1693 阅读 · 0 评论 -
清华操作系统实验ucore_lab2
lab2实验目的理解基于段页式内存地址的转换机制理解页表的建立和使用方法理解物理内存的管理方法练习0:需要更改的文件为kdebug.c和trap.c,具体更改的代码如下:kdebug.c:uint32_t t_ebp = read_ebp(); uint32_t t_eip = read_eip(); int i,j; for(i = 0;i< STACKFRAME_DEPTH && t_ebp!=0;i++) { cprintf("ebp=%08x,e原创 2021-12-12 11:26:43 · 2733 阅读 · 0 评论 -
清华操作系统实验ucore_lab4
lab4练习0: kdebug.c、trap.c、default_pmm.c、pmm.c、swap_fifo.c vmm.c四个文件的相关代码,补全后进行下一练习练习1:分配并初始化一个进程控制块(需要编码)题目概述: alloc_proc函数(位于kern/process/proc.c中)负责分配并返回一个新的struct proc_struct结构,用于存储新建立的内核线程的管理信息。ucore需要对这个结构进行最基本的初始化,你需要完成这个初始化过程。实现思路:struct pro原创 2021-12-12 11:24:08 · 1932 阅读 · 0 评论