sys

apue-file and directory

PokPok
文件类型 stat函数簇(fstat,lstat, lstat, fstatat)是用来获取文件状态的函数,需要提前定义一个结构体struct stat来获取这些文件的特殊信息。 文件类型包括普通文件,目录文件,块特殊文

apue-file I/O

PokPok
写在前面的话 暑期撸了一阵子算法导论,在红黑树的删除操作卡主了,暂时放下算法,稍微看看别的计算机知识,APUE是一本关于Linux下C语言API的书籍,中间穿插了关于UNIX操作系统的知识,趁这个机会,

6-828-操作系统工程-Lab6-Network Driver(Final)

PokPok
这章节是完成一个网络驱动程序,现在系统中已经存在了文件系统里,所以可以添加一个网络栈,是基于82540EM芯片(E1000)。这章节内容比我想象中难,虽然之前概览了一下,但是实际做起来的时候涉及到的概

6-828-操作系统工程-Lab5-File system, Spawn and Shell

PokPok
这个实验主要是实现spawn库函数用来读取并运行可执行文件,然后扩充操作系统的内核和库 ,使得足以在控制台上运行shell。实现这些特性需要一个文件系统,而接下来就会介绍一个简单的可读写的文件系统。 准备

6.828-操作系统工程-Lab4:Preemptive Multitasking

PokPok
在这个实验中,将会在多个用户环境同时运行时实现抢占式多任务。 part A:为JOS添加多处理器的支持,实现round-robin scheduling和增加基础的用户环境管理的系统调用,例如创建和销毁用户环境,

6.828-操作系统工程-Lab3:User Environments

PokPok
4月22日 - 5月2日 PART A 这章的练习将会取实现一些基础的用户模式下的环境,也就是进程。在这章,创建一个用户环境,读取程序镜像并且运行。 这是关于这章节代码文件的介绍 inc/env.h Public definitions for user-mode environments trap.h Public definitions for trap handling syscall.h Public definitions for system calls from user

6.828-操作系统工程-Lab2:Memory Management

PokPok
Exercise 1: 内存初始化 在 lab1 中开启了分段和分页,并且初始化了内核页目录(地址存储在CR3中),于是有了下面这样的地址转换机制。 地址转换 首先通过相应段寄存器获得地址基址,然后以虚拟地址作为偏移获得线性地址。线性地

6.828-操作系统工程-Lab1:Booting a PC

PokPok
3月14日 - 3月28日 Exercise 1 熟悉x86汇编和AT&T汇编 16-bit intel 8088 1MB = 1048576bit 内存地址: 0x00000 ~ 0xFFFFF 640KB(0x00000 ~ 0xA0000) 用户可用 参考资料 GDB启动过程 首先打开一个终端到目的lab根文件夹 $ make qemu-nox-gdb 再打开一个新的终端窗口执行以下命