4. 操作系統(tǒng)
4.1 概述
操作系統(tǒng)負(fù)責(zé)運(yùn)行時(shí)間調(diào)度赌朋,資源管理和AP所有應(yīng)用的進(jìn)程間通信篇裁。OS和EM模塊一起工作。EM負(fù)責(zé)平臺(tái)初始化和使用OS執(zhí)行應(yīng)用的啟動(dòng)和關(guān)閉团甲。
AP平臺(tái)不會(huì)為高性能處理器指定新的操作系統(tǒng)黍聂。而是它定義了adaptive 程序使用的執(zhí)行上下文和操作系統(tǒng)接口(OSI)。
OSI規(guī)范包含應(yīng)用程序接口圾另,它們是AP應(yīng)用程序的標(biāo)準(zhǔn)應(yīng)用程序接口A(yíng)RA的一部分雕沉。操作系統(tǒng)本身可以很好地提供其他接口,例如創(chuàng)建進(jìn)程坡椒,這些接口是EM啟動(dòng)應(yīng)用程序所需的。但是汗唱,提供這些功能的接口丈攒,除了其他功能外授霸,不能作為ARA的一部分使用际插,它被定義為依賴(lài)于平臺(tái)實(shí)現(xiàn)。
OSI同時(shí)提供C和c++接口框弛。對(duì)于C程序,應(yīng)用程序的主要源代碼業(yè)務(wù)邏輯包括POSIX標(biāo)準(zhǔn)中定義的C函數(shù)調(diào)用斗搞,即IEEE1003.13[1]中定義的PSE51慷妙。在編譯過(guò)程中,編譯器決定平臺(tái)的操作系統(tǒng)中的哪個(gè)C庫(kù)提供了這些C函數(shù)景殷,可執(zhí)行的應(yīng)用程序會(huì)在運(yùn)行時(shí)被鏈接澡屡。對(duì)于c++程序,應(yīng)用程序軟件組件的源代碼包括c++標(biāo)準(zhǔn)及其標(biāo)準(zhǔn)c++庫(kù)中定義的函數(shù)調(diào)用绩蜻。
4.2 POSIX
市場(chǎng)上有幾種提供POSIX兼容接口的操作系統(tǒng)室埋,例如Linux。但是孕蝉,與平臺(tái)服務(wù)和基礎(chǔ)相比腌逢,應(yīng)用程序使用操作系統(tǒng)API受限。
一般的假設(shè)是搏讶,用戶(hù)應(yīng)用程序應(yīng)該使用PSE51作為操作系統(tǒng)接口,而平臺(tái)應(yīng)用程序可以使用完整的POSIX系吩。如果在應(yīng)用程序級(jí)別上需要更多的特性妒蔚,那么這些特性將來(lái)自POSIX標(biāo)準(zhǔn)月弛,而不是在可能的情況下新指定的科盛。
Adaptive Platform Foundation和Adaptive Platform Services功能的實(shí)現(xiàn)可能會(huì)使用將來(lái)的POSIX調(diào)用。特定調(diào)用的使用將對(duì)實(shí)現(xiàn)者開(kāi)放佛寿,而不是標(biāo)準(zhǔn)化但壮。
4.3 調(diào)度
操作系統(tǒng)支持多線(xiàn)程和多進(jìn)程。標(biāo)準(zhǔn)的調(diào)度是POSIX標(biāo)準(zhǔn)的SCHED_FIFO和SCHED_RR蜡饵。其他的調(diào)度策略比如SCHED_DEADLINE或者其他的操作系統(tǒng)特定的策略是被允許的。而限制是不同AP實(shí)現(xiàn)不能移植肢专。
4.4 內(nèi)存管理
多進(jìn)程支持背后的其中一個(gè)原因是實(shí)現(xiàn)不同功能集合和AA之間的免打擾焦辅。OS的多進(jìn)程支持迫使每個(gè)進(jìn)程在一個(gè)獨(dú)立的地址空間中,與其他進(jìn)程隔離和保護(hù)剃根。同一個(gè)可執(zhí)行文件的兩個(gè)實(shí)例在不同的地址空間中運(yùn)行前方,這樣它們可以共享相同的入口點(diǎn)地址和代碼,以及在啟動(dòng)時(shí)的數(shù)據(jù)值惠险。但是,這些數(shù)據(jù)實(shí)在內(nèi)存中不同的物理頁(yè)中渣慕。
4.5 設(shè)備管理
設(shè)備管理將在POSIX PSE51接口中提供趣竣。有關(guān)詳細(xì)信息,請(qǐng)參閱POSIX規(guī)范遥缕。