1.我在电脑上安装了linux操作系统,linux的源码应该是在系统的某个目录下吧,请问是在哪个目录呢?谢谢

运维服务目录如何设计,小运维电脑系统目录

前言

第1章概述

1.1计算机的发展历史

1.1.1计算机的产生与发展

计算机(俗称 电脑)国际术语计算机,是20世纪最伟大的科学技术发明之一

它的发明者是约翰·阿塔那索夫教授。它是一种不需要人工直接干预,能够快速对各种数字信息进行算术和逻辑运算的电子设备,以微处理器为核心,配上大容量的半导体存储器及功能强大的可编程接口芯片,连上外设(包括键盘、显示器、扫描仪、打印机和软驱、光驱等外部存储器)及电源所组成的计算机,称为微型计算机简称微型机或微机,有时又称为PC(Personal Computer)或MC(Micro computer)。微机加上系统软件,就构成了整个微型计算机系统(MSC,简称微机系统)。

计算机对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革。计算机已遍及学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。它是人类进入信息时代的重要标志之一。

计算机按其规模和性能一般可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类。运算速度在每秒几亿次以上的称为超级计算机,其生产难度大,成本高,因此它是衡量一个国家计算机技术水平的重要标志。世界上只有几个国家具有研制巨型计算机的能力,我国就是其中之一。个人计算机是20世纪70年代出现的一种新机型,是微处理器(MPU)为核心组之为“电脑”。当今,计算机有朝着巨型化和微型化两个方向发展的趋势。 1.第1代计算机:电子管数字计算机(1946—1958年)

硬件方面,逻辑元件采用真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用磁带。软件方面采用机器语言、汇编语言。应用领域以军事和科学计算为主。特点是体积大、功耗高、可靠性差。速度慢(一般为每秒数千次至数万次)、价格昂贵,但为以后的计算机发展奠定了基础。

2.第2代计算机:晶体管数字计算机(1958—1964年)

硬件方面,逻辑元件采用晶体管,主存储器采用磁芯,外存储器采用磁盘。软件方面出现了以批处理为主的操作系统、高级语言及其编译程序。应用领域以科学计算和事务处理为主,并开始进入工业控制领域。特点是体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数10万次,可高达300万次)、性能比第1代计算机有很大的提高。

3.第3代计算机:集成电路数字计算机(1964—1970年)

硬件方面,逻辑元件采用中、小规模集成电路(MSI、SSI),主存储器仍采用磁芯。软件方面出现了分时操作系统以及结构化、规模化程序设计方法。特点是速度更快(一般为每秒数百万次至数千万次),而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化。应用领域开始进入文字处理和图形图像处理领域。

4.第4代计算机:大规模集成电路计算机(1970年至今)

硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。特点是1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。

1.1.2微型计算机的出现与发展

1.1.3软件技术的兴起与发展

1.2计算机系统结构组成

1.2.1存储程序原理

1.2.2计算机硬件组成

1.2.3计算机软件组成

1.2.4计算机系统层次结构

1.3程序在计算机中的执行过程

1.3.1计算机执行的简单实例

1.3.2从高级语言到机器语言

1.3.3硬件执行机器语言

1.3.4操作系统和服务程序的作用

1.4计算机性能评价

1.4.1计算机硬件技术指标

1.4.2计算机性能评价准则

1.5计算机的应用与发展

1.5.1计算机的应用

1.5.2计算机的发展

习题

第2章数字电路分析与设计

2.1布尔代数

2.1.1布尔代数及其基本运算

2.1.2布尔代数的基本公式

2.1.3布尔函数及其表示方法

2.1.4布尔函数的化简与实现

2.2组合逻辑电路分析与设计

2.2.1组合逻辑电路的分析

2.2.2组合逻辑电路的设计

2.3同步时序逻辑电路分析与设计

2.3.1引言

2.3.2触发器

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。

触发器可以查询其他表,而且可以包含复杂的 SQL语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单。

触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。 它是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在数据库结构发生变化时执行,我们主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改,比如不允许删除某些指定表等。

2.3.3同步时序逻辑电路的分析

2.3.4同步时序逻辑电路的设计

习题

第3章运算方法和运算器

3.1数据表示方法

3.1.1数据格式

3.1.2数的机器码表示

