基于uClinux和Linux的對比分析
uCLinux是一種優(yōu)秀的嵌入式Linux版本,是micro-Conrol-Linux的縮寫(xiě)。它秉承了標準Linux的優(yōu)良特性, 經(jīng)過(guò)各方面的小型化改造,形成了一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux.雖然它的體積很小,卻仍然保留了Linux的大多數的優(yōu)點(diǎn):穩定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò )功能、對各種文件系統完備的支持和標準豐富的API.
本文引用地址:http://dyxdggzs.com/article/201612/328243.htmLinux是一種很受歡迎的操作系統,它與UNIX系統兼容,開(kāi)放源代碼。它原本被設計為桌面系統,現在廣泛應用于服務(wù)器領(lǐng)域。而更大的影響在于它正逐漸的應用于嵌入式設備。
uClinux從Linux 2.0/2.4內核派生而來(lái)[1],沿襲了Linux的絕大部分特性。它是專(zhuān)門(mén)針對沒(méi)有MMU(內存管理單元)的CPU,并且為嵌入式系統做了許多小型化的工作。它通常用于具有很少內存或Flash的嵌入式操作系統。在GNU通用許可證的保證下,運行uClinux操作系統的用戶(hù)可以使用幾乎所有的Linux API函數。由于經(jīng)過(guò)了裁剪和優(yōu)化,它形成了一個(gè)高度優(yōu)化,代碼緊湊的嵌入式Linux.它具有體積小、穩定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò )功能、完備的對各種文件系統的支持,以及豐富的API函數等優(yōu)點(diǎn)。uClinux與Linux在兼容性方面表現出色,uClinux除了不能實(shí)現fork()外,其余uClinux的API函數與標準Linux完全相同。
uClinux的內核有兩種可選的運行方式:可以在flash上直接運行,也可以加載到內存中運行;內核加載方式:把內核的壓縮文件存放在flash上,系統啟動(dòng)時(shí)讀取壓縮文件在內存里解壓,然后開(kāi)始執行,這種方式相對復雜一些,但是運行速度可能更快。
uClinux系統多采用Romfs文件系統,Romfs是一種相對簡(jiǎn)單、占用空間較少的文件系統??臻g的節約來(lái)自于兩個(gè)方面:首先內核支持Romfs文件系統比支持ext2文件系統需要更少的代碼;其次romfs文件系統相對簡(jiǎn)單,在建立文件系統超級塊需要更少的存儲空間。Romfs是只讀的文件系統,禁止寫(xiě)操作,因此系統同時(shí)需要虛擬盤(pán)支持臨時(shí)文件和數據文件的存儲。
uClinux本身并沒(méi)有關(guān)注實(shí)時(shí)問(wèn)題,它并不是為了Linux的實(shí)時(shí)性而提出的。另外有一種Linux--Rt-linux關(guān)注實(shí)時(shí)問(wèn)題。Rt-linux執行管理器把普通Linux的內核當成一個(gè)任務(wù)運行,同時(shí)還管理了實(shí)時(shí)進(jìn)程。而非實(shí)時(shí)進(jìn)程則交給普通Linux內核處理。這種方法已經(jīng)應用于很多的操作系統用于增強操作系統的實(shí)時(shí)性,包括一些商用版UNIX系統,Windows NT等等。這種方法優(yōu)點(diǎn)之一是實(shí)現簡(jiǎn)單,且實(shí)時(shí)性能容易檢驗。優(yōu)點(diǎn)之二是由于非實(shí)時(shí)進(jìn)程運行于標準Linux系統,同其它Linux商用版本之間保持了很大的兼容性。優(yōu)點(diǎn)之三是可以支持硬實(shí)時(shí)時(shí)鐘的應用。uClinux可以使用Rt-linux的patch,從而增強uClinux的實(shí)時(shí)性,使得uClinux可以應用于工業(yè)控制、進(jìn)程控制等一些實(shí)時(shí)要求較高的應用。
評論