欢迎来到天天文库
浏览记录
ID:34399885
大小:333.43 KB
页数:5页
时间:2019-03-05
《linux内核在arm上的裁减与移植70266740》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据总第237期2009年第7期计算机与数字T程Computer&DigitalEngineeringVoL37No.781Linux内核在ARM上的裁减与移植。赵明鑫(鞍山师范学院计算中心鞍山114005)摘要主要介绍Linux内核以及其在ARM平台下的裁减、编译与移植过程。操作系统的移植主要分为配置、裁减源代码、交差编译等步骤。文章对以上的步骤进行了较为详尽的描述。并描述了具体实现裁减与编译的过程。操作系统移植是嵌入式系统开发的前提和基础,对嵌入式系统的开发具有重要意义。关键词Linux内核裁减交叉编译系统移植中图分类号TP311TailorandTransplantatio
2、nofLinuxKernelBasedonARMZhaoMingxin(ComputerCenter,AnshanNormalCoilge,Anshan114005)/Itl埯tratrtMainlyintroducespruneandtransplantationoftheLinuxkernelattheplatformofARM.Transplantationofoperatingsystemcanbedoneinthefollowingsteps:configuration。tailorof$ouroocode。eross-eompilation.叻ispapermakeade
3、taileddescriptionaboutitemsabove,andtherealizationofit.Transplantationofoperatingsystemisthebaseofembeddedsystem,SOhasaimportantsignificanceondevelopmentofembeddedsystem.Keywordslinuxkernel,tailor,cross-compilation,transplantationClassI址mlberTP311Linux系统及Linux内核简介块5个模块构成’如图2所示·用户应用程序操作系统服务操作系统I
4、~核Bootloader硬件一个完整的系统主要5部分组成:硬件、Bootloader、操作系统内核、操作系统服务和用户应用程序,如图l所示。用户应用程序是指那图1一个系统的组成些字处理程序、互联网应用程序或其它用户自行编制的各种应用程序;操作系统服务程序是指向用户提供的系统调用等接口程序,Bootloader主要完成硬件检测和系统引导。操作系统内核是操作系统的主要核心部分,是整个系统的灵魂。操作系统服务程序、操作系统内核及Bootloader被看作是操作系统部分L1]。Linux内核主要由进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模图2Linux内核系统模块结
5、构及相互依赖关系进程调度模块负责控制进程对CPU资源的使用,所采用的调度策略使各进程能公平合理地访问CPU,同时保证内核能及时执行硬件操作;内存管理模块用于确保所有进程安全共享机器主内存区,它还支持虚拟内存管理方式,使Linux的进程可以使用比实际内存更多的内存容量,并可以利用文件系统把暂时不用的内存数据块交换到外部存储设备上去,当需要的时候再交换回来;文件系统模块用于支持对外部设备的驱动和存储;进程间通信模块用于支持多种进程间的信息交换方式;网络接口·收稿日期:2009年3月29日,修回日期:2009年4月28日作者简介:赵明鑫.男。硕士.实验帅,研究方向:网络安全与计算机体系结构
6、.万方数据赵明鑫:Linux内核在ARM上的裁减与移植第37卷模块提供对多种网络通信标准的访问并支持许多网络硬件[2I。Linux是开放源代码的,Linux操作系统设计本身具有的不同平台之间的可移植性,而且所需的存储空间也很小。Linux内核是Linux最底层、最核心的部分,Linux操作系统就是在Linux内核上发展壮大起来的,而内核的移植则是任何嵌入式Linux开发中最关键部分。所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPI,而设计,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持[33;在Linux2.6的内核里主要包
7、含有以下目录:/arch主要是和体系结构相关的代码,里面几乎包含了目前流行的多数处理器体系结构,如ARM、Alpha、1386、MIpS、M68K、powerpC等。/block主要是块设备的驱动程序。/drivers字符设备以及一些常用计算机外设的驱动程序,主要针对通用计算机,也有针对具体嵌入式处理器的外设驱动。/fs文件系统相关代码,有些用于虚拟文件系统。/include主要包含各种CPU的头文件,也有一些通用的.h文件。/initLinux内核的初始
此文档下载收益归作者所有