久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

改善嵌入式LINUX實時性能的方法研究

時間:2019-05-15 00:18:05下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《改善嵌入式LINUX實時性能的方法研究》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《改善嵌入式LINUX實時性能的方法研究》。

第一篇:改善嵌入式LINUX實時性能的方法研究

摘要:分析了linux的實時性,針對其在實時應用中的技術障礙,在參考了與此相關研究基礎上,從三方面提出了改善linux實時性能的改進措施。為提高嵌入式應用響應時間精度,提出兩種細化linux時鐘粒度方法;為增強系統內核對實時任務的響應能力,采用插入搶占點和修改內核法增強linux內核的可搶占性;為保證硬實時任務的時限要求,把原linux的單運行隊列改為雙運行隊列,硬實時任務單獨被放在一個隊列中,并采用mlf調度算法代替原內核的fifo調度算法。關鍵詞:linux;實時性;調度策略;搶占 2 linux 在實時應用中的技術障礙 2.1 linux的實時性分析

linux作為一個通用操作系統,主要考慮的是調度的公平性和吞吐量等指標。然而,在實時方面它還不能很好地滿足實時系統方面的需要,其本身僅僅提供了一些實時處理的支持,這包括支持大部分posix標準中的實時功能,支持多任務、多線程,具有豐富的通信機制等;同時也提供了符合posix標準的調度策略,包括fifo調度策略、時間片輪轉調度策略和靜態優先級搶占式調度策略。linux區分實時進程和普通進程,并采用不同的調度策略。

為了同時支持實時和非實時兩種進程,linux的調度策略簡單講就是優先級加上時間片。當系統中有實時進程到來時,系統賦予它最高的優先級。體現在實時性上,linux采用了兩種簡單的調度策略,即先來先服務調度(sched-fifo)和時間片輪轉調度(sched-rr)。具體是將所有處于運行狀態的任務掛接在一個run-queue 隊列中,并將任務分成實時和非實時任務,對不同的任務,在其任務控制塊task-struct中用一個policy屬性來確定其調度策略。對實時性要求較嚴的硬實時任務采用sched-fifo調度,使之在一次調度后運行完畢。對普通非實時進程,linux采用基于優先級的輪轉策略。2.2 linux在實時應用中的技術障礙

盡管linux本身提供了一些支持實時性的機制,然而,由于linux系統是以高的吞吐量和公平性為追求目標,基本上沒有考慮實時應用所要滿足的時間約束,它只是提供了一些相對簡單的任務調度策略。因此,實時性問題是將linux應用于嵌入式系統開發的一大障礙,無法在硬實時系統中得到應用。linux在實時應用中的技術障礙具體表現在:(1)linux系統時鐘精度太過粗糙,時鐘中斷周期為10ms,使得其時間粒度過大,加大了任務響應延遲。(2)linux的內核是不可搶占的, 當一個任務通過系統調用進入內核態運行時,一個具有更高優先級的進程,只有等待處于核心態的系統調用返回后方能執行,這將導致優先級逆轉。實時任務執行時間的不確定性,顯然不能滿足硬實時應用的要求。(3)linux采用對臨界區操作時屏蔽中斷的方式,在中斷處理中是不允許進行任務調度的,從而抑制了系統及時響應外部操作的能力。

(4)缺乏有效的實時任務調度機制和調度算法。

針對這些問題,利用linux作為底層操作系統,必須增強其內核的實時性能,從而構建出一個具有實時處理能力的嵌入式系統,適應嵌入式領域應用的需要。2.3 當前增強linux內核實時性的主流技術

近年來,人們對于linux內核實時性改造提出了一些方法和設想,它們采用了不同的思路和技術方案。歸納總結,支持linux的硬實時性一般有兩種策略[5]:一種是直接修改linux內核,重新編寫一個由優先級驅動的實時調度器(real-time scheduler),替換原有內核中的進程調度器sched.c,kurt是采用這一方案較為成功的實時linux操作系統;另外一種是在linux內核之外, 以可加載內核模塊(loadable kernel module)的形式添加實時內核,確保其高響應特性,實時內核接管來自硬件的所有中斷,并依據是否是實時任務決定是否直接響應。新墨西哥科技大學的rt-linux,就是基于這種策略而開發的。以上兩種策略有其借鑒之處,但如果綜合考慮任務響應、內核搶占性、實時調度策略等幾個影響操作系統實時性能的重要方面,它們還不能很好的滿足實時性問題。為了增強嵌入式linux實時性能,下文將就內核時鐘精度、內核的搶占性以及內核調度算法等相關問題重點研究相應的解決方法。3 改善嵌入式linux實時性能的方法 針對linux在實時應用中的技術障礙,將linux改造成為支持實時任務的嵌入式操作系統, 主要從下面三個方面進行著手。

