国产色av,短篇公交车高h肉辣全集目录,一个人在线观看免费的视频完整版,最近日本mv字幕免费观看视频

首頁 > 文章中心 > 編譯原理論文

編譯原理論文

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇編譯原理論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。

編譯原理論文

編譯原理論文范文第1篇

論文摘要:醫院現代人力資源管理與傳統人事管理有著本質的區別,前者強調的是人的潛能的不斷開發和利用,強調實現組織價值和員工個人價值的雙贏目標;而后者強調的只是組織目標的實現。現階段我國國有公立醫院的人事管理很大程度上影響了醫院的發展和整個醫療衛生隊伍素質的提高,客觀上制約了醫學事業的發展和人民群眾對優質醫療服務的需求。醫院要想在激烈的市場競爭中站穩腳跟,不斷擴展自己的醫療市場,必須樹立現代人力資源管理的新意識,分析3"-前國有醫院人事管理的現狀。采取九個方面的措施加大人力資源管理和開發的力度,有效地從傳統人事管理轉變為現代人力資源開發,以獲取人力競爭優勢。走可持續發展的道路。

人力資源作為各種資源中的第一資源,其配置是否科學、合理,管理模式是否科學、先進和具有時代特色,不僅直接關系到人力資源效能的正常發揮,也關系到其他資源的開發利用、合理配置和科學管理,醫療機構的人力資源管理也不例外。醫院要想在激烈的市場競爭中站穩腳跟,不斷擴展自己的醫療市場,必須樹立現代人力資源管理的新意識,進一步加大人力資源管理和開發的力度,以獲取人力競爭優勢,走可持續發展的道路”。

1現代人力資源管理與傳統人事管理的概念和區別

醫院現代人力資源管理與傳統人事管理有著本質的區別。有人形象地說傳統人事管理是把人看作蠟燭,不停地燃燒直至告別職業生涯,強調的是組織目標的實現;現代人力資源管理是把人看作蓄電池,可以不斷地放電、充電,強調的是人的潛能的不斷開發和利用,強調實現組織價值和員工個人價值的雙贏目標。概括來說,它們的主要區別如下:

1.1人事管理

主要采用嚴格的制度、命令式和簡單式的監督。精力放在員工考勤,檔案、合同管理,職稱評定和發放工資福利等事務性工作上,是一種反應性的管理。它忽視員工的主觀能動性和自我實現的需要。一般在單位中被定位于行政服務部門。目前國有公立醫院基本上都是這種模式。即使一些醫院將人事管理門更名為“人力資源部”,但從醫院管理體制上可看出,對人員的管理基本上仍是傳統的人事管理,這是組織歷史以及組織格局和體制的必然。由于其不是基于以人為本的價值理念,沒有足夠認識到人是“資源”的戰略管理意義,加之缺乏足夠的公平、競爭的運作環境,所以調整和維系人員對組織獻身的精神的,多是組織權力和行政感召,缺乏對個人持續培養、開發從而達到自我實現價值的根本動力。

1.2現代人力資源管理

醫院現代人力資源管理是建立在全新的理論與管理思維之上的,它是運用現代化的科學方法,對與一定物力相結合的人力進行合理的培訓、組織和調配,使人力、物力經常保持最佳比例,同時對人的思想、心理和行為進行恰當的誘導、控制和協調,發揮人的主觀能動性。它帶來的是醫院人事管理理論和時間觀念的全面更新,它是要獲取與開發醫院服務工作需要的各類、各層次人才,建立醫院與醫務人員之間良好的合作關系,以人力資源滿足社會及公眾對醫院的要求,滿足醫院經營管理的發展的目標,也滿足醫務人員個人成長和發展的要求。在用人機制、運營機制方面均比較靈活,有較強的市場應變能力和市場競爭能力。另外,比較注重以人為本,提倡“人性化”管理,在薪酬分配、績效評估、員工激勵和未來的職業生涯規劃等方面更加符合現代醫院管理的要求。

2目前國有公立醫院人力資源管理的現狀

2.1對人力資源和人力資源管理的重要性認識不夠,沒有樹立正確的觀念

醫療衛生行業長期處于行政壟斷地位,醫院沒有在市場競爭中實現優勝劣汰,外部環境不需要對人力資源有較高的要求。這是目前公立醫院不重視人力資源管理的主要原因。

2.2人力資源管理體制僵化,人才流動機制不完善

目前,許多醫院還未真正成為市場的主體,其運行仍由行政部門干預,醫院不具有完全的用人自。雖然人才的評估在近年來有所規范,但不同醫院的同樣職稱人才,尤其是高級人才缺乏同質性,真正的自由流動和彈性機制沒有建立。醫院想要的人進不來,不要的人出不去,想走的人走不了,想來的人來不了,專業人員和管理人員缺乏積極性。其主要有四方面的原因:一是行政管理部門干預過多;二是醫院內部人力資源管理機制不健全;三是人力資源的市場機制不完善;四是原來遺留問題的后遺效應。

2.3缺乏科學的績效評估體系

目前大多數公立醫院仍為事業單位,績效考核沿用行政機關、事業單位工作人員年度考核制度,醫院各種專業、層次的人員,風險、技能要求不同,卻都在使用統一的考核標準,所考核的內容也很籠統和形式化,難以反映不同崗位不同人員的業績奉獻。

2.4薪酬分配缺乏競爭性和激勵作用

近年來,盡管一些醫院對拉開收入差距采取了一定的措施,但絕大多數醫院仍然在沿用過去的等級工資體系。沒有進行工作分析、制定崗位說明書、做薪酬市場調查、績效考核以及薪酬激勵等規范化的人力資源管理。

2.5未重視醫院與員工的共同發展

有些醫院招聘并錄用員工后,沒有對其進行醫院的價值觀教育,醫院缺乏良好的文化氛圍,使員工難以產生認同感和歸屬感,團隊協作能力不強。

3加強國有公立醫院現代人力資源管理的建議

