目錄
作業系統複習
第1章作業系統概論
第2章處理器管理
第3章同步、通訊與死鎖
訊號量與PV運算:p134
死鎖
第4章儲存管理
緩衝技術:
首頁 運維 linux運維 作業系統技巧總結

作業系統技巧總結

Jul 20, 2017 pm 05:48 PM
複習 作業系統 筆記

作業系統複習

第1章作業系統概論

定義:管理系統資源、控製程式執行、改善人機介面、提供各種服務,並合理地組織電腦工作流程和為使用者方便有效的使用電腦提供良好運作環境的一種系統軟體。
功能:處理器管理、儲存管理、裝置管理、檔案管理、連網與通訊管理
特性:並發性、共享性(1.透明資源共享2.獨佔資源共享)、非同步性
分類:批次作業系統、分時作業系統、即時作業系統

第2章處理器管理

進程定義:流程是具有獨立功能的程式在某個資料集合上的一次運行活動,也是作業系統進行資源分配和保護的基本單位。
進程狀態與轉換:p73
三態模型:運行態、就緒態、等待態
五態模型:新態、終止態提出的原因?
要求會畫圖,並解釋某些轉換是不存在的。

引入多執行緒的動機:減少程式並發性執行時所付出的時空開銷,使得並發顆粒度更細、並發性更好。
執行緒的優點:快速執行緒切換、通訊易於實現、減少管理開銷、並發程度提高

PCB(Process Control Block)進程控制區塊:進程存在的唯一標識,是作業系統用來記錄和刻畫進程狀態及環境資訊的資料結構,是進程動態特徵的匯集,也是作業系統掌握進程的唯一資料結構和管理進程的主要依據。 p75

TCB的概念?
動態/靜態 優先權?

處理器調度:p101 例題

  1. 先來先服務演算法

  2. 最短作業優先演算法(概念)

  3. 最短剩餘時間優先演算法

  4. 最高回應比優先演算法(概念)

第3章同步、通訊與死鎖

佰恩斯坦條件? Bernstein(簡答)

死鎖:一組行程因爭取資源而陷入永遠等待的狀態。
飢餓:一個可運行進程由於其他進程總是優先於它,而被調度程式無限期的拖延而不能被執行。

進程同步:為完成共同任務的並發進程基於某個條件來協調其活動,因為需要在某些位置上排定執行的先後次序而等待、傳遞信號或訊息所產生的協作制約關係。

臨界區:並發進程中與共享變數有關的程式段。
臨界資源:共享變數所代表的資源,即一次只能供一個行程使用的資源。
臨界區調度的三個原則(互斥使用,有空讓進;忙則要等,有限等待;擇一而入,演算法可行。):​​

  1. 一次至多只有一個程序進入臨界區內執行。

  2. 如果已有進程在臨界區中,試圖進入此臨界區的其他進程應等待。

  3. 進入臨界區內的程序應在有限時間內退出,以便讓等待佇列中的一個程序進入。

實作臨界區管理的軟體演算法:
分析

  1. 是否會出問題?

  2. 何時出?

實作臨界區管理的硬體設施:

  1. #關中斷

  2. 測試並設定指令

  3. 對換指令

訊號量與PV運算:p134

pv運算定義(一元、一般)?
綜合題:

  1. 5位哲學家用餐問題(無死鎖解法) p139

  2. 生產者-消費者問題(多對多、多緩衝區)p140

  3. 讀者-寫者問題p141

  4. 理髮師問題p142

  5. #和尚打水

死鎖

定義:如果一個行程集合中的每個行程都在等待只能由此集合中的其他進程才能引發的事件,而無限期的陷入僵持的局面。
產生的條件:

  1. 互斥條件

  2. #佔有與等待條件

  3. 不剝奪條件

  4. 循環等待條件

死鎖避免:綜合題15分
銀行家演算法的資料結構 p163
演算法描述:

  1. T0時刻的安全序列

  2. 程式P1請求資源(能否滿足?為什麼? )

