導航:首頁 > 編程系統 > uclinux操作系統原理

uclinux操作系統原理

發布時間:2021-03-05 14:56:35

① 嵌入式linux系統內核與UC/os系統有什麼異同感覺linux內核的運作完全弄不明白啊。他是怎麼運作的呢採納

uCOS被稱為RTOS,相對於Linux只是線程和線程通信而已。uCOS的優點在於極低的資源消耗(甚至版可以跑在51上)和啟權動速度。
Linux的內核就復雜了,包括了進程,線程,驅動等等。特點是開源和強大的網路功能,所以多被用於伺服器、路由器等。

② 怎麼學習嵌入式實時操作系統uc/os原理與實踐

LZ,ucos系統是最基本簡單的操作系統之一,理論其實挺通俗易懂的,內多操作實踐就更好了,,,
身邊搞嵌入式容的人都有這么一個歷程:1、買了一塊stm32開發板,學習光碟資料知識,入門ucos;2、用這個ucos做了一個課程設計,不是很難的智能家居項目,,,3、接觸樹莓派等一些開發linux系統的開發板,學習linux內核,有條件和時間還去了培訓機構輔修了linux C和c++;
不過就ucos來講,用一塊開發板來搞搞事情,對入門真的幫助很大哦!

③ 如果通了uC/OS II,對學習LINUX操作系統有多少幫助

