成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面了解應(yīng)運(yùn)而起嵌入式Linux

運(yùn)維 系統(tǒng)運(yùn)維
你了解嵌入式Linux么?嵌入式發(fā)展越來(lái)越普及,隨著硬件的發(fā)展,嵌入式系統(tǒng)變得越來(lái)越復(fù)雜,很多行業(yè)都在應(yīng)用嵌入式,在這里為你介紹嵌入式Linux。完整的嵌入式Linux解決方案應(yīng)包括嵌入式Linux操作系統(tǒng)內(nèi)核、運(yùn)行環(huán)境、圖形化界面和應(yīng)用軟件等。

你了解嵌入式Linux么?嵌入式發(fā)展越來(lái)越普及,隨著硬件的發(fā)展,嵌入式系統(tǒng)變得越來(lái)越復(fù)雜,很多行業(yè)都在應(yīng)用嵌入式,在這里為你介紹嵌入式Linux。完整的嵌入式Linux解決方案應(yīng)包括嵌入式Linux操作系統(tǒng)內(nèi)核、運(yùn)行環(huán)境、圖形化界面和應(yīng)用軟件等。

由于嵌入式設(shè)備的特殊要求,嵌入式Linux解決方案中的內(nèi)核、環(huán)境、GUI等都與標(biāo)準(zhǔn)Linux有很大不同,其主要挑戰(zhàn)是如何在狹小的FLASH、ROM和內(nèi)存中實(shí)現(xiàn)高質(zhì)量的任務(wù)實(shí)時(shí)調(diào)度、圖形化顯示、網(wǎng)絡(luò)通信等功能。

1、 精簡(jiǎn)內(nèi)核

Linux內(nèi)核有自己的結(jié)構(gòu)體系,其中進(jìn)程管理、內(nèi)存管理和文件系統(tǒng)是其最基本的3個(gè)子系統(tǒng)。圖1簡(jiǎn)單表示了它的框架。用戶進(jìn)程可直接通過(guò)系統(tǒng)調(diào)用或者函數(shù)庫(kù)來(lái)訪問(wèn)內(nèi)核資源。正因?yàn)長(zhǎng)inux內(nèi)核具有這樣的結(jié)構(gòu),因此修改內(nèi)核時(shí)必須注意各個(gè)子系統(tǒng)之間的協(xié)調(diào)。

嵌入式Linux內(nèi)核一般由標(biāo)準(zhǔn)Linux內(nèi)核裁剪而來(lái)。用戶可根據(jù)需求配置系統(tǒng),剔除不需的服務(wù)功能、文件系統(tǒng)和設(shè)備驅(qū)動(dòng)。經(jīng)過(guò)裁剪、壓縮后的系統(tǒng)內(nèi)核一般只有300k左右,十分適合嵌入式設(shè)備。同標(biāo)準(zhǔn)Linux不同的是嵌入式Linux必須要實(shí)現(xiàn)從FLASH或ROM的啟動(dòng)。標(biāo)準(zhǔn)Linux啟動(dòng)代碼實(shí)現(xiàn)了系統(tǒng)初始化和從軟盤、硬盤O盤區(qū)引導(dǎo)內(nèi)核。嵌入式Linux一般保存在FLASH或ROM中,標(biāo)準(zhǔn)LILO無(wú)法引導(dǎo)。在支持直接從FLASH設(shè)備引導(dǎo)的系統(tǒng)中,如華恒公司的uClinux,引導(dǎo)程序主要完成對(duì)硬件系統(tǒng)的初始化工作和操作系統(tǒng)的解壓、移位工作。在不支持直接從FLASH引導(dǎo)的系統(tǒng)中,F(xiàn)LASH設(shè)備只能作為非引導(dǎo)磁盤使用。此時(shí),可采用先從硬盤或軟盤加載一個(gè)小操作系統(tǒng),如嵌入式DOS,然后再執(zhí)行"Loadlin"加載程序從FLASH引導(dǎo)嵌入式Linux。

