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软中断和工作队列的作用是什么?
相关文档:
linux下的文件结构,看看每个文件夹都是干吗用的
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/ ......
前面我们已经分析了linux如何利用伙伴系统,slab分配器分配内存,用这些方法得到的内存在物理地址上都是连续的,然而,有些时候,每次请求内存时,系统都分配物理地址连续的内存块是不合适的,可以利用小块内存“连接”成大块可使用的内存.这在操作系统设计中也被称为 “内存拼接”,显然,内存拼接在需要较大内 ......
在Linux
中通过locale
来设置程序运行的不同语言环境,locale
由ANSI C
提供支持。locale
的命名规则为<
语言>_<
地区>.<
字符集编码>
,如zh_CN.UTF-8
,zh
代表中文,CN
代表大陆地区,UTF-8
表示字符集。在locale
环境中,有一组变量,代表国际化环境中的不同设置:
1. & ......
在 Ubuntu Linux 中用源码文件安装软件
时经常都会用到chmod
命令来更改文件的权限使其在安装时有执行的权限。由于 Ubuntu Linux 默认不能用root账户来登录所以在用chmod命令来更改文件的权限时往往需要结合sudo命令来使用,如果你对sudo命令还不太了解,请先看看本站的《sudo命令详解》
chmod
Linux/Ubuntu
系统中文 ......
Linux Makefile文件的介绍
1. Makefile介绍
注意是“Makefile”,第一个字母大写,其余的都是小写。Makefile关系到了整个工程的编译规则,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,Makefile定义了一系列的规则来指定,哪些文件需要先编译, ......