時間:2022-07-18 17:44:09
序論:在您撰寫操作系統(tǒng)論文時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導您走向新的創(chuàng)作高度。
總體設(shè)計
仿真系統(tǒng)在指揮控制系統(tǒng)設(shè)計全過程的作用,如圖所示:從上圖可見,仿真系統(tǒng)在反坦克導彈連指揮控制系統(tǒng)的設(shè)計過程中有著重要的頂層分析、輔助設(shè)計、論證優(yōu)化作用。仿真系統(tǒng)的定制開發(fā)的基本流程是:
1)從作戰(zhàn)使用層面,需要詳細分析反坦克導彈體系的協(xié)同和信息交互及導彈連戰(zhàn)斗關(guān)系系統(tǒng)的使用環(huán)境、作戰(zhàn)原則、系統(tǒng)配置、攻擊對象特性和不同作戰(zhàn)過程、不同使用模式下的系統(tǒng)響應、狀態(tài)轉(zhuǎn)換關(guān)系,形成系統(tǒng)的工作流程。
2)從信息交互層面,需要詳細分析導彈連戰(zhàn)斗管理系統(tǒng)所需信息,研究信息交互的內(nèi)容、對象、交互類型和方式、交互頻度和實時性要求等,明晰系統(tǒng)對信息融合、傳輸、處理和信息共享、分發(fā)及協(xié)同的需求。
3)根據(jù)需求,建立仿真所需的硬件平臺,并組成相應的通信網(wǎng)絡(luò)。
4)分析設(shè)計仿真對象,形成對象配置文件。
5)編輯系統(tǒng)結(jié)構(gòu)、業(yè)務流程、程序接口,形成仿真規(guī)劃配置文件。
6)利用可視化開發(fā)工具,編輯二維、三維可視化設(shè)計,生成可視化規(guī)劃配置文件。
硬件系統(tǒng)設(shè)計
反坦克導彈指揮控制仿真系統(tǒng)通過構(gòu)成無線、有線、有無線混合組網(wǎng)等通信方式,采用標準通信格式,模擬反坦克導彈連與上級、友鄰、協(xié)同部隊、保障分隊通信的互聯(lián)網(wǎng),以及模擬反坦克導彈連內(nèi)部指揮控制專用網(wǎng)絡(luò),實現(xiàn)硬件節(jié)點間的互聯(lián)互通。
反坦克導彈指揮控制仿真系統(tǒng)包含下列硬件節(jié)點:
1)服務器:用于外部數(shù)據(jù)處理及數(shù)據(jù)傳輸。
2)任務規(guī)劃席:用于用戶對仿真任務的配置及過程控制。功能包括:開始、結(jié)束仿真;新建或選擇仿真任務;配置仿真對象屬性;仿真速度倍率控制。
3)車輛模擬席:用于仿真車輛的實際運行狀態(tài),包括:仿真發(fā)射車運動狀態(tài)及位置數(shù)據(jù),仿真車輛通信、偵察、指揮、射擊、裝填等業(yè)務能力、作業(yè)過程及作業(yè)結(jié)果。
4)車輛指控席:用于仿真車輛的指揮終端所執(zhí)行的功能,當驗證在研指揮控制系統(tǒng)時,可更換為實裝設(shè)備,直接進行半實物仿真測試。
5)敵軍模擬席:用于顯示敵軍單位信息,包括:仿真敵軍位置數(shù)據(jù)及車輛的運動狀態(tài),仿真已毀和剩余敵軍目標信息。硬件結(jié)構(gòu)部署圖如下:
軟件系統(tǒng)設(shè)計
1軟件體系結(jié)構(gòu)概述
反坦克導彈指揮控制仿真系統(tǒng)包括業(yè)務邏輯設(shè)計和可視化界面開發(fā)兩個基本層面。
1.1仿真對象模型
仿真對象的模型設(shè)計是干預、表現(xiàn)和分析仿真過程的實體要素,是決定仿真系統(tǒng)嚴密性、魯棒性、可控性的關(guān)鍵環(huán)節(jié)。仿真對象模型設(shè)計的關(guān)鍵是對各作戰(zhàn)單元的狀態(tài)分工的充分考慮,仿真對象的特性和狀態(tài)通過屬性變量來表述控制,仿真對象的全部狀態(tài)屬性,構(gòu)成了虛擬作戰(zhàn)環(huán)境的總體狀態(tài)空間,各仿真對象屬性相互依存影響,對仿真對象屬性的更改程度直接決定了仿真過程的復雜程度。
1.2仿真算法庫
反坦克導彈連指揮控制系統(tǒng)的仿真算法庫的建立是指設(shè)計整理出指揮控制系統(tǒng)中的基礎(chǔ)的、典型的算法模型,定義相關(guān)數(shù)字接口,形成算法構(gòu)件,實現(xiàn)系統(tǒng)的模塊化、體系化功能,這對于仿真系統(tǒng)的有效性、通用性有著至關(guān)重要的意義,涉及仿真系統(tǒng)物理結(jié)構(gòu)、工況及狀態(tài)遷移、信息交互、信息融合等技術(shù),主要包括:
1)基本數(shù)學庫;
2)數(shù)據(jù)類型轉(zhuǎn)換庫;
3)時間運算庫;
4)車體運動模型;
5)導彈運動模型庫;
6)彈藥信息組裝及解析庫;
7)擴展數(shù)學庫;
8)坐標系轉(zhuǎn)換庫;
9)休眠模塊。同時,仿真系統(tǒng)的通用軟件接口,可接入典型的反坦克導彈連指揮控制模型。
1.3事件響應關(guān)系
從仿真的角度來說,模型的執(zhí)行序列是由作戰(zhàn)模擬系統(tǒng)的事件調(diào)度機制決定的,即使每個仿真對象都設(shè)計得完備有效,而模型間的事件調(diào)度機制不充分嚴密,可能無法實現(xiàn)想定的作戰(zhàn)意圖,甚至得到扭曲的仿真結(jié)果。事件響應關(guān)系就是進一步明確指揮控制系統(tǒng)中各單位分工、作戰(zhàn)使用需求和工作流程,建立起仿真對象的調(diào)用順序、調(diào)用條件和調(diào)用結(jié)果的規(guī)則庫,來體現(xiàn)模型運行的約束性。
2可視化界面開發(fā)
反坦克導彈連指揮控制仿真系統(tǒng)的可視化平臺建立了一個可視化仿真框架,包括分布式仿真系統(tǒng)配置模型和運行機制的可視化,以及配套的管理及開發(fā)工具,實現(xiàn)了仿真任務的可視化定制。同時,建立了一個具有多種指揮、顯示功能的綜合指揮顯示系統(tǒng)平臺,實現(xiàn)了整體作戰(zhàn)態(tài)勢及武器系統(tǒng)、車輛、設(shè)備的狀態(tài)和遷移過程的二維、三維可視化集中顯示和集成控制。以下為部分典型操作的可視化開發(fā)界面:
關(guān)鍵字組件重用操作系統(tǒng)OSKit
1引言
當前,操作系統(tǒng)的功能不斷擴展,操作系統(tǒng)的類型呈現(xiàn)出多樣化的趨勢。一個小規(guī)模的開發(fā)小組已經(jīng)不可能完全從頭開始實現(xiàn)一個實用的操作系統(tǒng),而一般情況下,研究人員只對操作系統(tǒng)的一些特定領(lǐng)域感興趣,而對于另外一些元素,如啟動加載代碼、核心啟動代碼、設(shè)備驅(qū)動程序和內(nèi)存分配代碼等往往不感興趣,但是一個可運行的原型系統(tǒng)又必須包含這些內(nèi)容。編寫這些基礎(chǔ)結(jié)構(gòu)延緩了操作系統(tǒng)研究項目的進度,同時也增加了進行操作系統(tǒng)研究的代價。為了解決這一問題,猶他大學的FLUX研究小組開發(fā)了OSKit,它提供了一個框架和一組模塊化的、具有簡單接口的庫以及一組清晰的、可重用的OS組件。OSKit可以用來構(gòu)建操作系統(tǒng)內(nèi)核、外層服務和其他核心OS功能模塊。OSKit提供了各種功能模塊,諸如簡單自舉,一個可用于內(nèi)核的最小化POSIX環(huán)境、與物理內(nèi)存和其約束一致的內(nèi)存管理、廣泛的調(diào)試支持,以及高層子系統(tǒng)如協(xié)議棧和文件系統(tǒng)。開發(fā)者可以根據(jù)自己的研究興趣或所要考慮的性能來使用這些模塊,或用他們自己的模塊來替代標準的OSKit模塊。
OSKit公開了它內(nèi)部的實現(xiàn)細節(jié),允許用戶從成熟的操作系統(tǒng)中不加修改地提取代碼,然后通過一小部分經(jīng)過仔細設(shè)計的粘接代碼將它們合并到一起,隔離它們的依賴性,并輸出良好定義的接口。OSKit使用這一技術(shù)整合了許多穩(wěn)定而成熟的源代碼,包括設(shè)備驅(qū)動、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議等等。實踐表明,使用組件軟件架構(gòu)和重用技術(shù)會給操作系統(tǒng)實現(xiàn)領(lǐng)域帶來大的影響。
2組件技術(shù)簡介
組件技術(shù)是一種較新的軟件開發(fā)技術(shù)。到目前為止,還難以確定組件技術(shù)的明確定義。比如,對組件技術(shù)的常見說法有以下這些:“二進制軟件單元”、“任意場合可部署的軟件”、“特別適合第三方開發(fā)”和“規(guī)范定義的接口”等等。大致上可以這樣理解:所謂組件,其實就是一種可部署軟件的代碼包,其中包括某些可執(zhí)行模塊。組件單獨開發(fā)并作為軟件單元使用,它具有明確的接口,軟件就是通過這些接口調(diào)用組件所能提供的服務,多種組件可以聯(lián)合起來構(gòu)成更大型的組件乃至直接建立整個系統(tǒng)。組件的實現(xiàn)必須支持一種或者多種其用戶所希望獲得的接口。實現(xiàn)組件并不一定需要采用面向?qū)ο笳Z言。為了構(gòu)造新應用程序,軟件開發(fā)人員找出適當?shù)慕M件,將這些組件加入到正在開發(fā)中的應用程序,同時對應用程序進行測試并保證應用程序的組裝工作按照預定的規(guī)劃正常進行。采用組件技術(shù)能降低開發(fā)、測試和維護成本,提高可靠性和穩(wěn)定性。
3Oskit組件綜述
OSKIT的組件庫提供了一般情況下更高層的功能,它通常只對外開放一些相關(guān)的公用調(diào)用接口。目標系統(tǒng)通過OSKit的面向?qū)ο蟮腃OM接口來與這些組件進行交互。以下幾節(jié)概述了OSKit所提供的組件。
3.1引導程序
大多數(shù)操作系統(tǒng)多有自身的啟動加載機制,彼此互不兼容。這種加載機制的多樣性并不是由于每個OS所要求的自舉服務不同而引起,而是由于構(gòu)建啟動加載器的特定方式造成的。因為從操作系統(tǒng)研究的立場來看,啟動加載器是一個令人不敢興趣的領(lǐng)域,因此OS開發(fā)者通常進行一個最小化、快捷的設(shè)計。由于設(shè)計理念和要求的輕微差別,每個啟動加載器都不適用于下一個OS。為了解決這個問題,OSKit直接支持多啟動標準,這一標準是由幾個OS項目的成員共同設(shè)計的,它的目的是提供一個簡單而通用的啟動加載器與OS內(nèi)核間的接口,從而允許一個啟動加載器加載任何兼容的OS。
在進行操作系統(tǒng)研究時,多啟動標準非常有用,這其中的主要原因是啟動加載器在加載內(nèi)核自身的同時還具有加載附加文件或者啟動模塊的能力。這里的一個啟動模塊只是一個普通文件,啟動加載器不以任何方式解釋它,而僅僅把它隨同內(nèi)核映像一起加載到保留物理內(nèi)存塊中。在啟動內(nèi)核時,啟動加載器提供給內(nèi)核以下內(nèi)容:物理地址的列表、所有已加載的啟動模塊的大小,以及與每個模塊相聯(lián)系的由用戶定義的字符串。這些啟動模塊和與它們相聯(lián)系的用戶定義的字符串由內(nèi)核解釋。這樣做的目的是為了通過提供內(nèi)核啟動時需要的數(shù)據(jù),諸如初始化程序、設(shè)備驅(qū)動和文件系統(tǒng)服務器,來減輕內(nèi)核啟動的負擔。
3.2核心支持庫
OSKit核心支持庫的主要用途是讓客戶OS更容易訪問硬件設(shè)施。它包含了一個較大的實用函數(shù)和符號定義的集合,該集合對于管理模式代碼是非常具體的。與此相對應,OSKit的大多數(shù)其他庫在用戶模式代碼中通常很有用。和OSKit的其余部分所不同的是,多數(shù)核心支持代碼必須是針對特定系統(tǒng)結(jié)構(gòu)的,而這些特定機器的細節(jié)對客戶OS也是有用的。例如,在x86機器上,核心支持庫包含一些函數(shù),用來創(chuàng)建和操縱x86頁表和段寄存器。其他OSKit組件通常提供建立在這些低層機制上的與體系結(jié)構(gòu)無關(guān)的設(shè)施,但是為了提供最大的靈活性,與特定結(jié)構(gòu)相關(guān)的接口始終可以被訪問。
OSKit核心支持庫在x86體系結(jié)構(gòu)上尤為重要,因為該體系結(jié)構(gòu)的OS級編程環(huán)境特別復雜和模糊。核心支持庫仔細地設(shè)置了一個基本的32位執(zhí)行環(huán)境(為了與MS-DOS兼容,x86處理器通常以16位模式開始),初始化段和頁轉(zhuǎn)換表,安裝一個中斷向量表,并提供缺省的陷阱和中斷處理程序。當然,客戶OS能夠修改或重載這些行為。然而,在缺省情況下,核心支持庫自動地做所有必要的工作,以便使處理器進入一個方便的執(zhí)行環(huán)境,此時中斷、陷阱、調(diào)試以及其他標準設(shè)施已經(jīng)如預期的那樣開始工作。該庫在缺省情況下自動地定位所有隨內(nèi)核加載的啟動模塊,并保留它們所在的物理內(nèi)存。接下來,應用程序可以很容易使用它們??蛻鬙S只需以標準C語言風格提供一個main()函數(shù)。一切都設(shè)置好以后,內(nèi)核支持庫將用所有參數(shù)和由啟動加載器傳遞過來的環(huán)境變量來調(diào)用它。
3.3內(nèi)存管理庫
如同在一個標準C語言庫中實現(xiàn)的malloc()一樣,內(nèi)存管理代碼典型地用于用戶空間。通常并不適用于內(nèi)核。設(shè)備驅(qū)動常常需要分配特定類型的內(nèi)存,并伴隨具體的調(diào)整屬性。例如,對于內(nèi)建的DMA控制器只能訪問最初的16M物理內(nèi)存。為解決這些內(nèi)存管理問題,OSKit包含了兩個簡單而靈活的內(nèi)存管理庫:(1)基于隊列的內(nèi)存管理器(或稱LMM),它提供了功能強大且高效的原語來進行分配管理,并支持在一個池中管理多種類型的內(nèi)存。(2)地址映射管理器(或稱AMM)被設(shè)計用來管理不必直接映射到物理內(nèi)存或虛擬內(nèi)存的地址空間,它對OS的其他方面提供了類似的支持,諸如進程地址空間、分頁、空閑塊或IPC名字空間的管理。盡管這些庫可以很容易地應用在用戶空間,但實際上它們是被特別設(shè)計用來滿足OS內(nèi)核的需求。超級秘書網(wǎng)
3.4最小C語言庫
成熟的OS內(nèi)核一般都包含著相當數(shù)量的僅僅用來重新實現(xiàn)基本的C語言庫函數(shù)如printf()和malloc()的代碼。與此形成對比的是,OSKit提供了一個最小化C語言函數(shù)庫,它圍繞著最小化依賴性而不是最大化函數(shù)性和性能的原則來設(shè)計。
3.5調(diào)試支持
OSKit的一個最實用的好處是:給定一個適當?shù)挠布O(shè)置,它立刻就能提供給OS開發(fā)者一個完全源代碼級的內(nèi)核調(diào)試環(huán)境。OSKit內(nèi)核支持庫包括一個可用于GNU調(diào)試器(GDB)的串行存根模塊,它在客戶OS環(huán)境中處理陷阱,并使用GDB的標準遠程調(diào)試協(xié)議通過一個串行程序與運行在另一臺機器上的GDB通信。甚至當客戶機OS執(zhí)行自己的陷阱處理時,OSKit的GDB存根模塊也是可用的。如果客戶OS提供適當?shù)你^子,它甚至支持多線程調(diào)試。除了基本的調(diào)試器支持,OSKit也提供了一個內(nèi)存分配調(diào)試庫,它可以跟蹤內(nèi)存分配并檢測一般的錯誤,如緩沖區(qū)溢出和釋放已釋放的內(nèi)存。這個庫提供了與許多普通應用程序調(diào)試器相似的功能性,所不同的是它運行在由OSKit提供的最小內(nèi)核環(huán)境中
3.6設(shè)備驅(qū)動支持
在OS開發(fā)和維護中最艱巨的一個任務是支持多種多樣的I/O硬件。這些復雜的設(shè)備常會含有潛在的錯誤,而新硬件的又常常伴隨著不兼容的軟件接口。由于這些原因,OSKit采用了為現(xiàn)有內(nèi)核開發(fā)的穩(wěn)定的、經(jīng)過充分測試的驅(qū)動程序。OSKit使用了一種封裝技術(shù),將現(xiàn)有的驅(qū)動程序代碼基本上未加修改地合并到OSKit中。這些現(xiàn)有的驅(qū)動程序被一個OSKit粘結(jié)代碼層所包裝,從而使得這些驅(qū)動程序可以在與開發(fā)它們的環(huán)境完全不同的環(huán)境中工作。目前,來自Linux的大多數(shù)以太網(wǎng)卡、SCSI和IDE磁盤的設(shè)備驅(qū)動程序被包括進來,總數(shù)超過了五十種。用同樣的方式,來自FreeBSD的八個字符設(shè)備驅(qū)動程序也被包含了進來,它們支持標準PC控制臺和串口及不同的多串口板。由于OSKit把這些驅(qū)動仔細地進行了包裝,F(xiàn)reeBSD驅(qū)動程序可以與Linux驅(qū)動程序一起工作。
3.7協(xié)議棧
OSKit提供了一個完整的TCP/IP網(wǎng)絡(luò)協(xié)議棧。如同驅(qū)動程序一樣,有關(guān)網(wǎng)絡(luò)的代碼也可以通過封裝機制被合并進來。OSKit當前可以從Linux中獲取網(wǎng)絡(luò)設(shè)備驅(qū)動程序,它們是PC平臺可獲得的最大的免費資源。OSKit的網(wǎng)絡(luò)組件繼承于FreeBSD4.4,它通常被認為具有更多成熟的網(wǎng)絡(luò)協(xié)議。這顯示了使用封裝機制將現(xiàn)有軟件包裝成靈活的組件的第二個優(yōu)點:即從不同的資源中獲取最好的組件,并讓它們一起被使用。
3.8文件系統(tǒng)
通過使用封裝技術(shù),OSKit吸收了NetBSD的基于磁盤的文件系統(tǒng)代碼。NetBSD之所以被選擇為首要資源庫,是因為在可用的系統(tǒng)中,它的文件系統(tǒng)代碼被最清晰地分離了出來,而FreeBSD和Linux的文件系統(tǒng)與它們的虛擬內(nèi)存系統(tǒng)結(jié)合的更緊密。當前,OSKit也把Linux文件系統(tǒng)合并了進來,以便能夠支持多種類型的文件系統(tǒng)格式,如Windows95、OS/2和SystemV的文件系統(tǒng)格式等等。
OSKit文件系統(tǒng)輸出的COM接口類似于許多Unix文件系統(tǒng)所使用的內(nèi)部VFS接口。這些接口具有很好的粒度,使我們可以不必接觸OSKit文件系統(tǒng)的內(nèi)部。例如,OSKit接口只接受簡單的路徑名組件,允許安全封裝的代碼執(zhí)行適當?shù)脑L問許可檢查。
4OSKit的現(xiàn)狀
自從在1996年6月了OSKit的第一個公開發(fā)行版以來,OSKit已經(jīng)更新了多次,每次更新都增加了一些算法,并修正了一些錯誤。最新的發(fā)行版是2002年3月的版本。由此可見,OSKit一直處于操作系統(tǒng)開發(fā)平臺的前沿,其自身也在不斷完善和發(fā)展。
5結(jié)論
作為一個操作系統(tǒng)研究與開發(fā)的平臺,OSKit大大減輕了操作系統(tǒng)研究與開發(fā)者的負擔。它可以讓開發(fā)人員避開復雜的底層,而把興趣集中與他們所感興趣的領(lǐng)域。開發(fā)者可以用自己編寫的組件來取代OSKit中的部分組件,以滿足自己特定的需要,從而豐富了操作系統(tǒng)的應用層??傊琌SKit滿足了實際客戶系統(tǒng)的需求,有助于操作系統(tǒng)的研究與開發(fā)。
基于Web的嵌入式操作系統(tǒng)在遠程監(jiān)控中的應用
遠程監(jiān)控客戶端、嵌入式Web服務器、監(jiān)控對象三部分組成了遠程監(jiān)控系統(tǒng)。用戶根據(jù)具體的工業(yè)現(xiàn)場環(huán)境在客戶端的監(jiān)控界面開發(fā)一個監(jiān)控界面,通過本地通過串口或者遠程網(wǎng)口上傳到嵌入式Web服務器,這樣既方便遠程管理又方便更新調(diào)整工業(yè)現(xiàn)場變化后的界面。通過遠程客戶端運行運行軟件,在遠程監(jiān)控界面以Internet網(wǎng)連接入到嵌入式Web服務器,發(fā)送用戶的請求,建立連接后,將監(jiān)控界面文件通過服務器傳給客戶端,還原該監(jiān)控界面后,用戶就可以根據(jù)實時控制界面獲知監(jiān)控對象的狀態(tài),用戶還可以通過對監(jiān)控界面按鈕,對監(jiān)控對象進行控制。
嵌入式Web服務器有Confingure模式、Download模式、Upload模式、Run四種工作模式。通過Confingure模式設(shè)置服務器環(huán)境參數(shù);根據(jù)Download模式,可以從嵌入式Web服務器下載客戶端監(jiān)控界面進行遠程監(jiān)控;在Upload模式,上傳監(jiān)控界面配置文件到嵌入式Web服務器中以備用;通過Run模式,根據(jù)監(jiān)控界面為工業(yè)現(xiàn)場提供實時數(shù)據(jù),實現(xiàn)遠程監(jiān)控。
基于Web的嵌入式操作系統(tǒng)在信息家電中的應用
基于Web的嵌入式操作系統(tǒng),通過嵌入式信息家電平臺控制節(jié)點。通過IE瀏覽器訪問信息家電控制臺,并對其進行遠程控制,達到通過以太網(wǎng)、藍牙等無線網(wǎng)絡(luò)環(huán)境對各類信息家電設(shè)備,實現(xiàn)信息家電的數(shù)據(jù)傳輸控制。信息家電是以應用為主要目的,基于計算機技術(shù),并且對功能及其可靠性,設(shè)備成本、能耗以及體積都有嚴格要求的專用計算機系統(tǒng)。
就象UNIX,Linux支持的網(wǎng)卡主要是以太網(wǎng)卡。如3COM、ACCTON、AT&T、IBM、CRYSTAL、D-LINK等眾多品牌的以太網(wǎng)卡只要安裝配置正確,都可以得到你所期望的效果。
一、Linux中網(wǎng)卡的工作原理
為了將這個問題說明的更清楚一些,不妨先簡要地剖析一下Linux是如何讓網(wǎng)卡工作的。一般來說,Linux核心已經(jīng)實現(xiàn)了OSI參考模型的網(wǎng)絡(luò)層及更上層部分。網(wǎng)絡(luò)層的實現(xiàn)依賴于數(shù)據(jù)鏈路層的有效工作。網(wǎng)卡的驅(qū)動程序就是數(shù)據(jù)鏈路層與物理層的接口。通過調(diào)用驅(qū)動程序的發(fā)送例程向物理端口發(fā)送數(shù)據(jù),調(diào)用驅(qū)動程序的接收例程從物理端口接收數(shù)據(jù)。
1.網(wǎng)卡驅(qū)動程序
簡單地說,要將你手中的網(wǎng)卡利用起來,你唯一要做的是得到這塊網(wǎng)卡的驅(qū)動程序。驅(qū)動程序提供了面向操作系統(tǒng)核心的接口和面向物理層的接口。
驅(qū)動程序的操作系統(tǒng)接口是一些用于發(fā)現(xiàn)網(wǎng)卡、檢測網(wǎng)卡參數(shù)以及發(fā)送接收數(shù)據(jù)的例程。當驅(qū)動程序開始運作時,操作系統(tǒng)首先調(diào)用檢測例程以發(fā)現(xiàn)系統(tǒng)中安裝的網(wǎng)卡。如果該網(wǎng)卡支持即插即用,那么檢測例程應該可以自動發(fā)現(xiàn)網(wǎng)卡的各種參數(shù);否則你就要在驅(qū)動程序運作前,設(shè)置好網(wǎng)卡的參數(shù)供驅(qū)動程序使用。當核心要發(fā)送數(shù)據(jù)時,它調(diào)用驅(qū)動程序的發(fā)送例程。發(fā)送例程將數(shù)據(jù)寫入正確的空間,然后激活物理發(fā)送過程。
驅(qū)動程序面向物理層的接口是中斷處理例程。當網(wǎng)卡接收到數(shù)據(jù)、發(fā)送過程結(jié)束,或者發(fā)現(xiàn)錯誤時,網(wǎng)卡產(chǎn)生一個中斷,然后核心調(diào)用該中斷的處理例程。中斷處理例程判斷中斷發(fā)生的原因,并進行響應的處理。比如當網(wǎng)卡接收到數(shù)據(jù)而發(fā)生中斷時,中斷處理例程調(diào)用接收例程進行接收。
2.驅(qū)動程序工作參數(shù)
驅(qū)動程序的工作參數(shù)因網(wǎng)卡性質(zhì)的不同而不同,大致包括I/O端口號、中斷號、DMA通道、共享存儲區(qū)等。輸入輸出端口號又被稱為輸入輸出基地址,當網(wǎng)卡工作于端口輸入輸出模式時被使用。端口輸入輸出模式需要CPU的全程干預,但所需硬件及存儲空間要求較低。CPU通過端口號指定的空間與網(wǎng)卡交換數(shù)據(jù)。中斷號是網(wǎng)卡的中斷序號,只要不與其它設(shè)備沖突即可。當網(wǎng)卡使用DMA方式時,它要使用DMA通道批量傳輸數(shù)據(jù)而不需要CPU的干預。
對于一塊具體的網(wǎng)卡,如果網(wǎng)卡支持完全自動檢測,那么一個參數(shù)也不用指定,驅(qū)動程序的檢測例程會自動設(shè)定所需參數(shù)。一般情況,你需要人工設(shè)定這些參數(shù)的一部分。如果你的網(wǎng)卡使用端口輸入輸出模式,你要設(shè)定端口號和中斷號。如果你的網(wǎng)卡使用DMA模式,你要設(shè)定DMA通道和中斷號。如果你的網(wǎng)卡使用共享存儲區(qū)的模式,那你就得設(shè)定共享存儲區(qū)的地址范圍。
3.驅(qū)動程序的使用方式
有了網(wǎng)卡的驅(qū)動程序后,你可以選擇是把驅(qū)動程序加入到Linux核心之中還是把驅(qū)動程序加工成獨立模塊。Linux系統(tǒng)一個引人入勝的長處就是可以定制系統(tǒng)的核心。把需要頻繁調(diào)用的功能加入系統(tǒng)核心,可以大大提高系統(tǒng)的效率。在這種情況下系統(tǒng)啟動時,系統(tǒng)核心自動加載網(wǎng)卡的驅(qū)動程序。驅(qū)動程序的參數(shù)可以通過LILO命令參數(shù)加以指
定。系統(tǒng)啟動后驅(qū)動程序永久駐留核心,不能用常規(guī)的方法將其卸載。至于定制的系統(tǒng)核心,是通過重新編譯得到的;如何編譯核心將在后文敘及。
如果把驅(qū)動程序編譯成可裝載模塊,就可以用系統(tǒng)提供的命令在系統(tǒng)啟動后隨時加載。隨時加載的好處是減少內(nèi)存開銷,易于管理,但同時也犧牲了一點網(wǎng)絡(luò)傳輸?shù)男?。?qū)動程序的參數(shù)是在命令行中直接輸入或通過配置文件指定。二、網(wǎng)卡安裝前的準備在安裝網(wǎng)卡前,務必檢查是否具備下列條件:
1.硬件方面
以太網(wǎng)卡
網(wǎng)絡(luò)連接線及連接頭,如10base-T一般為8芯雙絞線配RJ-45接口
2.軟件方面
Linux操作系統(tǒng)
網(wǎng)卡驅(qū)動程序(目標碼或源代碼)
*網(wǎng)卡配置程序
*軟件開發(fā)工具,如GNU工具包(包括編譯器gcc、make等)
3.系統(tǒng)配置信息
可用的端口地址
可用的中斷號
以上不帶星號標記的是必要條件,帶星號的是視情況不同而要求的條件。具體情況在下面進一步說明。
三、網(wǎng)卡的安裝及配置
第一步:配置以太網(wǎng)卡的工作參數(shù)
配置網(wǎng)卡就是配置網(wǎng)卡的工作參數(shù),如端口地址、中斷號等。網(wǎng)卡的缺省參數(shù)一般存儲于網(wǎng)卡內(nèi)部的EEPROM,這是網(wǎng)卡出廠前設(shè)置好的。缺省參數(shù)在大多數(shù)情況下是可行的,但如果這些參數(shù)與你的系統(tǒng)有沖突并且網(wǎng)卡又不支持軟件動態(tài)設(shè)置,那么你就要使用網(wǎng)卡的設(shè)置程序。并不是所有的網(wǎng)卡都要經(jīng)過這一步,因為有些網(wǎng)卡支持通過驅(qū)動軟件及其輸入?yún)?shù)來確定網(wǎng)卡的工作參數(shù)。可以通過查閱網(wǎng)卡使用說明書來確定這一點。
網(wǎng)卡的設(shè)置程序與驅(qū)動程序不同,設(shè)置程序僅僅用來對網(wǎng)卡EEPROM中的設(shè)置進行修改。網(wǎng)卡程序本身可能運行在其它操作系統(tǒng)下,如WINDOWS95/98、OS/2、DOS等。如果是非Linux平臺,那你就先在適合設(shè)置程序運行的系統(tǒng)中安裝網(wǎng)卡,按設(shè)置程序說明設(shè)置網(wǎng)卡參數(shù)。然后再在Linux系統(tǒng)下安裝該網(wǎng)卡。
第二步:安裝Linux系統(tǒng)
假如你將要安裝以太網(wǎng)卡的Linux系統(tǒng)本身還未安裝,那么可以先試著在安裝Linux的同時安裝網(wǎng)卡。這一步成功的前提是你的Linux發(fā)行版本包含將要安裝的網(wǎng)卡的驅(qū)動程序。
運行Linux的安裝程序,按提示進行操作,別忘了安裝核心的網(wǎng)絡(luò)部分。當進行到LAN配置時,安裝程序會列出它支持的所有網(wǎng)卡的類型??纯茨愕木W(wǎng)卡是否榜上有名。隨著Linux發(fā)行版本的不斷升級,目前RedHat6.0已經(jīng)覆蓋了常用的網(wǎng)卡類型。如果很幸運地你的網(wǎng)卡恰好在其中,那么下文討論的很多步驟都可以不必考慮了,安裝程序會自動完成網(wǎng)卡的安裝與驅(qū)動。但如果沒找到適用于你的網(wǎng)卡類型,也不必擔心,繼續(xù)下一步。
第三步:手工安裝網(wǎng)卡
安裝網(wǎng)卡也就是安裝網(wǎng)卡的驅(qū)動程序。網(wǎng)卡要工作必須要有驅(qū)動程序,并且驅(qū)動程序越成熟越好。驅(qū)動程序一般由網(wǎng)卡的生產(chǎn)或供應商提供。由于Linux是一個起步不久的新興操作系統(tǒng),網(wǎng)卡的生產(chǎn)商并不一定提供Linux環(huán)境下的驅(qū)動程序。這時候你就得從其它途徑想辦法了,比如到INTERNET上專門提供硬件驅(qū)動程序的網(wǎng)站查找一下,也可以在新聞組上貼個求助信息。總之,只有得到網(wǎng)卡的驅(qū)動程序后,方可進行下一步。
網(wǎng)卡的驅(qū)動程序有兩種類型。一是可直接使用的二進制代碼;另一種是驅(qū)動程序的源代碼。二進制代碼一般是預先編譯好的可裝載模塊。源代碼可以編譯成可裝載模塊,也可以編譯成系統(tǒng)核心的一部分。如何把源代碼編譯成可裝載模塊不在本文討論之列,具體可以查閱驅(qū)動程序的說明書。
1.可裝載模塊的使用
系統(tǒng)提供了一組命令用于將驅(qū)動程序模塊載入內(nèi)存執(zhí)行。這些命令包括modprobe、insmod、Ismod、rmmod。modprobe與insmod命令功能相似,但是方式各異。
modprobe命令使用配置文
件/erc/config.modules來加載可執(zhí)行模塊。要用modprobe命令加載以太網(wǎng)卡的驅(qū)動程序,可以在config.modules文件中加入:
aliaseth0drivermodule(drivermodule是驅(qū)動程序模塊的名稱)
這行配置信息把以太網(wǎng)卡的設(shè)備名與驅(qū)動程序模塊聯(lián)系起來。modprobe命令依據(jù)這條信息,自動加載存放于/lib/library/xxxx/net目錄下名為drivermodule.o的模塊。因此要使modprobe命令找到驅(qū)動程序模塊,必須將該模塊放在/lib/library/xxxx/net目錄下。
那么驅(qū)動程序的參數(shù)如何指定呢?還是使用conf.modules文件。方法是在接著上述配置信息的后面加入下行信息:
optionsdrivermoduleparml=valuel,parm2=value2,……
這里parm1是驅(qū)動程序可以接受的參數(shù)名,valuel是該參數(shù)值;依次類推。
比如optionscs89x0io=0x200irq=0xAmedia=aui
insmod命令直接通過命令行參數(shù)將驅(qū)動程序模塊載入內(nèi)存,并可以在命令中指定驅(qū)動程序參數(shù)。例如:
insmoddrivermodule.oparml=valuel,parm2=value2,……
以上兩個命令中可以使用驅(qū)動程序參數(shù)要依據(jù)具體的網(wǎng)卡及其驅(qū)動程序而定,要仔細閱讀網(wǎng)卡及驅(qū)動程序的說明書。有的網(wǎng)卡驅(qū)動程序可以用這些參數(shù)覆蓋網(wǎng)卡本身EEPROM中存儲的參數(shù)。有的則必須使用EEPROM中的參數(shù)。有的因為驅(qū)動程序不自動檢測網(wǎng)卡使用的參數(shù),所以還得把網(wǎng)卡使用的EEPROM中的參數(shù)傳給驅(qū)動程序。
卸載驅(qū)動程序模塊使用rmmod命令:
rmmoddrivermodule.o
2.把驅(qū)動程序編譯入系統(tǒng)核心
除了以可裝載模塊的形式使用驅(qū)動程序,還可以把驅(qū)動程序編譯進Linux核心,以獲取更高的效率。這種方式需要驅(qū)動程序的源代碼、Linux核心源代碼及其編譯工具。Linux核心的編譯過程包括配置核心、重建依賴關(guān)系、生成核心代碼等步驟。配置核心的過程是用系統(tǒng)提供的配置工具(makeconfig或makemenuconfig)重新生成用來編譯核心的眾多make文件的過程。為了讓核心的配置工具了解你的網(wǎng)卡驅(qū)動程序,你需要修改一些核心的配置文件。
(1)修改配置文件:主要修改核心源代碼目錄下的四個文件,即drivers/net/CONFIG文件、drivers/net/Config.in文件、drivers/net/Makefile文件和drivers/net/Space.c文件。CONFIG和Config.in文件用于控制核心配置工具(makeconfig或makemenuconfig)的運行,主要是加入關(guān)于是否包括該網(wǎng)卡的支持提示。Makefile和Space.c文件用于編譯核心代碼并說明面向核心的接口。詳細語句參見下面例子。
(2)運行核心配置工具:在核心源代碼目錄下執(zhí)行makeconfig或makemenuconfig命令。makeconfig是面向命令行的,通過逐句回答提問來配置核心。由于其在配置過程中不可改變或撤消以前的回答,故多有不便。makemenuconfig則是通過窗口菜單方式,使用起來很方便。就本文而言,你只要在上一步中正確修改了配置文件,那么在config中會出現(xiàn)是否需要該網(wǎng)卡支持的提問,你選擇‘y’?;蛘咴趍enuconfig中的network菜單中出現(xiàn)表示該網(wǎng)卡的菜單項,把它選上即可。
(3)重建依賴關(guān)系:很簡單,執(zhí)行makedep和makeclean命令。
(4)生成核心代碼:執(zhí)行makezImage命令。這個命令開始真正編譯核心代碼,并把核心代碼存放為arch/i386/boot目錄下的zImage。
(5)為了使用新的核心代碼,你需要用新的核心代碼替換原有的。原有的核心代碼一般存放在/boot目錄下,文件名稱類似于vmlinuz-v.s.r-m(v.s.r-m)表示核心的版本號)。如vmlinuz-2.0.34-1。執(zhí)行下列命令:
cparch/i386/boot/zImage/boot/vmlinuz-v.s.r-m
為了安全起見,可以先把原有的核心代碼做個備份,以便發(fā)生錯
誤時恢復。
至此,你可以重新引導系統(tǒng)以使用新的帶有正確網(wǎng)卡驅(qū)動支持的Linux核心。唯一剩下未解決的是驅(qū)動程序的參數(shù)問題。有些網(wǎng)卡驅(qū)動程序如果不輸入?yún)?shù),那它工作就會不正常,甚至根本不工作。由于現(xiàn)在網(wǎng)卡的驅(qū)動程序是系統(tǒng)啟動時由核心載入運行的,系統(tǒng)啟動之后用戶就很難改變這些參數(shù)了,所以你必須在系統(tǒng)啟動時告訴Linux核心網(wǎng)卡驅(qū)動程序使用的參數(shù)。具體方法有兩種:
(1)在系統(tǒng)引導程序LILO中輸入。
在LILO開始引導系統(tǒng)時,用ether子命令設(shè)定以太網(wǎng)卡驅(qū)動程序的參數(shù)。ether命令的使用方式為:
LILO:linuxether=IRO.BASE_ADDR,NAME
這里帶下劃線的是要輸入的部分,IRQ表示中斷號,BASE_ADDR表示端口號,NAME表示網(wǎng)卡的設(shè)備名。例如:linuxether=15,0x320,eth0
(2)在LILO配置文件中設(shè)定。
每次在系統(tǒng)啟動時再輸入驅(qū)動程序參數(shù)似乎有點過于麻煩。幸好系統(tǒng)提供了LILO的配置文件可以用來永久性的設(shè)置Linux系統(tǒng)啟動時的子命令。方法是在/etc/lilo.conf文件中的適當位置加入以下一行:
append=“ether=IRQ,BASE_ADDR,NAME”
這里帶下劃線部分的意義同上。加入這一行后,還需要用/sbin/lilo命令把這個配置寫入引導程序。
第四步:網(wǎng)絡(luò)配置及測試
安裝完網(wǎng)卡就可以配置網(wǎng)絡(luò)通信了。配置網(wǎng)絡(luò)簡單地就是使用ifconfig命令,
例如:
ifconfigeth01.2.3.4netmask255.0.0.0up
最后ping一下網(wǎng)上其它機器的ip地址,檢查網(wǎng)絡(luò)是否連通。
五、一個以太網(wǎng)卡安裝實例
下面以Cirrus公司生產(chǎn)的CrystalCS8920以太網(wǎng)卡為例,詳細說明上述安裝配置過程。本例中,有些命令參數(shù),如核心源代碼目錄等,是以我使用的系統(tǒng)環(huán)境為出發(fā)點。具體應用中還要加以本地化。為了更接近實際,例子中也包括了對安裝中碰到的問題的描述。
1.此網(wǎng)卡是IBMPC機的內(nèi)置式網(wǎng)卡,機器只提供了Windows95/98環(huán)境下的驅(qū)動程序。由于RedHat5.0發(fā)行版本尚未提供對此網(wǎng)卡的直接支持,所以從Cirrus的站點上找到并下載了該網(wǎng)卡驅(qū)動程序的Linux版本,是一個名為Linux102_tar.gz的壓縮文件。
2.文件Linux102_tar.gz解壓后包括五個文件。包括源代碼,僅適用于Linux2.0版本的目標模塊以及readme文件。
3.查閱readme文件后,了解到這個驅(qū)動程序只能使用網(wǎng)卡EEPROM中設(shè)定的端口號(I/O基地址)、中斷號。為了知道網(wǎng)卡EEPROM的設(shè)置,又從Cirrus站點下載了該網(wǎng)卡DOS版本的設(shè)置程序setup.exe
4.在DOS中運行setup.exe,發(fā)現(xiàn)網(wǎng)卡的起始端口號為0x360,中斷號為10,與別的設(shè)備有沖突。選擇setup.exe程序的相應菜單,把中斷號改成5。另外,此驅(qū)動程序不支持plugandPlay,故也在setup.exe中將網(wǎng)卡的PnP功能屏蔽掉。
5.我所使用的RedHat5.0的Linux核心版本為2.0.34,所以不能用現(xiàn)成的驅(qū)動程序目標模塊,需要自己動手編譯。如上文所述,有兩種方式使用此驅(qū)動程序。
6.如果要編譯成獨立模塊,執(zhí)行下列命令:
gcc-D_KERNEL_-I/usr/src/linux/include-I/usr/src/linux/net/inet-Wall-Wstrictprototypes-02-fomit-frame-pointer-DMODULE-DCONFIG_MODVERSIONS-ccs89x0.c
編譯結(jié)果是名為cs89x0.o的驅(qū)動程序目標模塊。要裝載此驅(qū)動程序,輸入下列命令:insmodcs89x0.oio=0x360irq=10
要卸載此驅(qū)動程序,用rmmod命令:
rmmodcs89x0.o
7.如果要將驅(qū)動程序編進系統(tǒng)核心,
修改/usr/src/linux/drivers/net/CONFIG,加入:
CS89x0_OPTS=
修改/usr/src/linux/drivers/net/Config.in,加入:
tristate‘CS8920Support’CONFIG_CS8920
以上兩行是為了讓makeconfig在配置過程中詢問是否增加CS8920網(wǎng)卡的支持。修改/usr/src/linux/drivers/net/Makefile加入:
ifeq((CONFIG_CS8920),y)
L_OBJS+=cs89x0.o
endif
修改/usr/src/linux/drivers/net/Space.c,加入:
externintcs89x0_probe(structdevice*dev);
……
#ifdefCONFIG_CS8920
&&cs89x0_probe(dev);
#endif
以上兩段是為了編譯并輸出網(wǎng)卡驅(qū)動程序及其例程。
把驅(qū)動程序源代碼拷到/usr/src/linux/drivers/net目錄下。
在/usr/src/linux目錄下執(zhí)行makeconfig或makemenuconfig,選擇核心CS8920網(wǎng)卡支持。
執(zhí)行makedep、makeclean命令。最后用makezImage編譯Linux核心。
如何設(shè)置核心驅(qū)動程序參數(shù),上節(jié)已有說明,不再贅述。
下面是由本課程的全部教學內(nèi)容所提煉并加以有機整合而形成的出的精髓教學框架:
(1)系統(tǒng)發(fā)展歷史的回顧與當前技術(shù)發(fā)展潮流追蹤許多學校的計算機專業(yè)在講解操作系統(tǒng)課程時,往往局限于介紹具體方法和技術(shù)細節(jié),忽略對技術(shù)發(fā)展歷史和當前技術(shù)潮流的詮釋。既不能開拓學生專業(yè)視野,又無法對專業(yè)歷史有深入的了解。本門課程爭取使用3-4學時的時間詳細講解操作系統(tǒng)的發(fā)展歷史、著名人物、分類體系和技術(shù)發(fā)展趨勢。這樣的內(nèi)容極大的激發(fā)了學生的學習興趣和專業(yè)使命感,具有很好的教學效果。
(2)作系統(tǒng)基本設(shè)計原理與核心技術(shù)方法的分析講解本門課程注重對基礎(chǔ)專業(yè)理論的講解,從五個方面詳細剖析操作系統(tǒng)的核心原理。對進程管理、存儲管理、文件系統(tǒng)、設(shè)備管理、系統(tǒng)接口等基本的設(shè)計原理均進行了詳細的介紹和分析。操作系統(tǒng)的各種基本設(shè)計原理中包含了大量的算法設(shè)計與技術(shù)實現(xiàn)優(yōu)化考慮,在教學過程中,要特別注重剖析算法設(shè)計思想和優(yōu)化教學法的差別,強調(diào)激發(fā)學生的主動思考能力,而不是僵化的向?qū)W生灌輸思想。
(3)真實操作系統(tǒng)案例的組成結(jié)構(gòu)與實現(xiàn)特色剖析對比。操作系統(tǒng)的設(shè)計原理體系嚴密,各種技術(shù)方法錯綜復雜。要注重選用真實操作系統(tǒng)作為學習的案例。通過對真實案例的剖析以提高學生的感性認識。例如在講解“進程管理”時,將Linux系統(tǒng)與WindowsXP系統(tǒng)進行對比;講解“文件系統(tǒng)”時,對Linux、FAT32、NTFS等各類不同的文件系統(tǒng)進行對比;講解內(nèi)存管理時,對Minix、Linux、Win-dowsXP系統(tǒng)進行對比。這樣的教學內(nèi)容雖然備課難度大,但是教學效果卻非常好。
(4)操作系統(tǒng)原理與計算機原理、編譯原理、數(shù)據(jù)庫、計算機網(wǎng)絡(luò)等課程的關(guān)聯(lián)?!恫僮飨到y(tǒng)原理》課程是計算機及相關(guān)專業(yè)的學生在本科階段“承上啟下”的重要課程,講授過程中必須注重與其他專業(yè)基礎(chǔ)課內(nèi)容和知識的結(jié)合。在教學過程中,專門講解“操作系統(tǒng)硬件基礎(chǔ)知識”以融合《計算機原理》課程知識;重點分析“應用程序編譯鏈接過程”以融合《編譯原理》課程知識;在“進程同步互斥、I/O設(shè)備同步阻塞-異步傳輸”的內(nèi)容中有機融合《數(shù)據(jù)庫原理》、《計算機網(wǎng)絡(luò)》的基本概念。這樣的關(guān)聯(lián)式教學方式使得學生能夠?qū)⒍嚅T專業(yè)基礎(chǔ)課程進行有機的融合貫通,有效的促進了專業(yè)理論體系的完善。
基于以上對教學內(nèi)容的有機的系列化分類,在選用優(yōu)秀計算機經(jīng)典教材的基礎(chǔ)上,必須強調(diào)教學方式的科學與合理,主要采用以下教學方式:
(1)定位于專業(yè)基礎(chǔ)必修課,幫助學生建立扎實的專業(yè)理論基礎(chǔ)。計算機領(lǐng)域各相關(guān)專業(yè)的學生都需要建立扎實完整的軟件基礎(chǔ)理論體系?!恫僮飨到y(tǒng)原理》是講述計算機硬件資源管理、應用程序運行控制、人機交互接口實現(xiàn)等內(nèi)容的基礎(chǔ)性課程,在專業(yè)人才培養(yǎng)方面具有極為重要的作用。應該不斷加強對《操作系統(tǒng)原理》課程的教學投入,積極完善師資隊伍、改進教學計劃、建立完整實踐環(huán)境、主動追蹤技術(shù)發(fā)展潮流,使得本門課程的教學質(zhì)量不斷提升。
(2)面向應用、軟件等各專業(yè)學生授課,實現(xiàn)“承上啟下”的總體教學目標?!恫僮飨到y(tǒng)原理》是計算機科學與技術(shù)專業(yè)必修基礎(chǔ)課,是自動化專業(yè)的專業(yè)選修課,也是非計算機專業(yè)的軟件方向主干課。在教學計劃中,本門課程最主要的作用就是實現(xiàn)對低年級專業(yè)基礎(chǔ)知識的綜合與提升,幫助學生建立系統(tǒng)、完整的專業(yè)基礎(chǔ)理論體系,培養(yǎng)學生的研究型思維和動手實踐能力,開拓學生的專業(yè)學術(shù)視野,為后續(xù)課程的學習和專業(yè)發(fā)展奠定重要的基礎(chǔ)。
(3)原理、實踐、現(xiàn)實應用相結(jié)合,為培養(yǎng)高水平專業(yè)人才服務。《操作系統(tǒng)原理》是綜合了基礎(chǔ)理論講授、動手實踐、觀察體驗、最新技術(shù)發(fā)展潮流追蹤等多項內(nèi)容的專業(yè)基礎(chǔ)課程。課程建設(shè)存在教學工作量大、上機實踐環(huán)節(jié)重要、學生學習任務重等特點,課程教學過程中,常常存在原理講授與上機實踐脫節(jié)、課堂學習與現(xiàn)實應用剝離的情況,導致老師在教學過程中常采用“灌輸式”教學法、學生在學習過程中常采用“機械記憶”的學習習慣,教學質(zhì)量難以提升。為此,在《操作系統(tǒng)原理》課程建設(shè)中應該積極進行教學改革和創(chuàng)新,近年來不斷引進國內(nèi)外經(jīng)典操作系統(tǒng)教材,努力搭建多種操作系統(tǒng)平臺的上機實踐環(huán)境,加強師資隊伍建設(shè)和教學督導力度,加強對技術(shù)發(fā)展潮流的追蹤。
(4)“啟發(fā)式、關(guān)聯(lián)式”的課堂講授與課堂討論相結(jié)合。在對基礎(chǔ)性的操作系統(tǒng)原理進行講解時,要注重講授與討論的結(jié)合,教案的內(nèi)容組織并不完全遵循各類教材的內(nèi)容安排,在講解順序、思路整理方面均體現(xiàn)了教師對學習過程的把握和指導。在詳細講解各類原理之前,安排小規(guī)?!罢n堂討論”分析猜測設(shè)計思想,激發(fā)學生的好奇心和主動思考能力;在講解原理的過程中,不斷的問“為什么”,提高學生的對比分析能力;在原理講解完成后,進行系統(tǒng)性的總結(jié)和展望,指導學生建立系統(tǒng)性的思維方式。為激發(fā)課堂討論的積極性,對討論過程中表現(xiàn)優(yōu)異的學生給予“小額加分”的激勵,鼓勵學生表達自己觀點。
考核內(nèi)容及計分方法
A地區(qū)通信公司根據(jù)當前所管轄的網(wǎng)絡(luò)系統(tǒng)維護單位的具體情況,要求各單位網(wǎng)絡(luò)運維工作的考核由網(wǎng)絡(luò)運行質(zhì)量管理、市場支撐管理、網(wǎng)絡(luò)運維成本管理、基礎(chǔ)管理等指標構(gòu)成(考核指標分類、主要指標、權(quán)重等信息見表1)
考核辦法實施
對于日常工作完成情況,A地區(qū)通信公司考核網(wǎng)絡(luò)運維生產(chǎn)各專業(yè),包括網(wǎng)管、交換、傳輸、數(shù)據(jù)、電源空調(diào)、本地網(wǎng)線路、接入網(wǎng)、無線市話、大客戶業(yè)務響應、資源管理等專業(yè),網(wǎng)絡(luò)運維部在年底組織對單位網(wǎng)絡(luò)運維工作現(xiàn)場檢查,對重點考核內(nèi)容打分。
對于專項重點工作完成情況考核,主要是考核各維護單位對市公司全年安排的重點工作完成情況,如末梢設(shè)備整治、無線市話網(wǎng)絡(luò)優(yōu)化及網(wǎng)絡(luò)運維巡檢等重點工作。
考核內(nèi)容以“大客戶電路故障恢復及故障報告提供及時率”為例進行列示。在考核的過程中,為了防止網(wǎng)絡(luò)系統(tǒng)問題帶來的損失,還制定了“否決內(nèi)容”(指對各單位指標完成情況進行檢查或抽查),對于發(fā)生以下情況之一的單位,取消全年考核資格,以0分計:一是未能按時、按質(zhì)完成重要通信、搶險救災、戰(zhàn)備以及其它應急通信任務,造成嚴重后果;二是拒不服從省、市公司的生產(chǎn)調(diào)度令造成嚴重網(wǎng)絡(luò)責任事故;三是在發(fā)生重大故障后,不按照省、市公司相關(guān)管理規(guī)定進行報告,或者故意隱瞞故障、在故障原因報告中惡意歪曲事實、在故障調(diào)查中有明顯舞弊行為;四是因違反互聯(lián)互通原則給企業(yè)造成重大負面影響;五是在考核指標數(shù)據(jù)采樣點的設(shè)置或數(shù)據(jù)上報中存在弄虛作假行為。
對考核數(shù)據(jù)的統(tǒng)計及保存,各單位應根據(jù)本考核細則中的各項指標定義解釋、數(shù)據(jù)來源及計分方法,認真完成與指標相關(guān)的原始數(shù)據(jù)測試、統(tǒng)計、匯總和報送工作,并且妥善保管測試報告、電路調(diào)單、故障報告、網(wǎng)管數(shù)據(jù)等原始記錄。
具體考核指標與準則舉例
由于網(wǎng)絡(luò)系統(tǒng)內(nèi)部控制考核項目較多,指標繁雜,本文列示了“大客戶電路故障恢復及故障報告提供及時率”的指標定義、計算與方法說明如下:第一,指標定義:統(tǒng)計期內(nèi)電路故障及時恢復比率和及時提供故障報告比率的加權(quán)平均。
第二,指標值:全年累計100%。
第三,計算公式:考核的范圍為所有通過省大客戶故障處理系統(tǒng)受理的大客戶業(yè)務故障。大客戶電路故障恢復及故障報告提供及時率=第四,考核不含不可抗力和客戶原因等造成的超時電路業(yè)務障礙。對故障原因不明且電路障礙業(yè)務恢復超時故障,則障礙受理方和有關(guān)責任方各計未及時恢復業(yè)務1次;對故障原因不明且電路障礙業(yè)務恢復未超時故障,則障礙受理方和有關(guān)責任方各計未及時恢復業(yè)務0.5次。
大客戶電路故障恢復時限按照《通信業(yè)務故障處理及故障報告管理規(guī)定》執(zhí)行,要求提供故障報告數(shù)為管理規(guī)定要求提供的報告數(shù)(包括超時故障、重要客戶故障、重保期間故障,客戶或客服部門要求提供故障報告的故障,上級維護部門要求提供報告等)。
第五,數(shù)據(jù)來源及統(tǒng)計報送周期。數(shù)據(jù)來源于省內(nèi)大客戶故障處理系統(tǒng)的統(tǒng)計數(shù)據(jù),大客戶業(yè)務響應部按月統(tǒng)計、匯總,并在年終計算各單位指標完成情況。第六,計分方法。完成或超過指標值的得基本分,不能完成核定指標值的,每低0.5個百分點扣1分,直至扣完為止。第七,評分標準。具體的大客戶業(yè)務相應考核標準如表2所示。
A地區(qū)通信公司對網(wǎng)絡(luò)系統(tǒng)考核評價的啟示
網(wǎng)絡(luò)系統(tǒng)的運行維護和安全措施是通信公司的基礎(chǔ)工作,也是非常重要的一項內(nèi)部控制工作。相關(guān)啟示如下:第一,考核指標與業(yè)務工作緊密結(jié)合,具有很強的實際操作性。
一、人力資源戰(zhàn)略是根據(jù)企業(yè)遠景制定的,是企業(yè)經(jīng)營戰(zhàn)略的一部分,并主要通過促進企業(yè)長期可持續(xù)發(fā)展來實現(xiàn)對經(jīng)營戰(zhàn)略的貢獻。
遠景是要回答:企業(yè)將成為、想成為一個什么樣的企業(yè)?經(jīng)營戰(zhàn)略則是實現(xiàn)遠景的策略,人力資源戰(zhàn)略是其中的重要組成部分。企業(yè)為實現(xiàn)其遠景需要倡導的核心價值觀是什么?采取什么樣的理念來開展人力資源工作?如何制定人力資源規(guī)劃?
例如,一家管理咨詢公司的遠景是成為向中國企業(yè)提供咨詢方案的最佳服務機構(gòu)。由于遠景目標的知識性特點,其人力資源規(guī)劃可以是初期選拔經(jīng)驗豐富并具有咨詢業(yè)素質(zhì)的專業(yè)人士,隨著公司的成長和專業(yè)技術(shù)的完善,再加入畢業(yè)生由公司自己培養(yǎng),以便盡快壯大隊伍。其核心價值觀可以是"信任、團隊、智慧、創(chuàng)新",以激發(fā)員工的價值認同感。一流企業(yè)之所以能吸引并凝聚優(yōu)秀的員工,認同感是其中的關(guān)鍵因素。
二、大人力資源管理涵括組織建設(shè)、文化建設(shè)與系統(tǒng)建設(shè),通過企業(yè)文化整合戰(zhàn)略、組織和系統(tǒng),落實到各個相互配套的操作系統(tǒng)。
組織建設(shè)包括"硬"的組織結(jié)構(gòu)規(guī)劃設(shè)計和"軟"的人力資源隊伍建設(shè),經(jīng)營戰(zhàn)略和人力資源戰(zhàn)略決定組織建構(gòu)并透過組織得以實現(xiàn)。文化建設(shè)首先確立核心價值觀,再將其有系統(tǒng)的向組織滲透,并有意識的融入管理系統(tǒng)、制度和程序。系統(tǒng)建設(shè)既要求操作系統(tǒng)的科學與規(guī)范,更強調(diào)各系統(tǒng)間的配套銜接,這體現(xiàn)在兩個方面:
1.人力資源操作系統(tǒng)是對戰(zhàn)略由宏觀到微觀操作層面的細化,其間必須經(jīng)過一個更為基礎(chǔ)的普適性的技術(shù)分析過程,我們稱之為"人力資源平臺"。人力資源平臺即通過對工作、人、職位的分析、評估,整理、明確三者之間的關(guān)系,為各操作系統(tǒng)提供技術(shù)支撐。招聘、績效管理、培訓發(fā)展、薪資福利及人員管理等子系統(tǒng)就是建立在此平臺上。
2.操作系統(tǒng)是連貫一體的,如人才保留不僅是薪資待遇和發(fā)展機會的問題,在員工招聘時就應該加以考慮。面試評估標準應關(guān)注應聘人的價值觀念是否符合公司的核心價值觀,應聘人的發(fā)展期望是否是公司可以提供的;如果不相匹配,即使招聘進來也很難長期保留。只有綜合、系統(tǒng)地制定各操作方法,才能保證其有效性。
三、人力資源不只是企業(yè)人力資源部門的事,所有管理者,上至總經(jīng)理下到每個主管以至員工都應承擔人力資源管理責任。
大人力資源觀強調(diào)職業(yè)管理者應成為人力資源管理專家。因為人力資源管理是一項全局性工作,其各項職責如招聘、績效管理、員工保留、培訓規(guī)劃等都需要各主管的貫徹配合和直接參與。同時,各層管理者直接承擔著下屬輔導培養(yǎng)、企業(yè)文化建設(shè)等職責。員工也越來越多地負起自我管理的責任。