對(duì)標(biāo)準(zhǔn)Linux的修改主要是虛擬內(nèi)存和調(diào)度程序部分的改動(dòng)。因?yàn)闃?biāo)準(zhǔn)Linux系統(tǒng)使用虛擬內(nèi)存管理的目的是為了能同時(shí)運(yùn)行多個(gè)進(jìn)程,但是這樣每個(gè)待運(yùn)行的進(jìn)程所能分配的CPU時(shí)間片就受限制,資源的使用效率就低。這樣對(duì)于實(shí)時(shí)性要求較高的嵌入式系統(tǒng)來(lái)說(shuō),實(shí)時(shí)任務(wù)往往要求CPU具有很高的突發(fā)處理能力,即在有些時(shí)候需要極高的處理效率,因此需要屏蔽內(nèi)核的虛擬內(nèi)存管理機(jī)制。對(duì)于無(wú)硬盤設(shè)備的嵌入式系統(tǒng),不必采用虛存管理。強(qiáng)實(shí)時(shí)需求的嵌入式應(yīng)用可以通過(guò)修改任務(wù)調(diào)度模塊實(shí)現(xiàn),主要是在內(nèi)核和設(shè)備驅(qū)動(dòng)程序中加入了許多切換點(diǎn)。在該點(diǎn)處,系統(tǒng)檢測(cè)是否存在未處理的緊急中斷,有則剝奪內(nèi)核的運(yùn)行,及時(shí)處理中斷。實(shí)現(xiàn)實(shí)時(shí)性服務(wù)的一個(gè)較好的方法是在標(biāo)準(zhǔn)的Linux內(nèi)核上增加一個(gè)實(shí)時(shí)內(nèi)核,標(biāo)準(zhǔn)Linux內(nèi)核作為一個(gè)任務(wù)運(yùn)行于實(shí)時(shí)內(nèi)核上,強(qiáng)實(shí)時(shí)性任務(wù)也直接運(yùn)行在實(shí)時(shí)內(nèi)核上,如RT-Linux等。

文件系統(tǒng)是嵌入式Linux操作系統(tǒng)必不可少的。但標(biāo)準(zhǔn)Linux支持大量的文件系統(tǒng),因此除了滿足系統(tǒng)的正常運(yùn)行需要而保留一種外,其它的全部可以刪除,利用原有的設(shè)置選項(xiàng)可以移除。一般嵌入式設(shè)備文件系統(tǒng)主要使用RamDisk技術(shù)和網(wǎng)絡(luò)文件系統(tǒng)技術(shù)。RamDisk可駐留于Flash,運(yùn)行時(shí)加載到內(nèi)存中。

2、 精簡(jiǎn)運(yùn)行環(huán)境

Linux通常的運(yùn)行環(huán)境指用戶運(yùn)行任何應(yīng)用的基礎(chǔ)設(shè)施,主要包括函數(shù)庫(kù)和基本命令集等。標(biāo)準(zhǔn)Linux系統(tǒng)同時(shí)向用戶提供了靜態(tài)和動(dòng)態(tài)函數(shù)庫(kù)。靜態(tài)函數(shù)庫(kù)在生成應(yīng)用時(shí)直接鏈接到用戶應(yīng)用中。動(dòng)態(tài)庫(kù)在應(yīng)用運(yùn)行時(shí)才鏈接。由于嵌入式系統(tǒng)應(yīng)用一般都是在開(kāi)發(fā)平臺(tái)上預(yù)先生成的,因此嵌入式系統(tǒng)只需向應(yīng)用提供動(dòng)態(tài)函數(shù)庫(kù)。Linux應(yīng)用運(yùn)行所需的函數(shù)庫(kù)主要有C庫(kù)、數(shù)學(xué)庫(kù)、線程庫(kù)、加密庫(kù)、網(wǎng)絡(luò)通信庫(kù)等。其中最基本的是C語(yǔ)言的運(yùn)行庫(kù)glib。這個(gè)庫(kù)主要完成基本的輸入輸出,內(nèi)存訪問(wèn),文件處理。一個(gè)標(biāo)準(zhǔn)的glib庫(kù)大約要1200kB存儲(chǔ)空間,考慮到嵌入式Linux內(nèi)核往往很小,這種運(yùn)行庫(kù)實(shí)在太大,我們做了一些精簡(jiǎn)的工作,方法有兩種:(1)、使用靜態(tài)連接的方法,完全不使用運(yùn)行庫(kù)動(dòng)態(tài)連接;(2)、對(duì)這個(gè)庫(kù)的函數(shù)進(jìn)行精簡(jiǎn)。

