"系统调用"
例子,用C语言,来自UNIX(例如Linux、macOS、FreeBSD)
fd = open("out", 1);
write(fd, "hello\n", 6);
pid = fork()
能理解和编写包含操作系统进程/文件等相关的简单命令行Linux程序
App/OS内存布局
支持进程间通信和异步消息机制
对进程控制块的扩展
对进程控制块扩展,支持线程同步互斥访问共享变量
对进程控制块扩展,支持线程同步互斥访问共享变量
支持块设备/串口等外设
实验 1 :获取任务信息
内容
我们的系统已经能够支持多个任务分时轮流运行,我们希望引入一个新的系统调用 sys_task_info 以获取当前任务的信息
实验 2 :完成mmap和munmap系统调用功能
内容
实验 3 :完成spawn系统调用功能
内容
实现一个完全 DIY 的系统调用 spawn,用以创建一个新进程。
实验 4 :实现文件的硬链接功能
内容
硬链接要求两个不同的目录项指向同一个文件,在我们的文件系统中也就是两个不同名称目录项指向同一个磁盘块。要求实现三个系统调用 sys_linkat、sys_unlinkat、sys_stat 。
实验 5 :实现文件的硬链接功能
内容
完成对基于信号量/条件变量的同步互斥多线程程序的死锁检测