编写硬盘和键盘驱动程序

时间:2014-02-02 14:33:51

标签: linux operating-system driver

我是操作系统的全新手,目的是编写自己的内核。 我知道我也必须编写自己的设备驱动程序。 我如何开始编写我的驱动程序? 项目任务如下:

1.用汇编语言定义GDT

2.创建引导扇区

3.中断处理

4.屏幕驱动程序

5.Keyboard driver

6.硬盘驱动程序

7.文件系统

8.I / O编程

9.物理内存管理

也可以在3个月内完成此任务(团队2人)

2 个答案:

答案 0 :(得分:3)

如您所知(或即将发现)操作系统非常复杂且相互关联。例如,在实现中断处理之前,您将如何使用有效的键盘驱动程序

听起来您的问题实际上是:“我如何开始编写自己的操作系统?”首先阅读osdev上的“必需知识”,“初级错误”和“入门”。

祝你好运,这需要很长时间......特别是如果你正在学习(这是好的,因为你的目标是学习而不是制作商业操作系统)。

编辑:修改Linux内核是了解操作系统内部的好方法。它将让您专注于个别方面(例如只写一个键盘驱动程序),您的工作环境将是理智的。根据您的目的,您可以通过创建内核模块而不是直接修改内核来进一步简化开发。

  1. 定义您的项目及其范围
  2. 设置工作环境(我的建议,运行Ubuntu Server in QEMU
  3. 了解如何启动自定义内核或使用模块系统
  4. 开始工作!

答案 1 :(得分:1)

您可以尝试查看对minix(http://www.minix3.org/

的贡献

有很多事情需要完成。看看(http://wiki.minix3.org/Wishlist)。