摘要: 有关Id 以下说明各种Id存在的必要性以及设计方法 MapTaskId:MapTask随着程序的运行,其状态也会相应变化(未分配、已分配、已完成),MapTaskId可以标识MapTask,同时,还可以为临时文件、中间文件、输出文件的命名提供方便。由于实验内容比较特殊(每个单独的文件作为一个task 阅读全文
posted @ 2022-09-12 18:09 我是小BH 阅读(69) 评论(0) 推荐(0)
摘要: attack lab 背景 该实验模拟栈溢出攻击。在终端输入$ man gets,可以找到"Never use this function."等说明,这表示gets函数是极不安全的,因为该函数没有对输入的字符串的长度进行检查,导致攻击者可以输入精心设计的一串字符来修改(覆盖)函数的返回值,使函数跳转 阅读全文
posted @ 2022-07-17 21:20 我是小BH 阅读(465) 评论(0) 推荐(0)
摘要: 这里讲讲有关锁的基础知识点 coordination 为啥需要coordination?当我们在写线程代码时,有些场景需要等待一些特定的事件/条件,或者不同的线程之间需要交互,考虑这样一种情形:有一个进程从pipe中读数据,需要等待一个pipe不空的事件,所以就有: void busy_wait() 阅读全文
posted @ 2022-07-15 15:27 我是小BH 阅读(244) 评论(0) 推荐(0)
摘要: Lab9 File System 由于本人这段时间忙于其他事务,这一篇可能会写得比较简略,并且文件系统的有关知识和前面课程的知识不同,文件系统的知识十分庞杂,相应的笔记都会记录在另一篇文章中。 1. Large files(moderate) 1.1 题目 在原始xv6中,每个inode有13个bl 阅读全文
posted @ 2022-07-15 15:26 我是小BH 阅读(137) 评论(0) 推荐(0)
摘要: Lab10 mmap(hard) (期末复习操作系统的时候,过于无聊,因为题目都写不来,于是做了这个lab,比做题有意思多了。这个实验是hard,不过我做的很顺利,感觉有一种自己变强的假象hhh) void *mmap(void *addr, size_t length, int prot, int 阅读全文
posted @ 2022-07-15 15:23 我是小BH 阅读(136) 评论(0) 推荐(0)
摘要: Lab7 Multithreading ~~迄今为止做到的最简单的lab~~ 1. Uthread: switching between threads(moderate) 1.1 题目 可以算是对课程里讲的线程切换的简化实现版本。已知给了user/uthread.c和user/uthread_sw 阅读全文
posted @ 2022-07-15 15:19 我是小BH 阅读(104) 评论(0) 推荐(0)
摘要: Lab5 xv6 lazy page allocation 1. Eliminate allocation from sbrk()(easy) 1.1 题目 删除sbrk系统调用中的页面分配代码,旧的sbrk将进程的内存大小增加n个字节,然后返回新分配区域的开始部分(即旧的大小),新的sbrk应该只 阅读全文
posted @ 2022-07-15 15:17 我是小BH 阅读(148) 评论(0) 推荐(0)
摘要: Lab4 traps 1. 理解栈和栈帧 故事要从一张图片说起: 进程的创建和程序的运行: 举个例子来说,比如shell要运行一个程序,首先通过fork来创建进程,allocproc会映射user address space顶部的trampoline和trapframe(用于处理trap),然后ex 阅读全文
posted @ 2022-07-14 22:40 我是小BH 阅读(128) 评论(0) 推荐(0)
摘要: Lab3 Page Tables 1. Print a page table(easy) 1.1 题目 写一个vmprint()函数,该函数的参数是一个pagetable,以指定的形式打印pagetable。在exec.c的exec函数中插入if (p->pid == 1) vmprint(p->p 阅读全文
posted @ 2022-07-14 22:30 我是小BH 阅读(332) 评论(0) 推荐(0)
摘要: Lab8 Locks 这个实验还是蛮难的... 1. Memory allocator(moderate) 1.1 题目 众所周知,在xv6中,我们申请的内存是在结构体struct kmem中申请的,struct kmem中的链表struct run *freelist存放了所有的空闲内存(以pag 阅读全文
posted @ 2022-07-14 22:24 我是小BH 阅读(133) 评论(0) 推荐(0)