3.1.3字符与字符串的表示方法

3.1.4可靠性编码

3.2基本运算

3.2.1逻辑运算

逻辑运算又称布尔运算 布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。

3.2.2算术运算

算术运算就是数的加、减、乘、除以及乘方开方等数学运算,区别于几何运算。

而对于算术来说,它是数学中最古老,最基础和最初等的部分.它研究数的性质及其运算.把数和数的性质,数和数之间的四则运算在应用过程中的经验积累起来,并加以整理,就形成了最古老的一门数学——算术

3.2.3移位运算

3.3定点运算

3.3.1加减法运算

3.3.2定点乘法运算

3.3.3定点除法运算

3.4定点运算器的组成

3.4.1多功能算术逻辑运算单元

3.4.2内部总线

将处理器的所有结构单元内部相连。它的宽度可以是8、16、32、或64位。

如在CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总线称为片内总线(即芯片内部的总线)。 ----1.I2C总线

----I2C(Inter-IC)总线10多年前由Philips公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

----2.SPI总线

----串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

----3.SCI总线

----串行通信接口SCI(serial communication interface)也是由Motorola公司推出的。它是一种通用异步通信接口UART,与MCS-51的异步通信功能基本相同。

3,4.3定点运算器的基本结构

3.5浮点运算方法和浮点运算器

3.5.1浮点加(减)法运算

3.5.2浮点乘(除)法运算

3.5.3浮点运算器

习题

第4章指令系统与汇编语言程序设计

4.1指令系统概述

4.28088微机硬件结构简介

4.2.18086CPU及其寄存器

4.2.28086微机系统的主存储器与堆栈

4.2.38086CPU能直接处理的数据及其存放形式

4.3指令格式

4.3.1指令长度

4.3.2操作码结构

4.3.3地址码结构

4.3.48086CPU指令格式

4.4寻址方式

4.4.1概述

4.4.28086汇编语言与寻址方式有关的一些定义和约定

4.4.3立即(数)寻址

4.4.4直接寻址

4.4.5寄存器寻址

4.4.6寄存器间接寻址

4.4.7基址寻址

4.4.8变址寻址

4.4.9相对寻址

4.4.10基址变址寻址

4.5指令与指令类型

4.5.1传送类指令

4.5.2算术运算类指令

4.5.3位操作类指令

4.5.4串操作类指令

4.5.5程序控制类指令

4.5.6处理器控制类指令

4.68086汇编语言

4.6.1概述

4.6.2汇编语言源程序的结构

4.6.3伪指令

4.7子程序设计

4.8系统功能调用

习题

第5章存储器

5.1存储器概述

5.1.1存储器的基本概念

5.1.2存储器的分类

5.1.3存储器的层次结构

5.2主存储器

5.2.1概述

5.2.2随机存储器

5.2.8只读存储器

5.2.4半导体存储器的连接

5.8高速缓存

5.8.1高速缓存的工作原理

5.3.2高速缓存一主存地址映射

5.3.3高速缓存的分类

5.8.4高速缓存的替换策略

5.4辅助存储器

5.4.1概述

5.4.2硬磁盘存储器

5.4.3光盘存储器

5.4.4闪存

习题

第6章控制器

6.1构造一个计算机

6.1.1实例计算机结构

6.1.2指令系统

6.1.3指令格式

6.1.4计算机执行过程

6.2控制器基本设计方法

6.2.1指令周期

6.2.2控制器基本组织

6.2.8微操作

6.2.4控制器设计方法

6.8微操作技术

6.3.1微操作安排

6.3.2微操作控制信号设计

6.3.3微操作组合电路实现

6.4微程序技术

6.4.1基本原理

6.4.2微程序控制器构成

6.4.3微程序控制器设计

习题

第7章输入输出系统

7.1输入输出设备

7.1.1I/0设备概述

7.1.2I/O设备的工作特点

7.2输入输出接口

7.2.1I/O接口的基本作用

7.2.2I/O接口的基本组成

7.2.3I/O接口的输人输出控制方法

7.2.4I/O接口的编址

7.3中断方式的输入输出

7.3.1中断的基本问题

7.3.2中断控制器

7.3.8中断系统

7.4DMA方式的输入输出

7.4.1DMA的基本问题