第二篇:高中信息技術教學論文改善嵌入式Linux實時性能的方法研究.

改善嵌入式Linux實時性能的方法研究

摘要:分析了Linux的實時性,針對其在實時應用中的技術障礙,在參考了與此相關研究基礎上,從三方面提出了改善Linux實時性能的改進措施。為提高嵌入式應用響應時間精度,提出兩種細化Linux時鐘粒度方法;為增強系統內核對實時任務的響應能力,采用插入搶占點和修改內核法增強Linux內核的可搶占性;為保證硬實時任務的時限要求,把原Linux的單運行隊列改為雙運行隊列,硬實時任務單獨被放在一個隊列中,并采用MLF調度算法代替原內核的FIFO調度算法。

關鍵詞:Linux;實時性;調度策略;搶占 1 引言

目前,無論是在日常生活,還是在工業控制,航空航天,軍事等方面,嵌入式系統都有著非常廣泛的應用。嵌入式系統目前主要有:Windows CE、VxWorks、QNX等,它們都具有較好的實時性、系統可靠性、任務處理隨機性等優點,但是它們的價格普遍偏高。而嵌入式Linux以其非常低廉的價格,可以大大的降低成本,逐漸成為嵌入式操作系統的首選。但是,作為通用操作系統的Linux,由于其在實時應用領域的技術障礙,要應用在嵌入式領域,還必須對Linux內核作必要的改進。許多嵌入式設備都要求與外部環境有硬實時的交互能力,將最初按照分時系統目標設計的Linux 改造成能支持硬實時性的操作系統顯得十分重要。幸運的是, Linux 及其相關項目的開放源碼特征為深入研究其內核并加以改造提供了可行性, 可以修改Linux 內核中的各個模塊以達到滿足嵌入式應用的需求,提高軟件方面的開發速度。目前,改善Linux內核的設計與實現,使其適用于實時領域吸引了許多研究和開發人員的注意力[1-4]。常用的實時性改造方法是采用雙核方法,這種方法的弊端在于實時任務的開發是直接面向提供精確實時服務的小實時核心的,而不是功能強大的常規Linux核心。基于此,近年來修改核的方法越來越受到科研人員的重視,這種方法是基于已有Linux系統對于軟件開發的支持,進行源代碼級修改而使Linux變成一個真正的實時操作系統。本文分析了標準Linux在實時應用中的技術障礙,參考了修改核方法的思想,從內核時鐘管理、內核的搶占性、內核調度算法三方面論述了改善標準Linux實時性能的方法。2 Linux 在實時應用中的技術障礙 2.1 Linux的實時性分析

Linux作為一個通用操作系統,主要考慮的是調度的公平性和吞吐量等指標。然而,在實時方面它還不能很好地滿足實時系統方面的需要,其本身僅僅提供了一些實時處理的支持,這包括支持大部分POSIX標準中的實時功能,支持多任務、多線程,具有豐富的通信機制等;同時也提供了符合POSIX標準的調度策略,包括FIFO調度策略、時間片輪轉調度策略和靜態優先級搶占式調度策略。Linux區分實時進程和普通進程,并采用不同的調度策略。為了同時支持實時和非實時兩種進程,Linux的調度策略簡單講就是優先級加上時間片。當系統中有實時進程到來時,系統賦予它最高的優先級。體現在實時性上,Linux采用了兩種簡單的調度策略,即先來先服務調度(SCHED-FIFO)和時間片輪轉調度(SCHED-RR)。具體是將所有處于運行狀態的任務掛接在一個run-queue 隊列中,并將任務分成實時和非實時

用心

愛心

專心 任務,對不同的任務,在其任務控制塊task-struct中用一個policy屬性來確定其調度策略。對實時性要求較嚴的硬實時任務采用SCHED-FIFO調度,使之在一次調度后運行完畢。對普通非實時進程,Linux采用基于優先級的輪轉策略。2.2 Linux在實時應用中的技術障礙

