项目简介
本项目是北京交通大学计算机专业操作系统实验的最终版本,依据dxy老师视频授课内容开发,与mooc课程不同。实验分四次进行,依次实现了操作系统的引导启动和时钟中断、键盘和鼠标的中断驱动、多任务切换以及系统调用和简单的Shell。
项目的主要特性和功能
- 引导启动和时钟中断:实现操作系统的引导程序与时钟中断处理。
- 键盘和鼠标的中断驱动:可响应键盘和鼠标的输入事件。
- 多任务切换:允许多个任务共享CPU资源,实现并发执行。
- 系统调用和简单的Shell:用户能通过Shell与操作系统交互。
安装使用步骤
环境准备
- 使用Vscode编辑器开发。
- 开发语言为C++和X86汇编语言。
- 在Linux系统的服务器上开发和测试。
- 借助Windows远程连接进行开发。
运行和测试
在Linux服务器上运行代码,启动Virtual Box虚拟机进行测试。
源码结构
loader.s
:实现引导程序的汇编文件。kernel.cpp
:实现内核程序的C++文件。link.ld
:链接文件。Makefile
:Makefile文件。gdt.h
和gdt.cpp
:实现全局描述符表(GDT)的类和操作。types.h
:定义不同字节类型数据的命名。port.h
和port.cpp
:实现不同端口的类的读写操作。interrupts.h
和interrupts.cpp
:实现中断管理器和控制器的类。driver.h
和driver.cpp
:实现驱动和驱动管理器的类。keyboard.h
和keyboard.cpp
:实现键盘驱动和键盘控制器的类。mouse.h
和mouse.cpp
:实现鼠标驱动和鼠标控制器的类。multitasking.h
和multitasking.cpp
:实现任务和任务管理器的类。syscalls.h
和syscalls.cpp
:实现系统调用的类。
编译和运行
- 使用
make
命令编译项目。 - 在Virtual Box中启动虚拟机,加载编译后的内核进行测试。
按照以上步骤,可成功编译并运行本项目,体验操作系统的基本功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】