uc/os和uclinux操作系統是兩種性能優良源碼公開且被廣泛應用的的免費嵌入 式操作系統,可以作為研究實時操作系統和非實時操作系統的典範。本文通過對 uc/os和uclinux的對比,分析和總結了嵌入式操作系統應用中的若乾重要問題, 歸納了嵌入式系統開發中操作系統的選型依據。 兩種開源嵌入式操作系統介紹 uc/os和uclinux操作系統,是當前得到廣泛應用的兩種免費且公開源碼的嵌入 式操作系統。uc/os適合小型控制系統,具有執行效率高、佔用空間小、實時性 能優良和可擴展性強等特點,最小內核可編譯至2k。uclinux則是繼承標准linux 的優良特性,針對嵌入式處理器的特點設計的一種操作系統,具有內嵌中國絡協議、 支持多種文件系統,開發者可利用標准linux先驗知識等優勢。其編譯後目標文 件可控制在幾百k量級。 uc/os是一種免費公開源代碼、結構小巧、具有可剝奪實時內核的實時操作系統。 其內核提供任務調度與管理、時間管理、任務間同步與通信、內存管理和中斷服 務等功能。 uclinux是一種優秀的嵌入式linux版本。uclinux是micro-conrol-linux的縮寫。 同標准linux相比,它集成了標准linux操作系統的穩定性、強大中國絡功能和出 色的文件系統等主要優點。但是由於沒有mmu(內存管理單元),其多任務的實 現需要一定技巧。 兩種嵌入式操作系統主要性能比較 嵌入式操作系統是嵌入式系統軟硬體資源的控制中心,它以盡量合理的有效方法 組織多個用戶共享嵌入式系統的各種資源。其中用戶指的是系統程序之上的所有 軟體。所謂合理有效的方法,指的就是操作系統如何協調並充分利用硬體資源來 實現多任務。復雜的操作系統都支持文件系統,方便組織文件並易於對其規范化 操作。 嵌入式操作系統還有一個特點就是針對不同的平台,系統不是直接可用的,一般 需要經過針對專門平台的移植操作系統才能正常工作。 進程調度、文件系統支持和系統移植是在嵌入式操作系統實際應用中最常見的問 題,下文就從這幾個角度入手對uc/os和uclinux進行分析比較。 進程調度 任務調度主要是協調任務對計算機系統內資源(如內存、i/o設備、cpu)的爭奪 使用。進程調度又稱為cpu調度,其根本任務是按照某種原則為處於就緒狀態 的進程分配cpu。由於嵌入式系統中內存和i/o設備一般都和cpu同時歸屬於 某進程,所以任務調度和進程調度概念相近,很多場合不加區分,下文中提到的 任務其實就是進程的概念。 進程調度可分為"剝奪型調度"和"非剝奪型調度"兩種基本方式。所謂"非剝奪型 調度"是指:一旦某個進程被調度執行,則該進程一直執行下去直至該進程結束, 或由於某種原因自行放棄cpu進入等待狀態,才將cpu重新分配給其他進程。 所謂"剝奪型調度"是指:一旦就緒狀態中出現優先權更高的進程,或者運行的進 程已用滿了規定的時間片時,便立即剝奪當前進程的運行(將其放回就緒狀態), 把cpu分配給其他進程。 作為實時操作系統,uc/os是採用的可剝奪型實時多任務內核。可剝奪型的實時 內核在任何時候都運行就緒了的最高優先順序的任務。uc/os中最多可以支持64 個任務,分別對應優先順序0"63,其中0為最高優先順序。調度工作的內容可以分 為兩部分:最高優先順序任務的尋找和任務切換。 其最高優先順序任務的尋找是通過建立就緒任務表來實現的。uc/os中的每一個任 務都有獨立的堆棧空間,並有一個稱為任務控制塊tcb(task control block)數據 結構,其中第一個成員變數就是保存的任務堆棧指針。任務調度模塊首先用變數 ostcbhighrdy記錄當前最高級就緒任務的tcb地址,然後調用os_task_sw() 函數來進行任務切換。 uclinux的進程調度沿用了linux的傳統,系統每隔一定時間掛起進程,同時系 統產生快速和周期性的時鍾計時中斷,並通過調度函數(定時器處理函數)決定進 程什麼時候擁有它的時間片。然後進行相關進程切換,這是通過父進程調用fork 函數生成子進程來實現的。 uclinux系統fork調用完成後,要麼子進程代替父進程執行(此時父進程已經 sleep),直到子進程調用exit退出;要麼調用exec執行一個新的進程,這個時候 產生可執行文件的載入,即使這個進程只是父進程的拷貝,這個過程也不可避免。 當子進程執行exit或exec後,子進程使用wakeup把父進程喚醒,使父進程繼續 往下執行。 uclinux由於沒有mmu管理存儲器,其對內存的訪問是直接的,所有程序中訪 問的地址都是實際的物理地址。操作系統隊內存空間沒有保護,各個進程實際上 共享一個運行空間。這就需要實現多進程時進行數據保護,也導致了用戶程序使 用的空間可能佔用到系統內核空間,這些問題在編程時都需要多加註意,否則容 易導致系統崩潰。 由上述分析可以得知,uc/os內核是針對實時系統的要求設計實現的,相對簡單, 可以滿足較高的實時性要求。而uclinux則在結構上繼承了標准linux的多任務 實現方式,僅針對嵌入式處理器特點進行改良。其要實現實時性效果則需要使系 統在實時內核的控制下運行,rt-linux就是可以實現這一個功能的一種實時內 核。 文件系統 所謂文件系統是指負責存取和管理文件信息的機構,也可以說是負責文件的建 立、撤銷、組織、讀寫、修改、復制及對文件管理所需要的資源(如目錄表、存 儲介質等)實施管理的軟體部分。 uc/os是面向中小型嵌入式系統的,如果包含全部功能(信號量、消息郵箱、消 息隊列及相關函數),編譯後的uc/os內核僅有6"10kb,所以系統本身並沒有 對文件系統的支持。但是uc/os具有良好的擴展性能,如果需要的話也可自行 加入文件系統的內容。 uclinux則是繼承了linux完善的文件系統性能。其採用的是romfs文件系統, 這種文件系統相對於一般的ext2文件系統要求更少的空間。空間的節約來自於 兩個方面,首先內核支持romfs文件系統比支持ext2文件系統需要更少的代碼, 其次romfs文件系統相對簡單,在建立文件系統超級塊(superblock)需要更少的存 儲空間。romfs文件系統不支持動態擦寫保存,對於系統需要動態保存的數據采 用虛擬ram盤的方法進行處理(ram盤將採用ext2文件系統)。 uclinux還繼承了linux中國絡操作系統的優勢,可以很方便的支持中國絡文件系統 且內嵌tcp/ip協議,這為uclinux開發中國絡接入設備提供了便利。 由兩種操作系統對文件系統的支持可知,在復雜的需要較多文件處理的嵌入式系 統中uclinux是一個不錯的選擇。而uc/os則主要適合一些控制系統。 操作系統的移植 嵌入式操作系統移植的目的是指使操作系統能在某個微處理器或微控制器上運 行。uc/os和uclinux都是源碼公開的操作系統,且其結構化設計便於把與處理 器相關的部分分離出來,所以被移植到新的處理器上是可能的。 以下對兩種系統的移植分別予以說明。 (1)uc/os的移植 要移植uc/os,目標處理器必須滿足以下要求; ·處理器的c編譯器能產生可重入代碼,且用c語言就可以打開和關閉中斷; ·處理器支持中斷,並能產生定時中斷; ·處理器支持足夠的ram(幾k位元組),作為多任務環境下的任務堆棧; ·處理器有將堆棧指針和其他cpu寄存器讀出和存儲到堆棧或內存中的指令。 在理解了處理器和c編譯器的技術細節後,uc/os的移植只需要修改與處理器 相關的代碼就可以了。具體有如下內容: ·os_cpu.h中需要設置一個常量來標識堆棧增長方向; ·os_cpu.h中需要聲明幾個用於開關中斷和任務切換的宏; ·os_cpu.h中需要針對具體處理器的字長重新定義一系列數據類型; ·os_cpu_a.asm需要改寫4個匯編語言的函數; ·os_cpu_c.c需要用c語言編寫6個簡單函數; ·修改主頭文件include.h,將上面的三個文件和其他自己的頭文件加入。 (2)uclinux的移植 由於uclinux其實是linux針對嵌入式系統的一種改良,其結構比較復雜,相對 uc/os,uclinux的移植也復雜得多。一般而言要移植uclinux,目標處理器除了 應滿足上述uc/os應滿足的條件外,還需要具有足夠容量(幾百k位元組以上)外 部rom和ram。 uclinux的移植大致可以分為3個層次: ·結構層次的移植,如果待移植處理器的結構不同於任何已經支持的處理器結構, 則需要修改linux/arch目錄下相關處理器結構的文件。雖然uclinux內核代碼的 大部分是獨立於處理器和其體系結構的,但是其最低級的代碼也是特定於各個系 統的。這主要表現在它們的中斷處理上下文、內存映射的維護、任務上下文和初 始化過程都是獨特的。這些例行程序位於linux/arch/目錄下。由於linux所支持 體系結構的種類繁多,所以對一個新型的體系,其低級常式可以模仿與其相似的 體系常式編寫。 ·平台層次的移植,如果待移植處理器是某種uclinux已支持體系的分支處理器, 則需要在相關體系結構目錄下建立相應目錄並編寫相應代碼。如mc68ez328就 是基於無mmu的m68k內核的。此時的移植需要創建 linux/arch/m68knommu/platform/ mc68ez328目錄並在其下編寫跟蹤程序(實現 用戶程序到內核函數的介面等功能)、中斷控制調度程序和向量初始化程序等。 ·板級移植,如果你所用處理器已被uclinux支持的話,就只需要板級移植了。板 級移植需要在linux/arch/?platform/中建立一個相應板的目錄,再在其中建立相應 的啟動代碼crt0_rom.s或crt0_ram.s和鏈接描述文檔rom.ld或ram.ld就可以了。 板級移植還包括驅動程序的編寫和環境變數設置等內容。 通過對uc/os和uclinux的比較,可以看出這兩種操作系統在應用方面各有優劣。 uc/os佔用空間少,執行效率高,實時性能優良,且針對新處理器的移植相對簡 單。uclinux則佔用空間相對較大,實時性能一般,針對新處理器的移植相對復 雜。但是,uclinux具有對多種文件系統的支持能力、內嵌了tcp/ip協議,可 以借鑒linux豐富的資源,對一些復雜的應用,uclinux具有相當優勢。例如cisco 公司的 2500/3000/4000 路由器就是基於uclinux操作系統開發的。 總之,操作系統的選擇是由嵌入式系統的需求決定的。簡單的說就是,小型控制 系統可充分利用uc/os小巧且實時性強的優勢,如果開發pda和互聯中國連接終 端等較為復雜的系統則uclinux是不錯的選擇。 本回答由電腦中國絡分類達人 李孝忠推薦

