JOS 是一个基于 x86 架构的教学操作系统内核实现项目。
- 项目类型: 操作系统内核
- 架构: x86
- 语言: C, Assembly
- 用途: 教学和学习目的
JOS-project/
├── boot/ # 引导加载程序
├── kern/ # 内核核心代码
│ ├── console.c # 控制台驱动
│ ├── env.c # 环境(进程)管理
│ ├── init.c # 初始化代码
│ ├── monitor.c # 内核监视器
│ ├── pmap.c # 物理内存管理
│ ├── trap.c # 陷阱和中断处理
│ └── ...
├── lib/ # 用户态库
├── user/ # 用户程序
├── fs/ # 文件系统
├── inc/ # 头文件
└── conf/ # 配置文件
- 引导加载程序 (Boot Loader)
- 物理内存管理
- 虚拟内存管理
- 进程管理 (Environments)
- 陷阱和中断处理
- 系统调用
- 文件系统
- Shell
- Lab 1: 引导加载程序
- Lab 2: 内存管理
- Lab 3: 进程管理
- Lab 4: 抢占式多任务
- Lab 5: 文件系统
makemake qemumake qemu-gdb- 编程语言: C, x86 Assembly
- 编译器: GCC
- 构建工具: GNU Make
- 模拟器: QEMU
- 调试器: GDB
通过实现 JOS 操作系统,学习:
- 操作系统基本原理
- 内存管理和虚拟内存
- 进程调度和管理
- 文件系统设计
- 系统调用实现
- 内核开发技巧
- JOS 官方文档
- x86 架构手册
- 操作系统概念
本项目用于学习目的。