現代醫院管理是以人力資源為核心的管理。人力資源管理就是在醫院管理中要堅持和貫徹“以人為本”,使“人”與“工作”和諧地融合起來,實現醫院和員工“雙贏”,達到利益最大化。為加強公立醫院的現代人力資源管理,提出以下幾個方面的建議。

3.1要樹立正確的人力資源觀念和現代人力資源管理新意識

人力資源是醫院的戰略性資源,是具有高增值性的重要資產。因此,人力資源管理者要打破傳統的人事管理觀念,從單純的人員行政管理中走出來,主動地去開發人力資源、挖掘潛能,使職工最大限度地釋放才能,滿足自我實現的需求。在醫療市場競爭中人才就是財富、人才就是效益、人才就是競爭力、人才就是發展后勁,人才是一種無法估量的資本,是一種能給醫院帶來巨大效益的資本。如果把醫院的人才帶走,醫院會垮掉;相反如果你拿走資金、病房及設備,而留下人才,幾年后可重建一個醫院。在人力資源中,特別是受到過良好教育和具有創新協作能力的高素質人才,在某種程度上講,對經濟和高科技發展起到決定性作用。“最優秀的人才是免費的”,因為他們為醫院創造的價值遠遠大于了醫院付給他們的報酬。因此,人力資源管理者,要堅持“以人為本”的思想,尊重人才、愛惜人才,想方設法做到“用事業凝聚人才、用精神激勵人才、用感情關心人才、用適當待遇留住人才”。

3.2建立競爭機制

堅持公開、平等、競爭、擇優的選人用人制度。選人用人是搞好醫院人力資源管理的第一關,只有建立公開、平等、競爭、擇優的選人用人制度,選拔和使用與所需要崗位相匹配的優秀人才,才能為諸如薪酬待遇,培訓發展等其他人力資源管理工作奠定良好的基礎。要善于公開選拔任用人才,拓寬用人渠道,增加透明度,為各類不同的人才提供和創造發展機遇。中國有句古話叫“英雄不問出處”,只要符合招聘的崗位要求,具備基本的學歷、資歷和工作經驗,就都應該讓其應聘,通過優勝劣汰來選拔崗位最佳人選。做好工作分析,崗位評價,制定崗位說明書和崗位規范等基礎工作,同時在選拔人才時要嚴格按照程序運作,這樣才能夠確保招聘到高素質的優秀人才。

3.3建立職責明確的崗位責任制

醫院要想有一個高效的運作機制,必須要相應地建立一套適合本醫院特點的組織體系和崗位設置,就是要堅持按需設崗,做到崗位職責明確、任職條件清楚,員工的能力與崗位要求相匹配。同時使該崗位的職責能夠充分履行而與上下配合協調,使醫院整體獲得最大效益。

3.4建立科學、公正、公開的績效考核制度

績效考核是對醫院員工勞動付出的一種反饋,同時也是支付薪酬的重要依據。在實施考核中必須要有一套能夠反映崗位特點和本人(或科室)實績的科學的考核標準,將不同崗位的責任、技術復雜性、承擔風險的程度、工作量大小、科研、教學等不同情況一并納入考核要素,同時在實施考核中做到公正操作,對事不對人,并將考核結果公開,及時做好反饋工作。

3.5建立公正、公平、合理的薪酬分配體系

薪酬是醫院進行人力資源管理的一個非常重要的工具。創新分配機制,建立公正、公平、合理的薪酬體系,對調動員工的積極性,提高醫院效益顯得尤為重要。薪酬的設計與結構以及水平必須建立在科學的工作分析、工作評價以及績效考核等基礎之上,真正體現按勞分配與兼顧公平的原則。在實際的薪酬分配中,要根據不同的工作態度,工作能力和工作業績拉開分配檔次,向關鍵崗位與優秀人才傾斜。對臨床醫技科室醫務人員勞務費分配實施崗位量化考核。各科室實行二次分配,把工作績效作為崗位薪酬、多元分配的主要尺度。對積極開展新技術、新項目和臨床科研成績突出者實行重獎。這樣做的目的,一方面是對員工勞動價值的肯定,同時也是穩定和吸引優秀人才的主要措施。薪酬體系合理,使醫院的薪酬對內具有公平性,對外具有競爭性。

3.6建立有效的人力資源激勵機制和約束機制

激勵可分為物質激勵與精神激勵。有效的激勵機制不僅可以調動員工的積極性,激發他們的創造力,而且可以增強醫院的凝聚力和競爭力,進而促進醫院的不斷發展和效益增長。制約機制也稱約束機制,就是要求醫院員工在醫療服務工作中的行為要符合職業道德規范和醫院規章制度,使其行為具有合法性和道德性。只有制約機制與激勵機制的相互配套與應合,才有可能獲得預想的管理效果。

3.7作好員工職業生涯規劃。為員工提供良好的發展空間

職業生涯是一個人在一生中所有的工作經歷,特別是指職業、職位的變動以及個人職業理想的實現過程。職業生涯規劃,就是根據個人的興趣、愛好和所具備的知識與技能以及相關的人際背景等各種因素來設計個人的職業發展計劃。醫院作為員工職業生涯得以存在和發展的載體,必須為每位員工提供一個不斷成長和挖掘個人潛力和發揮特長的機會,醫院管理者不僅要關注醫院目標的實現,更要關注員工個人理想的實現,讓他們獲得事業上的成功與滿足,只有員工的發展與成功,才能有醫院的發展與成功。醫院只有為員工作長遠考慮,員工才能為醫院作長遠考慮,這一點在現代醫院的人力資源管理中是必須明確的。超級秘書網

3.8建立完善的社會保障制度

完善的福利和社會保障制度僅僅在于滿足生理需要和安全需要這兩個低層次的需要。除我國現有的社會保障體系外,基于醫療行業的特殊性,對一些特殊崗位還要給予職業安全保護,并按國家規定給予各種休假待遇,讓員工在為醫院的貢獻中享受到各種法定的保障。

3.9推行“人性管理”,培育良好的醫院文化

編譯原理論文范文第2篇

論文關鍵詞:編譯原理;能力培養;教學

