【发布时间】:2014-02-26 00:25:43
【问题描述】:
我是操作系统的新手,我的目标是编写自己的内核。 我知道我也必须编写自己的设备驱动程序。 如何开始编写驱动程序? 项目任务如下。
1.用汇编语言定义GDT
2.创建引导扇区
3.中断处理
4.屏幕驱动
5.键盘驱动
6.硬盘驱动
7.文件系统
8.I/O编程
9.物理内存管理
也有可能在 3 个月内完成(2 人团队)
【问题讨论】:
标签: linux operating-system driver
我是操作系统的新手,我的目标是编写自己的内核。 我知道我也必须编写自己的设备驱动程序。 如何开始编写驱动程序? 项目任务如下。
1.用汇编语言定义GDT
2.创建引导扇区
3.中断处理
4.屏幕驱动
5.键盘驱动
6.硬盘驱动
7.文件系统
8.I/O编程
9.物理内存管理
也有可能在 3 个月内完成(2 人团队)
【问题讨论】:
标签: linux operating-system driver
如您所知(或即将发现),操作系统极其复杂且相互关联。例如,在您实现中断处理之前如何让键盘驱动程序正常工作?
听起来您的问题实际上是:“我如何开始编写自己的操作系统?”您首先阅读osdev 上的“必修知识”、“初学者错误”和“入门”。
祝你好运,这将需要很长时间......尤其是如果你边学习边学习(这没关系,因为你的目标是学习而不是制作商业操作系统)。
编辑:修改 Linux 内核是了解操作系统内部结构的好方法。它将让您专注于各个方面(例如仅编写键盘驱动程序),并且您的工作环境将是理智的。根据您想要做什么,您将能够通过创建内核模块而不是直接修改内核来进一步简化开发。
【讨论】:
您可以尝试为 minix 做出贡献 (http://www.minix3.org/)
有很多事情需要做。看看 (http://wiki.minix3.org/Wishlist)。
【讨论】: