VC284基于C 機房監控系統的設計與實現.doc_第1頁
VC284基于C 機房監控系統的設計與實現.doc_第2頁
VC284基于C 機房監控系統的設計與實現.doc_第3頁
VC284基于C 機房監控系統的設計與實現.doc_第4頁
VC284基于C 機房監控系統的設計與實現.doc_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、VC284基于C+機房監控系統的設計與實現 2.2.3 Win Socket API本文在軟件實現上使用的Socket函數正是Windows Socket API。下面介紹幾個重要的API:一)  WSAStartup函數 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用Socket之前必須調用WSAStartup函數。該函數的第一個參數指明程序請求使用的Socket版本,其中高位字節指明副版本、低位字節指明主版本;操作系統利用第二個參數返回請求的Socket的版本信息。當一個應

2、用程序調用WSAStartup函數時,操作系統根據請求的Socket版本來搜索相應的Socket庫,然后綁定找到的Socket庫到該應用程序中。以后應用程序就可以調用所請求的Socket庫中的其它Socket函數了。該函數執行成功后返回0。 例:假如一個程序要使用2.1版本的Socket,那么程序代碼如下 wVersionRequested = MAKEWORD( 2, 1 ); err = WSAStartup( wVersionRequested, &wsaData ); 二) WSACleanup函數 int WSACleanup (void); 應用程序在完成對請求的Socke

3、t庫的使用后,要調用WSACleanup函數來解除與Socket庫的綁定并且釋放Socket庫所占用的系統資源。 三) socket函數 SOCKET socket( int af, int type, int protocol ); 應用程序調用socket函數來創建一個能夠進行網絡通信的套接字。第一個參數指定應用程序使用的通信協議的協議族,對于TCP/IP協議族,該參數置PF_INET;第二個參數指定要創建的套接字類型,流套接字類型為SOCK_STREAM、數據報套接字類型為SOCK_DGRAM;第三個參數指定應用程序所使用的通信協議。該函數如果調用成功就返回新創建的套接字的描述符,如果失

4、敗就返回INVALID_SOCKET。套接字描述符是一個整數類型的值。每個進程的進程空間里都有一個套接字描述符表,該表中存放著套接字描述符和套接字數據結構的對應關系。該表中有一個字段存放新創建的套接字的描述符,另一個字段存放套接字數據結構的地址,因此根據套接字描述符就可以找到其對應的套接字數據結構。每個進程在自己的進程空間里都有一個套接字描述符表但是套接字數據結構都是在操作系統的內核緩沖里。下面是一個創建流套接字的例子: struct protoent *ppe; ppe=getprotobyname(tcp); SOCKET ListenSocket=socket(PF_INET,SOCK_

5、STREAM,ppe->p_proto); 四) closesocket函數 int closesocket( SOCKET s );  closesocket函數用來關閉一個描述符為s套接字。由于每個進程中都有一個套接字描述符表,表中的每個套接字描述符都對應了一個位于操作系統緩沖區中的套接字數據結構,因此有可能有幾個套接字描述符指向同一個套接字數據結構。套接字數據結構中專門有一個字段存放該結構的被引用次數,即有多少個套接字描述符指向該結構。當調用closesocket函數時,操作系統先檢查套接字數據結構中的該字段的值,如果為1,就表明只有一個套接字描述符指向它,因此操作系統就

6、先把s在套接字描述符表中對應的那條表項清除,并且釋放s對應的套接字數據結構;如果該字段大于1,那么操作系統僅僅清除s在套接字描述符表中的對應表項,并且把s對應的套接字數據結構的引用次數減1。closesocket函數如果執行成功就返回0,否則返回SOCKET_ERROR。五) send函數 int send( SOCKET s, const char FAR *buf, int len, int flags );  不論是客戶還是服務器應用程序都用send函數來向TCP連接的另一端發送數據。客戶程序一般用send函數向服務器發送請求,而服務器則通常用send函數來向客戶程序發送應答。

7、該函數的第一個參數指定發送端套接字描述符;第二個參數指明一個存放應用程序要發送數據的緩沖區;第三個參數指明實際要發送的數據的字節數;第四個參數一般置0。這里只描述同步Socket的send函數的執行流程。當調用該函數時,send先比較待發送數據的長度len和套接字s的發送緩沖區的長度,如果len大于s的發送緩沖區的長度,該函數返回SOCKET_ERROR;如果len小于或者等于s的發送緩沖區的長度,那么send先檢查協議是否正在發送s的發送緩沖中的數據,如果是就等待協議把數據發送完,如果協議還沒有開始發送s的發送緩沖中的數據或者s的發送緩沖中沒有數據,那么send就比較s的發送緩沖區的剩余空間

8、和len,如果len大于剩余空間大小send就一直等待協議把s的發送緩沖中的數據發送完,如果len小于剩余空間大小send就僅僅把buf中的數據copy到剩余空間里(注意并不是send把s的發送緩沖中的數據傳到連接的另一端的,而是協議傳的,send僅僅是把buf中的數據copy到s的發送緩沖區的剩余空間里)。如果send函數copy數據成功,就返回實際copy的字節數,如果send在copy數據時出現錯誤,那么send就返回SOCKET_ERROR;如果send在等待協議傳送數據時網絡斷開的話,那么send函數也返回SOCKET_ERROR。要注意send函數把buf中的數據成功copy到s的