從當前的就業情況看,計算機專業的學生在軟硬件知識和應用能力上的優勢逐漸弱化,在與具備特定行業、應用領域和專業背景的學生競爭就業時,面臨的壓力越來越大,而在已就業的學生中又少有人從事編譯系統的研究和開發工作。所以,“編譯原理”作為計算機科學與技術專業的“經典”核心課程的存在價值受到質疑。其實,本科教育解決的是培養學生基本專業能力、可持續發展能力這些本質性的問題,因此,我們要從如何結合專業課程完成學生專業能力的培養與素質的提高這樣的角度來看問題。

在大學里,學習一門課程,不能簡單、膚淺地看成是對這門課程所含內容的研究、設計和開發,而是關注是否在有限的時間內最有利于學生專業能力的培養。計算機是一門技術性、工程性和應用性很強的學科,有其自身的基礎理論支撐體系。“編譯原理”課程本身以計算機專業基礎知識為載體,含有問題求解的典型思想、技術和方法,整個課程的內容對培養學生的計算思維,程序設計與實現,算法設計與分析,計算機系統的認識、開發和利用等學科基本能力都非常重要。并且,編譯技術在計算機體系結構設計、提高軟件開發效率與質量的工具開發等方面有著重要的應用。因此,“編譯原理”課程不但有存在的價值,而且對于計算機專業學生的能力培養和素質提高有著極其重要的作用和意義。

作為計算機專業的教育工作者,應該結合當前計算機的發展狀況,重新認識“編譯原理”課程的重要性,并根據當前的教育和就業形勢,積極研究、改進“編譯原理”課程的教學和實驗方法,提高教學效果和質量。

一、明確“編譯原理”課程對學生能力培養和素質提高的重要性

從課程體系總體設計看,“編譯原理”課程的主要教學目標之一是使學生在系統的級別上重新認識算法和程序,提升學生的系統能力。它是計算機專業課程中最難學的課程,既涉及形式語言和自動機等抽象理論,又是數據結構、程序設計語言、算法和軟件設計等知識的綜合體現,有效培養了計算機專業學生應具有的計算思維,算法設計與分析,程序設計與實現(硬件和軟件實現),系統的認知、分析、開發與應用等四大基本能力。

計算學科問題求解的基本思路是“問題-形式化描述-計算機化”,以抽象、理論、設計為其學科形態。“編譯原理”課程中要求學生掌握的包括程序變換基本概念、問題描述和處理方法(自頂向下、自底向上、逐步求精、遞歸求解,目標驅動,問題分析、問題的抽象與形式化描述,算法設計與實現,系統構建、模塊化)等知識、思想和方法,有利于學生養成“問題、形式化描述、計算機化”問題求解的習慣,實現從“實例計算”到“類計算”和“模型計算”的跨越。這其中既有明確的、便于抽象的問題,又有較成熟的理論,而且在限定規模下又容易實現(設計),涉及的是一個比較適當的抽象層面上的數據變換,所以該課程是計算機專業本科生的重要專業技術基礎課程。

二、“編譯原理”課程“教”與“學”的新思考

目前,在“編譯原理”課程教學中,“教”與“學”兩方面的問題都很突出:一些抽象的重要理論使學生學習的畏難情緒嚴重,加上有些人認為畢業后很少有機會參與設計與實現編譯系統,使得該課程的“教”與“學”的熱情偏低,而適用于新型體系結構及新一代計算機系統的編譯器的需求和大量應用,也給“編譯原理”課程內容的充實與更新提出更高要求。

作為教師,要讓學生深刻認識到:“編譯原理”是許多課程知識的集成與實踐,能進一步加深對許多專業基礎課程知識的理解;編譯程序所使用的原理、方法和技術有利于領悟計算機理論的精髓,在非編譯系統的實際應用中也發揮著很大作用;學習編譯對今后從事應用軟件,語言開發平臺、編譯系統甚至操作系統的開發等工作非常有益。

實踐證明,如果首先讓學生認識到課程內容的重要性,再輔之以合適的教學方法和教學手段,是不難取得好的教學效果的。根據筆者的“編譯原理”課程教學經驗,認為對于該課程的設置和教學可以從以下幾個角度來開展。

1.科學設置課程

對于“編譯原理”課程的設置問題,可以根據本科院校自身辦學宗旨,從普通高校本科、重點高校本科和研究生階段教育三個層次來考慮教學目標和培養要求等因素,在總學時的限制下,實現總目標的最佳課程。因此,可以考慮以下2種模式。

(1)課程分解模式。分為:“編譯技術”(必修),介紹為滿足基本應用而需要學生掌握的基礎知識、方法和技術,以達到語言轉換和實現理論基礎介紹的目的;“編譯理論”(選修),主要偏重于介紹形式化等原理性的深層次內容,方便有進一步深造需要的學生學習。

(2)內容分解模式。不單獨設置一門“編譯原理”課程,根據深淺和涉及到的具體問題,將與其他課程相關的內容分解到不同的課程中去,使學生在相關課程的學習中逐步掌握相關知識。這和前者比有一定難度:一是課程難分解,課程內容分解后與其他課程內容的重新整合在短時期內難做到科學分解與組織;二是增加了其他課程授課教師的工作量與難度。

2.優化教學內容

教師還要堅持教學與科研相結合,將最新的教改和科研成果引入教學,將經典編譯理論與現代編譯技術有機地結合起來。例如,可以將嵌入式編譯器、分布并行編譯器、多核編譯器以及適應新體系結構及新一代計算機系統編譯器的研究及其研究結果迅速充實到“編譯原理”課程中。此外,還可以向學生介紹編譯技術在人工智能、并行計算、自然語言處理等領域里的具體應用,為后續課程做好鋪墊。

3.用實例演示來形象化抽象理論

學生學習“編譯原理”課程的最大困難是其較為抽象,要獲得好的教學效果,就要將抽象理論形象化。改革教學方法,提倡互動式、研討式和案例式等教學方法。一方面,可以通過實例類比,例如,用自然語言的翻譯過程來類比編譯程序執行高級程序設計語言的翻譯過程。另一方面,教師可以借助多媒體手段,把抽象的原理用動畫、圖像等形象化的方式展示,便于學生的理解。同時,還可以向學生推薦網上優秀的“編譯原理”課程教學網站、電子書等資源,拓寬學生視野,培養和激發學生學習興趣。

