6.1810专题

6.1810: Operating System Engineering 2023 <Lab8 fs: File system>

一、本节任务 二、Lab8: file system 在这一节,我们将为 xv6 的文件系统加入大文件和符号链接。 2.1 Large files (moderate)  这个部分需要我们增加 xv6 文件的大小上限,由于 inode 结构体中有 12 个直接映射项,1 个一级间接映射项,所以 xv6 文件系统中的最大文件大小为 (12 + (1024B / 4B)) 个块,即 2

6.1810: Operating System Engineering 2023 <Lab4 traps: Traps>

一、本节任务 二、要点(Traps and system calls) 有三种事件会使 CPU 暂停当前的指令执行,并强制将控制转移到处理该事件的特殊代码中: 系统调用(ecall);异常(如非法指令,除0,无效的虚拟地址);设备中断(interrupt); 在 xv6 中,这三种情况被统称为 trap,系统调用、异常、设备中断以同样的方式进入内核。 trap 的一般流程为:首先

6.1810: Operating System Engineering 2023 <Lab3: page tables>

一、本节任务 实验环境: 二、要点  如何防止程序破坏内核或其他进程空间?隔离地址空间,进程只能读写自己的内存空间。 在保证隔离的同时,如何将多个地址空间复用到一个物理内存上?虚拟内存/页表。操作系统通过页表来为每个进程提供自己的私有地址空间和内存。 2.1 分页硬件 页表为寻址提供了一个间接的层次,CPU 通过虚拟地址(VA)访存,MMU 将虚拟地址映射成实际的物理地址(

6.1810: Operating System Engineering <Lab2 syscall: System calls>

课程链接:6.1810 / Fall 2023 一、本节任务  二、要点 操作系统要满足三要素:并发、隔离、交互(multiplexing, isolation, and interaction)。 宏内核(monolithic kernel):是操作系统核心架构的一种,此架构的特性是整个核心程序都是以核心空间(Kernel Space)的身份及监管者模式(Supervisor Mod

MIB 6.1810实验Xv6 and Unix utilities(5)find

难度:moderate Write a simple version of the UNIX find program for xv6: find all the files in a directory tree with a specific name. Your solution should be in the file user/find.c. 题目要求:实现find ,即在某个路径