9、發送緩沖的剩余空間里后它就返回了,但是此時這些數據并不一定馬上被傳到連接的另一端。如果協議在后續的傳送過程中出現網絡錯誤的話,那么下一個Socket函數就會返回SOCKET_ERROR。(每一個除send外的Socket函數在執行的最開始總要先等待套接字的發送緩沖中的數據被協議傳送完畢才能繼續,如果在等待時出現網絡錯誤,那么該Socket函數就返回SOCKET_ERROR) 注意:在Unix系統下,如果send在等待協議傳送數據時網絡斷開的話,調用send的進程會接收到一個SIGPIPE信號,進程對該信號的默認處理是進程終止。 六) recv函數 int recv( SOCKET s, cha

10、r FAR *buf, int len, int flags );  不論是客戶還是服務器應用程序都用recv函數從TCP連接的另一端接收數據。該函數的第一個參數指定接收端套接字描述符;第二個參數指明一個緩沖區,該緩沖區用來存放recv函數接收到的數據;第三個參數指明buf的長度;第四個參數一般置0。這里只描述同步Socket的recv函數的執行流程。當應用程序調用recv函數時,recv先等待s的發送緩沖中的數據被協議傳送完畢,如果協議在傳送s的發送緩沖中的數據時出現網絡錯誤,那么recv函數返回SOCKET_ERROR,如果s的發送緩沖中沒有數據或者數據被協議成功發送完畢后,re

11、cv先檢查套接字s的接收緩沖區,如果s接收緩沖區中沒有數據或者協議正在接收數據,那么recv就一直等待,只到協議把數據接收完畢。當協議把數據接收完畢,recv函數就把s的接收緩沖中的數據copy到buf中(注意協議接收到的數據可能大于buf的長度,所以在這種情況下要調用幾次recv函數才能把s的接收緩沖中的數據copy完。recv函數僅僅是copy數據,真正的接收數據是協議來完成的),recv函數返回其實際copy的字節數。如果recv在copy時出錯,那么它返回SOCKET_ERROR;如果recv函數在等待協議接收數據時網絡中斷了,那么它返回0。  注意:在Unix系統下,如果r

12、ecv函數在等待協議接收數據時網絡斷開了,那么調用recv的進程會接收到一個SIGPIPE信號,進程對該信號的默認處理是進程終止。 七) bind函數 int bind( SOCKET s, const struct sockaddr FAR *name, int namelen ); 當創建了一個Socket以后,套接字數據結構中有一個默認的IP地址和默認的端口號。一個服務程序必須調用bind函數來給其綁定一個IP地址和一個特定的端口號。客戶程序一般不必調用bind函數來為其Socket綁定IP地址和斷口號。該函數的第一個參數指定待綁定的Socket描述符;第二個參數指定一個sockaddr

13、結構,該結構是這樣定義的: struct sockaddr u_short sa_family; char sa_data14; ; sa_family指定地址族,對于TCP/IP協議族的套接字,給其置AF_INET。當對TCP/IP協議族的套接字進行綁定時,我們通常使用另一個地址結構: struct sockaddr_in short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero8; ; 其中sin_family置AF_INET;sin_port指明端口號;sin_addr結構體中只有一個唯一的字段s

14、_addr,表示IP地址,該字段是一個整數,一般用函數inet_addr()把字符串形式的IP地址轉換成unsigned long型的整數值后再置給s_addr。有的服務器是多宿主機,至少有兩個網卡,那么運行在這樣的服務器上的服務程序在為其Socket綁定IP地址時可以把htonl(INADDR_ANY)置給s_addr,這樣做的好處是不論哪個網段上的客戶程序都能與該服務程序通信;如果只給運行在多宿主機上的服務程序的Socket綁定一個固定的IP地址,那么就只有與該IP地址處于同一個網段上的客戶程序才能與該服務程序通信。我們用0來填充sin_zero數組,目的是讓sockaddr_in結構的大

15、小與sockaddr結構的大小一致。下面是一個bind函數調用的例子: struct sockaddr_in saddr; saddr.sin_family = AF_INET; saddr.sin_port = htons(8888); saddr.sin_addr.s_addr = htonl(INADDR_ANY); bind(ListenSocket,(struct sockaddr *)&saddr,sizeof(saddr); 八) listen函數 int listen( SOCKET s, int backlog ); 服務程序可以調用listen函數使其流套接字s處于

16、監聽狀態。處于監聽狀態的流套接字s將維護一個客戶連接請求隊列,該隊列最多容納backlog個客戶連接請求。假如該函數執行成功,則返回0;如果執行失敗,則返回SOCKET_ERROR。 九) accept函數 SOCKET accept( SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen ); 服務程序調用accept函數從處于監聽狀態的流套接字s的客戶連接請求隊列中取出排在最前的一個客戶請求,并且創建一個新的套接字來與客戶套接字創建連接通道,如果連接成功,就返回新創建的套接字的描述符,以后與客戶套接字交換數據的是新創建的套接字;如果失敗

