當前位置:首頁 » 操作系統 » nucleus源碼

nucleus源碼

發布時間: 2023-10-02 20:56:21

① MTK系統的手機能用安卓軟體

  1. MTK平台採用的是Nucleus OS,Nucleus是Accelerated Technology公司開發的嵌入式實時操作系統,使用標准C開發,其中Nucleus Plus提供源代碼下載。是一個非智能的系統,系統所帶的軟體全部需要嵌入式把代碼寫入到系統平台,然後燒機才可以使用。

  2. Android是一種基於linux的自由及開放源代碼的操作系統,安卓軟體是基於Android系統平台代碼介面編程從而打包好的一個apk文件,可以實現在該平台上直接安裝、運行、卸載等操作的軟體。

  3. MTK系統和Android系統有根本上的區別,所以安卓軟體是不可能運行在MTK系統上的哦。

② jsp源碼用英語怎麼說

jsp源碼
JSP source code

③ 開放源代碼軟體的應用平台

WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務。WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發展起來的服務,也是發展最快和目前用的最廣泛的服務。正是因為有了WWW工具,才使得近年來 Internet 迅速發展,且用戶數量飛速增長。
開源的web伺服器軟體包括apache、kangle、nginx等。
Blog
Blog 全名Web log,中文意思是「網路日誌」,後來縮寫為Blog。它是繼Email、BBS、IM之後出現的第四種網路交流方式,是網路時代的個人「讀者文摘」,是以超級鏈接為武器的網路日記,是代表著新的生活方式和新的工作方式,更代表著新的學習方式。簡言之,Blog 就是以網路作為載體,簡易迅速便捷地發布自己的心得,及時有效輕松地與他人進行交流,再集豐富多彩的個性化展示於一體的綜合性平台。
開源的Blog軟體有b2evolution(php+MySQL)、BLOG:CMS (PHP、基於Nucleus CMS)、BLOG:CMS (PHP、基於Nucleus CMS)等。
論壇
論壇又名網路論壇BBS,全稱為Bulletin Board System(電子公告板)或者Bulletin Board Service(公告板服務)。是Internet上的一種電子信息服務系統。它提供一塊公共電子白板,每個用戶都可以在上面書寫,可發布信息或提出看法。它是一種交互性強,內容豐富而即使的Internet電子信息服務系統。用戶在BBS站點上可以獲得各種信息服務,發布信息,進行討論,聊天等等。
開源的論壇應用軟體包括phpbb、BMForum、phpwind[等。 應用伺服器定是指通過各種協議把商業邏輯曝露給客戶端的程序。它提供了訪問商業邏輯的途徑以供客戶端應用程序使用。應用伺服器使用此商業邏輯就像調用對象的一個方法一樣。簡單的說能實現動態網頁技術的伺服器叫做應用伺服器。
開源的應用伺服器軟體包括Enhydra (Java)、JBoss (Java)、Open3 (XML)等。 消息伺服器作為網路的節點,專門用來存儲、轉發網路上的數據、信息(例如:聊天信息)。做一個形象的比喻:消息伺服器就像是郵局的交換機,而微機、筆記本、PDA、手機等固定或移動的網路終端,就如散落在家庭、各種辦公場所、公共場所等處的電話機。我們與外界日常的生活、工作中的電話交流、溝通,必須經過交換機,才能到達目標電話;同樣如此,我們利用個人電腦,PDA,手機等,發送消息,也必須經過消息伺服器,因此也可以說是消息伺服器在「組織」和「領導」這些接收消息設備。
開源的消息伺服器軟體包括ArsDigita (Tcl & Java)、Exolab Group (J2EE,整合OpenEJB,OpenJMS,OpenORA,Tyrex)、Zend (PHP)等。 企業應用程序是一個泛指的概念,細分下來可分為企業資源計劃(ERP)、客戶關聯管理、項目管理、內容管理、人力資源管理、自動化采購軟體、信息倉庫(CIW)、生產計劃、庫存管理、群組軟體、B2B和圖書館資源整合系統(ILS)。
開源的企業應用程序包括Compiere (ERP+CRM)、Compiere、Gnome Planner 、ArsDigita、phpgroupware、J2EE、Akopia、Compiere (ERP+CRM)、openapplications、OpenBiblio等。 所謂無線網路,既包括允許用戶建立遠距離無線連接的全球語音和數據網路,也包括為近距離無線連接進行優化的紅外線技術及射頻技術,與有線網路的用途十分類似,最大的不同在於傳輸媒介的不同,利用無線電技術取代網線,可以和有線網路互為備份。
開源的無線應用程序有kannel、Jwap、Ophelia等。 資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今五十年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
開源的資料庫軟體有BerkelayDB、MySQL、SQLite等。 「桌面環境」可能僅僅是一個簡單的窗口管理器,也可能是一個像 KDE 或者 GNOME這樣的完整桌面應用程序套件。
開源的桌面環境類軟體包括GNOME、GNUstep、KDE等。
窗口管理類
窗口管理,又名用戶界面,電子計算機系統中實現用戶與計算機信息交換的軟體、硬體部分。軟體部分包括用戶與計算機信息交換的約定、操作命令等處理軟體,硬體部分包括輸入裝置和輸出裝置。目前常用的是圖形用戶界面,它採用多窗口系統,顯示直接形象,操作簡便。
開源的窗口管理類軟體有Afterstep、Twm、fvwm、Window Maker等。
CD刻錄類
CD刻錄機的功能是:可以刻錄CD,讀取CD,但是卻無法讀取/寫入DVD,功能上次於COMBO,又次於DVD刻錄機。現在多數人使用的是DVDROM,COMBO,DVD刻錄機。性能方面:讀取——CDROM=CD刻錄機<DVDROM=COMBO=DVD刻錄機;寫入——CD刻錄機<COMBO<DVD刻錄機。
開源的CD刻錄軟體有CD Record、Freeburn、Xfburn等。
文件編輯類
文件編輯類軟體是一個泛指的概念,細分下來包括辦公軟體套件、記事本、PDF相關軟體、科技文本編輯器、文本編輯器、WYSIWYG和文件處理。
開源的文件編輯類軟體包括Gnome Office、KeyNote、FPDF、GNU TeXmacs、FreeDOS edlin、HTMLarea、AbiWord等。
教育類軟體
教育類軟體是一個泛指的概念,細分下來包括學習支持軟體、語言相關軟體、數學相關軟體、科學研究軟體、打字軟體和其他教育軟體。
開源的教育類軟體包括ILIAS、FlashKard、KBruch、BioJava、GNU Typist、KEca等。
金融相關軟體
從廣義上說,政府、個人、組織等市場主體通過募集、配置和使用資金而產生的所有資本流動都可稱之為金融。因此,不僅是金融業者,有關政府的財政,行業企業的行為、以及個人的理財都是金融的一部分。
開源的金融相關軟體有GnuCash、JCash、JMoney等。
游戲類軟體
游戲有很多種,在不同的媒體會以不同型式出現,使用的道具或參與的人數不一樣也會衍生出不同類型的游戲。其中包括:人手游戲、桌上游戲、版圖游戲、紙上游戲、紙牌游戲、群體游戲、電子游戲、角色扮演游戲、益智類游戲和其他。
開源的游戲類軟體有Abuse、Falcon's Eye、Java Risk、UFO2000、XulMine等。
網路軟體
網路及網際網路類軟體是一個泛指的概念,細分下來包括電子郵件、即時通訊軟體、通訊相關軟體、文件傳輸軟體、P2P文件共享軟體、遠程登錄、網頁瀏覽器、Webcam、Webgrabber、網路相關軟體和其他網路軟體。
絡及網際網路類軟體有Magic Mail Monitor 3、AMSN、Slrn、Samba、eMule、RealVNC、Galeon、Dorgem、HTTrack、Apache Tomcat、OpenLDAP等。
數學軟體類
是專門用來進行數學運算、數學規劃、統計運算、工程運算、繪制數學圖形或製作數學動畫的軟體。
開源的數學類軟體包括GAP、MAⅪMA、SINGULAR等。
媒體類
體類軟體是一個泛指的概念,細分下來包括音頻編輯軟體/音頻管理軟體、圖形類/圖片瀏覽類、媒體播放器類、視頻剪輯類。
源的媒體類軟體包括CD-DA X-Tractor、GOCR/JOCR、JCDSee、CoolPlayer、GNU VCDImager等。
操作系統類
操作系統(英語:Operating System,簡稱OS)是一管理電腦硬體與電腦軟體資源的程序,同時也是計算機系統的核心與基石。操作系統身負諸如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網上與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作介面。
開源的操作系統類軟體有開源Unix(System V/BSD)、FreeDOS、Linux、Menuet等。
密碼管理類
圍繞用戶賬號密碼安全和管理的軟體或者硬體的集合。
開源的密碼管理類軟體包括Password Safe、PINs等。
個人信息管理類
個人信息管理系統是一種提供個人信息組織管理功能的應用軟體。其目的是為了便於記錄、跟蹤和管理各種個人信息。
開源的個人信息管理類軟體有Elephant Memory、KAddressbook、KOrganizer等。
編程語言類
計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。如果按語種分,可以分為英文符號語言和漢語符號語言兩類。(典型的如:易語言、易語言.飛揚) 電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。目前通用的編程語言有兩種形式:匯編語言和高級語言。
開源的編程語言類軟體包括DJGPP、GCC、Open64、Objective CAML、PHP等。
屏幕保護軟體
屏幕保護程序是電腦程序,原意是通過將畫面空白,或在畫面上填滿移動的圖像,避免電腦顯示器在靜止的情況下產生磷質烙印,從而減低其壽命。現在,屏幕保護程序被用作娛樂或保安用途。
開源的屏幕保護軟體有Flurry、KISS Image Screen Saver、Really Slick Screensavers、xmatrix等。
安全軟體
安全軟體是一個泛指的概念,細分下來包括殺毒軟體、加密軟體、防火牆、SSH、其他安全軟體。
開源的安全軟體包括Open Antivirus、GnuPG、Coyote Linux、OpenSSH、Stunnel等。
其他軟體
下面列舉一些難於分類的開源軟體:
Active2
AstroGrep — 有GUI圖形界面的Grep
Autopackage — Linux上的軟體包管理系統
BibleTime — 聖經學習軟體
Bochs — PC積累器
Cygwin — Win32的開源Unix模擬環境
Link Checker — 檢查HTML文檔的壞連接
Memtest86 — 內存檢查軟體
Open Scene Graph
Sun Grid Engine —計算機集群軟體
TeX — 排版系統
Vitrite — Windows 2000/XP 上使窗口透明的軟體
WINE — 在Linux/BSD上運行Windows軟體
XFree86 — 視窗系統
gEDA自動化電器設計工具
GPAI 通用公共人工智慧平台

④ 如何學習 nucleus os

內容:
一、nucleus plus特點:
    1.內核採用微內核的設計,方便移植,資料寫著更reliable,但是我不這么認為,與linux相比,以ARM平台為例,NU只用到了SVC mode,內核與用戶任務都運行在同一個狀態下,也就是說所有的task都擁有訪問任何資源的許可權,這樣很reliable么?
    2.real-time OS,NU是一個軟實時操作系統(VxWorks是硬實時),thread control component支持多任務以及任務的搶占,對於中斷的處理定義了兩種服務方式,LISR和HISR,這個與linux中的上、下半部機制類似,linux中的下半部是通過軟中斷來實現的,NU的HISR只是作為一種優先順序總是高於task的任務出現。
    3.NU是以library的方式應用的,通過寫自己的app task與裁剪後的NU內核及組件鏈接起來,NU並沒有CLI

二、組件

1.IN component
    初始化組件由三個部分組成,硬體在reset後首先進入INT_initialize(),進行板級的相關初始化,首先設置SVC mode,關中斷,然後將內核從rom中拷貝至ram中,建立bss段,依次建立sys stack, irq stack和fiq stack,最後初始化timer,建立timer HISR的棧空間,看了一下2410平台的代碼,一個tick大概是15.8ms,完成板級的初始化後就進入了INC_initialize,初始化各個組件,其中包括Application initialize,create task和HISR,最後將控制權交給schele,主要看了一下RAM中地址空間的安排
|timer HISR stack = 1024|
|FIQ stack = 512|
|IRQ stack = 1024|
|SVC stack = 1024|
|.bss|
|.data|
|.text|
其中SVC stack的大小與中斷源的個數相關,nested irq發生時,irq_context保存在SVC stack中,IRQ的stack只是做了臨時棧的作用。

2.thread control component
    TC組件是NU內核的最重要組成部分,主要涵蓋了調度、中斷、任務的相關操作、鎖、時鍾幾個方面,下面分別介紹。

調度(schele)

    NU中的線程類型(在同一個地址空間內)有兩種,HISR和task,HISR可以理解為一種優先順序較高的task,但又不是task,HISR優先順序高於task的實現方式就是schle時,先去查看當前是否有active的HISR,再去查看task。task有suspend、ready、finished和terminated四種狀態,而HISR只有executing和no-active這兩種狀態。

    每一個task都有一個線程式控制制的數據結構(TCB thread control block),其中包括了task的優先順序、狀態、時間片、task棧、protect信息、signal操作的標志位和signal_handler等,task在創建時初始化這些信息,將task掛到一個create_list上,初始設定task為pure_suspend,如果設定auto start,調用resume_task()喚醒task,這里有個細節,如果在application initialize中create_task(),則task不會自動運行,因為初始化還未完成,控制權還沒有交給schele,無法調度task。task被喚醒後狀態改變為ready,並掛在一個TCD_Priority_List[256]上,數組的每個元素是一個指向TCB環形雙向鏈表的指針,根據task的tc_priority找到對應優先順序的TCB head pointer。
                           
    每一個HISR都有一個HISR控制的數據結構(HCB HISR control block),其中只有優先順序,HISR棧和HISR entry信息,因此HISR是不可以suspend,同時也沒有time slice以及signal的相關操作,一般情況下當發生了中斷後,HISR被activate,schele就會調度HISR運行,期間如果不發生中斷,HISR的執行是不會被打斷的,HISR的優先順序只有0、1、2,timer的HISR優先順序為2,也就是說由外部中斷激活的HISR很難被搶占的,只有更高優先順序的中斷HISR才可以。與task不同,被激活的HISR使用head_list和tail_list將HCB掛在一個單項的鏈表上,因為相同優先順序的HISR不會搶占對方,因此不需要雙向鏈表,使用兩個指針目的是加快HISR執行的速度。

    一個實時操作系統的核心就是對於任務的調度,NU的調度策略是time slice和round robin的演算法
調度的部分主要有三個函數control_to_system()用於保存上下文,建立solicited stack,關中斷,關system time slice,並重置task的time slice為預設值,將sp更新為system_stack_pointer,調用schele(),調度的過程是非常簡單的查詢,就是查看兩個全局的變數,TCD_Execute_HISR和TCD_Execute_Task,schele部分的關鍵是打開了中斷,不然如果當前沒有ready的task或是被激活的HISR,則shele死循環下去,查詢到下一個應該執行的線程後跳轉至control_to_thread(),在這里重新開啟system time slice,然後將線程的tc_stack_ptr加入到sp中,切換至線程的棧中,依次pop出來,即完成了任務調度。

    任務的切換主要是上下文的切換,也就是task棧的切換,函數的調用會保存部分regs和返回地址,這些動作都是編譯器來完成的,而OS中的任務切換是運行時(runtime)的一種狀態變化,因此編譯器也無能為力,所以對於上下文的保存需要代碼來實現。

    任務的搶占是非同步的因此必須要通過中斷來實現,一般每次timer的中斷決定當前的task的slice time是否expired,然後設置TCT_Set_Execute_Task為相同優先順序的其他task或更高優先順序的task;高優先順序的task搶占低優先順序的task,一般是外部中斷觸發,在HISR中resume_task()喚醒高優先順序的task,然後schele到高優先順序的task中,因為timer的HISR是在系統初始化就已經注冊的,只是執行timeout和time slice超時後的操作,並沒有執行resume_task的動作。

    NU中的stack有兩種solicited stack和interrupt stack,solicited stack是一種minmum stack,而interrupt stack是對當前所有寄存器全部保存,TCB中的minimum stack size = 申請得到stack size - solicited stack(在arm mode下佔44位元組,thumb mode下佔48位元組),thumb標志用來記錄上下文保存時的ARM的工作模式,c代碼編譯為thumb模式,這樣可以減小code size,提高代碼密度,assembly代碼編譯為arm模式提升代碼的效率,NU中內核的代碼不多,主要是assembly代碼。stack的類型與其中PC指向的shell無關,interrupt stack保存的是task或是HISR在執行的過程中被中斷時的現場,solicited stack建立的地方包括 control_to_system()、schele_protect()和send_signals()發送給佔有protect資源的task的情況,HISR_Shell()執行完後會建立solicited stack,再跳轉至schele。

(Lower Address) Stack Top -> 1 (Interrupt stack type)
CPSR Saved CPSR
r0 Saved r0
r1 Saved r1
r2 Saved r2
r3 Saved r3
r4 Saved r4
r5 Saved r5
r6 Saved r6
r7 Saved r7
r8 Saved r8
r9 Saved r9
r10 Saved r10
r11 Saved r11
r12 Saved r12
sp Saved sp
lr Saved lr
(Higher Address) Stack Bottom-> pc Saved pc

(Lower Address) Stack Top -> 0 (Solicited stack type)
!!FOR THUMB ONLY!! 0/0x20 Saved state mask
r4 Saved r4
r5 Saved r5
r6 Saved r6
r7 Saved r7
r8 Saved r8
r9 Saved r9
r10 Saved r10
r11 Saved r11
r12 Saved r12
(Higher Address) Stack Bottom-> pc Saved pc
一個簡單的例子說明stack的情況,首先是一個task在ready(executing)的狀態下,而且time slice超時了,timer中斷發生後,保存task上下文interrupt_contex_save(),在task的tc_stack_ptr指向的地方建立中斷棧
taskA    |interrupt stack|___tc_stack_ptr 棧頂端是pc=lr-4
ARM對於中斷的判定發生在當前指令完成execute時,同時pipeline的原因pc=pc+8,入棧時就把lr-4首先放在stack的最高端(high)。

timer的LISR完成後激活了HISR,執行TCC_Time_slice()將當前task移到相同優先順序的尾端,並且設置下一個要執行的task,HISR在棧頂端保存的是這個HISR_shell的入口地址,因為task的執行完就finished,HISR是可重入的
HISR     |solicited stack|  棧頂端是HISR_shell_entry

中斷(interrupt)

前面已經提及了中斷的基本操作,這里就寫一些代碼路徑的細節,中斷的執行主要是兩個部分LISR和HISR,分成兩個部分的目的就是將關中斷的時間最小化,並且在LISR中開中斷允許中斷的嵌套,以及建立中斷優先順序,都可以減少中斷的延遲,保證OS的實時性。
NU的中斷模式是可重入的中斷處理方式,也就是基於中斷優先順序和嵌套的模式,中斷的嵌套在處理的過程中應對lr_irq_mode寄存器進行保存,因為高優先順序的中斷發生時會覆蓋掉低優先順序中斷的r14和spsr,因此要利用系統的棧來保存中斷棧。

NU對於中斷上下文的保存具體操作如下:
(1)在中斷發生後執行的入口函數INT_IRQ()中,將r0-r4保存至irq的棧中
(2)查找到對應的interrupt_shell(),clear中斷源,更新全局的中斷計數器,然後進行interrupt_contex_save
(3)首先利用r1,r2,r3保存irq模式下的sp,lr,spsr,這里sp是用來切換至系統棧後拷貝lr和spsr的,這里保存lr和spsr是目的是task被搶占後,當再次schele時可以返回task之前的狀態。
(4)切換至SVC模式,如果是非嵌套的中斷則保存上下文至task stack中,將irq模式下的lr作為頂端PC的返回值入棧,將SVC模式下的r6-r14入棧,將irq模式下的sp保存至r4中入棧,最後將保存在irq_stack中的r0-r4入棧
(5)如果是嵌套中斷,中斷的嵌套發生在LISR中,在執行LISR時已經切換至system stack,因此嵌套中斷要將中斷的上下文保存至system stack中,與task stack中interrupt stack相比只是少了棧頂用來標記嵌套的標志(1 not nested)
(6)有一個分支判斷,就是如果當前線程是空,即TCD_Current_Thread == NULL,表明當前是schele中,因為初始化線程是關中斷的,這樣就不為schele線程建立棧幀,因為schele不需要保存上下文,在restore中斷上下文時直接跳轉至schele。

中斷上下文的恢復
全局的中斷計數器INT_Count是否為0來判定當前出棧的信息,如果是嵌套則返回LISR中,否則切換至system stack執行schele

timer
timer與中斷緊密相關,其實timer也是中斷的一種,只是發生中斷的頻率較高,且作用重大,一個實時操作系統,時間是非常重要的一部分,NU中的timer主要有四個作用:
(1)維護系統時鍾 TMD_system_clock
(2)task的time slice
(3)task的suspend timeout timer
(4)application timer
其中(3)(4)共用一種機制,一個全局的時間軸TMD_timer,timeout timer和app timer都建立在一個TM_TCB的數據結構上,通過tm_remaining_time來表徵當前timer的剩餘時間,例如當前有timer_list上有三個TM_TCB,依次是Ta = 5,Tb = 7, Tc = 20,那麼建立的鏈表上剩餘時間依次是5,2,8,如果現在要加入一個新的timer根據timer值插入至合適的位置,如果插入的timer為13,則安排在Tb後面,剩餘時間為1,後面的8改為7,當發生了timer expired,則觸發timer_HISR,如果是app timer則執行timer callback,如果是task timeout timer,則執行TCC_Task_Timeout喚醒task。

(2)的實現也是依賴於全局的time slice時間軸,每一個task在執行時都會將自己的時間片信息更新至全局的時間軸上,當一個task的time slice執行完在timer HISR中調用TCC_task_Timeout將當前的task放在相同優先順序list的最尾端,並設置下一個最高優先順序的任務。task在執行的過程中只有被中斷後time slice會保存下來,其他讓出處理器的情況都會將time slice更新為預設值。

protect
protect與linux的鎖機制類似,互斥訪問,利用開關中斷來實現,並且擁有protect的task是不可以suspend的,必須要將protect釋放後才可以掛起,當一個優先順序較低的task佔有protect資源,如果被搶占,一個高優先順序的task或HISR在請求protect資源時會執行TCC_schele_protect()讓出處理器給低優先順序的task執行,直到低優先順序的task執行unprotect()為止,此時task或HISR建立的是solicited stack,同時在control_to_thread前開關中斷一次,這樣可以減少一次上下文的切換。NU中常用到的是system_protect,它就是一把大鎖,保護內核中所有全局數據結構的順序訪問,粒度很大。

LISR中不可以請求protect資源,因為LISR是中斷task後執行,如果task佔有protect資源,這時LISR又去請求protect資源,會發生死鎖,因為LISR讓出處理器後,schele沒辦法再次調度到LISR執行,則發生死鎖錯誤,因此在LISR中除了activate_HISR()以外不可以使用system call,例如resume_task等等,這寫系統調用都會請求protect資源。

對於protect的請求按照一定的順序可以防止死鎖,NU的源碼中一般將system_protect資源的請求放在後面,其他如DM_protect先請求。

⑤ 誰能給我介紹下Nucleus操作系統

NucleusPLUS是為實時嵌入式應用而設計的一個搶先式多任務操作系統內核,其95%的代碼是用ANSIC寫成的,因此非常便於移植並能夠支持大多數類型的處理器。從實現角度來看,NucleusPLUS是一組C函數庫,應用程序代碼與核心函數庫連接在一起,生成一個目標代碼,下載到目標板的RAM中或直接燒錄到目標板的ROM中執行。

簡介
NucleusPLUS是目前最受歡迎的嵌入式操作系統之一。
性能
在典型的目標環境中,NucleusPLUS核心代碼區一般不超過20K位元組大小。NucleusPLUS採用了軟體組件的方法。每個組件具有單一而明確的目的,通常由幾個C及匯編語言模塊構成,提供清晰的外部介面,對組件的引用就是通過這些介面完成的。除了少數一些特殊情況外,不允許從外部對組件內的全局進行訪問。由於採用了軟體組件的方法,NucleusPLUS各個組件非常易於替換和復用。NucleusPLUS的組件包括任務控制、內存管理、任務間通信、任務的同步與互斥、中斷管理、定時器及I/O驅動等。
編輯本段特點
Nucleus具有如下特點:
提供源代碼
1、提供源代碼 NucleusPLUS提供注釋嚴格的C源級代碼給每一個用戶。這樣,用戶能夠深入地了解底層內核的運作方式,並可根據自己的特殊要求刪減或改動系統軟體,這對軟體的規范化管理及系統軟體的測試都有極大的幫助。另外,由於提供了RTOS的源級代碼,用戶不但可以進行RTOS的學習和研究,而且產品在量產時也不必支付License,可以省去大量的費用。對於軍方來說,由於提供了源代碼,用戶完全可以控制內核而不必擔心操作系統中可能會存在異常任務導致系統崩潰。
性價比高
2、性價比高 NucleusPLUS由於採用了先進的微內核(Micro-kernel)技術,因而在優先順序安排,任務調度,任務切換等各個方面都有相當大的優勢。另外,對C++語言的全面支持又使得NucleusPLUS的Kernel成為名副其實的面向對象的實時操作系統內核。然而,其價格卻比較合理。所以,容易被廣大的研發單位接受。
易學易用
3、易學易用 NucleusPLUS能夠結合Paradigm,SDS以及ATI自己的多任務調試器組成功能強大的集成開發環境,配合相應的編譯器和動態聯結庫以及各類底層驅動軟體,用戶可以輕松地進行RTOS的開發和調試。另外,由於這些集成開發環境(IDE)為所有的開發工程師所熟悉,因而,容易學習和使用。
功能模塊豐富
4、功能模塊豐富 NucleusPLUS除提供功能強大的內核操作系統外,還提供種類豐富的功能模塊。例如用於通訊系統的局域和廣域網路模塊,支持圖形應用的實時化Windows模塊,支持Internet網的WEB產品模塊,工控機實時BIOS模塊,圖形化用戶介面以及應用軟體性能分析模塊等。用戶可以根據自己的應用來選擇不同的應用模塊。

⑥ MTK手機是什麼意思啊

MTK手機中的MTK是指台灣聯發科技多媒體晶元提供商的簡稱,現在大多數國產手機都為MTK平台手機,如塞班也是一種平台。

熱點內容
數組存儲在哪 發布:2025-01-23 15:09:50 瀏覽:893
php獲取二維數組的值 發布:2025-01-23 15:08:03 瀏覽:673
上傳為防盜鏈圖片 發布:2025-01-23 14:57:11 瀏覽:301
伺服器essd什麼意思 發布:2025-01-23 14:51:24 瀏覽:269
spring上傳文件限制 發布:2025-01-23 14:50:30 瀏覽:310
奇亞幣p圖軟體存儲機 發布:2025-01-23 14:38:03 瀏覽:44
linux有用的命令 發布:2025-01-23 14:35:03 瀏覽:681
php顯示縮略圖 發布:2025-01-23 14:22:17 瀏覽:726
安卓哈利波特怎麼更換賬號 發布:2025-01-23 14:16:44 瀏覽:586
中國壓縮包 發布:2025-01-23 14:10:49 瀏覽:499