④ 哪種嵌入式操作系統好些,linux還是uc/os

不能說哪個操作系統好,哪個不好,比如你一個51的板子,你跑Linux?那不現實.很多是根據項目來安排的,如果需要什麼就用什麼.Linux比uc/os要復雜的多.

⑤ 求Linux操作系統的的發展歷史。。。

Linux 操作系統的誕生 1981 年IBM 公司推出享譽全球的微型計算機IBM PC。在1981-1991 年間,MS-DOS 操作系統一直是微型計算機上操作系統的主宰。此時計算機硬體價格雖然逐年下降,但軟體價格仍然是居高不下。當時Apple 的MACs 操作系統可以說是性能最好的,但是其天價沒人能夠輕易靠近。 到1991 年,GNU 計劃已經開發出了許多工具軟體。最受期盼的Gnu C 編譯器已經出現,但還沒有開發出免費的GNU 操作系統。即使是MINIX 也開始有了版權,需要購買才能得到源代碼。而GNU 的操作系統HURD 一直在開發之中,但並不能在幾年內完成。對於Linus 來說,已經不能等待了。從1991 年4 月份起,他開始醞釀並著手編制自己的操作系統。剛開始,他的目的很簡單,只是為了學習Intel 386 體系結構保護模式運行方式下的編程技術。但後來Linux 的發展卻完全改變了初衷。 1991 年初,Linus 開始在一台386sx 兼容微機上學習minix 操作系統。通過學習,他逐漸不能滿足於minix 系統的現有性能,並開始醞釀開發一個新的免費操作系統。根據Linux 在comp.os.minix 新聞組上發布的消息,我們可以知道他逐步從學習minix 系統到開發自己的Linux 的過程。 從1991 年的4 月份開始,Linus 幾乎花了全部時間研究386-minix 系統(hack the kernel),並且嘗試著移植GNU 的軟體到該系統上(GNU gcc、bash、gdb 等)。並於4 月13 日在comp.os.minix 上發布說自己已經成功地將bash 移植到了minix 上,而且已經愛不釋手、不能離開這個shell 軟體了。 第一個與Linux 有關的消息是在1991 年7 月3 日在comp.os.minix 上發布的(當然此時還不存在Linux 這個名稱,當時Linus 的腦子里想的可能是FREAX ,FREAX 的英文含義是怪誕的、怪物、異想天開等)。其中透露了他正在進行Linux 系統的開發,並且在Linux 最初的時候已經想到要實現與POSIX(UNIX 的國際標准)的兼容問題了。 在Linus 的下一發布的消息中(1991 年8 月25 日 comp.os.minix),他向所有minix 用戶詢問"What would you like to see in minix?"("你最想在minix 中見到什麼?"),在該消息中他首次透露出正在開發一個(免費的)386(486)操作系統,並且說只是興趣而已,代碼不會很大,也不會象GNU 的那樣專業。開發免費操作系統這個想法從4 月份就開始醞釀了,希望大家反饋一些對於minix 系統中喜歡那些特色不喜歡什麼等信息,由於實際的和其它一些原因,新開發的系統剛開始與minix 很象(並且使用了minix 的文件系統)。並且已經成功地將bash(1.08 版)和gcc(1.40 版)移植到了新系統上,而且再過幾個月就可以使用了。 最後,Linus 申明他開發的操作系統沒有使用一行minix 的源代碼;而且由於使用了386 的任務切換特性,所以該操作系統不好移植(沒有可移植性),並且只能使用AT 硬碟。對於Linux 的移植性問題,Linus 當時並沒有考慮。但是目前Linux 幾乎可以運行在任何一種硬體體系結構上。 到了1991 年的10 月5 日,Linus 在comp.os.minix 新聞組上發布消息,正式向外宣布Linux 內核系統的誕生(Free minix-like kernel sources for 386-AT)。這段消息可以稱為Linux 的誕生宣言,並且一直廣為流傳。因此10 月5 日對Linux 社區來說是一個特殊的日子,許多後來Linux 的新版本發布時都選擇了這個日子。所以RedHat 公司選擇這個日子發布它的新系統也不是偶然的。
Linux 的命名
Linux 操作系統剛開始時並沒有被稱作Linux,Linus 給他的操作系統取名為FREAX,其英文含義是怪誕的、怪物、異想天開等意思。在他將新的操作系統上載到ftp,funet。fi伺服器上時,管理員Ari Lemke很不喜歡這個名稱。他認為既然是Linus 的操作系統就取其諧音Linux 作為該操作系統的目錄吧,於是Linux 這個名稱就開始流傳下來。 在Linus 的自傳《Just for Fun》一書中,Linus 解釋說:"坦白地說,我從來沒有想到過要用Linux 這個名稱發布這個操作系統,因為這個名字有些太自負了。而我為最終發布版准備的是什麼名字呢Freax。實際上,內核代碼中某些早期的Makefile - 用於描述如何編譯源代碼的文件 - 文件中就已經包含有"Freax"這個名字了,大約存在了半年左右。但其實這也沒什麼關系,在當時還不需要一個名字,因為我還沒有向任何人發布過內核代碼。而Ari Lemke,他堅持要用自己的方式將內核代碼放到ftp 站點上,並且非常不喜歡Freax 這個名字。他堅持要用現在這個名字(Linux),我承認當時我並沒有跟他多爭論。但這都是他取的名字。所以我可以光明正大地說我並不自負,或者部分坦白地說我並沒有本位主義思想。但我想好吧,這也是個好名字,而且以後為這事我總能說服別人,就像我現在做的這樣。"-- Linus Torvalds《Just for fun》第84-88 頁。

Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。