盡管Linux本身提供了一些支持實時性的機制,然而,由于Linux系統是以高的吞吐量和公平性為追求目標,基本上沒有考慮實時應用所要滿足的時間約束,它只是提供了一些相對簡單的任務調度策略。因此,實時性問題是將Linux應用于嵌入式系統開發的一大障礙,無法在硬實時系統中得到應用。Linux在實時應用中的技術障礙具體表現在:(1)Linux系統時鐘精度太過粗糙,時鐘中斷周期為10ms,使得其時間粒度過大,加大了任務響應延遲。

(2)Linux的內核是不可搶占的, 當一個任務通過系統調用進入內核態運行時,一個具有更高優先級的進程,只有等待處于核心態的系統調用返回后方能執行,這將導致優先級逆轉。實時任務執行時間的不確定性,顯然不能滿足硬實時應用的要求。

(3)Linux采用對臨界區操作時屏蔽中斷的方式,在中斷處理中是不允許進行任務調度的,從而抑制了系統及時響應外部操作的能力。(4)缺乏有效的實時任務調度機制和調度算法。

針對這些問題,利用Linux作為底層操作系統,必須增強其內核的實時性能,從而構建出一個具有實時處理能力的嵌入式系統,適應嵌入式領域應用的需要。2.3 當前增強Linux內核實時性的主流技術

近年來,人們對于Linux內核實時性改造提出了一些方法和設想,它們采用了不同的思路和技術方案。歸納總結,支持Linux的硬實時性一般有兩種策略:一種是直接修改Linux內核,重新編寫一個由優先級驅動的實時調度器(Real-time Scheduler),替換原有內核中的進程調度器sched.c,KURT是采用這一方案較為成功的實時Linux操作系統;另外一種是在Linux內核之外, 以可加載內核模塊(Loadable Kernel Module)的形式添加實時內核,確保其高響應特性,實時內核接管來自硬件的所有中斷,并依據是否是實時任務決定是否直接響應。新墨西哥科技大學的RT-Linux,就是基于這種策略而開發的。以上兩種策略有其借鑒之處,但如果綜合考慮任務響應、內核搶占性、實時調度策略等幾個影響操作系統實時性能的重要方面,它們還不能很好的滿足實時性問題。為了增強嵌入式Linux實時性能,下文將就內核時鐘精度、內核的搶占性以及內核調度算法等相關問題重點研究相應的解決方法。3 改善嵌入式Linux實時性能的方法

針對Linux在實時應用中的技術障礙,將Linux改造成為支持實時任務的嵌入式操作系統, 主要從下面三個方面進行著手。

[5]

用心

愛心

專心 2

第三篇:嵌入式linu學習心得

嵌入式Linux學習心得

1、Linux命令

ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當前的目錄

cd:改變當前操作目錄cd /直接跳到根目錄 cd..回到上一級目錄 cat: 打印顯示當前文件的內容信息

mkdir:創建目錄

fdisk: 查看硬盤分區信息,-l以列表方式查看

->代表是鏈接文件,類似window下的快捷方式。

cp: 復制命令,例子cp 文件名 /home/dir/

mv: 移動或改名,如mv sonf.confsonf.txt(改名)移動:mv sonf.conf / rm:刪除命令,如rm –f test.c;如刪除目錄rm –fr d

man:查看某個命令的幫助,man 命令

2、各系統目錄的功能

drw—r—w--:d代表是目錄,drw代表當前用戶的權限,r代表組用戶的權限,w代表其它用戶的權限。x代表有執行權限。

/boot/gruff.conf: 啟動引導程序

/dev:brw—rw--:b代表是塊設備。Linux設備有三種,塊設備(b開頭)、字符設備(c開頭)、網絡設備。had代表第一個硬盤,hdb代表第二個硬盤。Hdb2代表第二塊硬盤的第二個分區。3,67代表主設備為3,從設備為67./etc:存放的是系統的配置文件。Inittab文件存放不同啟動方式下必須啟動的進程。Inittab文件中有6個啟動level,wait中對應著6個level的目錄,respawn代表當一個進程被意外終止了,但會自動啟動的進程,如守護進程。rc.d目錄中存放了一個rc.sysinit文件,里面存放系統初始化配置信息。/etc還有一個vsftpd里面存放tcp、ftp的配置。

/home : 用戶目錄,存放用戶的文件,/lib:存放庫文件,后綴為so的文件代表動態鏈接庫。

