我是操作系统的全新手,目的是编写自己的内核。 我知道我也必须编写自己的设备驱动程序。 我如何开始编写我的驱动程序? 项目任务如下:
1.用汇编语言定义GDT
2.创建引导扇区
3.中断处理
4.屏幕驱动程序
5.Keyboard driver
6.硬盘驱动程序
7.文件系统
8.I / O编程
9.物理内存管理
也可以在3个月内完成此任务(团队2人)
答案 0 :(得分:3)
如您所知(或即将发现)操作系统非常复杂且相互关联。例如,在实现中断处理之前,您将如何使用有效的键盘驱动程序?
听起来您的问题实际上是:“我如何开始编写自己的操作系统?”首先阅读osdev上的“必需知识”,“初级错误”和“入门”。
祝你好运,这需要很长时间......特别是如果你正在学习(这是好的,因为你的目标是学习而不是制作商业操作系统)。
编辑:修改Linux内核是了解操作系统内部的好方法。它将让您专注于个别方面(例如只写一个键盘驱动程序),您的工作环境将是理智的。根据您的目的,您可以通过创建内核模块而不是直接修改内核来进一步简化开发。
答案 1 :(得分:1)
您可以尝试查看对minix(http://www.minix3.org/)
的贡献有很多事情需要完成。看看(http://wiki.minix3.org/Wishlist)。