17、就返回INVALID_SOCKET。該函數的第一個參數指定處于監聽狀態的流套接字;操作系統利用第二個參數來返回新創建的套接字的地址結構;操作系統利用第三個參數來返回新創建的套接字的地址結構的長度。下面是一個調用accept的例 記得還是在兒時,就對老師無比崇敬,總覺得教師的形象高尚而神圣。每每豎起一塊小黑板,召集小伙伴們坐在小板凳上充當學生,而我自己扮作老師玩上課游戲時,總感到特別滿足。上學期間,一直是唯師命是從。我實際上非常幸運,上過中關村一小、二小、人大附中,后來進入清華大學。從小學到大學,一直上最好的學校,由最好的老師教,于是對老師也越來越敬仰,直到后來自己也當了老師。當了老師,才知道教

18、書不易,遠不是原來看到的,站在講臺上神采飛揚、風光無限。教書育人,個中甘苦非親歷親為不能體驗。剛上講臺時是1992年,教“計算機軟件技術基礎”,非電類專業的公共基礎課,一晃十多年了。當時課程內容有Fortran語言、計算機原理、軟件工程、數據結構、操作系統等,除了詳細介紹Fortran語言以外,其他都是簡要介紹。教材我也參與編寫,承擔的是Fortran語言部分,大概這個相對簡單好寫一些,就交給我這個新手了。其他部分,我講課時就是將自己上學時的筆記本拿出來,回憶老師當初是怎么講的,模仿著講。記得講數據結構部分,例題、作業題,用的都是當初嚴蔚敏老師教我們的。所以我說幸運嘛,上學時遇到的都是最好的老

19、師,受益終生啊。同時,這些老師也給自己樹立了一個高標準。這些年來,無論備課、講課、輔導學生,腦海里始終縈繞著當初老師的形象,這形象對我是一種無形的鞭策。大概這就是潛移默化的清華傳統吧。當了教師,才感覺責任重大。從不敢奢望名與利,時時告誡自己,切不可誤人子弟。教計算機課是最累的,這個學科發展太快了。以后是不想讓我兒子學計算機了。其實我自己也有點后悔,如果當初不是逞能,不是非要證明雖為女性也可以學好理工科,那么現在站在臺上講的就不會是一串串機器才認得的符號,而是引人入勝的詩詞曲賦。其實文學才是我的最愛。計算機技術更新太快,單單基礎課中的程序設計方法,在十幾年間就發生了太大的變化。如今不僅主流的程序

20、設計方法早已是面向對象的,而且軟件開發技術、開發環境不斷更新,做老師的真是疲于奔命。教師僅僅學習新技術還不行,還要爭取科研項目,去研究、應用新的理論、技術,然后轉化為新的教材、新的課程內容。不然紙上談兵是要誤人子弟的。有一次看到電視里演一位北大畢業生開肉店,突然覺得很羨慕,至少每天的豬肉都是一樣的,不會每個月變出一個新版本的豬來。雖然調侃如此,教計算機基礎課的第一真諦,正是在基礎課中體現學科的最新發展,絕對要避免“自從盤古開天地”式的講法。學生的時間寶貴、智力寶貴,創造力寶貴。如果以學科發展的歷史順序作為講課內容順序,會耽誤學生太多寶貴時間去學習陳舊的內容,花費太多寶貴的智力去掌握可能永遠也用

21、不上的知識,最后在海量的知識灌輸中不知不覺磨掉了最為寶貴的創造力。這是我悟到的作教師的第一難處。雖然是因為要逞能才進入了計算機學科,但是這飛速變化的學科確實令人興奮。不斷學習、探索新的理論和技術,雖然累一點但能讓人保持不斷進取的活力。寫到這里我忽然意識到我們系的女老師都顯得那么年輕、充滿朝氣,包括退休的。看來一個青春的學科使得這個學科的人也青春了。自然,站在講臺上的我從來都是充滿激情的,講程序語言的熱情不亞于講文學語言。其實呢,兩者都是語言,本來就是相通的。我總是與自然語言類比來講程序語言,讓學生以學習語言的心態和思維方式去學程序語言,以寫文章的思想方法去寫程序。不是嗎?我們正是以計算機可以理

22、解的語言表達我們的思維,描述我們面臨的問題和解決問題的方法。程序需要兼有議論文的嚴謹邏輯推理、記敘文的詳盡步驟描述,以及詩歌的優雅。每當學生理解到這一層面,就絕不再埋怨C+語法太復雜。比起自然語言,任何一個程序語言的語法、詞匯(關鍵字)都太貧乏了。初學程序設計的人,都誤以為復雜的語法是障礙,因為語法復雜所以程序難寫。當他明白了計算機語言是一種表達思想的語言時,便豁然開朗,原來正是因為程序語言的語法太簡單了,與人類語言差距太大,才導致初學時寫程序無從下手。進而也會明白面向對象的語言比面向過程的語言更容易理解和使用,因為與人類的思維方式更接近。能從這個角度去講課,應該說得益于我的文學功底。但是遺憾

23、的是,現在的學生有的不會用中文寫文章,他們似乎更容易接受符號表示的東西。自然,這些學生學C+、Java都沒障礙。只是我為咱們老祖宗留下的文化的傳承擔憂,也許是杞人憂天吧。好在現在中小學似乎又將傳統文化教育撿回來了。以前做學生時,唯師命是從,但是現在的學生不一樣了。以前只要是課表里排的課,都認真去學,至于以后有沒有用,沒想過。覺得既然是老師安排的,一定有其道理。現在的學生選課時要考慮諸多因素:花精力要少、得分要高、求職要管用。畢竟時代不同了,當初我們必須服從分配,做一顆“永不生銹的螺絲釘”,而現在的學生要自謀生路。于是講課就必須開宗明義,講清楚這門課的內容在計算機學科中的地位、在其他學科中的應用

24、,與其他相關技術的橫向、縱向比較,以及目前人才需求情況、對就業的作用,等等。這對老師的要求更高了,教一門基礎課,也必須是通才,不然就不能說服學生來學這門課。當然,不是說學生不選課教師就沒飯碗,其實大學老師很多都不愛講課(原因后面細說)。之所以要引導學生選課,還是出于培養學生的需要,使學生有合理的知識結構。學生自主選課,具有個性化的思考和選擇能力,無疑是好事。如果所有的事情都謹遵師命,創造性也就無從談起了。但是凡事有個限度,過猶不及。比如,對每一門課,老師都會有教學要求,有學習方法建議,這些百分之九十九都是合理的,都是多年經驗的積累。聽話的學生會遵循,于是受益。逆反的學生偏偏不聽從要求,不撞南墻

25、不回頭,撞了南墻還是不回頭。就拿做筆記為例吧,這是聽課的最基本要求吧?可是現在的學生普遍不會記筆記,比如講到重要之處,我停下來告訴學生:記下來,回去嘗試用另外不同的算法實現。可是總有些學生只是瞪大眼睛望著我,就是不動筆寫。我忍不住點名問為什么不記,答曰:記腦子里了,告訴他好記性不如爛筆頭,不以為然。結果考試就考了這個題,不會、不及格。然后重修,卻仍然不聽老師的建議。面臨這樣的情況,老師只能無奈了。做老師所面臨的另一個問題,就是學生評教。這本是件好事,但也是過猶不及。我在清華可能是最早在教研室實行學生評教的,94年就開始了。我也深知其中的利與弊。學生的評價作為參考是很有價值的,教學管理部門可以認

26、真分析評價的結果,以及產生結果的原因,與教師交流,以學生的反饋促進老師的工作。但是如果將學生評的分數作為考核教師的指標,就過了。如果規定前百分之幾如何獎勵,后百分之幾如何懲罰,看似涉及到的人并不多,但是卻使得教師們或心中惶恐,或趨利避害,受損失的最終還是學生。現在許多學生自己不用功,跟不上、聽不懂卻埋怨老師,給老師低分。老師要求嚴了、作業多了,學生也不滿意。如果課程內容多、講的深,學生聽課自然很累,有時候就會對課程不滿,給老師評分也會低。管理者需要充分考慮各種情況,要鼓勵老師堅持自己正確的教學風格、教學目標。曾經有一位主任,對我說:鄭莉,我們知道你對學生要求嚴格,在清華應該這樣,不管學生評多少

27、分,我們都知道你是一位好老師!那一段時間,是我探索教學內容和模式改革最為成功的一段時間,受益的當然是學生。時代在變化,不僅科學技術在進步,學生的思想、觀念也在變更。教師就要適應這諸多變化。以前講教師是人類靈魂的工程師,也許有點拔得太高了,但確實讓教師感到自豪和責任重大。現在呢,教育成了一種消費,學生交了學費自然是消費者,老師拿工資便成了服務者,于是師道尊嚴蕩然無存。雖然我們在文革中徹底批判了師道尊嚴,當時作為不懂事的孩子,我也寫過批判稿,但是我仍然認為應該有師道尊嚴。教師應恪守為師之道,尊嚴二字于教師意味著教書育人的責任,和嚴以律己的典范作用。對學生來講,尊師重道不僅意味著尊重老師本人,更意味

28、著尊重老師傳授的知識,聽從老師的教誨。還是那句話,受益的是學生。我們可以懷念師道尊嚴,但是在現實情況下,還是要有現代化的教書育人方法。比如,學生的學習態度、學習習慣、能力有很大差別,既然不能依靠說教使學生接受老師建議的學習方法,那么就要研究學生的不同學習習慣,提供不受時間、空間限制的個性化學習環境。既然學生不能耐心學習老師規定的內容,有要求多講些、講快些的,有要求講慢點、少考點的,有說不愿意參加考試的,那教師就要設計多種學習模式,提供多樣化的學習資源,實施多種考核方式。畢竟現在是崇尚個性化的時代,我那些多媒體教學資源、立體化教學環境,就是在這種情況下催生出來的成果。說起成果,教學成果在大學里其

29、實得不到真正的承認,這倒也合乎現在我們的社會現狀,于是應該就算是合理的吧。畢竟學校需要發展壯大,科研經費、科研論文對學校的地位至關重要,科研成果對于國民經濟的增長也是至關重要的,這都是當務之急的事情。只是我一直在想,如果基礎課質量不高,培養出來的學生能出高水平的研究論文嗎?會不會出現空中樓閣呢?這個問題想了很久,后來終于發現自己愚蠢,這種情況是不會發生的。為什么呢?想想我自己就清楚了,能從事基礎課教學的老師,大都有一種教書情節,無論是否得到承認都會矢志不渝地教書,其執著程度近乎迂腐。教書十幾年,感悟良多,甘苦自知。但是骨子里對教書的熱愛卻是有增無減。如果問為什么?也說不出什么豪言壯語,大概是與

