第一篇:嵌入式系统Linux内核开发工程师必须掌握的三十道题
嵌入式系统Linux内核开发工程师必须掌握的三十道题.txt男人的话就像老太太的牙齿,有多少是真的?!问:你喜欢我哪一点?答:我喜欢你离我远一点!执子之手,方知子丑,泪流满面,子不走我走。诸葛亮出山前,也没带过兵!凭啥我就要工作经验?嵌入式系统Linux内核开发工程师必须掌握的三十道题
如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看!
1)Linux中主要有哪几种内核锁?
2)Linux中的用户模式和内核模式是什么含意?
3)怎样申请大块内核内存?
4)用户进程间通信主要哪几种方式?
5)通过伙伴系统申请内核内存的函数有哪些?
6)通过slab分配器申请内核内存的函数有?
7)Linux的内核空间和用户空间是如何划分的(以32位系统为例)?
8)vmalloc()申请的内存有什么特点?
9)用户程序使用malloc()申请到的内存空间在什么范围?
10)在支持并使能MMU的系统中,Linux内核和用户程序分别运行在物理地址模式还是虚拟地址模式?
11)ARM处理器是通过几级也表进行存储空间映射的?
12)Linux是通过什么组件来实现支持多种文件系通的?
13)Linux虚拟文件系统的关键数据结构有哪些?(至少写出四个)
14)对文件或设备的操作函数保存在那个数据结构中?
15)Linux中的文件包括哪些?
16)创建进程的系统调用有那些?
17)调用schedule()进行进程切换的方式有几种?
18)Linux调度程序是根据进程的动态优先级还是静态优先级来调度进程的?
19)进程调度的核心数据结构是哪个?
20)如何加载、卸载一个模块?
21)模块和应用程序分别运行在什么空间?
22)Linux中的浮点运算由应用程序实现还是内核实现?《》
23)模块程序能否使用可链接的库函数?
24)TLB中缓存的是什么内容?
25)Linux中有哪几种设备?
26)字符设备驱动程序的关键数据结构是哪个?
27)设备驱动程序包括哪些功能函数?
28)如何唯一标识一个设备?
29)Linux通过什么方式实现系统调用?
30)Linux软中断和工作队列的作用是什么?