/lost+found:系統意外終止,存放一些可以找回的文件。

/mnt:掛載外部設備,如掛載光驅:mount –t /dev/cdrom/mnt/cdrom,如

果在雙系統中,要查看windows中D盤的文件,首先應該將D盤的文件映射過來,mount –t /dev/hda2/mnt/windows/d

/opt:用戶安裝的應用程序

/proc:是系統運行的映射,比較重要。里面的文件數字代表進程號。每個進程號目錄下包含進程的基本信息。還有其他信息,如cpuinfo等,內核支持的文件系統filesystem等。系統支持的中斷interrupts,iomen代表內存分配情況。ioport存放IO端口號。還有分區信息,modole信息,狀態信息,版本信息

對于Linux的設備驅動程序,有兩種加載模式,一種是直接加載進linux內核,一種是以模塊的方式加載到內核。

/sbin: 系統管理的一些工具。如poweroff關機工具。

/usr: 安裝系統時很多文件放在此目錄下面,包含一些更新等,include包含的頭文件,lib 是Linux的庫文件,src包含Linux2.4的內核源碼

/var:存放是臨時變量

3、

第四篇:嵌入式Linux實時操作系統習題總結

第1章

1.嵌入式系統是指操作系統和功能軟件集成于計算機硬件系統之中。嵌入式系統一般有3個主要的組成部分:硬件、實時操作系統以及應用軟件。

2.嵌入式系統的三要素是嵌入、專用、計算機;即以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。

3.目前國際較為知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、OS/

9、VRTX、LynuxOS,RTLinux、BlueCat RT等。

4.嵌入式系統一般由硬件層、中間層、軟件層和功能層組成。其作用分別如下:

(1)硬件層 :由嵌入式微處理器、外圍電路和外設組成。操作系統和應用程序都可以固化在ROM或者Flash中。為方便使用,有的模塊在此基礎上增加了LCD、鍵盤、USB接口,以及其他一些功能的擴展電路。

(2)中間層 :硬件層與軟件層之間為中間層,其作用將系統軟件與底層硬件部分隔離,使得系統的底層設備驅動程序與硬件無關;

(3)軟件層 :主要是操作系統,有的還包括文件系統、圖形用戶接口和網絡系統等。操作系統是一個標準的內核,將中斷、I/O、定時器等資源都封裝起來,以方便用戶使用。(4)功能層 :由基于操作系統開發的應用程序組成,用來完成對被控對象的控制功能。5.非占先式調度法也稱作合作型多任務(cooperative multitasking),各個任務彼此合作共享一個CPU。中斷服務可以使一個高優先級的任務由掛起狀態變為就緒狀態。但中斷服務以后控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權時,那個高優先級的任務才能獲得CPU的使用權。當系統響應時間很重要時,要使用占先式(preemptive)內核。最高優先級的任務一旦就緒,總能得到CPU的控制權。當一個運行著的任務使一個比它優先級高的任務進入了就緒態,當前任務的CPU使用權就被剝奪了。6.在實時系統中,如果系統在指定的時間內未能實現某個確定的任務,會導致系統的全面失敗,這樣的系統被稱硬實時系統。在弱實時系統中,超時卻不會發生致命的錯誤。其實時性的要求比硬實時系統要差一些。

7.嵌入式系統的設計步驟及各部分的主要工作如下。(1)需求分析階段,羅列出用戶的需求;

(2)體系結構設計階段,描述系統的功能如何實現;

(3)詳細設計階段,進行硬件系統與軟件系統的分類劃分,以決定哪些功能用硬件實現,哪些用軟件實現;

(4)系統集成,把系統的軟件、硬件和執行裝置集成在一起,進行調試,發現并改進在設計過程中的錯誤;

(5)系統測試,對設計好的系統進行測試,看其是否滿足給定的要求。8.Linux作為嵌入式操作系統的優勢主要有以下幾點:

(1)可應用于多種硬件平臺。

(2)Linux的高度模塊化使添加部件非常容易。

(3)Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制,支持大量硬件的一種通用操作系統。

(4)Linux可以隨意地配置,不需要任何的許可證或商家的合作關系。

(5)Linux帶有Unix用戶熟悉的完善的開發工具。其強大的語言編譯器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。9. Linux執行進程調度一般是在以下情況發生的:(1)正在執行的進程運行完畢;