7.4.2DMA控制器

7.5使用输入输出接口与设备

7.5.1定时/计数器8253

7.5.2异步串行通信接口8250

7.5.8并行接口芯片8255A简介

习题

第8章总线

8.1总线概述

8.1.1总线的概念

8.1.2总线的分类

8.2总线的基本问题

8.2.1总线的性能参数

8.2.2总线设备

8.2.3总线控制器

8.2.4总线连接方式

8.2.5总线复用

8.2.6总线定时

8.2.7总线仲裁

8.2.8总线数据传送方式

8.3常用的I/O总线

8.3.1I/O总线标准

8.3.2常用的I/O总线简介

习题

第9章操作系统

9.1操作系统概述

9.1.1什么是操作系统

9.1.2操作系统的发展史

9.1.3操作系统的分类

9.1.4常见操作系统介绍

9.2操作系统的功能与结构

9.2.1操作系统的功能

9.2.2操作系统的结构

9.2.3Windows操作系统结构剖析

9.3操作系统运行机制

9.3.1中断与异常

9.3.2核心态与用户态

9.3.3实例程序的执行

9.4处理机管理

9.4.1进程的概念

9.4.2进程的表示

9.4.3进程的控制

9.4.4进程间通信

9.4.5进程间同步与互斥

9.4.6进程与线程

9.5存储管理

9.5.1存储管理的概念

9.5.2连续存储管理方法

9.5.3非连续存储管理方法

9.5.4虚拟存储器

9.6设备管理

9.6.1设备管理的概念

9.6.2设备管理的方法

9.6.3Windows设备管理

9.7文件管理

9.7.1文件系统的概念

9.7.2文件系统的组织

9.7.3文件系统的使用

9.8作业管理

9.8.1用户使用界面

9.8.2资源管理接口

9.9操作系统的安全

9.9.1操作系统的安全设计目标

9.9.2操作系统的安全设计原则

9.9.3Windows操作系统的安全设计

习题

附录A汇编语言程序的上机实习指导

附录BASCII字符编码表

参考文献

……

我在电脑上安装了linux操作系统,linux的源码应该是在系统的某个目录下吧,请问是在哪个目录呢?谢谢

1、Linux系统基础

严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台;Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协议。

Linux 是一个多用户多任务的操作系统,也是一款自由软件,完全兼容POSIX标准,拥有良好的用户界面,支持多种处理器架构,移植方便。

为程序分配系统资源,处理计算机内部细节的软件叫做操作系统或者内核。如果你希望详细了解操作系统的概念,请查看操作系统教程。

用户通过Shell与Linux内核交互。Shell是一个命令行解释工具(是一个软件),它将用户输入的命令转换为内核能够理解的语言(命令)。

2、网络服务

服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行。

其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。

这面2点只是基础,也是必要条件,不能说是工具,下以才是真正的要掌握的工具。

3、shell脚本和另一个脚本语言

shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了。别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义。

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行 。

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多桌面环境系统,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。GNOME。

每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。

同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell:

Bourne Shell:是贝尔实验室开发的。

BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。

Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。

C Shell:是SUN公司Shell的BSD版本。

Z Shell:The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。

而另一个脚本语言是可选的,一般是3P,即Python,Perl和PHP,PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,不难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就行了。

4、sed和awk工具

必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。

5、文本处理命令

sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。

6、数据库

首选MySQL,别问我为什么不学SQL Server和Oracle,因为Linux用得最多绝对是MySQL。增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

7、防火墙

不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则。如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而Filter表用得最多,反正不学就肯定不合格。

8、监控工具

十分十分重要,我个人建议,最好学这3个,cacti,nagios,zabbix。企业用得最多应该是nagios和?zabbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

9、集群和热备

这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰。集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理。还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的,MySQL热备也要学,就是主从复制,这个别告诉我容易,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。

10、数据备份

不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。

首先研究 Linux 源代码树的顶层目录,它通常(但不总是)位于 /usr/src/linux-。我们不会研究得过于详细,因为 Linux 源代码经常会发生变化,但是,我们将尝试让给出的信息足以找出特定驱动程序或函数的位置。

Makefile:这个文件是整个源代码树的顶层 makefile。它定义了很多实用的变量和规则,比如默认的 gcc 编译标记。