30、生俱來的天性吧。我曾經遇到過那么多好老師,從小學到大學,都是熱愛教書的。也許是我太熱愛他們了,如今成了他們中的一分子,我也希望我的學生中有人會接續我們祖師爺孔夫子的香火。 日前,在一場以“推進兩化融合,優化企業治理 ”為主題的高峰論壇上,順義區經信委主任吳建國泄漏,在以后產業結構調整情勢下,順義區經信委將結合金蝶國際在內的信息效勞廠商,以現代制造業支撐,高端產業引領,將順義區打形成為兩化融合示范區。該研討會由金蝶軟件與順義區經信委共同舉行,金蝶北京軟件園曾經于去年9月在順義奠基,這個規劃占地235畝的軟件園建成后,除了作為金蝶南方區總部,它還將成為整個集團的研發中心,擔任高端產品的規劃和設計任

31、務。金蝶國際軟件集團副總裁陳登坤表示,繼上海和深圳之后,金蝶在北京樹立該公司的第三個軟件園,主要目的是為了愈加貼近南方市場,戰略搶占南方區域人才洼地。而之所以最終落戶順義,所看重的則是這里以現代制造業、現代農業以及航空業為代表的傳統產業基礎。據記者了解,順義在方案經濟時代只是個農業縣,革新開放后又成了制造業基地,而在“十二五”時期,順義區提出要以現代制造業為基礎,著力開展高新產業,推進兩化融合。明天,這里已成為北京市第一個“兩化融合”試點區,以北京現代、燕京啤酒、首鋼冷軋和北京第一機床廠為代表的一批大型主干企業,在信息化基礎設備、信息化資源開發應用方面,居于國際同行先停止列。用吳建國的話說,信

32、息化曾經成為促進順義區工業由大變強的重要抓手。金蝶軟件(中國)有限公司助理總裁兼北京分公司總經理王德強剖析以為,在“淺笑曲線”的兩端,技術創新(產品研發、設計)和治理 創新(市場營銷、效勞、產業鏈治理 )正在遭到更多企業注重,企業開展從此前依托低本錢、高能耗末尾向創新驅動、內生增長片面轉型。“北京分公司將集中優勢資源,協助順義區內企業片面提升治理 水平,協助順義區早日成為兩化融合示范區。” 【編者按】煤炭是我國動力的主體,不時占一次動力消費比重的2/3。但煤炭行業集中度低,監管難,糜費嚴重。信息化是轉變產業消費方式的重要手腕,是提高煤炭企業經濟效益的途徑。為此,本報特約行業專家,撰寫系列文章,

33、分四期刊登,區分是解析煤炭行業的信息化狀況,剖析信息化難點和困境,深化剖析未來煤炭行業的信息化走勢。本期為第一篇,指出煤炭信息化的狀況是集成度不高,需加大樹立力度。下期將剖析煤炭行業的信息化癥結所在。我國煤炭行業產業集中度低是不爭的理想,其結果是監管難以到位,資源糜費以及平安事故頻發,行業整合將在結構調整大戲中唱主角。從臨時來看,隨著行業整合實在有效推進,煤炭行業將逐漸構成大集團開展趨向,行業集中度大大提高,資源供應不時合理完善高效而動搖,抵御市場風險的才干得以增強,行業和企業的生長開展更為安康。公司集團化、產能有序化、價錢國際化、消費集約化,將是我國煤炭企業未來的開展潮流。信息化是完成煤炭工

34、業現代化最重要的手腕之一,是提高任務人員休息效率和煤炭企業經濟效益的途徑。新型的煤炭工業化樹立應表現迷信開展的要求,揚棄先工業化、后信息化的開展形式,加快信息化與工業化的融合。煤炭行業要參與國際外市場競爭,必需推進煤炭工業消費現代化、銷售網絡化、管理網絡化、推銷電子化與管文迷信化。假設這樣做,必將為新型煤炭工業化的開展帶來史無前例的美妙前景。ERP尚未深化總體來講,煤炭行業企業的全體信息化集成水平還不太高,集團總公司對下屬企業的消費和管理狀況不能經過網絡及時準確地掌控。大型煤炭企業的網絡樹立普通都比擬完善,少數企業建成了局域網,網絡樹立的光纖化率較高。少數企業運用了平安監測系統、消費調度系統、

35、物資供應和運銷管理系統。大型煤炭企業信息化組織機構普通樹立得比擬早,有超越1/3的企業早在上世紀80年代就設立了計算中心或信息中心,這與事先的煤炭工業主管部門注重煤炭信息化組織機構的樹立健全有直接關系。雖然近年來煤炭企業的信息化投入更趨理性,信息化樹立更多地樹立在企業自覺運用的基礎之上,但健全的組織機構置信依然是煤炭企業減速信息化樹立進程的有力保證。局部煤炭企業或其下屬廠礦曾經或正在實施ERP或ERP的局部模塊。這標明,雖然ERP理念源自傳統制造行業,關于煤炭企業能否適宜于運用以及如何運用ERP的效果,不少專家學者仍有分歧,但相當多的煤炭企業還是對ERP表現出了劇烈的需求和興味。從中國企業信息