4.把握聯系,啟發學生積極思維

在教學過程中,充分考慮“編譯原理”課程與數據結構、計算機組成原理、操作系統、算法分析與設計等先修課程之間的內在聯系,不斷深入和強化,以加強課程的系統性,培養學生的全局觀。同時還要把握編譯過程各個功能階段的內在聯系與規律,有目的地設計問題,有意義地提出問題,通過問題把編譯原理中的理論難點、抽象概念引導出來。

三、重視實驗,建立行之有效的實驗教學方法

設計和組織良好的實踐教學環節可以使“編譯原理”課程獲得良好的教學效果。現在很多高校都增加了實驗學時,并獨立計算實驗成績。我們在借鑒兄弟院校和國外經驗的基礎上,摸索出驗證性實驗加綜合設計性實驗的2階段實驗教學模式,各高校可根據自己的教學目標和培養要求來選擇實施。

1.驗證性實驗

這類實驗主要是為配合配合課堂授課內容,由教師按編譯原理授課順序,提供同步的若干驗證性實驗題目,讓學生逐個完成相關子模塊,逐步擴大完善整個編譯程序。這樣循序漸進地完成實驗,不僅增加了學生的成就感和自信心,而且使他們養成扎實的作風,使學練互動,激發學生學習興趣和積極性。而作為教師,則要做好組織、監督和解惑工作,幫助學生掌握編譯系統主要技術、算法的理解和設計,引導學生從整體上把握編譯系統的結構和各子系統之間的協調工作。

2.綜合設計性實驗

一定規模的綜合設計性實驗訓練是保證實踐教學效果必不可少的環節。我們可以讓學生以小組(由4~5名成員)為單位結合軟件工程課程實驗的環節完成一個規模適度的編譯程序開發。在實際操作時,可根據驗證性實驗階段的情況,把學生分成不同層次的小組,由他們選擇適合自己水平的不同的實驗題目。每組遵循完整的編譯器開發方式,融入軟件工程的思想,由大家推舉的組長分工、協調完成任務。這樣,不僅能讓每個學生體驗從分析設計、編碼測試到交付維護的軟件開發全過程,還提高了他們的工程和團隊意識以及開發大型軟件的協調結構設計能力。實驗結束時,教師要求學生以演示系統、答辯的方式公布實驗成果,以便公正評分。

四、結論

編譯原理論文范文第3篇

論文關鍵詞:Proteus,LPC2124,精確計數

 

1 引言

LPC2124是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S CPU的微處理器,并帶有256KB嵌入的高速Flash存儲器和16KB的RAM。LPC2124具有教小的64腳封裝,極低的功耗,多個32位定時器,4路10位ADC,PWM輸出,46個GPIO以及多達9個外部中斷,并且內置了多種串行通信接口物理論文,支持JTAG、ISP、IAP等多種編程方式,使得LPC2124能夠適用于工業控制、訪問控制、醫療系統以及其他各種類型的應用[1,2]。

Proteus軟件是由英國Labcenter Electronics公司開發的EDA工具軟件,是一款新型的嵌入式系統設計、分析與仿真軟件。Proteus軟件不僅能夠實現數字電路和模擬電路的設計與分析,而且還能夠實現微處理器與外設的混合電路設計,可以直接在原理圖的基礎上進行微處理器的軟件協同仿真和功能驗證。Proteus軟件只帶匯編編譯器(不支持C語言),但可以將其與Keil集成開發環境進行聯調,達到很好的仿真效果[3,4]。

本文設計的精確計數系統功能為:當按下按鈕時,數碼管的計數加1,當放開按鈕時,數碼管的計數保持不變;開始時數碼管的計數為0,當數碼管的計數達到15(即16進制的F)時又重新從0開始計數。系統軟件的設計采用Keil軟件完成,編譯連接之后得到可執行的hex文件;系統硬件的設計采用Proteus軟件完成;軟硬件的協同仿真是在Proteus中加載hex文件進行精確計數的測試。

2 硬件系統的設計

精確計數系統采用LPC2124微處理器作為核心器件,并為其提供了兩組電源分別為3.3V和1.8V。硬件系統主要由以下四部分電路組成:XTAL1和XTAL2兩個端口連接晶體振蕩器組成時鐘電路,RST端口連接一個按鈕組成復位電路物理論文,P0.0-P0.6端口連接一個共陰極的7段數碼管組成輸出電路,P0.7端口連接一個按鈕組成輸入電路論文格式。在精確計數系統中,P0.0-P0.7共8個端口的功能都是GPIO,P0.0-P0.6共7個端口的方向都為輸出模式,P0.7端口的方向為輸入模式[5]。采用Proteus軟件設計的硬件系統原理圖,如圖1所示。

圖1 硬件系統原理圖

3 軟件系統的設計

精確計數系統軟件的設計主要在于對LPC2124微處理器相關寄存器的設置,從而控制數碼管計數的顯示。軟件系統的設計采用Keil軟件完成,并最終得到可執行的hex文件。軟件系統的設計主要通過以下幾個步驟來實現,程序流程圖,如圖2所示。

圖2 軟件系統流程圖

1.初始化系統時鐘并設置相應的寄存器。晶體振蕩器的頻率為10MHz,LPC2124微處理器的時鐘頻率為60MHz,設置相應的寄存器程序如下:

PLLCON=1; //使能PLL

PLLCFG=(60/10-1)|(1<<5); //M=5+1,P=1

2.初始化相應端口的功能為GPIO,設置相應的寄存器程序如下:

PINSEL0=PINSEL0|0xFFFF; //P0.0-P0.7共8個端口功能為GPIO

3.初始化相應端口的方向為輸入或輸出模式,設置相應的寄存器程序如下:

IO0DIR=0x7F; //P0.0-P0.6共7個端口為輸出,P0.7端口為輸入

