(计算机软件与理论专业论文)基于arm平台嵌入式关键应用程序的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于arm平台嵌入式关键应用程序的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于arm平台嵌入式关键应用程序的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于arm平台嵌入式关键应用程序的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于arm平台嵌入式关键应用程序的研究与实现.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(计算机软件与理论专业论文)基于arm平台嵌入式关键应用程序的研究与实现.pdf.pdf 免费下载

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

文档简介

四川大学硕士学位论文 基于a r m 平台嵌入式关键应用程序的研究与实现 计算机软件与理论专业 研究生张婷指导教师常致全 嵌入式系统以其精炼、专用、易扩充和可靠性高等特点,其应用领域可谓 无处不在,而且有不断增长,扩展的前景。为适应嵌入式系统应用需求而产生、 发展的嵌入式处理器a r m 以其处理速度快,执行效率高等特性成为在嵌入式系 统的应用领域中市场占有率最高的嵌入式c p u ,促进了嵌入式系统的专业应用的 飞速发展。 嵌入式l i n u x 是最受关注的嵌入式操作系统,可应用于多种硬件平台,具 有对网络的良好支持,以及高度模块化和微内核等优点;u c l i n u x 是l i n u x 的一 个版本,是专为没有舢( 内存管理单元) 的c p u 设计的。基于上述硬件平台和操 作系统的显著优点,结合实际的应用,本文选择了a r m - l i n u x 嵌入式系统作为 研究的主要对象。 论文在深入分析和研究了嵌入式系统的体系结构、u c l i n u x 嵌入式软件的内 核要素的基础上,基于a r m 9 的硬件平台,从实际应用需求中提取了具有共性的 若干关键技术环节进行研究,并从通用技术的层面上分析、设计和开发了相关 的应用程序。 在本课题中,研究了对基于a 麟硬件平台的u c l i n u x 的内核进行裁减和重 编译的一般性原则给出了建立在u c l i n u x 之上的嵌入式软件应用程序的开发 流程和方法。在此基础上,首先通过对通用接口g p i o 的操作,实施对系统状态 的控制并利用系统调用实现了软复位;完成了相应驱动程序的编写,并通过静 态和动态两种方式在嵌入式l i n u x 中成功地加载了设备驱动程序,还通过编制 的应用程序,测试和运行验证了驱动程序。然后通过串口通信的编程及通信波 特率的设置实现串行传输速率的控制。在访问权限的管理方面,研究了利用m t d 在只读的r o m f s 文件系统下保存登录参数,做出了实现原理的描述,给出了具体 四川大学硕士学位论文 的实现代码。在信息发布的应用方面,研究了在u c l i n u x 下实现b o aw e bs e r v e r 的方法。 论文主要从嵌入式系统应用与实践的角度出发,阐述了嵌入式系统构建与 开发的基本理论;基于a r m 9 的硬件平台,重点研究了嵌入式软件中若干关键应 用程序的开发与实现,相信对于嵌入式系统的应用与实践具有可以举一反三的 学术性意义和现实应用价值。 关键词:嵌入式系统;a r m ;u c l i n u x ;m t d 驱动 2 四川大学硕士学位论文 r e s e a r c ha n di m p l e m e n t a t i o no fe m b e d e dk e ya p p l i c a t i o n s b a s e do na r m p l a t f o r m m a j i o rc o m p u t e rs o f t w a r e & t h e o r i e s p o s t g r a d u a t es t u d e n tz h a n gt m g a d 、,i s o 礴c h a n gz h i - q u a n e m b e d d e ds y s t e mi sc h a r a c t e r i z e db yr e f i n i n g ,d e d i c a t i o n , e x p a n s i o n , a n d r e l i a b i l i t y , w h i c hi sa p p l i e dt oa l lk i n d so f a p p l i c a t i o nd o m a i n , a n d h a sa ni n c r e a s i n g , c 】( d 锄d e dp r o s p e c t e m b e d d e dp r o c e s s o r , a i t m ,c r e a t e da n dd e v e l o p e df o ra d a p t i n g t h ea p p l i c a t i o nr e q u i r e m e n t so ft h ee m b e d d e ds y s t e mp o s s e s s e st h eh i g h e s tm a r k e t s h a r ei nt h ea p p l i c a t i o nd o m a i no fe m b e d d e ds y s t e mb e c a u s eo ft h ef a s tp r o c e s s i n g s p e e d a n dg r e a te x e c u t i o ne 伍c i e n e y , a n df l l i 也锄o r e 。i tb o o s t st h er a p i d d e v e l o p m e n to f e m b e d d e ds y s t e mi nt h es p e c i a la p p l i c a t i o na r e a e m b e d d e dl i n u x , t h em o s ta t t r a c t i v ee m b e d d e do p e r a t i n gs y s t e m , c a l la p p l yt o v a r i o u sh a r d w a r ep l a t f o r m s ,a n dh a st h em e r i t so fg i v i n gg o o ds u p p o r tt on e t w o r k , m o d u l a d z a t i o r t , a n dm i c r o - k e r n e l u c l i n u xi so n eo ft h ev e r s i o n so fl i n u x ,d e s i g n e d f o rc p uw i t h o u tm m u ( m e m o r ym a n a g e m e n tu n i t ) b a s e do nt h eo b 、,i o u s a d v a n t a g eo ft h eh a r d w a r ep l a t f o r m sa n dt h eo p e r a t i n gs y s t e mm e n t i o n e da b o v e ) c o n s i d e r i n g t h e a c t u a l a p p l i c a t i o n s , t h i sp a p e r c h o o s e se m b e d d e d s y s t e m , a r m - l i n u x ,a st h em a i nr e s e a r c ho b j e c t t b i sp a p e rd e e p l ya n a l y z e sa n dr e s e a r c h e st h ea r e h i t e c t u r eo f e m b e d d e ds y s t e m , t h ep r i n c i p l eo fe m b e d d e ds o f t w a r eu c i i n u x a n dt h e ne m p h a s i z e so ns o m ec o m m o n k e yt e c h n i q u e se x t r a c t e df r o ma c t u a la p p l i c a t i o nr e q u i r e m e n t s ,f i n a l l y , a n a l y z e s , d e s i g n s , a n dd e v e l o p st h er e l a t e da p p l i c a t i o np r o g r m n si nt h el a y e ro fc u r r e n t t e c h n i q u e sb a s e do nt h ea r m 9h a r d w a r ep l a t f o r m t h eg e n e r a lp r i n c i p l e sa b o u tt h er e d u c t i o na n dr e e o m p i l a t i n no fu c l i n u x s k e r n e la r es t u d i e dw h i c hi sb a s e do nt h eh a r d w a r ep l a t f o r mo fa r m t h e n , 也e d e v e l o p i n gp r o c e s s e sa n dm e t h o d so fa p p l i c a t i o no ne m b e d d e ds o f t w a r ei nu c l i n u x a l ep 州d e d a c c o r d i n gt ot h e 鼯b a s e s ,缶s t ,t h es y s t e ms t a t e se o n t r o li s i m p l e m e n t e da n dt h es o f ir e s e t t i n gi nt h el l s eo fs y s t e mr e s o u r c e si sc a r r i e do u t t h r o u g ht h eo p e r a t i o nw i t hg p l 0 t h ep r o g r a m m i n go ft h er e l e v a n td r i v e r s i s f i n i s h e d ;m e a n w h i l e , t h ed r i v e rp r o g r a m sa r el o a d e ds u c c e s s f u l l yt h r o u g hb o t hs t m i e a n dd y n a m i cm a n n e r si nt h ee m b e d d e dl i n u x ;a n dd r i v e rp r o g r a m sa r et e s t e da n d w a r r a n t e x tb ya p p l i c a t i o np r o g r a m m i n g t h e n , t h ep r o g r a m m i n go ft h eu a r t 3 四川大学硕士学位论文 c o m m u n i c a t i o na n dt h es e t t i n go fb a u dr a t ea r ea c h i e v e 正a sf a ra st h em a n a g e m e n t o fa c c , c s s i u gl i m i ti sc o n g e n l e 正s a v i n g1 0 9 i np a r a m e t e r si nt h er e a d - o n l yr o m f sf i l e s y s t e mb yu t i l i z i n gm t d a r er e s e a r c h e d , f u r t h e r m o r e t h ed e s c r i p t i o na b o u tt h e r e a l i z a t i o np r i n c i p l e sa n ds p e c i f i cc o d e sa r e 西v e i li nt h ea s p e c to fi n f o r m a t i o n r e l e a s e t h em e t h o do f i m p l e m e n t i n gb o aw e bs e n ,c ri se x p o u n d e d t i l i sp a p e re x p o u n d st h e b a s i ct h e o r ya b o u tt h ec o n s t r u c t i o na n dd e v e l o p m e n to f t h ee m b e d d e ds y s t e mi nv i e wo fa p p l i c a t i o na n dp r a c t i c e i na d d i t i o n , ie m p h a s i z e t h ed e v e l o p m e n ta n di m p l e m e n t a t i o no faf e wk e ya p p l i c a t i o np r o g r a m si nt h e e m b e d d e ds o f t , r a r e ih o l dt h eo p i n i o nt h a tm yr e s e a r c hh a s m e m i ca n da p p l i e d v a l u e sa i m i n ga ta p p l i c a t i o i la n dp r a c t i c eo ft h ee m b e d d e ds y s t c m - w h i c hc a nd r a w i n f c r e n c e sa b o u to t h e rc a s e sf r o mo n ei n s t a n c e k e y w o r d s :e m b e d e ds y s t e m ;a d v a n c e dr i s cm a c h i n e s ;m i e r o - c o n r o i - l i n u x ; m e m o r yt e c h n o l o g yd e v i c ed r i v e r 4 四川大学硕士学位论文 i 研究背景 1 1 课题背景 嵌入式设备在日常生活中无处不在,诸如人们日常生活中的手机、m p 3 、数 码相机、家电等。由于嵌入式系统所特有的高效性、自动性、智能化、低功耗 和高品质的特点,所以除了在日常生活中的广泛应用之外,在工业、农业、和 商业活动中,嵌入式系统同样得n t 越来越广泛的应用。嵌入式设备的应用数 量是通用p c 的1 0 倍以上,嵌入式是系统是后p c 时代的计算机应用的重要特征。 1 1 1 嵌入式系统的定义 所谓嵌入式系统,实际上是“嵌入式计算机系统”的简称,它是相对于通 用计算机系统而言的。在有些系统里也有计算机,但是计算机是作为某个专用 系统中的一个部件存在的。像这样“嵌入”到更大系统中的计算机系统,称之 为“嵌入式系统”。 根据英国电机工程师协会( i e e ) 的定义,嵌入式系统是控制、监视或辅助 某些设备、机器或工厂运行的装置。可以看出此定义是从应用方面考虑的。 嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。国内一 般定义为:以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适 应实际应用中对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机 系统。 1 1 2 嵌入式系统的组成 嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统和应用软件 等几大部分组成“。 1 嵌入式处理器 嵌入式处理器是嵌入式系统的核心部件。嵌入式处理器与通用处理器的最 大不同点在于其大多工作在为特定用户群设计的系统中它通常把通用计算机 系统中的许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计 四川大学硕士学位论文 趋于小型化,并具有高效率、高可靠性等特征。现今市面上有1 0 0 0 多种嵌入式 处理器芯片,其中使用广泛的有a r m 、m i p s 、p o w e r p c 、m c 6 8 0 0 0 等。 2 外围设备 外围设备指在一个嵌入式系统中,除了嵌入式处理器以外用于完成存储、 通信、调试、功能的其他部件。根据外围设备的功能可以分为以下3 类: 存储器:静态易失性存储器( r a m s r m ) 、动态存储器( d r a m ) 和非 易失性存储器( f l a s h ) 。其中,f l a s h 以可擦写次数多、存储速度快、容量大及 价格低等优点在嵌入式领域得到了广泛的应用。 接口:应用最为广泛的包括并口、r s - - 2 3 2 串口、i r d a 红外接口、s p i 串 行设备接口、u s b 通用串行总线接口、e t h e m e r 网口等 人机交互:l c d 、键盘和触摸屏等人机交互设备 3 嵌入式操作系统 在大型嵌入式应用系统中,为了使嵌入式的开发更方便、快捷,需要具备 一种稳定、安全的软件模块集合,用以管理存储器分配、中断处理、任务问通 信和定时器响应,以及提供多任务处理等,即嵌入式操作系统。 对于多任务操作系统而言,多任务处理是它的核心,用以满足多种嵌入式 系统的需要。对于系统核心的功能,嵌入式系统差别较大,但即使是微内核系 统,系统核心也将负责完成如下一些基本任务:进程间通信、线程调度、中断 和内存管理等。嵌入式系统提供了一套标准的接口函数。将与特定硬件相关的 细节隐藏起来。目前市场上的嵌入式操作系统有v x w o r k s 、嵌入式l i n u x 、q n x 、 n u c l e u s 、t h r e a d x 、p a l m o s 、w m c e 和s y m b i a n 等 4 应用软件 嵌入式系统的应用软件是针对特定的实际专业领域,基于相应的嵌入式硬 件平台,并能完成用户预期任务的计算机软件。用户的任务可能有时间和精度 的要求。由于嵌入式应用对成本十分敏感,因此,为减少系统成本,除了精简 每个硬件单元的成本外,应尽可能的减少应用软件的资源消耗,尽可能地优化。 应用软件是实现嵌入式功能的关键,对嵌入式系统软件和应用软件的要求 也与通用计算机有所不同。嵌入式软件的特点如下: 软件要求固化存储。 软件代码要求高质量、高可靠性。 2 四川大学硕士学位论文 系统软件的高实时性是基本要求。 多任务实时操作系统成为嵌入式应用软件的必须。 典型的嵌入式系统的硬件和软件的基本组成如图1 1 和图1 2 所示。 f 电源模块f 外围电路 l f l a s h i f 电源模块f4i 微处理器 i 时钟j r a ml li l 复位i l m p u f ii i r o m l i j if 之多 | | u s e li l e d il k e y b o a r d ll o t h e r i 图1 1 典型嵌入式系统基本组成一硬件 软件 结构 芑虻巫j 骂黧 圈 圉1 2 典型嵌入式系统基本组成软件 1 1 3 嵌入式系统的特点 由于嵌入式系统是应用于特定环境下,面对专业领域的应用系统,所以与 通用计算机系统的多样化和适用性不同。它与通用计算机系统相比具有以下特 点: 3 嚣 四川大学硕士学位论文 嵌入式系统通常是面向特定应用的,一般都有实时要求嵌入式c p u 与通 用型的最大不同就是嵌入式c p u 大多工作在为特定用户群设计的系统中,它 通常都具有低功耗、体积小、集成度高等特点,从而有利于嵌入式系统设计 趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同 步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争 在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选 择更具有竞争力。 嵌入式系统常常还有减小功效的要求。这一方面是为了省电,另一方面是要 减少发热量。 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器 芯片或单片机本身中,而不是存贮于磁盘等载体中 嵌入式系统提供的功能以及面对的应用和过程都是预知的、相对固定的,而 且许多嵌入式系统都有实时要求,需要有对外部事件迅速作出反应的能力。 嵌入式系统本身不具各自举开发能力,即使设计完成以后用户通常也是不能 对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。 1 2 研究目的 伴随着科技不断的日新月异推陈出新,信息技术不断发展,数字化产品迅 速普及,嵌入式系统得到了广泛深入的应用,如工业过程控制、远程监控,信 息家电,手持设备,无线设备产品等。嵌入式处理器内嵌实时操作系统( r t o s ) , 具有实时性、低成本、小型化、专用化和高可靠性,克服了传统的基于单片机 控制系统功能不足和基于p c 的系统非实时性的缺点。随着嵌入式系统软硬件技 术的飞速发展,其在行业的应用领域必将更为广阔,嵌入式系统的研究将会有 非常广阔的前景。 a r m 微处理器因其卓越的低功耗、高性能在3 2 位嵌入式应用中位居世界第 一,是高性能、低功耗嵌入式处理器的代名词。为了顺应当今世界技术革新的 潮流,了解、学习和掌握嵌入式技术,就必然要学习和掌握以a r 8 微处理器为 核心的嵌入式开发环境和开发流程。而现今风行世界的l i n u x 操作系统,本着 4 四川大学硕士学位论文 开放自由的精神,吸引了全世界的目光,越来越多的程序员加入到它的行列中 来。由于l i n u x 支持a r m 技术,把l i n u x 应用到嵌入式系统中,能充分发挥a r m 和l i n u x 的优势。所以利用l i n u x 作为底层操作系统,在其上进行改造是现在 日益流行的嵌入式操作系统的解决方案 1 3 研究意义 嵌入式系统的需求量很大,特别是在未来1 0 年嵌入式的需求量将达到巅 峰。嵌入式系统具有实时性、低成本、小型化、专用化和高可靠性的优势。要 想开发出高水平、高效能的嵌入式系统,就必须深入分析嵌入式系统,充分发 挥它的技术优势。因此,需要对嵌入式系统做深入的研究、分析和选择。 通过对嵌入式u c l i n u x 系统研究及其在基于a r m 9 处理器上的移植应用,能 够深入了解l i n u x 操作系统内核的底层结构、各个内核模块之间的关联、进程 调度的实现、内存分配及其系统调用和设备驱动程序的实现;同时,分析a r m 处理器的处理模式,异常处理及选型等,对a r m 体系构架和相关特征有深刻的 理解;通过结合实践在以a r m 9 为硬件平台的目标板上进行开发能够对嵌入式开 发技术有比较深刻的了解并能提高自己的实践能力和设计能力。学习和掌握以 a r m 微处理器为核心的嵌入式开发环境和开发流程,这对于今后研究和开发高性 能微处理器、d s p 以及开发基于s o c 芯片设计及应用系统是非常必要的。 论文基于a r m 9 的硬件平台,重点研究了嵌入式软件中若干关键应用程序的 开发与实现,相信对于嵌入式系统的应用与实践具有可以举一反三的学术性意 义和现实应用价值。 1 4 论文的主要工作及安排 随着信息技术以及数字化产品的普及,从工业设计到m p 3 ,p d a 等消费类电 子产品都使用着现代计算机的高新技术以及网络而嵌入式系统可以说是现代 信息技术中的主流技术,所以说嵌入式的学习,是掌握信息技术的核心,也是 走在时代的前沿。 嵌入式系统是一个涉及多门知识的研究领域,论文的主体内容是对整个嵌 入式系统应用程序的开发。结合实际的条件采用了基于a r m 9 的硬件平台,具有 5 四川大学硕士学位论文 高性能,多应用的特点,选用的操作系统是u c l i n u x 的无i i n u 的操作系统,其 源代码开放,内核可按需求定制,支持a r m 体系。源代码可免费下载和改写, 开发工具容易获得,开发环境容易搭建。 论文的主要研究成果有以下几点; 1 研究了对l i n u x 内核进行修改和裁减的一般性方法和原则,嵌入所需要 的功能支持模块,并将其移植到基予a r m 的硬件平台上 2 通过对通用接口g p i o 的操作完成系统状态的控制并利用系统调用实现了 软复位。完成相应驱动程序的编写,通过静态和动态两种方式在嵌入式l i n u x 中增加设备驱动程序,并通过应用程序测试和运行验证驱动程序。 3 使通用异步收发器u a r t 和r s 一2 3 2 配合完成串口通信,分析实旌了通信 波特率的设置。 4 完成m t d 驱动挂接,利用m t d 在只读的r o m f s 文件系统下保存登录参数。 5 研究了在u c l i n u x 下b o aw e bs e r v e r 的的加载,并给出了u c l i n u x 下实 现动态w e b 页面的方法。 根据具体的研究情况本文将从以下几个方面进行研究和应用: 第一章:介绍了嵌入式系统的背景,课题的研究目的和意义,作者所做的 工作及章节安排。 第二章:l i n u x 综述,对l i n u x 和u c l i n u x 的体系结构和内核进行分析。 第三章:对a r m 的体系构架和相关特征进行解读。 第四章:软硬件开发平台的介绍。 第五章:通过对通用接口g p i o 的操作完成系统复位信号的控制及相应驱动 程序的编写,通过静态和动态两种方式在嵌入式l i n u x 中增加设备驱动程序, 并通过应用程序测试和运行验证驱动程序。 第六章:通过对串口通信的编程及通信波特率的设置实现串行传输速率的 控制。 第七章:研究了利用m t d 在只读的r o m f s 文件系统下保存登录参数。 第八章:研究了在u c l i n u x 下b o aw e bs e r v e r 的的加载,并给出了u c l i n u x 下实现动态w e b 页面的方法。 第九章:对本文做了一个总结,分析了本课题的贡献及展望。 6 四川大学硕士学位论文 2 l i n u x 操作系统分析 2 1l i n u x 的特点 l i n u x 是u n i x 操作系统的克隆,可以免费使用,遵循g p l 声明,可以自由 修改和传播。与w i n d o w s 等商业操作系统不同,l i n u x 完全是一个自由的操作系 统。l i n u x 内核是由l i n u st o r v a l d 和通过i n t e r n e t 组织起来的开发小组完成 的,其目标是与p o s i x ( p o r t a b l eo p e r a t i n gs y s t e mi t e r f a c e ,可移植操作系 统界面) 兼容。l i n u x 包含了人们希望操作系统拥有的所有功能特性,这些功能 包括真正的多任务、虚拟内存。世界上最快的t c p i p 驱动程序、共享库和多用 户支持“1 。 l i n u x 是类u n i x 操作系统。按照层次结构的观点,在同一种硬件平台上, l i n u x 可以提供与u n i x 相同的服务,即相同的用户级和程序员接口。它不仅继 承了u n i x 的特征,而且在许多方面都超过了u n i x 。l i n u x 兼容p o s i x 0 0 3 1 标 准,具有下列特点: 支持多任务、多用户、多处理器。计算机可以同时执行多个程序,而且各个 程序的运行相互独立。系统资源也可以被不同用户各自拥有使用,即每个用 户对自己的资源( 例如文件、设备) 有特定的权限,互不影响。从2 0 版本 起。l i n u x 可以在多处理器体系结构上运行,即操作系统可以将任务分布在 多个处理器上。 跨平台支持。l i n u x 可以在几乎所有常见的硬件系统结构上运行,从p c 机 到a l p h a 工作站 按需调入执行。只有实际执行中需要的程序块才会被装入到内存中。 分页机制。在内存不够的情况下,l i n u x 能够将不常使用内存页面中的数据 置换到外存上,并将需要的数据页面由外存调入内存中。 动态外存缓存。l i n u x 在内存中保留一块空间作为外存操作的缓存,可以动 态调整缓存的大小 共享库支持。称做动态链接库,库文件只被读入内存一次,但可以被若干个 应用程序共享使用。 开放性。l i n u x 遵循世界标准规范,特别是遵循开放系统互联( o s i ) 国际 7 四川大学硕士学位论文 标准。这使得l i n u x 在界面上有很强的通用性。 设备独立性。l i n u x 把所有的外部设备统一当作文件来看待,只要安装它们 的驱动程序,任何用户都可以像使用文件一样操纵这些设备。 支持多种不同格式可执行文件 可靠系统安全。l i n u x 采取了许多安全技术措施,为网络多用户环境中的用 户提供必要的安全保障。 支持不同种类的文件系统。除了支持系统自带的e x t 2 e x t 3 文件系统,l i n u x 还支持m s d o s ,v f a t ,n t f s 以及网络文件系统n f s 等。 丰富的网络功能。完善的内置网络是l i n u x 的一大特点。支持i n t e r n e t 、 文件传输和远程访问。 2 2l i n u x 内核分析 2 2 1l i n u x 内核特征 l i n u x 操作系统的内核稳定而高效,以独占的方式执行最底层任务,保证其 他程序的正常运行。它是整个操作系统的核心,具有独特的性质。下面从操作 系统接口、功能及内核结构等几个方面来说明“1 1 接口特色 l i n u x 提供的标准界面包括程序级的和用户级的。在程序级,l i n u x 系统提 供标准的u n i x 函数库,一个在l i n u x 下开发的应用程序,可以几乎不经过任何 改动就可以在其他u n i x 系统下编译运行,完成同样的功能。在l i n u x 下,u n i x 下的基本命令功能和使用方式都完全相同。 l i n u x 系统对用户同时提供图形和文本用户界面,图形界面是xw i n d o w s 系统。在xw i n d o w s 系统基础上,自由软件开发者们为l i n u x 开发了不少种类 的桌面系统,如方便快捷的k d e ( kd e s k t o pe n v i r o n m e n t ) ,具有图形功能的 g o n m e ( g n u sn e t w o r ko b j e c tm o d e le n v i r o n m e n t ) 等。它们都遵循g p l ,都 处在高速发展阶段,功能会更加完善。 2 功能特色 l i n u x 最早运行在i n t e l8 0 3 8 6 系列p c 机上,现在它可以运行在a r m 、m i p s 和m o t o r 0 1 a 6 8 0 0 0 系列的计算机上同时,一些改进的嵌入式l i n u x 还可以运 8 四j i i 大学硕士学位论文 行于手机、家电设备上从l i n u x 2 0 开始,它不仅支持单处理器的机器,还能 支持对称多处理器( s m p ) 的机器,实现真正的多人无工作。 l i n u x 系统可以支持多种硬件设备。l i n u x 系统下的驱动程序开发与 w i n d o w s 系统相比简单的多。 l i n u x 自身使用的专用文件系统为e x t 2 ,可以提供方便有效的文件共享及 保护机制。同时,它可以通过虚拟文件系统的技术,支持包括微软公司操作系 统所使用的f a t l 6 、f a t 3 2 和n t f s 等文件系统在内的几十种现有的文件系统。 l i n u x 系统具有内置的t c p i p 协议栈,可以提供各种高效的网络功能,包 括基本的进程问通信、网络文件服务等。 3 结构特征 l i n u x 内核采屠模块结构,单内核模式,这使系统具有很高的运行效率,但 系统的可扩展性及可移植性受到一定的影响。为解决这个问题,l i n u x 采用了附 加模块技术。利用模块技术,可以方便地在内核中添加新的组件或卸载不需要 的内核组件,而且这种装载和卸载可以动态进行,即在系统运行过程中完成, 而不需要重新启动系统。 引入动态的模块技术,使系统内核具有良好的动态可裁减性。但是系统模 块的引入也带来了对系统性能、内存利用和系统稳定性地一些影响,可动态装 卸的模块需要系统增加额外的资源来记录、管理,而装入的内核模块与其他内 核部分一样,具有相同的访问权限,差的内核模块会导致系统不稳定甚至崩溃, 特别是一些恶意的内核模块可能对系统安全造成极大的威胁。 总之,l i n u x 内核基本采用模块式结构构造,同时加入动态的模块技术,在 追求系统整体效率的同时,实现了内核的动态可裁减性。虽然这样的结构,给系 统的移植带来一定的负面影响,但是l i n u x 系统不断地推出支持新硬件平台的 版本,具有良好的平台适应性。 2 2 2 进程管理 l 进程的组成与特性 在l i n u x 中,进程以进程号p i d 作为标志。任何对进程进行的操作要给予 相应的p i d 号。每个进程都属于一个用户,进程要配备所属的用户编号u i d 。此 外,每个进程都属于多个用户组,所以进程还要配备其归属的用户组编号g i d 9 四川大学硕士学位论文 的数组。 进程运行的环境为进程的上下文。l i n u x 中进程的上下文由进程控制快p c b 、 正文段、数据段以及用户堆栈组成。其中,正文段存放该进程的可执行代码, 数据段存放进程中静态产生的数据结构,而p c b 包括进程的编号、状态、优先 级以及正文段和数据段中数据分布的大概情况。进程表的链表结构将系统中所 有的p c b 块联系起来。 进程有3 个重要特性“1 : 独立性。进程是系统中独立存在的实体,它可以拥有自己独立的资源。在未 经过进程本身允许的情况下,其他进程不能访问这些资源这一点上与线程 有很大的不同。线程是共享资源的程序实体,创建一个线程所花费的系统开 销要比创建一个进程小得多 动态性。进程与程序的区别在于,程序只是一个静态的指令集合,而进程是 个正在系统中活动的指令集合。在进程中加入了时间概念,进程具有自己 的生命周期和各种不同的状态,这些概念在程序中都是不具备的。 并发性。若干个进程可以在单处理器状态上并发执行。并发性和多处理器并 行是两个不同的概念并行指在同一时刻内,有多条指令在多个处理器上同 时执行;而并发指在同一时刻内可能只有一条指令执行,但多个进程的指令 被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。 2 进程调度 进程是一个动态的实体,所以它是有生命的。从创建到消亡。是一个进程 的整个生命周期。在这个周期中,进程一般都会经历就绪态、阻塞态、运行态 这三种状态。调度程序则用来实现进程状态间的转换。 用户进程由f o r k ( ) 系统调用实现。获得处理器而正在运行的进程若申请不 到某个资源,则调用s l e e p ( ) 进行休眠。进程执行系统调用e x i t 0 或收到外部 的杀死信号s i g _ k i l l 时,进程状态变为z o m b i e ( 僵死状态) ,释放所申请的资源。 同时启动s c h e d u l e 0 把处理器分配给就绪队列中其他进程。 在多进程操作系统中,进程调度是一个全局性、关键性的问题,它对系统 总体设计、系统的实现、功能设置以及各个方面的性能都有决定性的影响。因 此,进程的调度必须考虑以下几个方面: 公正:保证每个进程得到合理的c p u 时间。 l o 四川大学硕士学位论文 高效:使c p u 保持忙碌的状态,即总是有进程在c p u 上运行。 响应时间:使交互用户的响应时间尽可能短。 周转时间:使批处理用户等待输出的时间尽可能短 吞吐量:使单位时间内处理的进程数量尽可能多 进程调度机制的设计,对系统的复杂性有极大的影响,常常会由于实现的 复杂程度而在功能与性能方面做出必要的权衡和让步 3 进程间的通信 用户态进程间处于并发状态。为了协调进程的运行,需要实现进程间通信 的机制。在l i n u x 中,进程问的通信有以下几种方法: 管道机制。该机制最适合用于解决生产者一消费者问题。管道是一种在进 程之间单向流动的数据结构。 先进先出( f i f o ) 机制。管道机制最大的缺点是不能由多个进程共享,除非 此管道为这些进程共同的祖先所创建。为了解决这个问题,l i n u x 中引入 了f i f o 机制( 又称为命名管道) f i f o 指一个文件,它可以被所有的进程 所共享。但是f i f o 与一般文件不同,它还使用了内核中的缓冲区,所以效 率上要比一般的共享文件快得多。 i p c 机制。i p c 是i n t e rp r o c e s sc o m m u n i c a t i o n 的缩写形式。它包含一系 列系统调用,允许用户态进程通过信号量进行同步。向其他进程发消息, 并且可以与其他进程共享一块内存空间。i p c 资源包括信号量、消息队列 和共享内存几种。 4 系统调用 系统调用是l i n u x 从用户态进入核心态的唯一途径。l i n u x 使用了中断的方 法来实现系统调用。在l i n u x 中,当进程需要进行系统调用时,必须以c 语言 函数的形式写一句系统调用命令 l i n u x 中,处于用户态的程序称作进程,而处于内核态的指令为任务( t a s k ) ( 如图2 i 所示) 。 四川大学硕士学位论文 进程 进程 进程 系统调用系统调用系统调用 用户空间 内核空间 任务 任务 任务 i 2 2 3 存储管理 图2 1 进程和任务之间的切换过程 存储管理是l i n u x 中负责管理内存的模块。存储管理的任务有以下几点: 屏蔽各种硬件的内存结构,并向上返回统一的访问界面。 解决多进程状态下内存不足的问题,按需调页。 阻止进程肆意访问其他进程的地址空间和内核地址空间。 为进程通信所需要的共享内存提供必要的基础。 虚拟内存是现代操作系统的重要特征。对于一个多进程操作系统来说,每 个进程都要占据自己唯一的内存地址空间。虚拟内存的基本原则是将内存中的 一部分近期不需要的内容移出到外存上,从而让出一块内存空间,以供其他需 要的进程使用。当要访问到那些已经被调出到外存上的数据时( 称为访问失效) , 存储管理需要将内存中一部分不常被访问的数据调出,让出一块空间以供需要 的数据调入内存u ,。 页面是存储管理中调入调出的基本单位。在存储管理中,将内存划分为长 度相等的页面。l i n u x 将用户进程4 g b 长度的虚拟内存划分称固定大小的页面。 其中,0 3 6 b 是用户态空间,由各进程独占;3 4 g b 是内核态空间,由所有进 程共享但只有内核态的进程才能访问。 当访问到某个虚存地址,发现该地址所对用的物理页面已经被换出内存时, 系统将会自动产生一个硬件中断,即缺页中断。在中断产生后,系统会调用相 四川大学硕士学位论文 应的中断处理程序,来将所需的页面从外存调入。这个过程叫做按需调页。 对虚拟内存页面来说,总是要将其改动过的内容写回到外存中,才能够将 其丢弃( 这实际上是一个换出过程) 。一个被更改过的内存页面,但还没有将其 内容写到外存中,就称之为“脏页面”在换入页面时,首先考虑的肯定是将这 些“干净的”页面直接丢弃,然后将外存数据写进来,因为这样不会破坏数据 的完整性。然而这是一个矛盾,内存的调用者希望尽可能少地进行外存地刷新, 由于它们的懒惰,使得内存中“脏”页面不断增加,而换入程序页尽可能多一 些“干净”页面,以便它们可以很方便地将数据调入。于是,收拾垃圾的工作 由一个称作“对换”( s w a p ) 的程序完成。 2 2 4 文件系统管理 l i n u x 系统支持多个不同的文件系统,如e x t ,e x t 2 ,m s d o s ,f a t ,p r o c , n f s ,s m b ,r o m f s 等。每一种文件系统都有自己的组织结构和文件操作函数,相 互之间差别很大。为了使得l i n u x 内核中的高子层系统能够以相同的方式处理 这些不同的文件系统,l i n u x 定义了一个抽象层,即虚拟文件系统v f s 。l i n u x 对上述文件系统的支持是通过虚拟文件系统v f s 的引入而实现的。 v f s 的所有数据结构都是在系统运行以后才建立,在系统卸载时删除。它并 不是一个真正的文件系统。v f s 只存在内存中,不存在任何外存空间。要使系统 工作必须具有像e x t 2 、r o m f s 这样的逻辑文件系统并且让v f s 和逻辑文件系统 之间建立逻辑连接。如图2 2 所示 四川大学硕士学位论文 图2 2w s 结构图 v f s 为各个逻辑文件系统与l i n u x 内核进行通信提供了一致的接口。用户 想开发自己的文件系统并使其能被l i n u x 内核支持,就必须按照这个接口标准 的要求来编写文件系统的操作函数,从而将自己的细节对其他子系统隐藏起来。 虚拟文件系统的接口由一组对象及其由这些对象调用的一组方法所构成 的。这些基本的对象是f i l e s ( 文件) 、f i l e s y s t e m s ( 文件系统) 、i n o d e s ( 索 引结点) 、n a m e sf o ri n o d e s ( 索引结点名字) 。 要真正使用一个逻辑文件系统,仅仅注册是不行的,还必须安装这个文件 系统。可以在文件e t c f s t a b 中指定自动安装的文件系统,和使用m o u n t 命令 一样,要为每种文件系统提供三种信息:文件系统的名称,包含该文件系统的 物理设备,以及该文件系统的安装点。如果不再使用一个逻辑文件系统,可以 用i l l l o u r l t 命令进行

温馨提示

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

评论

0/150

提交评论