Skip to content

pandmonkey/JOS-project

Repository files navigation

JOS Operating System Project

项目简介

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 进度

  • Lab 1: 引导加载程序
  • Lab 2: 内存管理
  • Lab 3: 进程管理
  • Lab 4: 抢占式多任务
  • Lab 5: 文件系统

编译和运行

编译

make

运行

make qemu

调试

make qemu-gdb

技术栈

  • 编程语言: C, x86 Assembly
  • 编译器: GCC
  • 构建工具: GNU Make
  • 模拟器: QEMU
  • 调试器: GDB

学习目标

通过实现 JOS 操作系统,学习:

  • 操作系统基本原理
  • 内存管理和虚拟内存
  • 进程调度和管理
  • 文件系统设计
  • 系统调用实现
  • 内核开发技巧

参考资料

许可证

本项目用于学习目的。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors