當前位置:外匯行情大全網 - 助學貸款 - 操作系統實驗報告的體會

操作系統實驗報告的體會

以下是我給妳整理的操作系統實驗報告的體驗。歡迎閱讀。更多相關內容,請關註體驗專欄。

操作系統實驗報告的體驗每壹次課程設計都讓我學到了壹些正常上課學不到的東西。所以我珍惜每壹次課程設計的機會。不壹定我的課程設計能有多完美,但我壹直都在潛心研究學習。所以兩周的課程,我熬了兩個晚上,生物鐘嚴重紊亂。但是每次完成壹個任務,我都很興奮。剛開始任務是任務,後來任務變成了自己的作品。總的來說,我的課程設置符合教師的基本要求。總結起來,我有以下幾點體會。

1,網絡真的很強大,用在學習上會是壹個非常高效的助手。幾乎所有的信息都可以在網上找到。從linux虛擬機的安裝,到linux的基本命令操作,到gtk的圖形功能,最後到文件系統的詳細分析。這些都可以在網上找到。正因為如此,所以設計了整個課程,我訪問了100多個相關網站(不完全統計)。當然網上的東西很亂很雜,妳要學會篩選。

如果妳不能決定對錯,有壹個很簡單的方法可以試試。以第二個實驗為例。編譯內核有很多小操作。如果這些小操作中有壹個出錯,就可能導致編譯失敗,非常耗時。我壹次用虛擬機編譯將近3個小時。所以要非常謹慎,盡量少犯錯誤,節省時間。多找幾個參考資料,互相比較,慢慢研究。終於可以事半功倍了。

3、敢於攻堅,越難的問題越有挑戰性。這樣才能達到廢寢忘食的狀態。當然不建議熬夜,畢竟精力充沛可以打持久戰。但是妳做班級設計的時候壹定要處於壹種狀態,吃飯睡覺上廁所都可以思考要解決的問題,所以妳很難成功。

4.在做課程設計的過程中最好有記錄的習慣,這樣在寫實驗報告的時候,可以完整的回憶中間遇到的各種問題。比如當時遇到了壹個從未遇到過的錯題,不知道從何下手。查閱了很多資料,對段落錯誤有了壹定的了解,並能以相應的方式解決。

編程中,以下幾種做法容易導致段落錯誤,基本都是指針使用不當造成的。

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

2)內存越界(數組越界、變量類型不壹致等。)訪問壹個不屬於妳的內存區域。

3)其他

例如:

& lt1 & gt;定義完指針記得初始化,使用時記得判斷是否為空。

& lt2 & gt使用數組時是否初始化,數組下標是否越界,數組元素是否存在等。

& lt3 & gt處理變量時變量的格式控制是否合理等。

解決辦法

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

2.分析核心文件

3.段錯誤時開始調試:

4.使用回溯和objdump進行分析:

總之,把課程當成自己的工作,而不是任務。

學習操作系統的體驗轉眼間,壹學期的計算機操作系統學習課程就要結束了。這壹學期,通過老師的悉心教導,我深刻體會到了計算機操作系統的壹些原理和具體操作流程。

在學習操作系統之前,我只是覺得操作系統只講壹些計算機應用,不了解具體的操作流程和實用性,很膚淺。通過這壹學期的學習,我認識到操作系統(OS)就是所有的硬件資源,包括軟件資源和數據資源。控制程序操作;改善人機界面;為其他應用軟件提供支持等。,使計算機系統的所有資源都能最大限度地發揮作用,為用戶提供方便、有效、友好的服務界面。

經過壹個學期的學習,我也知道了計算機操作系統是壹種鋪設在計算機硬件上的多層系統軟件,既增強了系統的功能,又隱藏了硬件操作的細節,通過它實現了計算機硬件操作的多層次抽象。操作系統的壹些原理也應用在生活中。以下是我通過這壹學期的學習,把操作系統的壹些原理和生活聯系起來的體會:

1.生產消費者問題

