BUAA_OS_LAB
文章平均质量分 92
superWinney
这个作者很懒,什么都没留下…
展开
-
Lab6实验报告
修改如下:Thinking 6.2函数其实是一个映射的函数,它可以将一个文件描述符对应的内容映射到另一个文件描述符之中,它的做法是先打开文件描述符,然后打开缓冲区。而如果按照dup函数的执行顺序的话,若在打开文件描述符之后发生一次时钟中断,进行进程切换之后,另一个进程就会误判为管道写端关闭,从而出现了错误。系统调用都是原子操作,因为在进行系统调用时,关闭了对中断的响应,系统陷入了内核,所以系统调用 是不能被打断的。如果加载到之间的数据,就知道新入了端,使用函数将其赋值为0,就不再读取的数据。在链接器里原创 2022-06-30 15:27:49 · 511 阅读 · 0 评论 -
Lab5实验报告
文件系统是一个虚拟文件系统,它只存在内存当中,而不占用外存空间。内核提供了一种通过文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。用户和应用程序可以通过得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取文件时,文件系统是动态从系统内核读出所需信息并提交的。(参考网上资料)在系统中是通过函数的调用完成与内核的交互的。文件系统的设计将对内核信息的访问交互抽象为对文件的访问修改,简化了交互过程。可能会导致访问错误。是存放内核的区域,通过访问,但是如果原创 2022-06-15 10:51:15 · 747 阅读 · 0 评论 -
Lab4实验报告
Lab4实验报告一、思考题Thinking 4.1内核在保存现场的时候是如何避免破坏通用寄存器的?系统陷入内核调用后可以直接从当时的a0−a0-a0−a3参数寄存器中得到用户调用msyscall留下的信息吗?我们是怎么做到让sys开头的函数“认为”我们提供了和用户调用msyscall时同样的参数的?内核处理系统调用的过程对Trapframe做了哪些更改?这种修改对应的用户态的变化是?保存现场时,k0寄存器暂存了sp栈指针的值,k1寄存器更新sp栈指针的值,除k0、k原创 2022-05-30 15:38:11 · 1078 阅读 · 0 评论 -
Lab3实验报告
Lab3实验报告一、思考题Thinking 3.1思考envid2env 函数:为什么envid2env 中需要判断e->env_id != envid 的情况?如果没有这步判断会发生什么情况?在通过索引取envs数组中的第”id“个进程块时只取了envid的后10位,但是envid的后10位在生成的时候只与进程页的物理位置有关,要保证一个进程的id号完全对应,仅仅看后十位是不够的,也要确保前22位是一样的,因此e->env_id != envid这一步确定进程的id确实是传入的e原创 2022-05-22 10:55:47 · 819 阅读 · 0 评论 -
Lab2实验报告
Lab2实验报告一、思考题Thinking2.1请你根据上述说明,回答问题:在我们编写的程序中,指针变量中存储的地址是虚拟地址还是物理地址?MIPS 汇编程序中lw, sw使用的是虚拟地址还是物理地址?虚拟地址;虚拟地址。Thinking2.2请从可重用性的角度,阐述用宏来实现链表的好处。C语言中没有多态,那么就会出现以下的情况:如果在一个工程中想要同时使用整型的链表和浮点型的链表,就要定义两个结构体,并且同样的操作节点的代码要写两遍;若在C语言中借助void*指针,利用强制类型原创 2022-04-29 14:50:19 · 2981 阅读 · 1 评论 -
Lab1实验报告
Lab1实验报告一、思考题Thinking1.1请查阅并给出前述objdump中使用的参数的含义。使用其它体系结构的编译器(如课程平台的MIPS交叉编译器)重复上述各步编译过程,观察并在实验报告中提交相应结果。objdump中参数:-D:从objfile中反汇编所有的section;-S:尽可能反汇编出源代码,尤其当编译的时候指定了-g这种调试参数时,效果比较明显。交叉编译:对于一个文件gpa.c:int main (){ int point; double sum_1, sum_2原创 2022-04-10 14:54:18 · 2924 阅读 · 0 评论 -
Lab0实验报告
Lab0实验报告一、实验思考题Thinking0.1在/home/20xxxxxx/learnGit目录下创建一个名为README.txt的文件。这时使用 git status > Untracked.txt 。在 README.txt 文件中随便写点什么,然后使用刚刚学到的 add 命令,再使用 git status > Stage.txt 。之后使用上面学到的 Git 提交有关的知识把 README.txt 提交,并在提交说明里写入自己的学号。使用 cat Untracked.原创 2022-03-28 08:46:00 · 1124 阅读 · 0 评论