VxWorks的系統任務
VxWorks在引導時啟動的系統任務依賴於配置,有些總是運行。任務集與VxWorks的基本配置相關,很少的任務常用於可選的組件。
注意:別掛起、刪除或改變任何系統任務的優先級。否則將導致不可預期的系統行為。
基本VxWorks任務
Root Task
任務名稱 |
tRootTask |
優先級 |
0 |
觸發事件 |
系統啟動 |
組件 |
N/A |
描述 |
是第一個被內核執行的任務。入口函數是usrRoot,它初始化大部分VxWorks的功能。通常該任務在所有初始化完成之后終止。 它啟動tLogTask,tExcTask任務,網絡任務和tRlogin后代。 |
引用 |
VxWorks BSP Developer’s Guide |
Logging Task
任務名稱 |
tLogTask |
優先級 |
0 |
觸發事件 |
從ISR或任務中調用logMsg函數 |
組件 |
INCUDE_LOGGING |
描述 |
該任務被VxWorks模塊調用來記錄系統消息和從不得不執行I/O的ISR中的消息。 |
引用 |
logLib API |
Exception Task
任務名稱 |
tExcTask |
優先級 |
0 |
觸發事件 |
從ISR中調用excJobAdd函數 |
組件 |
INCUDE_EXC_TASK |
描述 |
代表ISR執行在中斷時不能執行的函數調用。必須在系統中有最高優先級。 |
引用 |
excLib API |
Job Task
任務名稱 |
tJobTask |
優先級 |
0 while waitting for a request |
觸發事件 |
N/A。所有被VxWorks系統壓入隊列的工作。 |
組件 |
INCUDE_JOB_TASK |
描述 |
代表任務執行執行工作。它運行在優先級0,然而等待請求,動態調整優先級來匹配請求執行工作的任務。一個主要用途是處理任務自刪。 |
引用 |
|
SMP ISR Task
任務名稱 |
tISRn |
優先級 |
0 |
觸發事件 |
調用isrDeferJobAdd的設備中斷 |
組件 |
INCUDE_ISR_DEFER |
描述 |
當設備驅動執行isrDeferJobAdd時,代表設備驅動來執行函數調用。n指的是延期任務真正運行的CPU的索引。按需要創建單獨的任務,每個任務與CPU相關聯。SMP感知的設備驅動,將延遲中斷到運行在本地CPU的tIsrN任務處理,為了避免交叉處理通信的負載。 |
引用 |
isrDeferLib API |
Network Task
任務名稱 |
tNet0 |
優先級 |
50(默認) |
觸發事件 |
報文到達,傳輸完畢,網絡協議定時器過期,套接字請求等。 |
組件 |
INCUDE_NET_DAEMON |
描述 |
tNet0為VxWorks網絡協議棧執行網絡驅動和網絡協議處理。 |
引用 |
Network Stack Programmer‘s Guide |
WDB Target Agent Task
任務名稱 |
tWdbTask |
優先級 |
3 (默認) |
觸發事件 |
N/A |
組件 |
INCUDE_WDB |
描述 |
當目標代理被設置為以任務模式運行時,該任務唄創建。響應從主機工具過來的請求。 |
引用 |
E.WDB Target Agent |
WDB Target Agent Proxy Task
任務名稱 |
tWdbProxyTask |
優先級 |
55 (default) |
觸發事件 |
N/A |
組件 |
INCUDE_WDB_PROXY |
描述 |
當VxWorks沒有配置網絡棧時,代理用於與WDB通信。代理通過TCP/IP與主機工具通信,支持UDP/IP,TIPC,和MIPC。 |
引用 |
E.WDB Target Agent |
可選組件的任務
下面的任務是VxWorks常見配置中的額外的任務
Kernel Shell Task
任務名稱 |
tShellN |
優先級 |
1 (可配置) |
觸發事件 |
系統引導(默認) |
組件 |
INCUDE_SHELL |
描述 |
Kernel Shell作為任務發起。從內核Shell中調用的任何函數和任務,不是發起,都運行在tShellN的上下文中。在控制台shell中的任務名稱是tShell0。內核shell可以被重入,因此可以在同時運行多個shell。遠程登錄的用戶,名稱也是一樣的。如他ShellRem1。tShell的基本名稱是可以配置的。 |
引用 |
VxWorks Kernel Shell User's Guide |
Kernel Shell Login Task
任務名稱 |
tRlogind |
優先級 |
55 |
觸發事件 |
新的rlogin連接。 |
組件 |
INCUDE_RLOGIN |
描述 |
該登錄后台允許用戶遠程登錄。接受從另外一個VxWork或主機系統並啟動tRlogInTask_hexNum任務和tRlogOutTask_hexNum任務(這里的_hexNum表示該連接的十六進制數值)。只要遠程用戶沒有退出,該任務一直存在。另外,除非shell被配置成兼容5.5模式,服務器啟動遠程shell任務tShellRemdecNum(這里的decNum指向遠程shell會話的十進制數值)。 |
引用 |
rlogLib API |
Kernel Shell Telnet Task
任務名稱 |
ipcom_telnetd |
優先級 |
50 |
觸發事件 |
新的telnet連接 |
組件 |
INCUDE_IPTELNETS |
描述 |
運行用戶通過telnet遠程登錄。ipcom_telnetd啟動其它任務服務新的連接,包括ipcom_telnetspawn,tStdioProxyhexNum和 tLoginhexNum。除非shell被配置為兼容5.5模式,否則遠程shell任務tShellRemdecNum被啟動。 |
引用 |
Wind River Network Stack Programmer's Guide |
RPC Task
任務名稱 |
tPortmapd |
優先級 |
54 |
觸發事件 |
客戶端查詢RPC服務時 |
組件 |
INCUDE_RPC |
描述 |
它作為RPC服務器處理運行在同一台機器上的RPC服務的中央注冊器。RPC客戶端通過查詢它來找到如何與各種服務器通信的辦法。 |
引用 |
rpcLib API |