(2)正在執行的進程調用阻塞原語將自己阻塞起來進入等待狀態;(3)正在執行的進程調用了P原語操作,從而因資源不足而被阻塞;(4)執行中的進程提出I/O請求后被阻塞;(5)系統分配的時間片已經用完;

(6)就緒隊列中的某個進程的優先級變得高于當前運行進程的優先級。

第4章

1、Linux 內核的編譯菜單有好幾個版本,運行:

(1)make config:進入命令行,可以一行一行的配置,但使用不十分方便。

(2)make menuconfig:大多數開發人員使用的Linux 內核編譯菜單,使用方便。

(3)make xconfig:在2.4.X 以及以前版本中xconfig 菜單是基于TCL/TK 的圖形庫的。

2、在完成內核的裁減之后,內核的編譯就只要執行以下幾條命令: make clean

編譯內核之前先把環境給清理干凈。make dep

編譯相關依賴文件 make zImage

創建內核鏡像文件 make modules 創建內核模塊。

make install

把相關文件拷貝到默認的目錄。

3、此命令是裝載壓縮映像文件zImage到flash存儲器中,地址是kernel分區,并采用xmodem傳輸協議。

4、此命令是設置網卡1的地址192.168.1.1,掩碼為255.255.255.0,不寫netmask參數則默認為255.255.255.0。

5、此命令將nfs服務的共享目錄sharedir加載到/mnt/nfs。

6、此命令是裝載根文件系統root.cramfs到flash存儲器中,地址是根文件系統分區,并采用xmodem傳輸協議。

7、這個命令的操作同時進行了分區和格式化,0~128K存放vivi,128K~192K存放VIVI控制臺指令,192K~1216K存放kernel,1216K~4288K存放root,其余部分存放應用程序。

第6章

1.使用虛擬地址尋址整個系統的主存和輔存的方式在現代操作系統中被稱為虛擬內存。虛擬內存的管理方法使系統既可以運行體積比物理內存還要大的應用程序,也可以實現“按需調頁”策略,既滿足了程序的運行速度,又節約了物理內存空間。2.進程內存區域涉及到5種數據段,即:

①代碼段:代碼段是用來存放可執行文件的操作指令。

②數據段:數據段用來存放可執行文件中已初始化全局變量。③BSS段:BSS段包含了程序中未初始化的全局變量。④堆(heap):用于存放進程運行中被動態分配的內存段,它的大小并不固定,可動態擴張或縮減。

⑤棧:棧是用戶存放程序臨時創建的局部變量。3.在Linux系統中,內核在最高級執行,也稱為“系統態”,在這一級任何操作都可以執行。而應用程序則執行在最低級,即所謂的“用戶態”。在這一級處理器禁止對硬件的直接訪問和對內存的未授權訪問。模塊是在所謂的“內核空間”中運行的,而應用程序則是在“用戶空間”中運行的。它們分別引用不同的內存映射,也就是程序代碼使用不同的“地址空間”。4.共享內存區域是被多個進程共享的一部分物理內存。如果多個進程都把該內存區域映射到自己的虛擬地址空間,則這些進程就都可以直接訪問該共享內存區域,從而可以通過該區域進行通信。共享內存是進程間共享數據的一種最快的方法,一個進程向共享內存區域寫入了數據,共享這個內存區域的所有進程就可以立刻看到其中的內容。5.內存管理利用虛擬文件系統支持交換,交換進程(swapd)定期由調度程序調度,這也是內存管理依賴于進程調度的唯一原因。當一個進程存取的內存映射被換出時,內存管理向文件系統發出請求,同時,掛起當前正在運行的進程。

第9章

1.參考答案:

Mutex互斥量,用于操作某個臨界資源時對該資源上鎖,以實現互斥地對獨占資源的使用。Semophore信號燈,信號燈內有一計數器,可以用于對多個同類資源的分配。

Condition條件變量,條件變量用于等待信號。當一個線程需要等待某個信號時,就可到條件變量上等待,當信號具備時,系統會喚醒該線程繼續運行。2.參考答案:

本地:共享內存+信號量,適合于大量數據傳輸。Linux支持系統V和POSIX的共享內存和信號量。(5分)

遠程:Socket+應用協議。適合于跨網絡的(大量)數據傳輸。Linux支持BSD的socket。應用層協議需要自行設計。(5分)