⑥ uCliunx和liunx的不同

uClinux是針復對控制領域的嵌入式linux操作制系統,它從Linux 2.0/2.4內核派生而來,沿襲了主流Linux的絕大部分特性。適合不具備內存管理單元(MMU)的微處理器/微控制器。沒有MMU支持是uClinux與主流Linux的基本差異。

⑦ 學習DSP是學帶uclinux操作系統的好,還是單獨學好。uclinux用的范圍廣嗎對以後找工作有益嗎

樓主是不復是初學者呀?這制個問題重要!
1.如果初學者的話,uclinux是linux的簡化無MMU的版本,很是適合從單片機這方面轉向真正意義嵌入式系統的人員學習,比較好上手一些;
2.如果有一定的基礎了的,就可以直接學習linux,uclinx用於工控更多一些,相比linux的面會窄很多的。

註:如果只是學習的層面的話,建議學習基於X86 arm powerpc平台Linux系統,這些更主流一些,市場上用的及學習的人員都比較多;感覺用dsp 玩 uclinux的挺少,也不便你的學習和大家交流!

⑧ uclinux是嵌入式操作系統嗎

uClinux是嵌入式Linux領域非常重要的分支,已成功應用於路由器、機頂盒、PDA等領域,與標准Linux在內存管理方面有著本質的區別。uCLinux是一種優秀的嵌入式Linux版本,是micro-Conrol-Linux的縮寫。它秉承了標准Linux的優良特性, 經過各方面的小型化改造,形成了一個高度優化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,卻仍然保留了Linux的大多數的優點:穩定、良好的移植性、優秀的網路功能、對各種文件系統完備的支持和標准豐富的API。它專為嵌入式系統做了許多小型化的工作,目前已支持多款CPU。 其編譯後目標文件可控制在幾百KB數量級,並已經被成功地移植到很多平台上。uClinux從Linux 2.0/2.4內核派生而來,沿襲了Linux的絕大部分特性。它是專門針對沒有MMU(內存管理單元)的CPU,並且為嵌入式系統做了許多小型化的工作。它通常用於具有很少內存或Flash的嵌入式操作系統。在GNU通用許可證的保證下,運行uClinux操作系統的用戶可以使用幾乎所有的Linux API函數。由於經過了裁剪和優化,它形成了一個高度優化,代碼緊湊的嵌入式Linux。它具有體積小、穩定、良好的移植性、優秀的網路功能、完備的對各種文件系統的支持,以及豐富的API函數等優點。uClinux與Linux在兼容性方面表現出色,uClinux除了不能實現fork()外,其餘uClinux的API函數與標准Linux完全相同。針對沒有MMU的CPU全球每年生產的CPU的數量大概在二十億顆左右,其中大部分是應用於專用性很強的各類嵌入式系統。大部分嵌入式系統為了減少系統復雜程度、降低硬體及開發成本和運行功耗,在硬體設計中取消了內存管理單元(MMU)模塊。最初,運行於這類沒有MMU的CPU之上的都是一些很簡單的單任務操作系統,或者更簡單的控製程序,甚至根本就沒有操作系統而直接運行應用程序。在這種情況下,系統無法運行復雜的應用程序,或者效率很低,並且所有的應用程序需要重新開發,還要求開發人員十分了解硬體特性。這些都阻礙了不含MMU的嵌入式產品開發的速度和應用水平。uClinux專門針對沒有MMU的CPU,並且為嵌入式系統做了許多小型化的工作。uClinux是一個完全符合GNU/GPL公約的項目,完全開放代碼。最初的uClinux僅僅支持Palm硬體系統,基於Linux 2.0內核。隨著系統的日益改進,支持的內核版本從2.0、2.2、2.4一直到現在最新的2.6。系統的開發人員從兩人增加到了目前的12人,支持的硬體系統也從一種增加到了目前的十餘種(支持的硬體平台如Motorola公司的M68328、M68EN322、MC68360、DragonBall系列如68EZ328、68VZ328,ColdFire系列的如5272、5307,ARM 7TDMI、MC68EN302、ETRAX、Intel i960、PRISMA、Atari 68k等等。)根據Linuxdevices網站2004年3月的調查,uClinux在全球嵌入式Linux市場所佔的份額已位居第二,僅僅落後於定製Linux(即自己下載源碼進行修改定製)。同時Linux在全球嵌入式操作系統的市場份額依然處於統治地位(佔40%以上),領先第二名微軟公司的嵌入式操作系統三倍以上(市場份額約13%)。