在一個(gè)桌面系統(tǒng)上,使用動(dòng)態(tài)連接可以帶來(lái)許多好處。使用動(dòng)態(tài)連接庫(kù),可以讓應(yīng)用程序跟函數(shù)庫(kù)的更新、升級(jí)分離,便于維護(hù),可以讓同時(shí)運(yùn)行的多個(gè)程序共享一段代碼。但是,在嵌入式系統(tǒng)中,很少有多個(gè)程序并行的可能,程序的維護(hù),尤其是庫(kù)函數(shù)的維護(hù)更新是不常見(jiàn)的。這時(shí),使用靜態(tài)連接的優(yōu)勢(shì)就極為明顯。因?yàn)殪o態(tài)連接可以只將庫(kù)中用到的部分連接進(jìn)程序。在應(yīng)用程序較少(小于5)的情況下,靜態(tài)連接可以達(dá)到較好的結(jié)果。為了便于將來(lái)擴(kuò)充的需要,我們也采用第二種方法,針對(duì)我們的需要,對(duì)庫(kù)函數(shù)的內(nèi)容進(jìn)行精簡(jiǎn),只保留一些基本功能,還有一種方法是采用其它的C語(yǔ)言運(yùn)行庫(kù)。但是這些庫(kù)對(duì)兼容性影響很大。

基本命令集同樣是運(yùn)行用戶應(yīng)用的基礎(chǔ),主要包括初始化進(jìn)程init,終端獲取getty、Shell和基本命令等。嵌入式系統(tǒng)的啟動(dòng)過(guò)程可能與標(biāo)準(zhǔn)Linux不同,例如跳過(guò)登錄過(guò)程直接啟動(dòng)GUI等。這就要求修改init,getty等。標(biāo)準(zhǔn)Linux命令集同樣由于體積問(wèn)題無(wú)法直接應(yīng)用于嵌入式環(huán)境。目前,小命令集的解決方法主要有集成方法和匯編方法兩種。集成方法采用集成公共部分減少命令集整體體積,用C實(shí)現(xiàn),有較好的平臺(tái)移植性;匯編方法則采用匯編編程減少每個(gè)命令的體積.這樣可使體積很小但其平臺(tái)移植性較差。

3、 嵌入式Linux下的GUI

