作業系統知識概述

2022-01-09 21:30:00 字數 1451 閱讀 1603

併發是指巨集觀上在一段時間內能同時執行多個程式,而並行則指同一時刻能執行多個指令。

並行需要硬體支援,如多流水線、多核處理器或者分布式計算系統。

作業系統通過引入程序和執行緒,使得程式能夠併發執行。

共享是指系統中的資源可以被多個併發程序共同使用。

有兩種共享方式:互斥共享和同時共享。

互斥共享的資源稱為臨界資源,例如印表機等,在同一時刻只允許乙個程序訪問,需要用同步機制來實現互斥訪問。

虛擬技術把乙個物理實體轉換為多個邏輯實體。

主要有兩種虛擬技術:時(時間)分復用技術和空(空間)分復用技術。

多個程序能在同乙個處理器上併發執行使用了時分復用技術,讓每個程序輪流占用處理器,每次只執行一小個時間片並快速切換。

虛擬記憶體使用了空分復用技術,它將物理記憶體抽象為位址空間,每個程序都有各自的位址空間。位址空間的頁被對映到物理記憶體,位址空間的頁並不需要全部在物理記憶體中,當使用到乙個沒有在物理記憶體的頁時,執行頁面置換演算法,將該頁置換到記憶體中。

非同步指程序不是一次性執行完畢,而是走走停停,以不可知的速度向前推進。

程序控制、程序同步、程序通訊、死鎖處理、處理機排程等。

記憶體分配、位址對映、記憶體保護與共享、虛擬記憶體等。

檔案儲存空間的管理、目錄管理、檔案讀寫管理和保護等。

完成使用者的 i/o 請求,方便使用者使用各種裝置,並提高裝置的利用率。

主要包括緩衝管理、裝置分配、裝置處理、虛擬裝置等。

如果乙個程序在使用者態需要使用核心態的功能,就進行系統呼叫從而陷入核心,由作業系統代為完成。

linux 的系統呼叫主要有以下這些:

task

commands

程序控制

fork(); exit(); wait();

程序通訊

pipe(); shmget(); mmap();

檔案操作

open(); read(); write();

裝置操作

ioctl(); read(); write();

資訊維護

getpid(); alarm(); sleep();

安全chmod(); umask(); chown();

單核心是將作業系統功能作為乙個緊密結合的整體放到核心。

由於各模組共享資訊,因此有很高的效能。

由於作業系統不斷複雜,因此將一部分作業系統功能移出核心,從而降低核心的複雜性。移出的部分根據分層的原則劃分成若干服務,相互獨立。

在微核心結構下,作業系統被劃分成小的、定義良好的模組,只有微核心這乙個模組執行在核心態,其餘模組執行在使用者態。

因為需要頻繁地在使用者態和核心態之間進行切換,所以會有一定的效能損失。

由 cpu 執行指令的內部事件引起,如非法操作碼、位址越界、算術溢位等。

在使用者程式中使用系統呼叫。

作業系統概述

作業系統幾大管理 1 cpu管理 cpu是作業系統中最重要的部分之一。cpu管理又稱程序管理,即是如何將cpu真正地分配給每個任務。我們無法直接操控硬體,只能通過程式來控制硬體。程序排程有以下幾種主要的排程方法 a fifo b 時間片輪轉排程 c 短程序優先 類似1970年一篇 中得比率單調演算法...

作業系統概述

一.現代計算機系統由硬體和軟體兩部分組成.1.硬體包括處理器,暫存器,記憶體,外存及各種i o裝置.2.軟體包括系統軟體,支撐軟體和應用軟體.2.1系統軟體 作業系統 最接近硬體的一層,把硬體封裝起來,負責管理和控制計算機硬體並對其做首次擴充和改造 2.2支撐軟體層 建立在作業系統的封裝上,利用作業...

作業系統概述

併發 共享 同步 非同步 虛擬 物理分隔到邏輯分隔,實現多使用者訪問 非同步 走走停停的程序 計算機系統中,通常cpu執行兩種不同性質的程式 一種是作業系統核心程式 另一種是使用者自編程式或系統外層的應用程式。作業系統在具體實現上劃分了使用者態 目態 和核心態 管態 以嚴格區分兩類程式。核心態 作業...