祝福網

首頁 > 學習 > 心得體會 > 心得體會大全 / 正文

2023實驗報告心得體會分享

2023-07-30 心得體會大全

實驗報告心得體會【篇3】

下面是小編為大家整理的操作系統實驗報告心得體會,歡迎大家閱讀。更多相關內容請關注心得體會欄目。

操作系統實驗報告心得體會

每一次課程設計度讓我學到了在平時課堂不可能學到的東西。所以我對每一次課程設計的機會都非常珍惜。不一定我的課程設計能夠完成得有多么完美,但是我總是很投入的去研究去學習。所以在這兩周的課設中,熬了2個通宵,生物鐘也嚴重錯亂了。但是每完成一個任務我都興奮不已。一開始任務是任務,到后面任務就成了自己的作品了。總體而言我的課設算是達到了老師的基本要求。總結一下有以下體會。

1、網絡真的很強大,用在學習上將是一個非常高效的助手。幾乎所有的資料都能夠在網上找到。從linux虛擬機的安裝,到linux的各種基本命令操作,再到gtk的圖形函數,最后到文件系統的詳細解析。這些都能在網上找到。也因為這樣,整個課程設計下來,我瀏覽的相關網頁已經超過了100個(不完全統計)。當然網上的東西很亂很雜,自己要能夠學會篩選。

不能決定對或錯的,有個很簡單的方法就是去嘗試。就拿第二個實驗來說,編譯內核有很多項小操作,這些小操作錯了一項就可能會導致編譯的失敗,而這又是非常要花時間的,我用的虛擬機,編譯一次接近3小時。所以要非常的謹慎,盡量少出差錯,節省時間。多找個幾個參照資料,相互比較,慢慢研究,最后才能事半功倍。

2、同學間的討論,這是很重要的。老師畢竟比較忙。對于課程設計最大的討論伴侶應該是同學了。能和學長學姐討論當然再好不過了,沒有這個機會的話,和自己班上同學討論也是能夠受益匪淺的。大家都在研究同樣的問題,討論起來,更能夠把思路理清楚,相互幫助,可以大大提高效率。

3、敢于攻堅,越是難的問題,越是要有挑戰的心理。這樣就能夠達到廢寢忘食的境界。當然這也是不提倡熬夜的,畢竟有了精力才能夠打持久戰。但是做課設一定要有狀態,能夠在吃飯,睡覺,上廁所都想著要解決的問題,這樣你不成功都難。

4、最好在做課設的過程中能夠有記錄的習慣,這樣在寫實驗報告時能夠比較完整的回憶起中間遇到的各種問題。比如當時我遇到我以前從未遇到的段錯誤的問題,讓我都不知道從何下手。在經過大量的資料查閱之后,我對段錯誤有了一定的了解,并且能夠用相應的辦法來解決。

在編程中以下幾類做法容易導致段錯誤,基本是是錯誤地使用指針引起的

1)訪問系統數據區,尤其是往系統保護的內存地址寫數據,最常見就是給一個指針以0地址

2)內存越界(數組越界,變量類型不一致等) 訪問到不屬于你的內存區域

3)其他

例如:

1定義了指針后記得初始化,在使用的時候記得判斷是否為null

2在使用數組的時候是否被初始化,數組下標是否越界,數組元素是否存在等

3在變量處理的時候變量的格式控制是否合理等

解決方法

1.利用gdb逐步查找段錯誤:

2.分析core文件

3.段錯誤時啟動調試:

4.利用backtrace和objdump進行分析:

總而言之,對待課設要像對待自己的作品一樣,不要當作任務來完成。

學習操作系統的心得體會

轉眼間,學習了一個學期的計算機操作系統課程即將結束。在這個學期中,通過老師的悉心教導,讓我深切地體會到了計算機操作系統的一些原理和具體操作過程。

在學習操作系統之前,我只是很膚淺地認為操作系統只是單純地講一些關于計算機方面的操作應用,并不了解其中的具體操作過程和實用性。通過這一學期的學習,我才知道操作系統(Operating System,簡稱OS)是管理計算機系統的全部硬件資源包括軟件資源及數據資源;控制程序運行;改善人機界面;為其它應用軟件提供支持等,使計算機系統所有資源最大限度地發揮作用,為用戶提供方便的、有效的、友善的服務界面。

經過一個學期的學習,我也知道了計算機操作系統是鋪設在計算機硬件上的多層系統軟件,不僅增強了系統的功能,而且還隱藏了對硬件操作的細節,由它實現了對計算機硬件操作的多層次的抽象。操作系統的一些原理在生活中也有所應用,以下是我通過這一學期的學習,把操作系統的一些原理聯系生活所得的心得體會:

