第十一讲____Linux内核定制及编译方法_第1页
第十一讲____Linux内核定制及编译方法_第2页
第十一讲____Linux内核定制及编译方法_第3页
第十一讲____Linux内核定制及编译方法_第4页
第十一讲____Linux内核定制及编译方法_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重点讨论如何自定义和编译Linux内核、目的、了解Linux内核的主要模块组件、了解如何自定义或配置内核、Linux内核的编译过程以及如何使用相关命令。Linux内核系统模块组件,1,进程调度模块Linux将进程用作系统资源分配的基本单元,并使用动态优先级的进程高级算法验证每个进程使用处理器是否合理。流程调度模块主要管理和控制流程使用的处理器。2、记忆体管理模块Linux的记忆体管理模块使用高级虚拟存储机制实现多个进程的存储管理。提供高度可靠的存储保护措施,通过授予进程不同的权限,并防止用户直接访问系统中的程序和数据,确保系统安全。此外,每个用户进程都分配了独立于徐璐的虚拟地址空间。Linux

2、内核系统模块配置和功能,3,文件系统模块Linux中的文件系统模块,利用高级虚拟文件系统(VFS)技术屏蔽各种档案系统的差异,并提供用于处理各种档案系统的集成界面。支持90多个物理档案系统和多种物理档案系统。另一方面,Linux将各种硬件设备视为特殊文件,通过管理文件来管理设备,并且非常方便和有效。4、网络介面模块Linux具有最强大的网络功能。网络介面模块通过套接字机制实现电脑之间的网络通信,并使用网络层模型支持多种网络协议和网络硬件设备。5、进程间通信模块进程间通信模块确保Linux支持包括最基本的信息和管道在内的各种进程间通信机制,并支持信息队列、信号量、共享内存等。Linux内核编译模

3、式:1,编译到内核:内核启动时可以支持该功能。优点是方便、快速,并且可以在系统启动时使用。缺点是内核变得很大。同时降低系统安全性。2、编译为模块:内核启动后可以动态加载。其优点是不会使内核太大。缺点是必须直接调用这些模块。(主流)、内核配置介面(#make menuconfig):内核配置主要选项和功能:1。代码成熟度prompt for development and,2 .General setup 1)在local version-append to kernel release内核版本后添加自定义版本id(例如,直接输入:test)。2)automatically append ver

4、sion information to the version string会自动在版本字符串后添加版本标识信息。编译需要perl和git仓库支持。3)swap(support for paging of anonymous memory)内核使用交换分区或交换文件作为虚拟内存。4)System V IPC支持System V的inter-process communication s(IPC),很多程序都需要此功能。5)POSIX Message Queues POSIX消息队列。6)BSD Process Accounting将流程统计信息(包括流程创建时间、作者、指令名称、内存使用量等信

5、息)记录在文件的用户级系统调用中。7)export task/process statistics through netlink(experimental)通过netlink界面将任务/过程统计数据导出到用户空间。8)UTS Namespaces支持UTS命名空间。9)某些内核模块(如SELinux)需要牙齿的9)审计支持审计支持,还必须选择子体以审计系统调用。10)Kernel。config support将内核的配置信息编译到内核中,以后可以通过脚本/extract-ikconfig脚本提取该信息。11)Create deprecated sysfs files会建立过时的sysfs档案

6、系统。12)内核用户空间relay支持(formerly relay fs)提供了将大量数据从内核空间传送到用户空间的接口。13) initial ram文件系统和ram磁盘(initramfs/initrd)支持内存文件系统(init ramfs/initrd)。14)optimize for size(look out for broken compilers!)在编译时优化内核大小。15)适用于小型系统的configure standard kernel features(for small systems)配置标准的内核功能。3 .loadable module support 1)E

7、nable loadable module support打开可加载模块支持。打开时必须通过“make modules _ install”。2)使用Module unloading,您可以卸载已加载的模块。3)Forced module unloading允许强制卸载正在使用的模块。4)模块版本支持允许使用不同内核版本的模块。5)Source checksum for all modules检查所有模块的源代码。6)Automatic kernel module loading允许内核运行modprobe以自动加载所需的模块。4 .使用大于2TB的块设备时,必须选择Block layer(块

8、设备层)1)Support for Large Block Devices。2)支持跟踪块操作块队列IO跟踪。3)使用大于2TB的文件时需要支持for Large Single Files。4)IO调度程序IO调度程序。5 .处理器类型和功能1)Tickless System (Dynamic Ticks)支持动态时钟。2)高解析时间支持支持高分辨率时钟。3)对称多处理支持对称多处理器支持,例如使用多个CPU或多核心处理器CPU。4)Subarchitecture Type处理器的子体系结构类型。5)paravirtual ization support(experimental)支持并行运行

