作業系統實訓心得
作業系統實訓報告心得是對你這次實訓課程的一個回顧與總結,那麼學生要怎麼去寫呢?下面由小編為大家整理了作業系統實訓報告心得範文,希望大家喜歡!
作業系統實訓報告心得一
轉眼間,學習了一個學期的計算機作業系統課程即將結束。在這個學期中,通過老師的悉心教導,讓我深切地體會到了計算機作業系統的一些原理和具體操作過程。
在學習作業系統之前,我只是很膚淺地認為作業系統只是單純地講一些關於計算機方面的操作應用,並不瞭解其中的具體操作過程和實用性。通過這一學期的學習,我才知道作業系統***Operating System,簡稱OS***是管理計算機系統的全部硬體資源包括軟體資源及資料資源;控制程式執行;改善人機介面;為其它應用軟體提供支援等,使計算機系統所有資源最大限度地發揮作用,為使用者提供方便的、有效的、友善的服務介面。
經過一個學期的學習,我也知道了計算機作業系統是鋪設在計算機硬體上的多層系統軟體,不僅增強了系統的功能,而且還隱藏了對硬體操作的細節,由它實現了對計算機硬體操作的多層次的抽象。作業系統的一些原理在生活中也有所應用,以下是我通過這一學期的學習,把作業系統的一些原理聯絡生活所得的心得體會:
1.生產—消費者問題
在實際的作業系統操作過程中,經常會碰到如下場景:某個模組負責產生資料,這些資料由另一個模組來負責處理***此處的模組是廣義的,可以是類、函式、執行緒、程序等***。產生資料的模組,就形象地稱為生產者;而處理資料的模組,就稱為消費者。
單單抽象出生產者和消費者,還夠不上是生產者—消費者問題。該問題還需要有一個緩衝區處於生產者和消費者之間,作為一箇中介。生產者把資料放入緩衝區,而消費者從緩衝區取出資料。
為了理解這一問題,我們舉一個寄信的例子。假設你要寄一封平信,大致過程如下:
1、你把信寫好——相當於生產者製造資料
2、你把信放入郵筒——相當於生產者把資料放入緩衝區
3、郵遞員把信從郵筒取出——相當於消費者把資料取出緩衝區
4、郵遞員把信拿去郵局做相應的處理——相當於消費者處理資料
2、銀行家演算法——避免死鎖
死鎖的產生是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖程序。由於資源佔用是互斥的,當某個程序提出申請資源後,使得有關程序在無外力協助下,永遠分配不到必需的資源而無法繼續執行,這就產生了一種特殊現象死鎖。我覺得作業系統所講的死鎖就好像兩個人竟過獨木橋,兩輛車竟過單行橋等阻塞現象,原因是共享資源,即道路。
為提高系統資源的利用率,避免死鎖並不嚴格限制死鎖必要條件的存在,而是在資源的動態分配過程中,使用某種方法去防止系統進入不安全狀態,從而避免死鎖的最終出現。然而,最有代表性的避免死鎖的演算法,是Dijkstra的銀行家演算法。在該方法中把系統的狀態分為安全狀態和不安全狀態,只要能使系統始終都處於安全狀態,便可以避免發生死鎖。銀行家演算法的基本思想是分配資源之前,判斷系統是否是安全的;若是安全的,才分配。
我們可以把作業系統看作是銀行家,作業系統管理的資源相當於銀行家管理的資金,程序向作業系統請求分配資源相當於使用者向銀行家貸款。為保證資金的安全,銀行家規定:
***1***當一個顧客對資金的最大需求量不超過銀行家現有的資金時就可接納該顧客;
***2***顧客可以分期貸款,但貸款的總數不能超過最大需求量;
***3***當銀行家現有的資金不能滿足顧客尚需的貸款數額時,對顧客的貸款可推遲支付,但總能使顧客在有限的時間裡得到貸款;
***4***當顧客得到所需的全部資金後,一定能在有限的時間裡歸還所有的資金。
另外,我們也可以把作業系統看作是建造房子,作業系統的資源看作是造房子的起吊機臺數,程序向作業系統請求分配資源相當於建造房子時申請的起吊機臺數。為保證工程的順利進行,其操作過程如下:
當一棟房子對起吊機的最大需求量不超過建造房子現有的起吊機時可接納該房子的建造;
所要建造的房子可以分開幾次申請起吊機,但申請的起吊機的總數不能超過最大需求量;
當現有的起吊機臺數不能滿足某棟房子尚需的起吊機時,對該棟房子所需的起吊機數可推遲給予,但總能是房子在有限的時間裡得到貸款;
當建造的房子得到所需的全部起吊機後,一定能在有限的時間裡歸還所有的起吊機數。
程序同步問題
一個程序到達了確定的點後,除非另一些程序已經完成了某些操作,否則不得不停下來等待另一程序為它提供的訊息,早未獲得訊息前,該程序處於等待狀態,獲得訊息後被喚醒處於就緒狀態,這就是程序同步。我們在生活中也可以找到相應的例子:
例如汽車司機和售票員,汽車司機負責開車、進站、開車門、關車門與進站;
售票員負責售票、進出站後觀察車門,給司機發開關門資訊;正常狀態下,各自活動,司機開車,售票員售票;在進出站時雙方要進行程序同步。
小結:
總而言之,作業系統的一些原理在生活中都可以找到相應的例子。結合生活中的例子,可以化抽象為具體,我們會更加清楚地瞭解到其原理與操作過程。我覺得通過我們的不斷學習,結合生活中的實際問題,我們就會把作業系統學得更好。
作業系統實訓報告心得二
在這個學期,通過學習《作業系統教程》這門課,我對計算機作業系統有了深刻的瞭解。 計算機作業系統是鋪設在計算機硬體上的多層系統軟體,不僅增強了系統的功能,而且還隱藏了對硬體操作的細節,由它實現了對計算機硬體操作的抽象。
作業系統是管理計算機系統的全部硬體資源包括軟體資源及資料資源;控制程式執行;改善人機介面;為其它應用軟體提供支援等,使計算機系統所有資源最大限度地發揮作用,為使用者提供方便的、有效的、友善的服務介面。
每當我們開啟計算機,啟動成功後,首先映入眼簾的就是作業系統的介面。我們所做的一切的工作都是在作業系統之上來完成的。可是誰也不會去想:為什麼滑鼠的拖拖曳曳就能完成對檔案、磁碟、各種軟硬體資源的管理;誰也沒意識到是因為有了作業系統的支撐,我麼才那麼方便的使用計算機。直到有一天,開機後發覺整個螢幕黑糊糊得一片,看不到藍天白雲急得象熱鍋上的螞蟻時,才知道作業系統是多麼得重要,明白了所有的程式的執行原來是離不開作業系統的。
如果有一天離開了作業系統,我們的計算機也就成了一堆廢鐵,什麼事也幹不了。