1.生產—消費者問題

在實際的操作系統操作過程中,經常會碰到如下場景:某個模塊負責產生數據,這些數據由另一個模塊來負責處理(此處的.模塊是廣義的,可以是類、函數、線程、進程等)。產生數據的模塊,就形象地稱為生產者;而處理數據的模塊,就稱為消費者。

單單抽象出生產者和消費者,還夠不上是生產者—消費者問題。該問題還需要有一個緩沖區處于生產者和消費者之間,作為一個中介。生產者把數據放入緩沖區,而消費者從緩沖區取出數據。

為了理解這一問題,我們舉一個寄信的例子。假設你要寄一封平信,大致過程如下:

1、你把信寫好——相當于生產者制造數據

2、你把信放入郵筒——相當于生產者把數據放入緩沖區

3、郵遞員把信從郵筒取出——相當于消費者把數據取出緩沖區

4、郵遞員把信拿去郵局做相應的處理——相當于消費者處理數據

2、銀行家算法——避免死鎖

死鎖的產生是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處于死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱為死鎖進程。由于資源占用是互斥的,當某個進程提出申請資源后,使得有關進程在無外力協助下,永遠分配不到必需的資源而無法繼續運行,這就產生了一種特殊現象死鎖。我覺得操作系統所講的死鎖就好像兩個人竟過獨木橋,兩輛車竟過單行橋等阻塞現象,原因是共享資源,即道路。

為提高系統資源的利用率,避免死鎖并不嚴格限制死鎖必要條件的存在,而是在資源的動態分配過程中,使用某種方法去防止系統進入不安全狀態,從而避免死鎖的最終出現。然而,最有代表性的避免死鎖的算法,是Dijkstra的銀行家算法。在該方法中把系統的狀態分為安全狀態和不安全狀態,只要能使系統始終都處于安全狀態,便可以避免發生死鎖。銀行家算法的基本思想是分配資源之前,判斷系統是否是安全的;若是安全的,才分配。

我們可以把操作系統看作是銀行家,操作系統管理的資源相當于銀行家管理的資金,進程向操作系統請求分配資源相當于用戶向銀行家貸款。為保證資金的安全,銀行家規定:

(1)當一個顧客對資金的最大需求量不超過銀行家現有的資金時就可接納該顧客;

(2)顧客可以分期貸款,但貸款的總數不能超過最大需求量;

(3)當銀行家現有的資金不能滿足顧客尚需的貸款數額時,對顧客的貸款可推遲支付,但總能使顧客在有限的時間里得到貸款;

(4)當顧客得到所需的全部資金后,一定能在有限的時間里歸還所有的資金。

另外,我們也可以把操作系統看作是建造房子,操作系統的資源看作是造房子的起吊機臺數,進程向操作系統請求分配資源相當于建造房子時申請的起吊機臺數。為保證工程的順利進行,其操作過程如下:

當一棟房子對起吊機的最大需求量不超過建造房子現有的起吊機時可接納該房子的建造;

所要建造的房子可以分開幾次申請起吊機,但申請的起吊機的總數不能超過最大需求量;

當現有的起吊機臺數不能滿足某棟房子尚需的起吊機時,對該棟房子所需的起吊機數可推遲給予,但總能是房子在有限的時間里得到貸款;

當建造的房子得到所需的全部起吊機后,一定能在有限的時間里歸還所有的起吊機數。

進程同步問題

一個進程到達了確定的點后,除非另一些進程已經完成了某些操作,否則不得不停下來等待另一進程為它提供的消息,早未獲得消息前,該進程處于等待狀態,獲得消息后被喚醒處于就緒狀態,這就是進程同步。我們在生活中也可以找到相應的例子:

例如汽車司機和售票員,汽車司機負責開車、進站、開車門、關車門與進站;

售票員負責售票、進出站后觀察車門,給司機發開關門信息;正常狀態下,各自活動,司機開車,售票員售票;在進出站時雙方要進行進程同步。

小結:

總而言之,操作系統的一些原理在生活中都可以找到相應的例子。結合生活中的例子,可以化抽象為具體,我們會更加清楚地了解到其原理與操作過程。我覺得通過我們的不斷學習,結合生活中的實際問題,我們就會把操作系統學得更好。

精品小說推薦: 昔日落魄少年被逐出家族,福禍相依得神秘老者相助,從此人生路上一片青雲! 我行我瀟灑,彰顯我性格! 彆罵小爺拽,媳婦多了用車載! 妹紙一聲好歐巴,轉手就是摸摸大! “不要嘛!” 完整內容請點擊辣手仙醫

Tags:實驗報告心得體會

網站分類
標簽列表