4.開始計數數碼管顯示0物理論文,設置相應的寄存器程序如下:

IO0SET=0x3F; //P0.0-P0.5共6個端口輸出高電平,P0.6端口輸出低電平

5.循環檢測按鈕是否被按下,并進行相應的處理,程序模塊如下:

void button_test( )

{

int i=0,key;

unsigned charledcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,

0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}; //顯示0-9,A-F的筆段代碼表

while(1)

{

key=IO0PIN&(1<<7); //獲取P0.7端口的電平,即檢測按鈕是否被按下

if(key==0) //按鈕被按下

{

i++;

if(i==16) //計數器加到16

{

i=0;

IO0CLR=ledcode[15]; //清除數碼管上次計數的顯示

}

else

IO0CLR=ledcode[i-1]; //清除數碼管上次計數的顯示

IO0SET=ledcode[i]; //數碼管顯示新的計數

while(1)

{

key=IO0PIN&(1<<7);

if(key!=0) //按鈕被放開

break;

}

}

}

}

4 仿真與結論

精確計數系統軟硬件的協同仿真是在Proteus中加載hex文件進行計數的測試。經仿真測試結果表明:本精確計數系統能夠根據按鈕的按下與否準確進行0到15(即16進制的F)的計數,并通過數碼管進行準確顯示,達到了設計的目標要求。同時,在此基礎之上,可以對系統的軟硬件功能進行擴充,以適用于其他方面的應用。

參考文獻:

[1]韋文祥,朱志杰,車琳娜,郭寶泉.基于LPC2124的一個遠程系統軟件升級方案[J].單片機與嵌入式系統應用,2006,5:46-49

[2]晏五一,朱志杰.基于LPC2124的遠程配電變壓器監測終端設計[J].電力系統,2007, 26(7):31-34

[3]楊校輝.Proteus在ARM系統設計中的應用[J].單片機與嵌入式系統應用,2009,8:77-79

[4]張勇.基于Proteus平臺的32位單片機LPC2114虛擬串口通訊仿真[J]. 集成電路通訊,2008,26(1):8-12

[5]周立功.ARM嵌入式系統基礎教程(第2版)[M].北京:北京航空航天大學出版社,2008:353-360

編譯原理論文范文第4篇

論文關鍵詞:操作系統,內核分析,Linux,跨平臺調試

 

0 引言

作為計算機科學與技術專業的一門重要專業基礎課程,操作系統的地位舉足輕重。但在高校本科教學過程中,學生普遍反映該課程難學,教師在教學中也困難重重。究其原因,操作系統課程自身的知識結構以及研究對象特有的復雜性使上述情況成為必然。而知識體系的復雜性直接導致該課程給人理論性強、抽象的印象。因此,如何有效開展操作系統課程的實驗教學,加深學生對該課程的直觀理解和把握就顯得至關重要。傳統實驗方法以驗證和仿真為主,實驗很難發揮應有的作用,且容易混淆系統級和應用級的許多概念,反而使學生更難把握知識結構,難以對系統軟件形成宏觀認識。結合多年教學實踐,我校在操作系統課程的本科教學過程中結合實驗平臺軟件的開發和應用,探索出一種直觀有效的實驗教學模式,使得教學效果得到較顯著的提高。

1 操作系統實驗教學現狀

1.1 實驗比重

由于操作系統課程涉及的理論知識多雜志鋪,系統級的驗證和實驗難度較大,導致教學過程中容易出現避重就輕的情況,教師易偏重理論課而輕視實驗課教學,實驗的課時設置在各高校中也不同程度地偏少。另一方面,學生受考試形式的引導,也偏重理論學習而忽視實踐動手能力的培養。實踐證明,不注重實驗、驗證環節,學生很難對該課程涉及的大量概念和方法形成直觀認識,導致對許多知識點的認識出現偏差,反而不利于理論課的學習。例如,目前選用的教材在行文時經常變換研究的“角度”,一些知識點是面向應用的,而一些是研究操作系統內部實現的,但在講述中并未明確說明,比如:在“進程同步與互斥”部分,大部分教材是從“應用”的角度來描述P、V操作的,并附帶偽碼算法。但在學習過程中,許多同學搞不清這些算法用在何處,是在應用程序層次還是在操作系統實現層次。如果結合Linux或Windows平臺設計實驗內容,補充P、V操作對應的系統調用和有關函數的用法,真正寫出可運行的程序,就可以大大加深對知識點的理解。

1.2 實驗方式

與大部分應用類課程相比,操作系統課程的研究目標是系統軟件,知識結構偏重底層軟件,且往往涉及到硬件知識,開展實驗所需的軟硬件平臺復雜,傳統教學模式很難真正實施“系統級”的實驗項目,故常用模擬算法代替。這樣容易導致所學知識和方法比較抽象和“遙不可及”,很難形成對操作系統整體上的理解和把握。

1.3 現有的一些改革和嘗試

針對操作系統課程實驗教學中的問題雜志鋪,各高校進行了許多有益的改革和嘗試。例如,使用逐漸被認同的Linux實驗平臺[1],整理更加規范的實驗內容[2],以及按照歸類和劃分層次的原則對實驗目標進行細化等方法[3]。但操作系統實驗內容自身的復雜性與實驗方式盡量簡單、有效的要求之間的矛盾依然存在。

2 基于內核分析的實驗模式

針對上述問題,本校操作系統教研組在操作系統實驗教學中不斷探索和嘗試,總結出一種基于內核分析的實驗教學方法。實施過程中,在保障36個實驗學時的前提下,直接面向具體的操作系統對所學的概念和算法進行驗證、設計,配合跨平臺編譯和調試技術,有效地降低了實驗實施的難度,且不增加學生的額外負擔。

2.1 內核分析

內核分析,就是選擇一個開源的操作系統作為對象,通過閱讀源代碼來分析其實現原理和必要細節,并在特定的地方修改部分代碼以驗證自己的算法。但是,為了降低實驗的復雜度并適應本科生的知識結構,實驗對象不應太復雜。基于上述考慮,可以選擇Linux0.11版本作為實驗的目標系統。Linux0.11版是Linux的早期版本,其總的代碼量只有1萬行左右,且結構清晰,功能較完整(能夠覆蓋實驗教學中的知識點),幾乎包含了目前較新版本內核的所有基本功能和原理[4],能夠較好的滿足實驗要求。