9、双Linux系统。6)Processor系列处理器系列,根据实际使用的CPU进行选择。7)一般x86支援一般x86支援一般x86支援。8)HPET Timer Support HPET是取代8254芯片的下一代计时器。9)Preemption Model内核抢占模式。10)local APIC support on uniprocessors支持多处理器APIC。11)机器检查执行会在CPU侦测到系统错误时通知核心。12)Toshiba laptop support Toshiba笔记本电脑模块支持。13)Dell laptop support戴尔笔记本电脑模块支持。14)enable X86

10、 board specific fixups for reboot修复了某些旧X86主板上的错误。15)/dev/CPU/micro code-Intel IA32 CPU micro code support支持IA32微码,仅适用于Intel CPU。16)/dev/CPU/*/MSR-Model-Specific Register support支持模型特定注册程序(MSR)寄存器。17)/dev/CPU/*/CPUID-CPU信息支持从/dev/cpu/x/cpuid中获取CPU唯一标识符(CPUID)。18)车手固件车手固件。19)高内存支持支持最大内存。20)内存模型内存模式。21

11、) 64位内存和I/o资源(experimental)使用64位内存和I/o资源。22)对于内存大于4GB的系统,allocate 3rd-level page tables from highmem将用户空间中的页面表放在高内存区域,从而节省宝贵的低端内存。23)Math emulation数学辅助处理器模拟。24)内存类型范围注册(mtrr)支持将PCI/AGP总线的显示卡速度提高一倍以上。25)Boot from EFI support EFI是取代现有BIOS的技术。26)enable seccomp to safely compute untrusted bytecode允许secc

12、omp安全地计算不可靠的代码。27)Timer frequency内核时钟频率。28)kexec system call kexec系统调用。29)内核崩溃亚当斯生成内核崩溃转储。30)内部版本a relocatable kernel(experimental)设置内核的重新定位信息。31)Compat VDSO support支持虚拟动态链接共享对象(VDSO)。6 .电源管理选项1)电源管理支持包括APM和ACPI标准在内的电源管理。2)CPU Frequency scaling允许动态更改CPU时钟速度,以实现节约能源和冷却目的。7 .巴士选项(PCI、PCMCIA、eisa、MCA、i

13、sa)(巴士选项)1)支持PCI的PCI巴士。2) ISA支持支持ISA总线。3) MCA支持微通道总线。4)NatSemi SCx200支持AMD Geode处理器的机械功能支持。5)支持PC卡(PCMCIA/cardbus)支持PCMCIA卡(主要用于笔记本电脑)。6) PCI热插头支持PCI热插拔。,8 .executable file formats 1)kernel support for elf binaries elf是开放平台上最常用的二进制档案格式,支持动态连接,并支持多种硬件平台。2)kernel support for a . out and EC off binarie

14、s中现有UNIX系统的可执行文件格式。3)Kernel support for MISC binaries允许将二进制软件包分层结构插入内核,Java,以NET、Python、Lisp等语言编写的程序需要。9 .Networking(网络)1)Networking options网络选项。2)Amateur Radio support业余无线电支持。3)irda(infrared(infrared)subsystem support红外线支援,4)Bluetooth subsystem support支援蓝牙技术5)generic IEEE 802.11 networking stack通用无

15、线lack7) IEEE 802.11i CCMP支援IEEE 802.11i CCMP。8)IEEE 802.11i TKIP加密支持IEEE 802.11i TKIP。9)软件MAC add-on to the IEEE 802.11网络堆叠支持将MAC地址添加到IEEE 802.11网络堆栈中。10 .Device Drivers(驱动程序)1)Generic Driver Options通用车手选项。2)连接器-统一使用者空间kernel spacelinker整合使用者空间和核心空间连接器。3)内存技术设备(MTD)照常在数码相机或嵌入式系统的闪存卡上支持特殊的存储技术设备。4) parallelport支持的打印机并行端口支持。5)随插即用支持的随插即用支持。6)块设备支持块设备。7)Misc devices支持其他设备。8)支持ATA/ATAPI/mfm/RLL的ide硬盘和ATAPI光驱。9)SCSI设备支持支持SCSI设备。10)串行ATA和并行ATA驱动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论