Documentation/:这个目录中包含很多关于配置内核、运行 ramdisk 等任务的实用信息(但通常是过时的)。不过,与不同配置选项相应的帮助条目并不在这里 —— 它们在每个源代码目录的 Kconfig 文件中。

arch/:所有与体系结构相关的代码都在这个目录以及 include/asm- 目录中。在此目录中,每种体系结构都有自己的目录。例如,用于基于 PowerPC 的计算机的代码位于 arch/ppc 目录中。在这些目录里,可以找到底层内存管理、中断处理、早期初始化、汇编例程,等等。

crypto/:这是内核本身所用的加密 API。

drivers/:按照惯例,在此目录的子目录中可以找到运行外围设备的代码。包括视频驱动程序、网卡驱动程序、底层 SCSI 驱动程序,以及其他类似的驱动程序。例如,在 drivers/net 中可以找到大部分网卡驱动程序。将一类驱动程序组合在一起的某些更高层代码,可能会(也可能不会)像底层驱动程序本身那些包含在同一目录中。

fs/:通用文件系统的代码(称做 VFS,即 Virtual File System)和各个不同文件系统的代码都可以在这个目录中找到。ext2 文件系统是在 Linux 中最常广泛使用的文件系统之一;在 fs/ext2 中可以找到读取 ext2 格式的代码。并不是所有文件系统都会编译或运行;对某些寻找内核项目的人而言,更生僻的文件系统永远都是理想的候选者。

include/:在 .c 文件的开头所包含的大部分头文件都可以在这个目录中找到。 asm- 目录下是与体系结构相关的包含(include )文件。部分内核构建过程创建从 asm 指定 asm- 的符号链接。这样,无需将其固定编码到 .c 文件 #include 就可以获得用于那个体系结构的正确文件。其他目录中包含的是 非-体系结构-相关 的头文件。如果在不只一个 .c 文件中使用了某个结构体、常量或者变量,那么它可能应该放入其中一个头文件中。

init/:这个目录中的文件包括 main.c、创建 早期用户空间(early userspace) 的代码,以及其他初始化代码。可以认为 main.c 是内核“粘合剂(glue)”。在下一部分将深入讨论 main.c。早期用户空间提供了 Linux 内核引导起来时所需要的功能,而这些功能并不需要在内核本身运行。

ipc/:IPC 的意思是 进程间通信(interprocess communication)。它包含了共享内存、信号量以及其他形式 IPC 的代码。

kernel/:不适合放在任何其他位置的通用内核级代码位于此处。这里有高层系统调用代码,以及 printk() 代码、调度程序、信号处理代码,等等。文件名包含很多信息,所以可以使用 ls kernel/,并非能常准确地猜到每个文件的功能。

lib/:这里是对所有内核代码都通用的实用例程。常见的字符串操作、调试例程,以及命令行解析代码都位于此处。

mm/:这个目录中是高层次内核管理代码。联合使用这些例程以及底层的与体系结构相关的例程(通常位于 arch//mm/ 目录中)来实现虚拟内存(Virtual memory,VM)。在这里会完成早期内存管理(在内存子系统完全建立起来之前需要它),以及文件的内存映射、页高速缓存管理、内存分配、RAM 中页的清除(还有很多其他事情)。

net/:这里是高层网络代码。底层网络驱动程序与此层次代码交换数据包,这个层次的代码可以根据数据包将数据传递给用户层应用程序,或者丢弃数据,或者在内核中使用它。net/core 包含大部分不同的网络协议都可以使用的代码,和某些位于 net/ 目录本身中的文件一样。特定的网络协议在 net/ 的子目录下实现。例如,在 net/ipv4 目录中可以找到 IP(版本 4)代码。

scripts/:这个目录中包含的脚本可用于内核的构建,但并不将任何代码加入到内核本身之中。例如,各种配置工具可以将它们的文件放在这里。

security/:在这里可以找到不同 Linux 安全模型的代码,比如 NSA Security-Enhanced Linux 以及套接字和网络安全钩子函数(hooks),以及其他安全选项。

sound/:这里放置的是声卡驱动程序和其他与声音相关的代码。

usr/:此目录中的代码用于构建包含 root 文件系统映像的 cpio-格式 的归档文件,用于早期用户空间。