内核编程 [英] Kernel programming

查看:73
本文介绍了内核编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何开始学习内核编程?

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 [


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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