littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于C++和X86汇编的操作系统实验

项目简介

本项目是北京交通大学计算机专业操作系统实验的最终版本,依据dxy老师视频授课内容开发,与mooc课程不同。实验分四次进行,依次实现了操作系统的引导启动和时钟中断、键盘和鼠标的中断驱动、多任务切换以及系统调用和简单的Shell。

项目的主要特性和功能

  1. 引导启动和时钟中断:实现操作系统的引导程序与时钟中断处理。
  2. 键盘和鼠标的中断驱动:可响应键盘和鼠标的输入事件。
  3. 多任务切换:允许多个任务共享CPU资源,实现并发执行。
  4. 系统调用和简单的Shell:用户能通过Shell与操作系统交互。

安装使用步骤

环境准备

  • 使用Vscode编辑器开发。
  • 开发语言为C++和X86汇编语言。
  • 在Linux系统的服务器上开发和测试。
  • 借助Windows远程连接进行开发。

运行和测试

在Linux服务器上运行代码,启动Virtual Box虚拟机进行测试。

源码结构

  • loader.s:实现引导程序的汇编文件。
  • kernel.cpp:实现内核程序的C++文件。
  • link.ld:链接文件。
  • Makefile:Makefile文件。
  • gdt.hgdt.cpp:实现全局描述符表(GDT)的类和操作。
  • types.h:定义不同字节类型数据的命名。
  • port.hport.cpp:实现不同端口的类的读写操作。
  • interrupts.hinterrupts.cpp:实现中断管理器和控制器的类。
  • driver.hdriver.cpp:实现驱动和驱动管理器的类。
  • keyboard.hkeyboard.cpp:实现键盘驱动和键盘控制器的类。
  • mouse.hmouse.cpp:实现鼠标驱动和鼠标控制器的类。
  • multitasking.hmultitasking.cpp:实现任务和任务管理器的类。
  • syscalls.hsyscalls.cpp:实现系统调用的类。

编译和运行

  • 使用make命令编译项目。
  • 在Virtual Box中启动虚拟机,加载编译后的内核进行测试。

按照以上步骤,可成功编译并运行本项目,体验操作系统的基本功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】