MIT 6.S081 课程介绍
1 说明背景
1.1 课程概述
- 核心理念:边做边学
- 目录描述:操作系统的设计与实现,将用于系统编程的基础。
- 主题包括:虚拟内存、文件系统、多线程、上下文切换、内核、中断、系统调4)用、进程间通信、软硬件间的协调与交互。
- 演示环境:通过基于RISC-V架构的多处理器操作系统xv6。个别实验作涉及拓展xv6操作系统,例如支持复杂的虚拟内存特性和网络。
1.2 课程通告
适用人群是喜欢 6.004(Computation Structures) 的本科生、想要学习操作系统的设计与实现、想要将该课程作为系统编程的基础使用。
2 课程内容
- 课程内容简介:课程的目标、XV6、操作系统的目标
- 操作系统结构:硬件资源、应用程序、操作系统结构、内核、连接内核与用户程序的接口、内核软件的架构、内核中的服务、文件系统、进程管理系统、系统调用
- 挑战和乐趣:内核的编程环境、矛盾的需求、高效vs易用、功能强大vs接口简单、接口灵活vs安全性能、相互交互、面向未来设计
- 课程结构和资源:课程计划、lab、课程结构、Piazza
- 系统调用:XV6、RISC-V微处理器、copy.c、read, write, exit系统调用
- 系统调用:字节流、open系统调用,文件描述符,文件描述符空间、表单数据
- Shell:命令行接口、RISC-V系统调用指令ecall
- 系统调用:fork系统调用,复制进程内存、PID、父进程、子进程
- 系统调用:exec系统调用,保留当前进程表单、替换当前进程内存、fork/exec组合、wait调用
- I/O重定向:Shell、改变文件描述符、fork/exec、write/read
3 前置准备
这一课需要了解C语言知识和GDB用法作为前置准备。
4 References
- MIT6.S081-chapter0.html
- lec01-introduction-and-examples