Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 编写硬盘和键盘驱动程序_Linux_Operating System_Driver - Fatal编程技术网

Linux 编写硬盘和键盘驱动程序

Linux 编写硬盘和键盘驱动程序,linux,operating-system,driver,Linux,Operating System,Driver,我是操作系统的新手,我的目标是编写自己的内核。 我知道我也必须编写自己的设备驱动程序。 如何开始编写驱动程序? 该项目的任务如下 1.用汇编语言定义GDT 2.创建引导扇区 3.中断处理 4.屏幕驱动程序 5.键盘驱动程序 6.硬盘驱动器 7.文件系统 8.I/O编程 9.物理内存管理 也有可能在3个月内做到这一点(2人小组)正如您所知(或即将发现的),操作系统极其复杂且相互关联。例如,在实现中断处理之前,您将如何拥有一个工作正常的键盘驱动程序 听起来你的问题实际上是:“我如何开始编写自己的操作

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

1.用汇编语言定义GDT

2.创建引导扇区

3.中断处理

4.屏幕驱动程序

5.键盘驱动程序

6.硬盘驱动器

7.文件系统

8.I/O编程

9.物理内存管理

也有可能在3个月内做到这一点(2人小组)

正如您所知(或即将发现的),操作系统极其复杂且相互关联。例如,在实现中断处理之前,您将如何拥有一个工作正常的键盘驱动程序

听起来你的问题实际上是:“我如何开始编写自己的操作系统?”你从阅读“必备知识”、“初学者错误”和“入门”开始

祝你好运,这将需要很长时间。。。尤其是当你边做边学的时候(这没关系,因为你的目标是学习而不是制作一个商业操作系统)

编辑:修改Linux内核是了解操作系统内部结构的好方法。它会让你专注于个人方面(比如只编写键盘驱动程序),你的工作环境也会很正常。根据您想要做什么,您将能够通过创建内核模块而不是直接修改内核来进一步简化开发

  • 定义项目及其范围
  • 建立你的工作环境(我的建议,跑步)
  • 了解如何引导自定义内核或使用模块系统
  • 开始工作吧 正如你所知(或即将发现的),操作系统是极其复杂和相互关联的。例如,在实现中断处理之前,您将如何拥有一个工作正常的键盘驱动程序

    听起来你的问题实际上是:“我如何开始编写自己的操作系统?”你从阅读“必备知识”、“初学者错误”和“入门”开始

    祝你好运,这将需要很长时间。。。尤其是当你边做边学的时候(这没关系,因为你的目标是学习而不是制作一个商业操作系统)

    编辑:修改Linux内核是了解操作系统内部结构的好方法。它会让你专注于个人方面(比如只编写键盘驱动程序),你的工作环境也会很正常。根据您想要做什么,您将能够通过创建内核模块而不是直接修改内核来进一步简化开发

  • 定义项目及其范围
  • 建立你的工作环境(我的建议,跑步)
  • 了解如何引导自定义内核或使用模块系统
  • 开始工作吧
    您可以尝试为minix()做贡献


    需要做的事情很多。请看一下()。

    您可以尝试为minix()做出贡献


    需要做的事情很多。请看一下()。

    谢谢。我把操作系统作为一门基于项目的课程来学习。这大约是3个月。学习当然是最重要的,但我仍然需要提交一个项目。(欢迎提出建议)在这种情况下,您可能需要考虑以某种方式修改Linux内核。这会让操作系统弄脏你的手,但让你在保持理智的同时专注于一个方面。同样,看看minix,它有大量的待办事项,你可以学习,也可以为开源贡献重要的一部分。:)《操作系统设计与实现》一书涵盖了minix的设计和代码,你可以在网上免费找到PDF,代码可以下载,这本书介绍了基础知识,另一本书《超级用户Unix》介绍了如何简要编写设备驱动程序,这可能也会有所帮助。谢谢。我以项目为基础学习了操作系统。这本书大约有3个月。学习当然是最重要的,但我仍然需要提交一个项目。(欢迎提出建议)在这种情况下,您可能需要考虑以某种方式修改Linux内核。这会让操作系统弄脏你的手,但让你在保持理智的同时专注于一个方面。同样,看看minix,它有大量的待办事项,你可以学习,也可以为开源贡献重要的一部分。:)《操作系统设计与实现》一书介绍了minix的设计和代码,您可以免费在线找到PDF,代码可以下载,它介绍了基础知识,另一本书《超级用户Unix》介绍了如何简要编写设备驱动程序,这可能也会有所帮助。