在實際的操作系統運行過程中,我們經常會遇到以下場景:壹個模塊負責生成數據,這些數據由另壹個模塊處理(這裏的模塊是廣義的,可以是類、函數、線程、進程等。).產生數據的模塊形象地稱為生產者;處理數據的模塊稱為消費者。

只是抽象出生產者和消費者,還算生產者嗎?消費者問題。問題還需要壹個生產者和消費者之間的緩沖作為中介。生產者將數據放入緩沖區,而消費者從緩沖區取出數據。

為了理解這個問題,我們舉壹個發函的例子。假設妳要寄壹封普通的信,壹般流程如下:

1,信寫好了嗎?相當於生產商制造數據

2.妳把信放在郵箱裏了?這相當於生產者將數據放入緩沖區。

郵遞員從郵箱裏取出了信?這相當於消費者從緩沖區中取出數據。

郵遞員把信拿到郵局做相應處理?相當於消費者處理數據。

2.銀行家算法?避免死鎖

死鎖是指兩個或多個進程在執行過程中因為爭奪資源而相互等待的現象。沒有外力,他們將無法前進。此時,系統被稱為處於死鎖狀態或系統有死鎖。這些總是互相等待的進程稱為死鎖進程。由於資源的占用是互斥的,當壹個進程申請資源時,如果沒有外力的協助,相關進程永遠無法分配到必要的資源,這就產生了壹種特殊的死鎖現象。我覺得操作系統說的死鎖就像兩個人過獨木橋,兩輛車過單行道。原因是* * *享有資源,也就是道路。

為了提高系統資源的利用率,避免死鎖,對死鎖必要條件的存在沒有嚴格的限制,而是在動態分配資源的過程中,采用壹些方法防止系統進入不安全狀態,從而避免死鎖。然而,避免死鎖最有代表性的算法是Dijkstra的銀行家算法。在該方法中,系統的狀態分為安全狀態和不安全狀態。只要系統始終處於安全狀態,死鎖是可以避免的。銀行家算法的基本思想是在分配資源之前判斷系統是否安全;如果它是安全的,它將被分發。

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

(1)當客戶對資金的最大需求不超過銀行現有資金時,可以接受客戶;

(2)客戶可以分期貸款,但貸款總額不能超過最大需求;

(3)當銀行現有資金不能滿足客戶仍然需要的貸款金額時,可以延遲向客戶支付貸款,但客戶總能在有限的時間內拿到貸款;

(4)當客戶獲得所需的全部資金後,將能夠在有限的時間內返還全部資金。

另外,我們也可以把操作系統看成是蓋房子,操作系統的資源看成是蓋房子的升降機數量,進程請求操作系統分配相當於蓋房子時申請的升降機數量的資源。為了保證工程的順利進行,其操作流程如下:

當房屋對起重機的最大需求不超過現有的用於建造房屋的起重機時,可以接受建造房屋;

要建的房子可以單獨申請幾次吊車,但申請的吊車總數不能超過最大需求量;

當現有的升降機數量不能滿足壹套房子的需求時,房子所需的升降機數量可以延期,但房子總能在有限的時間內獲得貸款;

當建造的房子有了所有需要的起重機,它將能夠在有限的時間內歸還所有的起重機。

進程同步問題

在壹個進程到達某個點之後,除非其他壹些進程已經完成了壹些操作,否則它們必須停止並等待另壹個進程提供的消息。在得到消息之前,進程處於等待狀態,得到消息之後,被喚醒處於就緒狀態,這就是進程同步。我們也可以在生活中找到相應的例子:

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

列車員負責售票,進出站後觀察車門,給司機發送開門和關門信息;正常情況下,每次活動,司機開車,售票員賣票;進出站時,雙方流程要同步。

總結:

總之,操作系統的壹些原理是可以在生活中找到的。結合生活中的例子,把抽象變成具體,我們會更清楚的知道它的原理和操作過程。我覺得通過不斷的學習,結合生活中的實際問題,可以更好的學習操作系統。

我慎重推薦。

  • 上一篇:鎮江市住房公積金個人貸款實施細則政策解讀
  • 下一篇:什麽是“擔保貸款”,應該如何處理?
  • copyright 2024外匯行情大全網