2.2 跨平臺編譯和調試

單純的代碼閱讀是枯燥無味的,特別是操作系統這種系統軟件。為了提高實驗的直觀性,可借助動態調試技術來實現內核代碼的閱讀和分析工作。通過調試過程可以較輕松的跟蹤內核執行的流程、關鍵算法的運行效果以及關鍵變量和寄存器的取值情況。

但由于操作系統是系統軟件,其修改、編譯和調試過程遠比一般的應用程序復雜。目前常見的實驗環境是在微機上直接安裝Linux的發行版本或在Windows系統中通過虛擬機安裝Linux開展實驗。但這些方法都需要在修改內核后重新編譯并重啟系統,其過程繁瑣且需要掌握Linux的大量命令,從而加重了學生的負擔并容易導致其失去學習興趣。

得益于自由軟件基金組織GNU對Linux的支持,目前有許多Linux相關的工具軟件可以使用,并且有對應的Windows版本。其中雜志鋪,著名的編譯器GCC和調試工具GDB可以巧妙解決實驗過程繁瑣的問題。其主要思路是:利于GCC、GDB、MAKE工具和虛擬機軟件,實現一種跨平臺的內核編譯和調試方法,即在Windows平臺下編輯、編譯并調試運行Linux系統。這和用VC、VB等應用程序開發工具編程調試的工作方式幾乎沒用區別。另外,通過開發一個集成實驗環境(Windows下的應用程序),可將GCC、GDB、MAKE及虛擬機工具進行集成,從而將命令行工作方式轉換為視窗工作方式,大大簡化實驗步驟,使學生更容易集中注意力到實驗內容本身。

圖1描述了這種基于跨平臺編譯調試技術的工作流程。

圖1 跨平臺內核編譯、調試流程

3 集成實驗環境的搭建

搭建集成實驗環境的目的是避免實驗時頻繁的執行GNU工具集對應的各種命令,使實驗步驟盡可能簡潔。其主要組成為:虛擬機BOCHS、Windows下的GNU工具集以及主控程序。集成實驗環境的開發過程本身涉及許多操作系統課程中的知識點,比如進程間通訊、管道、共享存儲器等。對學有余力的學生,閱讀其實現代碼有助于編程能力和對操作系統整體認識的提高。

3.1 虛擬機BOCHS

傳統的Linux內核調試方法是使用KGDB進行遠程調試。這種方法必須要求有一臺目標機和一臺調試機,因此用于實驗有很多困難,難以實施。而利用虛擬機軟件,可以在一臺微機上虛擬另一微機并滿足實驗的要求。另外,選擇BOCHS而非其它軟件的主要原因在于它使用的是仿真技術而非虛擬技術,從而更適合充當調試服務器的角色。

3.2 Windows下的GNU工具集

為了實現跨平臺的內核編譯和調試,實驗環境需要使用Windows下的GNU最小工具集(Minimalist GNU for Windows),主要包括的工具有:AS、LD、GCC、MAKE以及GDB。其主要作用是保證在Windows平臺下GNU開發環境仍然可用。但需要注意的是,基于該工具集生成的可執行程序是PE格式的,即Windows下的可執行程序格式,不能作為內核鏡像執行,因此需要一個簡單的轉換過程。但這種首先將內核編譯為exe再轉換為內核鏡像的過程恰好可以為GDB保留內核符號表,從而使跨平臺調試成為可能。

3.3 集成實驗環境

這是一個用VC開發的Windows應用程序,其功能包括內核源碼的管理、編輯、編譯、內核鏡像的生成、調試、MINIX根文件系統的維護以及實驗項目的管理。

(1)內核源碼以及實驗項目的管理

該功能主要結合操作系統實驗教學中的系統引導、進程管理、存儲管理、設備管理、文件系統等內容,針對相應的內核源碼給出注釋、快速索引、實驗指導以及實驗步驟。它可以幫助學生通過真正的內核代碼分析,更深刻理解相關知識點,且形式直觀、易于理解。

(2)內核鏡像的生成、調試

該功能是實驗環境的核心部分。基于該功能可以快速對修改過的內核生成新的鏡像,并通過調試器看到真正的運行情況,從而使內核分析實時、動態進行雜志鋪,并且像調試應用程序一樣簡單。具體實現時,將GCC、GDB、BOCHS等作為子進程執行,并通過管道和I/O重定向等方法將繁瑣的控制臺工作方式轉變為視窗工作方式。例如,進行調試時,不再需要記憶GDB的調試命令和頻繁的控制臺輸入,只需點擊鼠標設置斷點、單擊菜單項或按快捷鍵即可實現字符環境下幾十條命令才能實現的功能,操作簡單、界面更友好。

(3)根文件系統的維護

在Windows下維護根文件系統的目的是便于將可執行程序加載到磁盤鏡像中。由于Linux0.11功能簡單,并且為了保證磁盤鏡像盡可能小,Linux0.11本身不包含GCC等編譯工具,因此,要在目標系統中運行的程序必須在Windows系統中編輯、編譯,最后再加載到根文件系統中。

圖2為集成實驗環境運行的情況。

圖2 集成實驗環境

4 結語

操作系統課程實驗教學的必要性和重要性已被廣泛認同,而對教學方法、手段的探索和改革還任重道遠。這種基于內核分析的實驗方法試圖讓學生真正接觸操作系統實現細節的同時,力爭簡化實驗步驟,使實驗環節易于實施。實踐證明,該教學模式容易被學生接受、取得了較好的教學效果。

參考文獻

[1]鐘少丹.“操作系統”課程實驗設計的思考[J]. 計算機教育,2008(12):120-121.

[2]張其亮,韓斌.操作系統課程實驗教學改革探析[J]. 計算機教育,2010(7):91-93.