GUI在嵌入式系統(tǒng)或者實(shí)時(shí)系統(tǒng)中的地位越來(lái)越重要,比如PDA、DVD播放機(jī)、WAP手機(jī)等,都需要一個(gè)完整.漂亮的圖形用戶界面。這些系統(tǒng)對(duì)GUI的基本要求包括:(1)、輕型、占用資源少;(2)、高性能;(3)、高可靠性;(4)、可配置。這些也成為評(píng)價(jià)嵌入式系統(tǒng)的重要指標(biāo)。目前,嵌入式Linux上的GUI主要有winCE、Micro Window、緊縮的X Window、MiniGUI(國(guó)內(nèi)做得較好的自由軟件之一)。標(biāo)準(zhǔn)Linux的Xfree86由于體積龐大,運(yùn)行環(huán)境要求高,無(wú)法運(yùn)行于嵌入式環(huán)境。嵌入式GUI主要通過(guò)削減功能,降低性能來(lái)實(shí)現(xiàn)體積小和占用資源少。目前嵌入式Linux上的GUI環(huán)境主要有兩類:X類和win32類。X類GUI分為服務(wù)方和客戶方兩方。服務(wù)器方提供鼠標(biāo)、鍵盤處理和顯示功能,客戶方是用戶應(yīng)用,服務(wù)方和客戶方通過(guò)socket接口和X協(xié)議通信。采用該方式十分有利于遠(yuǎn)程網(wǎng)絡(luò)圖形化服務(wù),客戶方和服務(wù)方可通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)X協(xié)議和圖形顯示。典型的X類GUI有Micro Window、緊縮的X Window等。win32類的GUI不存在客戶方和服務(wù)方,每個(gè)任務(wù)都自成一體,任何任務(wù)間的切換、事件分發(fā)由專門的管理任務(wù)負(fù)責(zé)。如wiCE、MiniGUI就是類似于win32類的GUI。

【編輯推薦】

  1. 全面解析Linux集群技術(shù)的要點(diǎn)
  2. LifeKeeper又一款Linux服務(wù)器集群軟件
  3. 講解Linux服務(wù)器集群技術(shù)
  4. 詳解保護(hù)Linux服務(wù)器七步驟
  5. 全面介紹Linux配置ntop
責(zé)任編輯:小霞 來(lái)源: 博客園
相關(guān)推薦

2009-12-09 10:12:28

嵌入式Linux

2011-01-14 13:13:23

嵌入式Linux開(kāi)發(fā)

2009-12-16 15:41:40

嵌入式Linux入門

2009-12-17 10:33:05

嵌入式Linux

2009-12-23 16:52:26

Linux自學(xué)嵌入式

2009-12-09 10:50:53

嵌入式Linux

2010-09-25 15:05:49

LINUXJVM

2021-12-19 22:34:45

Linux容器系統(tǒng)

2022-01-04 22:19:38

Linux開(kāi)發(fā)嵌入式

2022-01-03 23:33:40

Linux組件系統(tǒng)

2009-12-24 17:21:38

嵌入式Linux

2020-07-03 07:00:00

Linux組件

2009-02-17 15:07:47

嵌入式Linux啟動(dòng)信息注釋

2011-06-13 14:00:55

Qt Designer linux

2011-07-05 15:59:18

Qt 嵌入式 linux

2011-08-05 09:11:56

2009-12-24 17:27:52

嵌入式Linux

2011-01-06 15:11:09

嵌入式linux

2009-12-09 10:21:04

Linux嵌入式

2011-04-25 10:25:43

OpenEmbedde嵌入式Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99热首页 | 久久99精品国产自在现线小黄鸭 | 日本久久一区 | www.亚洲一区二区 | 国产一区二区视频在线观看 | 国产在线精品一区二区 | 欧美综合一区二区三区 | 超碰97av | 操操操av | 国产精品久久久久久妇女6080 | 国产精品欧美一区二区三区 | 国产精品久久久久aaaa九色 | 91欧美激情一区二区三区成人 | 久久r精品 | 欧洲精品码一区二区三区免费看 | 亚洲免费片 | www.亚洲国产精品 | 亚洲午夜网 | 超碰在线免费公开 | 99久久婷婷国产综合精品电影 | 97精品国产97久久久久久免费 | 久久爱黑人激情av摘花 | 99久久久无码国产精品 | 五月天激情综合网 | 国产91精品久久久久久久网曝门 | 一级免费看片 | 国产日韩一区二区 | 久久精品网 | 涩涩操| 久久伊人精品 | 一本色道精品久久一区二区三区 | 丁香五月网久久综合 | 欧美极品视频 | 九一在线 | 在线一区观看 | 在线观看成人 | 桃花av在线 | 欧美男人的天堂 | 五月天国产 | 日韩精品不卡 | 亚洲国产aⅴ精品一区二区 免费观看av |