第4章儲存管理

程式的連結種類:(填空)

  1. 靜態連結

  2. 動態連結

  3. 執行階段連結

靜態位址重定位:由裝載程式實現裝載程式碼的載入和位址轉換,把它裝入分配給進程的記憶體指定區域,其中的所有邏輯位址修改成記憶體物理位址。
動態位址重定位:由裝載程式實作裝載程式碼模組的加載,把它裝入分配給進程的記憶體指定區域,但對連結程式處理過的應用程式的邏輯位址則不做任何修改,程式記憶體起始位址被置入硬體專用暫存器-重定位暫存器。程式執行過程中,每當cpu引用記憶體位址(存取程式和資料)時,由硬體截取此邏輯位址,並在它被傳送到記憶體之前加上重定位暫存器的值,以便實現位址轉換。

分頁儲存管理p206
概念:

  1. #頁

  2. 頁框


#邏輯位址


記憶體頁框表

#頁表

  1. 分頁/分段動態連結函式庫的實作原理? (說明+畫圖)

    綜合題:
  2. 給予邏輯位址,求實體位址? (畫圖)
  3. 給出邏輯位址、頁面大小,計算物理位址?
  4. 分段與分頁的比較
(簡答):

分段是資訊的邏輯單位,由原始程式的邏輯結構及意義決定,是使用者可見的,段長由使用者根據需要來決定,段起始位址可從任何記憶體位址開始。在分段方式中,原始程式(短號、段內位移)經連結組裝後仍保持二維(位址)結構,引入目的是滿足使用者模組化程式設計的需要。
分頁是資訊的實體單位,與原始程式的邏輯結構無關,是使用者不可見的,頁長由系統(硬體)決定,頁面只能從頁大小的整數倍位置開始。在分頁方式中,原始程式(頁號、頁內位移)經連結組裝後變成一維(位址)結構,引入目的是實現離散分配並提高記憶體利用率。

缺頁中斷率 p223

概念:不成功造訪次數?

畫圖,求缺頁中斷率? p229
  • 第5章裝置管理

    I/O控制方式:(填空)
  • 輪詢方式
  • ##中斷方式

  • DMA方式

  • 通道方式

緩衝技術:

單緩衝p265

雙緩衝p266

###搜尋定位:(例題、簡答)p270############先來先服務演算法########################################################### ######最短查找時間優先演算法############掃描演算法#############電梯調度演算法########## ##循環掃描演算法############參考書目:######-《作業系統教學(第五版)》費翔林、駱斌著高等教育出版社###

以上是作業系統技巧總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1668
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

vscode怎麼在終端運行程序 vscode怎麼在終端運行程序 Apr 15, 2025 pm 06:42 PM

在 VS Code 中,可以通過以下步驟在終端運行程序:準備代碼和打開集成終端確保代碼目錄與終端工作目錄一致根據編程語言選擇運行命令(如 Python 的 python your_file_name.py)檢查是否成功運行並解決錯誤利用調試器提升調試效率

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

vscode 無法安裝擴展 vscode 無法安裝擴展 Apr 15, 2025 pm 07:18 PM

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

如何設置重要的 Git 配置全局屬性 如何設置重要的 Git 配置全局屬性 Apr 17, 2025 pm 12:21 PM

自定義開發環境的方法有很多種,但全局 Git 配置文件是最有可能用於自定義設置(例如用戶名、電子郵件、首選文本編輯器和遠程分支)的一種。以下是您需要了解的有關全局 Git 配置文件的關鍵事項。

vscode 可以比較兩個文件嗎 vscode 可以比較兩個文件嗎 Apr 15, 2025 pm 08:15 PM

是的,VS Code 支持文件比較,提供多種方法,包括使用上下文菜單、快捷鍵以及對高級操作(如比較不同分支或遠程文件)的支持。

See all articles