[3]鄒恒明.操作系統課程實驗中的五重奏哲學[J]. 計算機教育,2009(20):109-112.

[4]趙炯.Linux內核完全注釋.[M]. 北京:機械工業出版社,2004.9.

編譯原理論文范文第5篇

關鍵詞:操作系統;實踐教學;實驗設計

中圖分類號:G642 文獻標識碼:B

文章編號:1672-5913 (2007) 20-0008-03

1引言

操作系統是計算機科學與技術專業的一門重要基礎課程,其教學目的使學生通過學習各種資源管理的原理和機制,建立起關于操作系統如何工作的理論知識基礎。但操作系統同時也是學生們認為比較難學的專業課程之一。其原因有二:一是操作系統課程講述的是計算機資源管理的原理和機制,其中包含了許多抽象的概念和算法;二是操作系統作為最底層的核心軟件,深藏于“用戶界面”之下,學生們難以找到學習內容的參照對象。因此,操作系統實踐教學作為教學輔助環節十分重要,它的作用在于通過動手做實驗,幫助學生解決從抽象理論到具體對象的認識問題,培養學生應用知識解決問題的能力。

與程序設計、編譯原理和數據庫等軟件課程的實踐教學相比,操作系統課程的實踐教學有其特殊的地方。前者可以通過實現一個小型的應用程序或簡化的編譯器、數據庫來完成實踐教學,而后者不能這樣做。因為操作系統不僅與硬件平臺密切相關,而且內部結構非常復雜,即使讓學生實現一個最簡單的操作系統也是不現實的。近年來,我們以開源的Linux操作系統和WMware虛擬機作為實踐平臺,針對不同的教學對象和教學要求,精心設計了多種方式的實驗項目,在操作系統實踐教學上做了一些有益的探索。本文首先分析操作系統實踐教學的目標,然后說明如何具體設計實驗項目。

2實踐教學目標

我們認為,操作系統實踐教學作為輔助教學環節,有兩個主要目標。

(1) 幫助學生理解操作系統的基本概念、原理和機制

操作系統包含了許多抽象的基本概念如進程、線程和虛存,也包含了復雜的資源管理算法和機制,如進程調度和頁式存儲管理。這些知識對于本科學生而言是比較難以理解的,因為他們平時使用的是操作系統的用戶界面,很少也很難窺視到操作系統的內部。操作系統的實踐教學應該讓學生了解一個真實操作系統的內部實現,從而幫助學生更好地理解操作系統的基本概念、原理和機制。

我們采用開源的Linux操作系統作為實踐教學的教材,指導學生閱讀和分析Linux的部分源碼,將學生帶入一個真實而復雜的操作系統內部世界。在閱讀和分析源碼的過程中,學生能夠了解抽象的進程和線程所對應的具體數據結構,了解進程調度算法的實現過程,并應用所學的操作系統原理知識分析和討論Linux的調度策略。另外,我們要求學生在做每項實驗前自學Linux操作系統的相關知識,使學生清楚地看到操作系統的原理知識是如何體現在一個實際系統中的。

(2) 培養學生應用操作系統知識的能力

操作系統是計算機系統的核心軟件,從事計算機行業的專業人員都需要操作系統的原理知識,但他們擔任的角色不同,面臨的問題就不同,因而所具備的操作系統知識的應用能力也不同。系統管理員需要根據操作系統知識和用戶的需求,合理地配置系統資源,需要及時了解系統運行狀態,調整資源管理策略,使系統性能達到最佳;系統程序員需要詳細了解操作系統的內核結構、資源管理機制和功能模塊接口,為操作系統添加新功能或編寫設備驅動程序;應用程序員則需要正確理解操作系統的功能和資源管理策略,編寫出高效率且安全的應用軟件。操作系統的實踐教學必須考慮到上述不同能力培養的特點,以滿足學生未來任職需要。

我們以開源的Linux操作系統和WMware虛擬機作為實踐平臺,精心設計實驗項目,從多個方面培養學生應用操作系統知識的能力。例如,學習使用Linux的proc文件系統,對內核運行狀態、資源管理狀態和進程運行狀態進行動態查詢;學習Linux的系統調用機制和內核模塊動態加載機制,掌握為操作系統添加新功能的方法和過程;編寫進程通信應用程序,掌握各種進程通信、同步互斥機制的特點和使用方法。

3實驗項目設計

我們在上述的實踐教學目標的指導下,設計了多個實驗項目,內容涵蓋了操作系統的主要知識點,包括用戶界面、進程通信、proc文件系統、系統調用機制、進程調度、內核同步互斥機制、驅動程序接口等。考慮到學生的知識和經驗背景,實驗項目的安排從簡到難,從依靠指導到自主設計。除必做的實驗項目外,還設計了選做的實驗項目,為有能力的同學提供更多的學習空間。下面分別介紹我們設計的九個實驗項目。其中,前三個實驗項目是為應用程序員和系統管理員設計的,使學生掌握如何使用操作系統的命令界面、進程機制和系統性能管理工具;第4個實驗安排學生閱讀和分析源碼,理解操作系統原理在實際系統中的實現過程;后五個實驗項目是為系統程序員設計的,讓學生體驗操作系統內核編程的全過程。

(1)Linux命令界面及shell編程

該項實驗的目的是學習使用操作系統的命令用戶界面。實驗內容是:了解和使用Linux的常用命令,包括如何使用聯機幫助手冊和管道線命令;學習使用命令程序語言shell進行簡單的編程,從而理解命令解釋程序的工作過程。由于學生平時使用的是windows的圖形用戶界面,面對Linux的命令界面感到很陌生。所以,我們先給學生一個shell例子程序,讓學生按照說明步驟上機運行該程序,然后要求學生參照此程序實現一個應用管道線的shell程序。

(2) 進程間通信

該項實驗的目的是加強學生對進程概念的理解,使學生掌握不同的進程通信和同步互斥機制的特點和使用方法。實驗內容是:設計應用程序實現父、子進程之間的數據交換,可采用各種方法實現父子進程之間的通信(共享區、文件、消息傳遞、管道文件)和同步互斥控制(信號量、信號)。