36、化歷年的評選中,也能看出煤炭企業信息化的開展形狀,更能看出煤炭行業在中國企業信息化中占據的位置。在參與2003年2010年中國企業信息化500強六次評選的煤炭企業中,陽泉煤業(集團)有限責任公司、開灤(集團)有限責任公司、河南神火集團有限公司、上海焦化有限公司等歷次都榜上有名;中國平煤神馬動力化工集團有限責任公司(含其前身平頂山煤業集團)五次上榜;冀中動力集團有限責任公司(含峰峰集團和邯礦集團,同一年計一次)四次上榜,這些煤炭企業的信息化運用在煤炭行業是首屈一指的,當然也有局部信息化運用較好的煤炭企業沒有參與評選。觸及消費運營信息化與煤炭工業化融合主要觸及三大范圍。礦井消費自動化主要指消費現場

37、的消費進程及所用設備控制的自動化,包括礦井消費自動化控制和消費設備靜態管理。國有煤礦井下消費自動化水平普通較高,有些已到達國外先進水平。大少數礦井的消費進程都在不同水平上完成了機械化和自動化,但在采、掘、運等各個環節上采用了不同的自動化系統,彼此獨立,難以構成全體。假設采用先進的信息技術加以改造,構成完整的礦井綜合自動化系統,將大大提升礦井自動化水平,進一步完成”減人增效“的基本目的。這方面應該是“兩化融合”的重點范圍,也是效益表現最為清楚的。環境平安信息化煤礦消費環境的特殊性決議了煤礦的信息技術運用要把對礦井環境平安的監測和監控作為另一重點。在發作突發事情狀況下實施搶救和救援更需求先進信息技

38、術的支持。包括災禍狀況下快速樹立的信息網絡系統、各種方式組建的通訊系統、視頻系統以及各種探測技術設備等;以及煤礦平安消費調度和煤礦平安作業規程管理等。企業管理信息化 在礦井消費和環境平安普遍采用信息技術的基礎上,空中中央調度控制室可完成對全礦井各消費環境和設備的監視和控制。管理人員經過計算機即可隨時了解平安、消費、人員、運輸等各種信息,對全礦消費運營停止一致調度及一致管理。對各種信息停止剖析處置、統計、優化,可以為企業指導決策提供及時準確的數據,從而完成煤炭企業“管、控、營”的一體化樹立。企業管理信息化主要包括人力資源、財務資金、消費、物資供應、設備和運銷等中心業務管理信息化,以及決策信息化、

39、辦公自動化、煤炭企業內部和外部門戶網站。煤炭企業網上銷售、煤炭企業網上推銷等電子商務是今后煤炭企業營銷的開展方向,礦山地質測量管理和基本樹立管理等是煤炭企業樹立方面的信息管理系統,也許增強樹立步伐。煤炭企業對平安消費信息化的樹立都比擬注重。另外,企業對財務、銷售、物資供應管理、平安消費管理、休息工資這些可以很快對企業發揚清楚效益的單項運用系統也比擬注重,而關于大型的綜合管理信息管理系統企業普通都較慎重,由于這類系統一下馬就需求幾千萬元資金,而且實施難度大,系統的成功難以保證。這就形成了各系統之間難以停止信息集成與共享,構成了以各子系統為單元的信息孤島,缺乏抵消費現場采集的平安消費數據進一步剖析

40、與融合處置的才干。 摘要:本文結合“操作系統”精品課程的建設經驗,從“操作系統原理”教學中遇到的問題,以及“操作系統”精品課程建設中遇到的問題出發進行研究,從理論教學手段、實驗設計、教學項目申報、教學大綱的重組與整合、教學平臺的建設、學生能力培養和師資培養等方面探索問題的處理方法。實踐表明,這些處理方法有效地擴展學生的基礎理論知識,增強其分析問題和動手編程能力。關鍵詞:計算機操作系統;精品課程;實踐教學;教學改革G642 1基本情況“操作系統原理”是計算機學科最重要的專業基礎課程之一。該課程介紹操作系統的基本原理和實現技術,是理解計算機系統工作、用戶與計算機系統交互和設計開發應用系統等基本知識

41、結構的重要途徑。通過本課程的學習,要求學生理解操作系統在計算機系統中的地位、作用和特征,能夠熟練掌握和運用操作系統原理中的軟硬件資源管理中的概念、思想、策略和算法等,能結合實際操作系統開展應用系統開發,了解操作系統的發展方向和趨勢。我校計算機系于1985年開始開設“操作系統原理”課程,是湖北地區較早開設本課程的高校之一。在計算機軟件專業的第一個教學計劃中,即將操作系統原理列為專業必修課,采用了當時西北電訊工程學院的湯子瀛教授編著的教材,由于當時操作系統資料相對較少,實驗資料主要是翻譯學校引進設備時隨機所帶的系列資料,如根據MV6000機操作系統資料翻譯的相關的操作系統使用手冊,對操作系統及其他

