学习linux驱动开发需要先学习UNIX环境高级编程这本书吗?

2025-05-23 06:06:24
推荐回答(1个)
回答1:

你连应用层都不懂就能搞底层吗?而且《UNIX环境高级编程》讲的不是真正意义上的应用层,它讲的是操作系统API,也就是系统调用,你去看看有哪个应用程序会直接使用系统调用的。
系统调用是比C标准库还底层的库,由操作系统直接提供,都是一些非常基础的功能。重要的是它讲述了大量的系统级编程的概念与方法,这些概念是在其他很多地方都通用的,甚至在windows下都是非常有意义的。
系统调用是内核与应用层的接口,把握住了这一层上可以写应用程序,下可以写内核模块,当然都需要深入学习。
《UNIX环境高级编程》是你学习操作系统非常好的方式(大学讲的“操作系统”完全就是扯蛋 ),多写几次fork,把内核代码中task_struct结构大概看一下,你就知道什么是进程了,还要去背那些过时的甚至是错误的概念?以后你再看内核方面的书你就会知道这些有多重要,事实上没有系统级编程的知识,你要直接看内核方面还是比较困难的(这些东西你终究还是要知道的)。
还是看你自己怎么看了,《UNIX环境高级编程》确实不讲述任何关于内核编程的东西。