(3) 使用proc文件系統

該項實驗的目的是學習如何使用Linux的proc文件系統,對內核運行狀態、資源管理狀態和進程運行狀態進行動態查詢。實驗內容有:先通過課堂講授讓學生了解proc文件系統的設計思想、工作原理和組織結構,然后要求學生利用proc文件系統中的數據來說明操作系統或進程的某些特性。例如,利用/proc/stat中的數據顯示CPU的使用情況――系統利用率和用戶利用率;利用/proc/intr中的數據顯示內存容量對缺頁異常次數的影響。

(4) 分析進程調度算法和策略

該項實驗的目的是幫助學生深入理解進程調度過程,培養學生分析和研究問題的能力。實驗內容是:閱讀和理解Linux的進程調度函數schedule()、進程數據結構task_struct等內核源碼,分析和研究Linux的進程調度算法和策略,寫出研究論文。要求學生在論文中討論以下問題:進程調度隊列是如何組織的;如何實現三種調度類型(SCHED_FIFO, SCHED_RR, SCHED_OHTER);進程的優先級是如何定義和動態變化的;如何決定時間片的大小以及它與優先級的關系;對實時進程和多CPU的支持;評價Linux的調度策略并提出改進意見。

(5)Linux內核編譯

該項實驗的目的是學習如何生成新內核,為后面進行操作系統內核編程的實驗做準備。實驗內容有:學習如何下載和解壓源碼,了解Linux內核源碼的組織結構,學習配置、編譯、安裝和啟動Linux新內核的全部過程。

(6) 添加系統調用

該項實驗的目的是讓學生理解操作系統的重要機制――系統調用機制的工作過程,學習如何添加系統調用。實驗內容是:閱讀源碼文件,分析系統調用表等內核數據結構;實現新的系統調用函數,添加新的系統調用,編譯和生成新內核;編寫應用程序,驗證新系統調用的功能。

(7) 加載內核模塊

該項實驗的目的是學習動態增加內核功能的方法。內核模塊動態加載/卸載是操作系統的另一重要機制,它使得用戶不僅能動態裁剪內核功能,還能通過自己編寫內核模塊或使用第三方軟件來動態增加內核功能。實驗內容有:首先通過課堂講授讓學生了解Linux模塊機制的工作原理、模塊的編程和編譯方法,然后要求學生采用內核模塊編程方法,為proc文件系統添加一個新文件。在該項實驗中,學生不僅要學習內核模塊的編程、編譯、加載和卸載全過程,還需要查找資料和閱讀源碼,搞清楚proc文件系統中關于創建文件、讀/寫文件和刪除文件的函數接口,以此鍛煉學生的自主動手的能力。

(8) 實現同步事件原語

該項實驗的目的是學習如何實現同步互斥機制。實驗內容是,實現一組同步事件原語:能夠使多個進程阻塞在某個特定的事件上,直到另一個進程產生該事件,從而喚醒所有在此事件上阻塞的進程。這是一項綜合的復雜實驗。實驗者需要分析清楚同步事件原語的語義以及進程同步過程中的所有細節問題,正確設計同步事件的數據結構和系統調用原型,分析Linux源碼中關于進程等待隊列和內核信號量的相關函數,并利用這些函數實現同步事件原語的系統調用。然后,采用內核模塊方法將新的系統調用添加到Linux內核中,并通過應用程序驗證其正確性。

(9) 實現虛擬管道設備

該項實驗的目的是學習如何編寫驅動程序。實驗內容是:使用內存區(例如2048字節)實現一個虛擬的字符管道設備:允許多個進程向管道寫入數據,也允許多個進程從管道讀出數據,保證數據的寫入順序與讀出順序是一致的。這也是一項綜合的復雜實驗,實驗者需要分析研究讀/寫管道設備過程中的同步互斥問題,利用內核信號量函數和進程阻塞/喚醒函數解決同步互斥問題;分析研究Linux的字符設備驅動程序接口,學習如何編寫和注冊驅動程序的接口函數以及如何建立Linux設備文件。然后,采用內核模塊方法將新功能添加到Linux內核中,并通過應用程序驗證其正確性。

4結束語

操作系統實踐教學應該為學生提供一個實驗環境,使學生能夠觸摸真實的操作系統內核,從而更好地理解操作系統的基本概念、原理和機制;使學生能夠親身體驗操作系統功能的設計和實現過程,培養學生應用操作系統知識的能力。我們在操作系統實踐教學中做了一些有益的工作,教學效果也不錯,但還存在一些問題有待于進一步研究和探索。例如,如何與課堂教學互補,進一步激發學生學習操作系統的興趣;如何通過構建實驗平臺將操作系統中更多的內核機制(中斷機制、內存管理機制等)呈現給學生;如何設計更為實用的、學生自主性更強的實驗項目,等等。

參考文獻

[1] 羅宇. 操作系統課程設計[M]. 北京:機械工業出版社,2004.

[2] 陳莉君. 深入理解Linux內核[M]. 北京:中國電力出版社,2004.

[3] 李善平. 邊學邊干―Linux內核指導[M]. 浙江大學出版社,2002.

作者簡介

相關期刊更多

航空檔案

部級期刊 審核時間1個月內

中國航空工業第一集團公司

經濟社會體制比較

CSSCI南大期刊 審核時間1-3個月

中央黨史和文獻研究院

中譯外研究

部級期刊 審核時間1個月內

中央文獻翻譯研究基地

主站蜘蛛池模板: 罗甸县| 北京市| 竹山县| 滦平县| 开原市| 右玉县| 广德县| 全南县| 齐河县| 六安市| 吉安市| 邢台市| 西充县| 广饶县| 饶河县| 宝山区| 锡林浩特市| 岳西县| 长海县| 师宗县| 寿光市| 策勒县| 台北县| 五指山市| 广德县| 阜康市| 白朗县| 平泉县| 中西区| 龙胜| 聊城市| 连云港市| 孝义市| 保康县| 逊克县| 乌兰察布市| 宜阳县| 龙陵县| 岢岚县| 依兰县| 孝昌县|