内核编程 [英] Kernel programming
本文介绍了内核编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何开始学习内核编程?
How do I start learning kernel programming?
What concepts are needed to learn kernel programming?
推荐答案
sridhar 2010写道:
sridhar 2010 wrote:
学习内核编程需要什么概念
what concepts are needed to learn kernel programming
Google [^]?
内核编程太笼统了;我认为您的意思是编写设备驱动程序.
如果这是您的目标,并且您想编写 Windows 的设备驱动程序,则可以开始从 Microsoft 网站下载 Windows DDK : b>驱动程序开发套件附带了许多示例和教程.
作为先决条件,您应该熟练掌握 C语言,并且应该了解 PC硬件体系结构的基本知识;最后,一些关于汇编程序的基础知识可能会有所帮助.
Kernel programming is a too much generic sentence; I think you mean writing a device driver.
If this is your target and you want to write device drivers for Windows you can start downloading the Windows DDK from Microsoft web-sites: the driver development kit is shipped with a lot of samples and tutorials.
As pre-requisites you should have a good command of the C language, and you should know the basics of PC hardware architecture; finally, some fundmentals on assembler could be helpful.
首先,您应该了解您要瞄准的硬件(ARM,x86,MIPS等),然后您将经历以下问题:
1-您将如何引导内核?引导加载程序(您必须编写一些类似的内容:[uBoot,grub,....])
2-您支持什么硬件?如上所述.
3-您将如何提供OS服务(内存管理,调度程序等)
4-您将如何提供硬件处理?设备驱动程序.
然后在这里开始编码,您应该对C和汇编语言有很好的了解.
最后,这会有所帮助: http://www.ezequielaceto.com.ar/techblog/?p=501 [ ^ ]
First you Should know about your Hardware you are Aiming (ARM, x86, MIPS , etc) then you are going through these questions:
1- How you are going to boot the kernel ? boot loader (you have to write it some thing like : [uBoot, grub,.... ])
2- What hardware you support? as above.
3- How are you going to provide OS Services (Memory management, Scheduler , etc)
4- How will you going to provide Hardware Handling ? Device drivers .
Then start coding here and you should have a good knowledge about C and Assembly languages .
Finally this would help : http://www.ezequielaceto.com.ar/techblog/?p=501[^]
这篇关于内核编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文