![嵌入式系統(tǒng)學(xué)習(xí)課件2_第1頁(yè)](http://file4.renrendoc.com/view/c73f4ddaa977f9dc02cb9d2acaadb2f2/c73f4ddaa977f9dc02cb9d2acaadb2f21.gif)
![嵌入式系統(tǒng)學(xué)習(xí)課件2_第2頁(yè)](http://file4.renrendoc.com/view/c73f4ddaa977f9dc02cb9d2acaadb2f2/c73f4ddaa977f9dc02cb9d2acaadb2f22.gif)
![嵌入式系統(tǒng)學(xué)習(xí)課件2_第3頁(yè)](http://file4.renrendoc.com/view/c73f4ddaa977f9dc02cb9d2acaadb2f2/c73f4ddaa977f9dc02cb9d2acaadb2f23.gif)
![嵌入式系統(tǒng)學(xué)習(xí)課件2_第4頁(yè)](http://file4.renrendoc.com/view/c73f4ddaa977f9dc02cb9d2acaadb2f2/c73f4ddaa977f9dc02cb9d2acaadb2f24.gif)
![嵌入式系統(tǒng)學(xué)習(xí)課件2_第5頁(yè)](http://file4.renrendoc.com/view/c73f4ddaa977f9dc02cb9d2acaadb2f2/c73f4ddaa977f9dc02cb9d2acaadb2f25.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本節(jié)提要1324嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式操作系統(tǒng)嵌入式系統(tǒng)設(shè)計(jì)方法第一頁(yè)第二頁(yè),共74頁(yè)。2.1.1嵌入式系統(tǒng)硬件基本概念典型嵌入式系統(tǒng)基本組成-硬件嵌入式系統(tǒng)的硬件是以嵌入式微處理器為核心,主要由嵌入式微處理器、總線、存儲(chǔ)器、輸入/輸出接口等設(shè)備組成。第二頁(yè)第三頁(yè),共74頁(yè)??偩€總線的概念所謂總線(Bus),一般指通過(guò)分時(shí)復(fù)用的方式,將信息以一個(gè)或多個(gè)源部件傳送到一個(gè)或多個(gè)目的部件的一組傳輸線。是電腦中傳輸數(shù)據(jù)的公共通道。第三頁(yè)第四頁(yè),共74頁(yè)。CPU低速設(shè)備橋數(shù)據(jù)高速總線存儲(chǔ)器高速設(shè)備高速設(shè)備低速總線總線第四頁(yè)第五頁(yè),共74頁(yè)。總線嵌入式系統(tǒng)的總線一般集成在嵌入式微處理器中。從微處理器的角度來(lái)看,總線可分為片外總線(如:PCI、ISA等)和片內(nèi)總線(如:AMBA、AVALON、OCP、WISHBONE等)。選擇總線和選擇嵌入式微處理器密切相關(guān),總線的種類隨不同的微處理器的結(jié)構(gòu)而不同。第五頁(yè)第六頁(yè),共74頁(yè)。嵌入式微處理器每個(gè)嵌入式系統(tǒng)至少包含一個(gè)嵌入式微處理器嵌入式微處理器體系結(jié)構(gòu)可采用馮?諾依曼(VonNeumann)結(jié)構(gòu)或哈佛(Harvard)地址數(shù)據(jù)主存儲(chǔ)器MOVr8,#8CPUPC指令程序存儲(chǔ)器CPUPC地址數(shù)據(jù)存儲(chǔ)器MOVr8,#8地址數(shù)據(jù)馮?諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)第六頁(yè)第七頁(yè),共74頁(yè)。傳統(tǒng)的微處理器采用的馮·諾依曼結(jié)構(gòu)將指令和數(shù)據(jù)存放在同一存儲(chǔ)空間中,統(tǒng)一編址,指令和數(shù)據(jù)通過(guò)同一總線訪問(wèn)。哈佛結(jié)構(gòu)則是不同于馮·諾依曼結(jié)構(gòu)的一種并行體系結(jié)構(gòu),其主要特點(diǎn)是程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編制、獨(dú)立訪問(wèn)。與之相對(duì)應(yīng)的是系統(tǒng)中設(shè)置的兩條總線(程序總線和數(shù)據(jù)總線),從而使數(shù)據(jù)的吞吐率提高了一倍。第七頁(yè)第八頁(yè),共74頁(yè)。微處理器的指令系統(tǒng):CISC和RISCCISC:復(fù)雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡(jiǎn)指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單
第八頁(yè)第九頁(yè),共74頁(yè)。CISC的主要缺點(diǎn)指令使用頻度不均衡。高頻度使用的指令占據(jù)了絕大部分的執(zhí)行時(shí)間,擴(kuò)充的復(fù)雜指令往往是低頻度指令。大量復(fù)雜指令的控制邏輯不規(guī)整,不適于VLSI工藝VLSI的出現(xiàn),使單芯片處理機(jī)希望采用規(guī)整的硬聯(lián)邏輯實(shí)現(xiàn),而不希望用微程序,因?yàn)槲⒊绦虻氖褂梅炊萍s了速度提高。(微碼的存控速度比CPU慢5-10倍)。軟硬功能分配復(fù)雜指令增加硬件的復(fù)雜度,使指令執(zhí)行周期大大加長(zhǎng),直接訪存次數(shù)增多,降低了CPU性能。不利于先進(jìn)指令級(jí)并行技術(shù)的采用流水線技術(shù)第九頁(yè)第十頁(yè),共74頁(yè)。RISC基本設(shè)計(jì)思想減小CPI(ClockcyclesPerInstruction):CPUtime=Instr_Count*CPI*Clock_cycle精簡(jiǎn)指令集:保留最基本的,去掉復(fù)雜、使用頻度不高的指令采用Load/Store結(jié)構(gòu),有助于減少指令格式,統(tǒng)一存儲(chǔ)器訪問(wèn)方式采用硬接線控制代替微程序控制第十頁(yè)第十一頁(yè),共74頁(yè)。CISC與RISC的對(duì)比類別CISCRISC指令系統(tǒng)指令數(shù)量很多較少,通常少于100執(zhí)行時(shí)間有些指令執(zhí)行時(shí)間很長(zhǎng),如整塊的存儲(chǔ)器內(nèi)容拷貝;或?qū)⒍鄠€(gè)寄存器的內(nèi)容拷貝到存貯器沒(méi)有較長(zhǎng)執(zhí)行時(shí)間的指令編碼長(zhǎng)度編碼長(zhǎng)度可變,1-15字節(jié)編碼長(zhǎng)度固定,通常為4個(gè)字節(jié)尋址方式尋址方式多樣簡(jiǎn)單尋址操作可以對(duì)存儲(chǔ)器和寄存器進(jìn)行算術(shù)和邏輯操作只能對(duì)寄存器對(duì)行算術(shù)和邏輯操作,Load/Store體系結(jié)構(gòu)編譯難以用優(yōu)化編譯器生成高效的目標(biāo)代碼程序采用優(yōu)化編譯技術(shù),生成高效的目標(biāo)代碼程序第十一頁(yè)第十二頁(yè),共74頁(yè)。知識(shí)產(chǎn)權(quán)核(IP核,intellectualproperty)IP核是指具有知識(shí)產(chǎn)權(quán)的、功能具體、接口規(guī)范、可在多個(gè)集成電路設(shè)計(jì)中重復(fù)使用的功能模塊,是實(shí)現(xiàn)系統(tǒng)芯片(SOC)的基本構(gòu)件。IP復(fù)用意味著設(shè)計(jì)代價(jià)降低(時(shí)間,價(jià)格)IP核的類別:微處理器微處理器:ARM,PowerPC;存儲(chǔ)器存儲(chǔ)器:RAM,memorycontroller;外設(shè):PCI,DMAcontroller;多媒體處理:MPEG/JPEG;encoder/decoder;數(shù)字信號(hào)處理器(DSP)通信:Ethernetcontroller,router,第十二頁(yè)第十三頁(yè),共74頁(yè)。IP核的種類SoftCores(“code”)(軟核)HDL語(yǔ)言描述靈活度高,可修改與工藝獨(dú)立,可根據(jù)具體的加工工藝重新綜合;IP很難保護(hù)Firmcores(“code+structure”)(固核)邏輯綜合后的描述與工藝相關(guān)Hardcores(“physical”)(硬核)物理綜合后的描述準(zhǔn)備流片包含工藝相關(guān)的布局和時(shí)序信息IP很容易保護(hù)多數(shù)的處理器和存儲(chǔ)器第十三頁(yè)第十四頁(yè),共74頁(yè)。存儲(chǔ)器嵌入式系統(tǒng)的存儲(chǔ)器包括主存和外存。大多數(shù)嵌入式系統(tǒng)的代碼和數(shù)據(jù)都存儲(chǔ)在處理器可直接訪問(wèn)的存儲(chǔ)空間即主存中。系統(tǒng)上電后在主存中的代碼直接運(yùn)行。主存儲(chǔ)器的特點(diǎn)是速度快,一般采用ROM、EPROM、NorFlash、SRAM、DRAM等存儲(chǔ)器件。第十四頁(yè)第十五頁(yè),共74頁(yè)。存儲(chǔ)器系統(tǒng)RAM:隨機(jī)存取存儲(chǔ)器,SRAM:靜態(tài)隨機(jī)存儲(chǔ)器,DRAM:動(dòng)態(tài)隨機(jī)存儲(chǔ)器1)SRAM比DRAM快2)SRAM比DRAM耗電多3)DRAM存儲(chǔ)密度比SRAM高得多4)DRM需要周期性刷新ROM:只讀存儲(chǔ)器FLASH:閃存第十五頁(yè)第十六頁(yè),共74頁(yè)。存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)寄存器高速緩存SRAM主存儲(chǔ)器DRAM本地存儲(chǔ)器Flash、ROM、磁盤網(wǎng)絡(luò)存儲(chǔ)器Flash、ROM、磁盤時(shí)鐘周期01—1050—100第十六頁(yè)第十七頁(yè),共74頁(yè)。目前有些嵌入式系統(tǒng)除了主存外,還有外存。外存是處理器不能直接訪問(wèn)的存儲(chǔ)器,用來(lái)存放各種信息,相對(duì)主存而言具有價(jià)格低、容量大的特點(diǎn)。在嵌入式系統(tǒng)中一般不采用硬盤而采用電子盤做外存,電子盤的主要種類有DOC(DiskOnChip)、NandFlash、CompactFlash、SmartMedia、MemoryStick、MultiMediaCard、SD(SecureDigital)卡等。第十七頁(yè)第十八頁(yè),共74頁(yè)。輸入/輸出接口和設(shè)備嵌入式系統(tǒng)的大多數(shù)輸入/輸出接口和部分設(shè)備已經(jīng)集成在嵌入式微處理器中。輸入/輸出接口主要有中斷控制器、DMA、串行和并行接口等,設(shè)備主要有定時(shí)器(Timers)、計(jì)數(shù)器(counters)、看門狗(watchdogtimers)、RTC、UARTs、PWM(Pulsewidthmodulator)、AD/DA、顯示器、鍵盤和網(wǎng)絡(luò)等。第十八頁(yè)第十九頁(yè),共74頁(yè)。本節(jié)提要1324嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式操作系統(tǒng)嵌入式系統(tǒng)設(shè)計(jì)方法第十九頁(yè)第二十頁(yè),共74頁(yè)。嵌入式軟件體系結(jié)構(gòu)無(wú)操作系統(tǒng)的情形在嵌入式系統(tǒng)的發(fā)展初期,由于硬件的配置比較低,對(duì)于是否有系統(tǒng)軟件的支持,要求還不是很強(qiáng)烈。在那個(gè)階段,嵌入式軟件的設(shè)計(jì)主要是以應(yīng)用為核心,應(yīng)用軟件直接建立在硬件上,沒(méi)有專門的操作系統(tǒng)。有操作系統(tǒng)的情形第二十頁(yè)第二十一頁(yè),共74頁(yè)。為什么要有設(shè)備驅(qū)動(dòng)程序?嵌入式硬件設(shè)備本身無(wú)法工作,需要軟件來(lái)驅(qū)動(dòng),如初始化、控制、數(shù)據(jù)讀寫等。什么是設(shè)備驅(qū)動(dòng)程序?直接與硬件打交道、對(duì)硬件進(jìn)行控制和管理的軟件。在一個(gè)嵌入式系統(tǒng)中,設(shè)備驅(qū)動(dòng)程序是必不可少的。設(shè)備驅(qū)動(dòng)程序第二十一頁(yè)第二十二頁(yè),共74頁(yè)。設(shè)備驅(qū)動(dòng)程序的主要功能硬件啟動(dòng)(Startup):在開(kāi)機(jī)上電或重啟的時(shí)候,對(duì)硬件進(jìn)行初始化;硬件關(guān)閉(Shutdown):把硬件配置成關(guān)機(jī)狀態(tài);硬件停用(Disable):暫停使用硬件;硬件啟用(Enable):重新啟用硬件;硬件讀操作(Read):從硬件中讀取數(shù)據(jù);硬件寫操作(Write):往硬件中寫數(shù)據(jù);……第二十二頁(yè)第二十三頁(yè),共74頁(yè)。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)包括嵌入式內(nèi)核、嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式GUI系統(tǒng)和電源管理等部分;嵌入式內(nèi)核是基礎(chǔ)和核心,其他部分要根據(jù)嵌入式系統(tǒng)的需要來(lái)確定。第二十三頁(yè)第二十四頁(yè),共74頁(yè)。嵌入式中間件中間件(Middleware):在OS內(nèi)核、設(shè)備驅(qū)動(dòng)程序和應(yīng)用軟件之外的所有系統(tǒng)軟件;中間件的基本思路:把原本屬于應(yīng)用軟件層的一些通用的功能模塊抽取出來(lái),形成獨(dú)立的一層軟件,從而為運(yùn)行在其上的各個(gè)應(yīng)用軟件提供一個(gè)靈活、安全、移植性好、相互通信、協(xié)同工作的平臺(tái);優(yōu)點(diǎn):實(shí)現(xiàn)軟件的可重用,降低應(yīng)用軟件的復(fù)雜性,降低開(kāi)發(fā)成本。第二十四頁(yè)第二十五頁(yè),共74頁(yè)。嵌入式軟件的目標(biāo)函數(shù)必須正確;源代碼簡(jiǎn)潔、可讀性好、可維護(hù);實(shí)時(shí)性要求較高的代碼能夠運(yùn)行得足夠快;目標(biāo)代碼小且高效。總之,要優(yōu)化對(duì)以下三種資源的使用:執(zhí)行時(shí)間;存儲(chǔ)空間;開(kāi)發(fā)/維護(hù)時(shí)間。第二十五頁(yè)第二十六頁(yè),共74頁(yè)。數(shù)據(jù)類型與運(yùn)算符宏定義:用一個(gè)指定的標(biāo)識(shí)符來(lái)代表一個(gè)字符串。#define標(biāo)識(shí)符字符串如:#definePI3.1415926,其作用是指定用標(biāo)識(shí)符PI來(lái)代替“3.1415926”這個(gè)字符串,在編譯預(yù)處理時(shí),將程序中出現(xiàn)的所有PI都用“3.1415926”代替。(1)宏定義第二十六頁(yè)第二十七頁(yè),共74頁(yè)。宏定義的基本思想是:一次定義,多次使用。其優(yōu)點(diǎn)是:可以用簡(jiǎn)短的標(biāo)識(shí)符來(lái)代替長(zhǎng)的數(shù)據(jù),減少需要輸入的字符數(shù);用易于理解的標(biāo)識(shí)符來(lái)代替那些不太好記的具體的數(shù)據(jù),便于程序的理解和維護(hù);有利于程序的修改和升級(jí),當(dāng)這個(gè)數(shù)據(jù)需要修改時(shí),只需改動(dòng)宏定義之處即可。第二十七頁(yè)第二十八頁(yè),共74頁(yè)。if(myMoney>80.0){myShoes++;myMoney=myMoney–80.0;}#defineCOST_OF_SHOES80.0if(myMoney>COST_OF_SHOES){myShoes++;
myMoney=myMoney–COST_OF_SHOES;}不用此法一次定義多次使用第二十八頁(yè)第二十九頁(yè),共74頁(yè)。(2)const常量常量數(shù)據(jù):整數(shù)(12)、字符(‘a(chǎn)’)、
字符串(“hello”)和實(shí)數(shù)(3.14)等;以變量的形式來(lái)定義的一個(gè)量,并且通
過(guò)使用關(guān)鍵字const,來(lái)表明這個(gè)變量的
值不能被改變。如:constintx=1。第二十九頁(yè)第三十頁(yè),共74頁(yè)。(3)算術(shù)運(yùn)算整數(shù)的算術(shù)運(yùn)算 最快
帶有硬件支持的浮點(diǎn)運(yùn)算 較慢
用軟件來(lái)實(shí)現(xiàn)的浮點(diǎn)運(yùn)算 非常慢 +,- 快
×
÷
sin,log,sqrt,etc 慢第三十頁(yè)第三十一頁(yè),共74頁(yè)。結(jié)論:盡量使用整數(shù)(char、short、int和long)的加法和減法;如果沒(méi)有硬件支持,盡量避免使用乘法;盡量避免使用除法;如果沒(méi)有硬件支持,盡量避免使用浮點(diǎn)數(shù);數(shù)學(xué)庫(kù)函數(shù)使用得越少越好。第三十一頁(yè)第三十二頁(yè),共74頁(yè)。(4)位運(yùn)算C語(yǔ)言有很多位操作運(yùn)算符:& 與操作;| 或操作;^ 異或操作;~ 取反操作;>> 右移操作;<< 左移操作。第三十二頁(yè)第三十三頁(yè),共74頁(yè)。a|=0x4
b&=~0x4
c&=~(1<<3)
d^=(1<<5)
e>>=2
//把第2位設(shè)置為1//把第2位設(shè)置為0//把第3位設(shè)置為0//把第5位反轉(zhuǎn)//把e除以4第三十三頁(yè)第三十四頁(yè),共74頁(yè)。intx,num=99,count=0;x=num;while(x){count++;x=x&(x?1);}printf("result:%d",count);result:4第三十四頁(yè)第三十五頁(yè),共74頁(yè)。分支語(yǔ)句if(a==1)ant();elseif(a==2)bar();elseif(a==3)cee();elseif(a==4)due();elseif(a==5)eat();elseif(a==6)foo();switch(a){case1:ant();break;case2:bar();break;case3:cee();break;case4:due();break;case5:eat();break;case6:foo();break;}AnyDifferences?第三十五頁(yè)第三十六頁(yè),共74頁(yè)。函數(shù)函數(shù)原型main()
{
……
函數(shù)調(diào)用
……
}函數(shù)定義函數(shù)的使用模式聲明該函數(shù)定義一個(gè)函數(shù)使用該函數(shù)第三十六頁(yè)第三十七頁(yè),共74頁(yè)。操作系統(tǒng)代碼棧幀2棧幀1全局變量?jī)?nèi)存分布狀況全局變量區(qū)域靜態(tài)分配棧自動(dòng)分配堆動(dòng)態(tài)分配第三十七頁(yè)第三十八頁(yè),共74頁(yè)。主函數(shù)的執(zhí)行過(guò)程intz;voidmain(){intx,y;x=1;y=2;z=x+y;}…main(){…}…
z=0全局變量區(qū)域棧幀(main)x=y=程序123第三十八頁(yè)第三十九頁(yè),共74頁(yè)。一個(gè)簡(jiǎn)單的例子intTimes2(intvalue);
main()
{
intnumber;
printf(“請(qǐng)輸入一個(gè)整數(shù):”);
scanf(“%d”,&number);
printf(“該數(shù)的兩倍是:%d”,Times2(number));
}intTimes2(intvalue)
{
return(2*value);
}mainnumber3第三十九頁(yè)第四十頁(yè),共74頁(yè)。當(dāng)一個(gè)函數(shù)被調(diào)用時(shí):在內(nèi)存的棧空間當(dāng)中為其分配一個(gè)棧幀,用來(lái)存放該函數(shù)的形參和局部變量;把實(shí)參變量的值復(fù)制到相應(yīng)的形參變量;控制轉(zhuǎn)移到該函數(shù)的起始位置;該函數(shù)開(kāi)始執(zhí)行;控制流和返回值返回到函數(shù)調(diào)用點(diǎn)。函數(shù)調(diào)用過(guò)程第四十頁(yè)第四十一頁(yè),共74頁(yè)。本節(jié)提要1324嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式操作系統(tǒng)嵌入式系統(tǒng)設(shè)計(jì)方法第四十一頁(yè)第四十二頁(yè),共74頁(yè)。嵌入式操作系統(tǒng)概述AnEmbeddedOperatingSystem(EOS)
isanOperatingSystem(OS)inanEmbeddedSystemenvironment.第四十二頁(yè)第四十三頁(yè),共74頁(yè)。BeinganOSmeans…系統(tǒng)軟硬件資源的管理者:進(jìn)程管理存儲(chǔ)管理I/O設(shè)備管理文件管理第四十三頁(yè)第四十四頁(yè),共74頁(yè)。BeinganEOSmeans…完成某一項(xiàng)或有限項(xiàng)功能,非通用型;在性能和實(shí)時(shí)性方面可能有嚴(yán)格限制;能源、成本和可靠性通常是影響設(shè)計(jì)的重要因素;占有資源少,適合在有限存儲(chǔ)空間運(yùn)行;系統(tǒng)功能可針對(duì)需求進(jìn)行裁剪、調(diào)整,以便滿足最終產(chǎn)品的設(shè)計(jì)要求。第四十四頁(yè)第四十五頁(yè),共74頁(yè)。按響應(yīng)時(shí)間分類…嵌入式實(shí)時(shí)操作系統(tǒng)當(dāng)事件/請(qǐng)求發(fā)生時(shí),相應(yīng)的任務(wù)應(yīng)該在規(guī)定的時(shí)間內(nèi)完成;分時(shí)操作系統(tǒng)基于公平性原則,各個(gè)進(jìn)程分享處理器,獲得大致相同的運(yùn)行時(shí)間。當(dāng)一個(gè)進(jìn)程在進(jìn)行I/O操作時(shí),交出處理器,讓其他進(jìn)程運(yùn)行。第四十五頁(yè)第四十六頁(yè),共74頁(yè)。實(shí)時(shí)操作系統(tǒng)(RTOS)
Areal-timeoperatingsystem(RTOS)isanoperatingsystem
whosecorrectnessincludesitsresponsetimeaswellasitsfunctionalcorrectness.hardrealtimeandsoftrealtime第四十六頁(yè)第四十七頁(yè),共74頁(yè)。按軟件結(jié)構(gòu)分類…單體結(jié)構(gòu)(MonolithicStructure)分層結(jié)構(gòu)(LayeredStructure)Outofdate…微內(nèi)核結(jié)構(gòu)(MicrokernelModel)第四十七頁(yè)第四十八頁(yè),共74頁(yè)。單體結(jié)構(gòu)最常用的組織結(jié)構(gòu);整個(gè)系統(tǒng)只有一個(gè)可執(zhí)行文件,包含所有的操作系統(tǒng)組件;系統(tǒng)的結(jié)構(gòu)就是無(wú)結(jié)構(gòu),由一組函數(shù)組成,相互之間可以隨意地調(diào)用。應(yīng)用軟件文件I/O存儲(chǔ)管理進(jìn)程管理I/O驅(qū)動(dòng)存儲(chǔ)驅(qū)動(dòng)中斷驅(qū)動(dòng)硬件單體內(nèi)核第四十八頁(yè)第四十九頁(yè),共74頁(yè)。分層結(jié)構(gòu)在分層結(jié)構(gòu)(layered)中,一個(gè)操作系統(tǒng)被劃分為若干個(gè)層次(0..N),各個(gè)層次之間的調(diào)用關(guān)系是單向的,即某一層次上的代碼只能調(diào)用比它低層的代碼。這種結(jié)構(gòu)要求在每個(gè)層次上都要提供一組API接口函數(shù),這就會(huì)帶來(lái)額外的開(kāi)銷第四十九頁(yè)第五十頁(yè),共74頁(yè)。微內(nèi)核設(shè)備驅(qū)動(dòng)程序微內(nèi)核結(jié)構(gòu)操作系統(tǒng)內(nèi)核只包含最少的功能,如存儲(chǔ)管理和進(jìn)程管理;其他的操作系統(tǒng)組件以中間件的形式存在于內(nèi)核之外;設(shè)備驅(qū)動(dòng)程序完全從內(nèi)核中剝離,獨(dú)立成為一層。中間件、應(yīng)用軟件存儲(chǔ)管理進(jìn)程管理I/O驅(qū)動(dòng)存儲(chǔ)驅(qū)動(dòng)中斷驅(qū)動(dòng)硬件第五十頁(yè)第五十一頁(yè),共74頁(yè)。VxWorksEmbeddedLinuxuC/OS-II(重點(diǎn))WinCEPalmOS…常見(jiàn)的嵌入式操作系統(tǒng)第五十一頁(yè)第五十二頁(yè),共74頁(yè)。多道程序技術(shù)為了提高計(jì)算機(jī)系統(tǒng)中各種資源的利用率,現(xiàn)代操作系統(tǒng)廣泛采用多道程序技術(shù)(multi-programming),使多個(gè)程序同時(shí)在系統(tǒng)中存在并運(yùn)行。第五十二頁(yè)第五十三頁(yè),共74頁(yè)。CPUI/O單道程序:多道程序:CPUI/O作業(yè)甲(紅黃)作業(yè)乙(藍(lán)綠)第五十三頁(yè)第五十四頁(yè),共74頁(yè)。第五十四頁(yè)第五十五頁(yè),共74頁(yè)。進(jìn)程、線程和任務(wù)在多道程序系統(tǒng)中,各個(gè)程序之間是并發(fā)執(zhí)行的,共享系統(tǒng)資源。CPU需要在各個(gè)運(yùn)行的程序之間來(lái)回地切換,這樣的話,要想描述這些多道的并發(fā)活動(dòng)過(guò)程就變得很困難。為此,操作系統(tǒng)設(shè)計(jì)者提出了進(jìn)程的概念。第五十五頁(yè)第五十六頁(yè),共74頁(yè)。什么是進(jìn)程?Aprocess=aprograminexecution一個(gè)進(jìn)程應(yīng)該包括:程序的代碼;程序的數(shù)據(jù);PC中的值,用來(lái)指示下一條將運(yùn)行的指令;一組通用的寄存器的當(dāng)前值,堆、棧;一組系統(tǒng)資源(如打開(kāi)的文件)總之,進(jìn)程包含了正在運(yùn)行的一個(gè)程序的所有
狀態(tài)信息。第五十六頁(yè)第五十七頁(yè),共74頁(yè)。main()
{…..}A()
{…..}
PROCESSAprogramisCstatementsorcommands
靜態(tài)的;Aprocessisprogram+runningcontext
動(dòng)態(tài)的.main()
{…..}A()
{…..}
PROGRAMheap
StackAMainRegisters,PCProcess≠Program第五十七頁(yè)第五十八頁(yè),共74頁(yè)。進(jìn)程的特性動(dòng)態(tài)性:程序的運(yùn)行狀態(tài)在變,PC、寄存器、
堆和棧等;獨(dú)立性:是一個(gè)獨(dú)立的實(shí)體,是計(jì)算機(jī)系統(tǒng)資
源的使用單位。每個(gè)進(jìn)程都有“自己”
的PC和內(nèi)部狀態(tài),運(yùn)行時(shí)獨(dú)立于其他
的進(jìn)程(邏輯PC和物理PC);并發(fā)性:從宏觀上看各進(jìn)程是同時(shí)獨(dú)立運(yùn)行的第五十八頁(yè)第五十九頁(yè),共74頁(yè)。四個(gè)進(jìn)程在并發(fā)地運(yùn)行(本圖摘自AndrewS.Tanenbaum:“ModernOperatingSystems”)第五十九頁(yè)第六十頁(yè),共74頁(yè)。什么是線程?自從60年代提出進(jìn)程概念以來(lái),在操作系統(tǒng)中一直都是以進(jìn)程作為獨(dú)立運(yùn)行的基本單位,直到80年代中期,人們又提出了更小的能獨(dú)立運(yùn)行的基本單位線程。第六十頁(yè)第六十一頁(yè),共74頁(yè)。Why線程?【案例】編寫一個(gè)MP3播放軟件。核心功能模塊有三個(gè):(1)從MP3音頻文件當(dāng)中讀取數(shù)據(jù);(2)對(duì)數(shù)據(jù)進(jìn)行解壓縮;(3)把解壓縮后的音頻數(shù)據(jù)播放出來(lái)。第六十一頁(yè)第六十二頁(yè),共74頁(yè)。單進(jìn)程的實(shí)現(xiàn)方法
main()
{
while(TRUE)
{Read();
Decompress();
Play();
}}Read(){…}
Decompress(){…}Play(){…}問(wèn)題:播放出來(lái)的聲音能
否連貫?各個(gè)函數(shù)之間不是
并發(fā)執(zhí)行,影響資
源的使用效率;I/OCPU第六十二頁(yè)第六十三頁(yè),共74頁(yè)。多進(jìn)程的實(shí)現(xiàn)方法
程序1
main()
{
while(TRUE)
{Read();
}}Read(){…}問(wèn)題:進(jìn)程之間如何通信,共享數(shù)據(jù)?程序3
main()
{
while(TRUE)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度杭州電子科技大學(xué)產(chǎn)學(xué)研合作項(xiàng)目合同
- 2025年度出租車司機(jī)培訓(xùn)與技能提升合同
- 2025年國(guó)際海上救助服務(wù)海運(yùn)貨物運(yùn)輸合同協(xié)議范本
- 2025年度綠色生態(tài)建設(shè)環(huán)保合同范本
- 2025年度企業(yè)并購(gòu)貸款續(xù)借合同模板
- 北京餐飲合伙合同范本
- 買賣山地合同范例
- vr制作合同范本
- 修路車輛租賃合同范例
- 出售翻新塔吊合同范本
- 藥膳與食療試題及答案高中
- 北京市西城區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷含答案
- 2025年南京信息職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 二零二五年度海外市場(chǎng)拓展合作協(xié)議4篇
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit4第2課時(shí)Speedup
- 2024年湖南汽車工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 2025中國(guó)鐵塔集團(tuán)安徽分公司招聘29人高頻重點(diǎn)提升(共500題)附帶答案詳解
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評(píng)價(jià)導(dǎo)則
- 公共關(guān)系學(xué)完整教學(xué)課件
- 行業(yè)會(huì)計(jì)比較ppt課件(完整版)
- 外固定架--ppt課件
評(píng)論
0/150
提交評(píng)論