⑨ 嵌入式學習流程

我情況跟樓主差不多,不過我開學都上大三了。。。
我也在這方面摸內索了很久,雖容然還沒真正學到實際項目的開發,但對要學什麼總算有了點頭緒:
微機原理與介面技術(匯編)
使用 linux,熟悉linux的一些基本操作(這個不需要專門花時間的)
數據結構
linux下的c編程,shell編程
linux操作系統原理
linux驅動
linux內核
驅動和內核的學習要有很扎實的功底,必須要把c,數據結構,操作系統原理徹底搞懂再開始,不然。。。你懂的!
然後就是單片機和arm 這兩個是硬體部分
建議先學軟體部分

閱讀全文

與uclinux操作系統原理相關的資料

熱點內容
以前的香港電影好多孩子特異功能深化 瀏覽:942
限制上傳excel文件 瀏覽:336
編程和代數學有什麼關系 瀏覽:87
文件重命名擴展名 瀏覽:937
電影 女的到國外做妓女 瀏覽:521
千年人參電影曹查理 瀏覽:385
gps怎麼導出數據導出 瀏覽:919
色色的男同電影 瀏覽:606
泰國百合短片《此刻心情》 瀏覽:434
那個網站可以看島國片 瀏覽:189
方唐鏡大什麼大 瀏覽:291
lt18i強刷工具 瀏覽:542
觀影網址 瀏覽:661
17世紀美洲建國類小說 瀏覽:427
中文字幕的日本片 瀏覽:785
韓國電影愛情片免費看有哪些 瀏覽:59
一本小說主角是木匠 瀏覽:272
如何從ftp下載文件夾 瀏覽:963
一隻狗和兩個男孩的電影 瀏覽:266

友情鏈接