作業系統基礎知識(一)

2021-09-12 20:24:01 字數 744 閱讀 3365

(1)程序狀態轉換圖

用於展現程序的狀態及各種狀態之間的轉換。常見的有三態模型、五態模型以及七態模型  標準的五態模型如圖所示  

(2)訊號量與pv操作

在作業系統中程序常會有互斥(都需要共享獨占性資源時)和同步(完成非同步的兩個程序的協作)兩種關係,為有效處理這兩種情況 w.dijkstra在2023年提出訊號量和pv操作

訊號量:一種特殊的變數,表現形式是乙個整型s和乙個佇列。

p 操作:也稱為down()、wait()操作,使s=s-1 若s<0 程序暫停執行,放入訊號量的等待佇列。

v 操作:也稱up()、signal()操作 使s=s+1  若s小於等於0,喚醒等待佇列中的乙個程序

(3)死鎖問題

當併發程序彼此間想好等待對方所擁有的資源,且這些併發程序在得到對方資源之前不會釋放自己所擁有的資源,從而造成搭建都想得到資源而又得不到資源,各併發程序不能繼續向前推進的狀態。

死鎖的必要條件

對待死鎖的策略主要是預防、避免(申請資源是先進行判斷)、檢測、和解除(強制剝奪資源,或終止乙個程序,目的也是強制獲取資源)

(4)銀行家演算法(避免死鎖的經典方案)  

當某個程序提出申請是,必須判斷將資源分配給該程序後是否會引起死鎖。若不會,則程序分配;否則就不分配。

按照銀行家演算法的思想,當程序請求資源時,系統將按如下原則分配資源:

作業系統基礎知識

最近複習自考的作業系統資料主要分為六部分介紹作業系統知識,分別為 引論 處理器管理 儲存管理 檔案管理 裝置管理和併發程序。作業系統在計算機系統硬體和軟體中起到乙個承上啟下的作用,類似於三層架構中的業務邏輯層 個人之見 最近的博文將會分章節對作業系統知識總結。引論 有關作業系統的基礎知識 什麼是作業...

作業系統 基礎知識

作業系統的定義 作業系統 operating system,os 是指控制和管理整個計算機系統的硬體與軟體資源,合理地組織 排程計算機地工作與資源地分配,進而為使用者和其他軟體提供方便介面與環境的程式集合。作業系統是計算機系統中最基本的系統軟體。2.作業系統的特徵 併發 共享 虛擬 非同步 其中最基...

作業系統基礎知識整理

見之前的文章 遠端程序呼叫 remote procedure calls 利用中間的傳輸者stub進行,可模擬aidl 將程序的邏輯位址空間分成若干頁,以頁為單位將若干頁分別裝入到多個可以不相鄰的物理快中。為了滿足使用者的程式設計需求,將程式根據段進行儲存 首先將程式進行分段,每個段再分割成多個頁。...