42、課程的教學起到了積極的促進作用。1987年開始,我系采用以UNIX操作系統為主的新版操作系統基礎教程。1992-2006年期間,本課題組在操作系統教學中,根據當時教學需要,相繼采用過華中理工大學龐麗萍教授編著的操作系統原理(1版-3版)、清華大學張堯學教授編著的操作系統教程、北京大學陳向群教授編著的操作系統原理,以及陳向群教授等人翻譯的現代操作系統等國內外著名教材。從80年代末,在“操作系統原理”教學中引入了操作系統使用和算法實驗。從1996年開始設置了“操作系統原理”實驗,1998年開始設置“操作系統課程設計”課程,為此我們編寫了內部用的操作系統原理實驗教材,包括教師指導書和學生實驗指導書。

43、這些實踐環節的加入,大大加強了學生的實踐動手能力。同年本課題組開始采用多媒體設備進行“操作系統原理”教學研究,為此制作了操作系統課堂教學軟件,后該軟件獲得了湖北省組織的CAI課件比賽三等獎。從2000年起,本課題組初步開發并建設了操作系統題庫和考試系統。1999年本課程組所申請的“操作系統原理”課程列為校級主干課建設行列,在課程組全體老師的共同努力下,經過不斷的努力和建設,于2004年通過學校驗收,并被評為校級優秀主干課,2005年本課程進入校級精品課程建設。該課程經過20多年的建設,逐步形成了一個知識結構和年齡結構合理的教學團隊,從1986年起,先后有5位教授、7位副教授和多名年輕教師先后擔

44、任過“操作系統”課程的主講教師或實驗課程教師。通過科研與教學相結合,形成了一支學術造詣高、知識與年齡結構合理、勇于探索且具有團結協作精神的教學團隊。2“操作系統原理”課程中的若干問題及其解決方案操作系統是計算機系統中最底層的系統軟件,其重點是并發性、調度與分派、內存管理、設備管理、安全與保護和文件系統等內容。“操作系統”課程主要講授對計算機資源控制與管理的實現原理及方法、系統的設計思想、系統設計優劣的效率分析。從資源管理的觀點出發,該課程的核心知識單元包括:(1) 操作系統的基本概念(3學時):操作系統定義與組成,操作系統的發展歷程,操作系統的功能和特征,操作系統的類型及特點,操作系統性能,常

45、用操作系統介紹,操作系統的硬件基礎;(2) 進程管理(21學時):進程的概念、進程的表示和調度狀態、進程的控制、進程調度、進程同步、信號量、進程通信、死鎖;(3) 內存管理(12學時):存儲管理的基本概念、內存映射機制、早期的存儲管理、分頁存儲管理、虛擬存儲管理、請求分頁存儲管理、分段存儲管理、段頁式存儲管理;(4) 文件管理系統(12學時):文件管理系統、文件結構和存取法、文件的目錄結構、文件存儲空間的管理、文件的存取控制、文件系統與用戶的接口;(5) 設備管理(6學時):設備管理、輸入輸出系統結構、設備驅動與驅動調度、設備分配程序、I/O設備處理程序。我們認為,該課程的重點包括:(1) 操

46、作系統中的基本概念、原理、算法與策略;(2) 系統調用接口及其使用;(3) 計算機系統中的處理機管理、存儲管理、設備管理和文件管理方法;(4) 計算機死鎖的檢測與預防;(5) 操作系統實例研究,如UNIX/ Linux系統。該課程的難點包括:(1) 并發程序設計、進程創建、進程撤銷、進程間的同步與互斥;(2) 存儲管理策略與實現方法;(3) 文件系統及其實現方法;(4) 設備驅動程序設計。對于以上各類重點難點、本課程在組織理論課程教學中,主要采取以下幾種解決辦法:(1) 組織集體備課等各類教學活動,對重點、難點進行研討,根據學生實際,提出解決方案;(2) 采用案例教學,提倡啟發式、交互式的教學

47、方法,教師的講解要點、方法、思路、原理與策略,層層剖析。從抽象到具體,在從具體到抽象,引導學生積極思考,提出問題,激發學生的求知欲和學習主動性;(3) 將傳統教學手段和多媒體技術結合起來,采用多媒體課件和網絡課件等輔助教學手段,結合板書進行教學,增強教學效果;(4) 倡導學生的自學精神,使學生從“聽懂”到“學會”,最后達到“融會貫通”與提高學生的動手能力。與此同時,我們將“操作系統原理”實踐教學設計為四個層次,即預備層、概念層、原理層和應用層。預備層為流行操作系統的主要命令使用及其上的程序設計;以及以Linux的基本Shell程序設計方法;概念層主要涉及操作系統原理中的相關概念實現,如PCB和

48、信號燈等;原理層為“操作系統原理”中的主要算法、策略和原理的驗證性實驗和部分綜合性實驗,包括進程的創建和撤銷、內存空閑塊管理策略、作業與進程調度策略、分區分配管理、內存淘汰策略等基本算法的設計與實現;應用層是以上述算法為基礎的課程設計,以體現學習操作系統原理后的應用價值,例如實現火車票網上訂購系統等。前兩個層次的內容,要求全體學生均要參加,第三、四個層次的內容供部分學生在課程設計和畢業設計時選擇。在課程設計時,我們強調學生在實際操作系統環境下,進行系統核心算法的設計與調試,學生在完成這些內容時,必然涉及系統程序設計的諸多問題,在解決這些問題的過程中,培養了學生的系統程序設計能力,使學生真正學到

