您的位置:首页 > 运维架构 > Linux

linux 核心kernel软件基础

2012-08-09 13:27 267 查看

软件基础

2.1
编程语言

2.1.1
汇编语言

CPU从主存读取出来执行的指令对人类来说是根本不可理解的。
Intel 80486指令中的16进制数0x89E5表示将ESP寄存器的内容拷入EBP寄存器。
汇编器可以将人们可以理解的源文件汇编成机器代码。汇编语言需要显示的操作寄存器和数据,并且与特定的处理器相关。
Linux中只有很少一部分用汇编语言写。

Ldr
r16,(r15) ;将寄存器15所指示的地址中的值加载到寄存器16中
Ldr
r17,4(r15) ;将邻接单元内容加载到寄存器17中。
beq
16,r17,100 ;比较寄存器16和寄存器17中的值,如果相等则调转到标号100处。

2.1.2
C语言

与具体机器无关,可移植。
C支持许多类型的变量,变量是一个通过符号名称引用的内存位置。指针式那些包含其他数据内存位置或者地址的变量。

2.2
操作系统

2.2.1
内存管理

2.2.3
设备驱动

设备驱动控制操作系统和硬件设备之间的相互操作。

2.2.4
文件系统

Linux最常用的文件系统就是EXT2文件系统。

2.3
核心数据结构

2.3.1
连接列表

Linked
链表
Chained
双向链表

2.3.1
散列表

散列表是指针的数组或向量,指向内存中连续的相邻数据结合。Linux经常用它来实现caches,缺点是使用和维护单一链表和散列表更复杂。

2.4
抽象接口

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: