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

还是看你自己怎么看了,《UNIX环境高级编程》确实不讲述任何关于内核编程的东西。UNIX环境高级编程》这本书对于初学者来说还太难。建议从基础开始学习。linux:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具...
学习linux驱动开发需要先学习UNIX环境高级编程这本书吗?
你连应用层都不懂就能搞底层吗?而且《UNIX环境高级编程》讲的不是真正意义上的应用层,它讲的是操作系统API,也就是系统调用,你去看看有哪个应用程序会直接使用系统调用的。
系统调用是比C标准库还底层的库,由操作系统直接提供,都是一些非常基础的功能。重要的是它讲述了大量的系统级编程的概念与方法,这些概念是在其他很多地方都通用的,甚至在windows下都是非常有意义的。
系统调用是内核与应用层的接口,把握住了这一层上可以写应用程序,下可以写内核模块,当然都需要深入学习。
《UNIX环境高级编程》是你学习操作系统非常好的方式(大学讲的“操作系统”完全就是扯蛋 ),多写几次fork,把内核代码中task_struct结构大概看一下,你就知道什么是进程了,还要去背那些过时的甚至是错误的概念?以后你再看内核方面的书你就会知道这些有多重要,事实上没有系统级编程的知识,你要直接看内核方面还是比较困难的(这些东西你终究还是要知道的)。
还是看你自己怎么看了,《UNIX环境高级编程》确实不讲述任何关于内核编程的东西。2013-10-09
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 工程各种工具和数据库的操作系统。2015-10-14
mengvlog 阅读 10 次 更新于 2025-06-20 01:06:23 我来答关注问题0
  •  armboot 学习嵌入式linux驱动开发要先学习应用程序的开发来打基础吗? 自己学习去看驱动 程序的开发,完全看不出头绪

    应用程序肯定是要学的,因为你调试好了驱动的话,得测试啊 。自己看驱动,是看代码?还是看书啊?建议你首先学会移植,然后把platform的机制搞懂,然后再去看书 看代码 这样效率高多了。linux驱动开发是很难的,很难摸索出规律,市面上参考书少。。。不过肯下功夫钻的话能学好的。个人感觉先学应用开发...

  • 汇新云IT 新手学习嵌入式linux驱动开发有没有什么步骤?

    1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。5. 写一完整驱动, 加上read, write, ioctl, polling等...

  • 建议从基础开始学习。linux:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

  •  杜昌韦_是也 想学习Linux 驱动,需要什么知识

    嵌入式,其实就是ARM+Linux,重点其实是嵌入式操作系统,建议先从单片机做起,了解GPIO、定时器啥的,也理解怎么用C语言操作硬件。然后再去学Linux操作系统,shell语法等,然后再买一个ARM开发板(初期买2410足够),学驱动开发啥的,建议去星创客学习。学完了以后,做几个驱动,就可以找工作了。

  •  lufree92 如何自学linux驱动开发,做驱动开发需要哪些方面的知识

    2 总线知识,比如PCI、USB总线。3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理 4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识 5 C++基本用不上,主要是C和汇编。6 做驱动最好要懂内核调试(比如说linux)硬件...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部