49、了操作系統的實現技術和系統程序設計方法。學生們通過操作系統多個教學環節,不僅真正學懂了操作系統的原理和理論,還掌握了剖析實際操作系統、實現并擴充操作系統功能模塊的基本技能。學生學到了多方面的知識,培養了綜合能力,有很大的收獲。3 “操作系統原理”精品課程建設中的若干問題及其解決策略在“操作系統原理”精品課程建設過程中,我們遇到了一系列有待解決的具體問題,主要涉及如何分層次進行理論和實踐教學;教學研究項目的申報和研究;課堂多媒體教學研究與實踐;課程及其資源建設;在夯實基礎教學的同時,如何培養學生的綜合能力;師資隊伍建設和青年教師培養,等等。下面就解決這些問題進行一些探討。 針對上述教學改革和研究

50、中出現的相關問題,我們主要采用了如下解決策略或方案。(1) 構建分層次的理論教學內容。建立了層次化的“操作系統原理”課程體系,改革了傳統的“操作系統原理”課程體系,在原有課程的基礎之上,根據培養層次,增加了先導課程“基于Linux程序設計”,提出了“操作系統”課程群思想,該課程群主要包括“C語言程序設計”、“數據結構”、“匯編語言程序設計”、“基于Linux的程序設計”、“計算機組成原理”、“操作系統原理”和“操作系統課程設計”等課程,并在研究生層次上開設了“分布式操作系統”等課程。課程內容體系建設已初見成效,使得該課程不再是一個點,而是一個以點帶面,以面促體的活體。這個點就是“操作系統”理論

51、課程,這個面就是操作系統算法實驗,這個體就是以操作系統算法實驗為基礎的課程設計和畢業設計。(2) 構建分層次的實踐教學內容。課程組長期堅持教學改革,其宗旨在于在傳統單一傳授專業知識的基礎上,注重培養學生正確的學習方法和良好的自學能力,培養學生的科學精神和健全人格,使學生具備適應快速變化的社會環境的綜合素質和能力。課程組改革了“操作系統”實驗課程體系,重點研究了課程實踐教學環節,在原有“操作系統原理”實驗的基礎上,增加了“操作系統課程設計”,并將相關實驗按難易程度劃分為初、中、和課程設計四個層次,形成了課程實驗、應用實驗和綜合實驗層次。在實施過程中,充分發揮師生互動的作用,完成相應實踐過程,達到

52、能力訓練和啟發創新的目的。試行結果表明,學生開放實驗室對促進學生個性發展、培養學生的創新能力起到了積極的作用。學生創新能力明顯增強,學風有了較大好轉,使得學生每年參加的ACM等各類比賽中,均獲得了好成績。(3) 重視教學研究項目的申報和研究。課程組一貫重視參與、申報、建設各級教學改革項目,先后主持或參與湖北省以及華中師范大學校級等各級各類教改項目數項,有的已順利完成,通過了驗收。階段性成果已多次獲獎。具不完全統計,近三年中,課程組教師獲得“湖北省高等教育教學成果獎”各2項、“多媒體教學課件獎”1項、“湖北省科技進步獎”1項(三等獎)、“武漢市科技進步獎”2項(二等獎和三等獎各一項)。(4) 對

53、“操作系統”的教學大綱和實驗大綱進行了重組和整體優化。完善了教學大綱和實驗大綱,編 概 述: 目前,各中學都普遍展開了田徑課余練習 ,在田徑課余練習 中,中短跑練習 展開得較為普及。中學生中短跑運發動的速度練習 不時是教練員們研討和探求的效果,只要具有較高的速度素質和良好的速度耐力,運發動才有能夠在競賽中打敗對手,取得良好的效果。當今的中短跑競賽往往都是抵達最后的幾十米或幾米名次才見分曉,可見速度是取得好效果的要害 。中心詞匯: 計算機畢業網 中學生中短跑運發動 速度練習 技術世界高水平運發動專項是(男子)1500米,400米假設跑不進48秒,就很難到達高水平。異樣,跑(男子)800米,400

54、米跑不到46秒以內,也簡直達不到世界級水平,由此可以看出速度的重要性。因此,中短跑運發動的速度練習 要惹起教練員、運發動的高度注重。那么采用什么手腕方法更能有效地提高中短跑運發動的速度?運發動在競賽中速度的實踐變化如何?在耐力跑進程中能否注重了速度效果?我依據在學習和練習 實際中的一些練習 體會,對中學生中短跑運發動速度練習 效果提出了幾點看法與同行共同探求。一、速度練習 接近了短跑練習 要求要培育速度較高的中短跑后備人才,首先,必需在速度練習 上下功夫。中學生運發動正處在速度開展的“敏感期”,這一時期提高和留意速度的練習 是有實踐的戰略意義的。在練習 中應側重于速度及速度耐力的開展,以短為主,長短結合,練習 方法手腕的選擇應接近短跑練習 的內容,但要強調的是速度練習 不能脫離中短跑的特點,在布置上既要思考 相對速度的提高,又要結合到專項特點上。其次,速度練習 必需注重質量,同時也要留意到在肌肉興奮性較高、機體精神充沛的狀況下停止速度性的專項

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論