3.答案要點:程序是編譯后形成的可執行代碼,是靜止的。進程是程序的一次執行,是活動的。線程是進程的可執行單元,同一進程的不同線程共享進程的資源和地址空間。4.兩種實現方法,一種是繼承Thread,另外一種是實現接口Runnable。

同步的實現方法有兩種,分別是synchronized, wait與notify。用synchronized可以對一段代碼、一個對象及一個方法進行加鎖。用wait與notify可以使對象處于等待及喚醒方式導致同步,因為每個對象都直接或間接的繼承了Object類。

5、什么是BootLoader?主要有幾種工作模式及主要功能是什么? 答:

Bootloader就是操作系統內核運行的一段小程序,完成進行初始化系統硬件設置的任務,(2分)

分為啟動加載模式和下載模式。(1啟動加載模式

啟動加載(Boot laoding)模式是指 Bootloader 從目標機上的某個固態存儲設備上將操作系統加載到 RAM 中運行,整個過程并沒有用戶的介入。(2分)(2)下載模式

在下載模式下,目標機上的 Bootloader 將先通過串口連接或網絡連接等通信手段從宿主機下載文件。(2分)

6、簡述Bootloader有何作用?

答案要點:(1)首先,bootloader是在特定硬件平臺運行的程序,嚴重依賴于硬件平臺,需要移植;(2)是系統上電之后,第一個運行的程序,系統在上電或復位時通常都從地址 0x0 處開始執行,而在這個地址處安排的通常就是系統的 Boot Loader 程序;(3)bootloader程序的設計目標是啟動嵌入式操作系統,嵌入式操作系統的啟動需要一定的條件,這些條件由bootloader來滿足;(4)Bootloader一般具有對存儲器和網絡接口操作的功能;如擦除、讀寫Flash,通過USB、串口下載文件等

第五篇:嵌入式實時操作系統 項目開發總結報告

項目開發總結報告

分 類:軟件項目計劃 使用者:E-fanciers

Version: 1.0

項 目 承 擔 隊伍:煙臺大學

計算機學院 E-fanciers小組撰 寫 人(簽名): 許超 于歌

完 成 日 期: 2009-7-16 本文檔使用小組: E-fanciers小組

評審負責人(簽名): 孝瑞

評 審 日 期: 2009-7-19

目 錄

一、引言.............................................3

1.1編寫目的.......................................3 1.2項目背景.......................................3 1.3定義...........................................3 1.4參考資料:.....................................3

二、開發結果........................錯誤!未定義書簽。

2.1產品..........................錯誤!未定義書簽。2.2主要功能......................錯誤!未定義書簽。2.3所用工時.......................................4 2.3所用機時.......................................4 2.3進度...........................................4

三、評價............................................4

3.1生產率評價.....................................4 3.2技術方案評價...................................4 3.3產品質量評價...................................4

四、經驗與教訓.......................................4

一.引言

1.編寫目的(闡明編寫總結報告的目的,指明讀者對象。)

詳細陳述項目開發過程,對項目開發做最后的總結完善,說明項目開發過程中遇到的難題及解決方案。

2.項目背景(說明項目的來源、委托單位、開發單位及主管部門。)

隨著微電子技術、計算機技術和網絡通信技術的發展,嵌入式系統已廣泛應用在各個領域,包括消費電子、汽車電子、網絡通信、工業設備、航空航天和國防軍事等。隨著嵌入式技術的發展,工業領域也一改過去傳統的單片機應用模式,逐漸將一些新嵌入式技術引入到系統中。特別是作為軟件基礎的嵌入式操作系統已廣泛為業界所接受,借以提高系統的開發效率和運行效率。是否采用嵌入式操作系統,已成為工業設備品質優劣的標志之一。

當今的嵌入式操作系統領域呈現百家爭鳴的狀態。據最近的調查數據顯示,嵌入式操作系統有數十種之多的。這種多樣性存在是必然的,是由嵌入式系統的定制性所決定的,是針對各個領域和行業的不同需求的應對。也就是說,各個嵌入式操作系統都有自己的應用領域,針對不同的應用沒有絕對的優劣之分,不會出現一種操作系統壟斷的局面。自主開發嵌入式操作系統絕對不是多余的,也是是對這種多樣性的自然順應,應該可擁有自己的用武之地。有些國內嵌入式廠商將希望寄托在Linux之上,以為它可以幫助解決所面臨的版稅和安全等問題。但事實并非完全如此,至少在嵌入式系統領域。首先,Linux還是泊來貨,國人并未掌握其核心技術和進程,也并未解決對外依賴的問題。其次,Linux是為桌面系統而設計的,并不能很好地滿足嵌入式系統高效性和靈活性的要求;再次,Linux的一統也違背了嵌入式系統應用靈活定制的本質特性。

3.定義(列出報告中用到的專門術語定義和縮寫詞的原意。)

int taskInit(void);

/*創建一個任務, 返回: 返回任務編號tid, >0: 成功, 其他: 失敗.*/ /*name: 任務名稱, entryPtr : 任務函數入口, stack_size: 任務棧大小, priority: 任務優先級*/ int taskCreate(char *name, void *entryPtr, int stack_size, int priority);/*啟動一個任務, 讓taskCreat創建的任務參加調度*/ int taskStart(unsigned char tid);/*tid: 任務編號, 由taskCreate返回*/ int taskPriorityGet(unsigned char tid);int taskPrioritySet(unsigned char tid, int newPriority);/*獲取和設置任務優先級, 用于動態調整*/ int taskSuspend(unsigned char tid);/*將任務掛起, 該任務退出調度*/ int taskDelete(unsigned char tid);/*將任務刪除 該任務退出調度且回收任務分配的資源*/ int semCreate(void);/*互斥信號量創建, 返回信號量標識sid, <0: 失敗*/ int semTake(int sid);int semGive(int sid);/*互斥信號量獲取和釋放*/ int taskSleep(int ticks);/*任務睡眠(非忙等), 由任務自己調用, 主動阻塞一段時間.時間單位為tick, 即10ms*/ 4.參考資料(列出這些資料的作者、標題、編號、發表日期、出版單位或資料來源,可包括:(1)項目開發計劃;(2)需求規格說明書;(3)概要設計說明書;(4)詳細設計說明書;(5)用戶操作手冊;(6)測試計劃;(7)測試分析報告(8)本報告引用的其他資料、采用的開發標準或開發規范。)(1)軟件項目計劃(2)需求規格說明(3)軟件編寫向導

(4)國家軟件開發文檔標準模板

二.開發結果

1.產品(可包括:(1)列出各部分的程序名稱、源程序行數(包括注釋行)或目標程序字節數及程序總計數量、存儲形式;產品文檔名稱等。)

2.主要功能及性能 基本功能

1.基于參考硬件平臺,建立硬件抽象層,完成基本硬件初始化,建立時鐘中斷; 2.在硬件抽象層基礎上,建立多任務操作系統環境; 3.任務調度采用同級時間片輪詢機制;

4.實現任務間基本通訊機制:互斥信號量(共享內存); 5.實現基本的時鐘管理機制:任務睡眠阻塞;

6.實現一個RS232串口驅動。基于串口驅動實現一個命令行Shell(用一個獨立的任務實現),可在超級終端顯示信息和執行命令。

擴展功能

7.任務區分優先級,在同級輪詢調度基礎上添加優先級調度機制; 8.不同優先級任務之間實現搶占調度;

9.在搶占調度的基礎上實現優先級逆轉保護,避免邏輯死鎖問題; 10.將代碼移植到另一個硬件平臺上運行,驗證代碼移植性。3.所用工時(按人員的不同層次分別計時。)

編碼成員工時:60小時/周,共約400小時;

編寫文檔成員:共約60小時。

4.所用機時

5小時/天,共約300小時的機時。

5.進度(給出計劃進度與實際進度的對比。)

根據敏捷開發方法的指導,每天查漏補缺,實際進度基本和計劃進度一致。三.評價

1.生產率評價(如平均每人每周源程序行數、文檔的字數等。)

源程序:200行/周

文檔:1500字/周

2.技術方案評價

嚴格遵循開發流程,運用科學開發方法。

3.產品質量評價

按照大賽要求完成了應有功能的基礎上有所添加自己小組的特色,譬如,設置相應的出錯處理機制,為加強該系統的安全性與穩定性也做了相應的措施,總體來說,我們小組開發的嵌入式實時操作系統功能良好,穩定性強。

四.經驗與教訓

經過近兩個月的對嵌入式實時操作系統的開發,經驗學到了不少,當然也得到了很多教訓,因為小組的不注意,導致2138開發板沒法繼續工作,有的時候會很耽誤時間,有的時候進度報告拖后一點才寫,也因此導致過進度不明了,不過,大多數時候,我們小組成員都認真對待大賽,努力想把自己小組的作品做的更完美,最后終于成功交付任務,完成大賽。

下載改善嵌入式LINUX實時性能的方法研究word格式文檔
下載改善嵌入式LINUX實時性能的方法研究.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    計算機實時操作系統的改善措施

    《計算機實時操作系統的改善措施》 摘要: 實時系統在工業、商業和軍事等領域都有非常廣泛的用途,并且已經有很多實際的應用。一般來說,實時系統通常是比較復雜的,因為它必須處......

    嵌入式實時操作系統(dynaLinux),及其開發平臺(精)

    嵌入式實時操作系統(dynaLinux),及其開發平臺 公司簡介: 注冊時間:2003年3月24日 經濟性質:合資 從事領域:電子信息 資產狀況:注冊資金100萬人民幣 人員狀況:12人 股本結構: 中方:方......

    計算機控制系統實時性的改善措施

    Hefei University 計算機控制技術 課程題目: 計算機控制系統實時性的改良措施姓 名: 111 學 號: 11111 指導老師: 11111 摘要:實時系統是能夠在確定的時間內執行計算或處理事......

    改善提案方法

    內部改善提案管理制度 1.目的:提升我司經營管理的水平,激發全體員工提出合理化建議和參與技術革新(技術開發活動)的熱情,圍繞品質、服務、成本及技術等改善重點,提升全員改善的主......

    改進嵌入式Linux系統實時性新方案(范文大全)

    改進嵌入式Linux系統實時性新方案 時間:2009-05-12 23:31來源:Linux Website 作者:尚觀 點擊: 73次 對嵌入式Linux進行實時性改進是嵌入式操作系統領域的一個研究熱點。本文......

    楓樹壩水庫洪水實時預報校正方法研究(5篇范文)

    楓樹壩水庫洪水實時預報校正方法研究 摘要:本文基于楓樹壩水庫洪水預報誤差信息,探討了多種洪水實時預報校正模型與計算方法,實際洪水模擬計算表明AR(2)模型的自適應實時校正方法......

    全高清實時視頻顯示嵌入式系統設計與調試

    實驗名稱全高清實時視頻顯示嵌入式系統設計與調試課程名稱姓名學號年級專業 嵌入式系統設計彭嘉喬 3130104084 大三電子信息工程所在學院電氣工程學院 全高清實時視頻顯示......

    改善親子關系的方法

    親子關系是未成年人健康發展過程中極為重要的因素。家庭教育在未成年人思想道德建設中具有特殊的作用。家庭是培養孩子愛心、慷慨、無私、責任感、合作精神與創造性等優良品......

主站蜘蛛池模板: 日韩乱码人妻无码中文字幕| 欧美破苞系列二十三| 欧美另类高清zo欧美| 一本大道无码日韩精品影视_| 日韩人妻无码一区二区三区俄罗斯| 亚洲国产精品无码一区二区三区| 久久久综合九色综合88| 久久精品99无色码中文字幕| 国产特级毛片aaaaaa高清| 中文无码热在线视频| 大肉大捧一进一出好爽mba| 真人新婚之夜破苞第一次视频| 天天做天天爱夜夜爽女人爽| 成年性午夜免费视频网站| 亚欧洲精品在线视频免费观看| 无码东京热一区二区三区| 久久久久亚洲精品无码网址| 中文字幕精品无码一区二区三区| 污污又黄又爽免费的网站| 欧美日韩精品一区二区三区在线| 日日躁夜夜躁狠狠久久av| 久久精品国产99精品最新| 欧美日韩精品一区二区视频| 精品1卡二卡三卡四卡老狼| 亚洲国产成人久久一区二区三区| 精品无码中文字幕在线| 日本在线视频www鲁啊鲁| 亚洲男人的天堂www| 亚洲一区av在线观看| 无码人妻aⅴ一区二区三区有奶水| 国产欧美亚洲日韩图片| 毛葺葺老太做受视频| 亚洲a∨无码一区二区三区| 欧美精品高清在线观看| 欧美人与性囗牲恔配| 成人午夜福利视频镇东影视| 丰满少妇又爽又紧又丰满在线观看| 大胸美女被吃奶爽死视频| 高h小月被几个老头调教| 亚洲成无码人在线观看| 日韩好片一区二区在线看|