真佩服楼上的2位对“内核编程”的理解力!
简单说,Linux内核编程就是开发Linux驱动程序,学会内核编程后,将会对操作系统的内部机制和工作原理有充分了解,可以从事硬件驱动开发、嵌入式系统开发等。内核编程的语言仍是传统的C语言,但其编写方法和调用接口与传统应用程序的差别较大,你必须了解如何处理中断、如何在内核态和用户态之间转换、PCI、DMA、内核地址映射、内核I/O等,这不是《UNIX高级编程》所涉及的内容,可以找一本专门讲Linux驱动编程的书看看,或在网上搜寻相关资料(关键词:Linux DDK)。不过先提醒一句,学习内核编程的难度很大,必须做好长期心理准备
2. linux 系统编程, 驱动编程 , 内核编程 有什么区别《UNIX高级编程》的内容是哪一类的
系统编程,注重性能,比如服务器端的编程,一般最底层使用c,自己对内存管理文件系统管理进行优化
驱动编程,主要是为了把linux一直到嵌入式设备,linux内核是一个庞大的系统,但不是所有设备都用上这些,而且对于兼容性问题,还要做一些修改。比如在iphone出来之前,都是使用嵌入式设计一些PDA和山寨手机系统
至于内核编程,其实也是对性能的追求,但内核编程调用的API级别更高,相对来说系统编程,是标准的API
《U高级编程》一般没太多说明,都是系统编程
3. 学习linux内核编程有什么用
这就要根据个人的具体情况及未来你的就业方向,现在大部分用户使用window系统,一般大部分还是编写window软件,这样对你的就业范围大,但是一些服务器大多是使用linux和unix系统,另外还要看你自己的变程的技术和对知识的渴望度,如果你对c语言较熟悉的话,那么这两个内核编程你先学那个都一样的,因为大部分都还是用的c语言的,
4. linux 内核 编程 包含路径
目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如X86就是Intel CPU及与之相兼容体系结构的子目录。Arch目录下的子目录包括:/arch/kernel、/arch/mm、/arch/include、/arch/boot、/arch/configs。
其中/arch/kernel目录包含了与CPU相关的中断和SMP等信息,/arch/boot包含了系统启动的相关信息和make之后生成的启动镜像文件bzImage。
5. 操作系统linux与unix内核一样吗
不一样,unix是大型机系统,内核是保密的。而linux是微型机系统,内核是公开的。可以根据你软件使用的平台选择开发平台。本人目前用的linux,感觉相当不错,很方便,各种工具和支持也很全~
6. unix环境高级编程 可以用linux学吗
UNIX环境高级编程》这本书对于初学者来说还太难。建议从基础开始学习。 linux: Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和中国络协议。它支持32位和64位硬件。Linux继承了Unix以中国络为核心的设计思想,是一个性能稳定的多用户中国络操作系统。 Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统
7. 该怎么学习linux内核编程
学习内核的好处很多,在学习过程中不仅可以夯实大量理论基础,还可以学习到很多编码惯用法,提升学习能力和分析能力。那么应该怎么学习Linux内核编程呢?
一、确立高度,明确目标(高度决定视角,视角决定行动)
个人的心得是从高到低的学习,在一个新的学习阶段,应该先多花点时间学习一些概念化的内容,这时候切忌去看具体的实现,而是多考虑如何在大脑中构建各种抽象模型
二、学习小Tips
如何看书:要带着问题看书
如何看代码:前提是你要对整体的框架、结构有一定清晰的了解。
三、多看一些有关的书籍和视频
8. Linux内核编程如何使用PCRE
9. 要进行Linux内核编程,有什么好书推荐!
内核不需要你编程,建议你还是看看linux驱动之类的书籍。
10. 求大神 讲解 linux内核编程 与 linux kernel mole 编程是一个概念吗有什么区别
确认的说,不是一个概念!
首先,LKM(linux kernel mole)是作为一个程序模块被加载到内核运行的,它的特殊之处就表现在很灵活,可加载,可卸载,但它运行的是在内核提供的上下文之中,所以和内核的程序又是一样的,一样的环境,函数,数据结构……
但体现在编程上,linux内核编程你在内核源码的基础上增删查改,然后你得重新编译出一个新的内核,才能加载,运行……
而LKM编程,你只需要写成一个个的模块,然后make,insmod就行了!