操做系統概述(一)

衆所周知,操做系統真的是一門很重要的基礎課,今天特來總結重溫一下都學了點啥~數據庫

總述

操做系統是處於計算機硬件和應用軟件以及用戶之間的一種「中介」,以便能更加合理的調用資源。咱們經常使用的操做系統當屬Windows和Linux。OS要管理計算機的五大部件(運算器、控制器—CPU進程管理,存儲器—內存管理、文件系統,輸入/輸出設備—I/O系統)。數據結構

進程管理

進程通俗的理解就是計算機在執行的程序,爲了讓這些程序併發執行,引入了進程的概念。進程管理實際上就是對處理器資源的一種分配,哪些程序能夠被執行,哪些程序須要等待。併發

存儲管理

管理內存和外存資源,進程須要佔用存儲空間。你們都知道進程在運行時,數據和代碼存在內存裏面是比在外存要快的,可是內存就那麼大點地方,不足以支撐把全部進程所需的數據、代碼加載進來,這時候就須要存儲管理來統一分配資源。yii

文件管理

計算機存儲在磁盤的數據太多了,爲了加快讀寫速度,實現永久存儲,文件系統必不可少。但就目前而言,你們更多關心數據庫層面的存儲問題。異步

I/O設備管理

I/O速度遠遠慢於CPU處理速度,這二者的適配問題,以及多設備的並行問題都是I/O設備管理須要考慮的問題。 
後面我將就進程管理、存儲管理、文件管理、IO設備管理解決問題的方法一一作介紹。spa

進程管理

進程有五個基本特徵動態性、併發性、獨立性、異步性、交互性。進程有其週期性,咱們引入狀態變遷圖來描述其變化過程 
進程狀態變遷圖 
進程控制塊(PCB)是一個線性的數據結構,描述和記錄進程動態變化的信息,也就是標記進程所處狀態的數據結構,系統根據PCB感知進程的存在。 操作系統

https://weheartit.com/g5uarct3elfC
https://weheartit.com/5QkVAOpNOjUHk
https://weheartit.com/UUVryii4I2Q9
https://weheartit.com/uYjLBGRUfWqD
進程的調度用隊列來實現,隊列按照不一樣劃分方式能夠有不一樣的形式,按照進程的狀態分爲就緒態、阻塞態、運行態、建立態、終止態,按照進程等待的設備能夠分爲磁盤和鍵盤,按照進程等待的事件能夠分爲鼠標雙擊、鼠標右鍵等。按照不一樣的劃分方法會產生不一樣的隊列,進程在這些隊列中的遷移實現調度。要完成一個進程調度分爲三步:進程隊列遷移、下一個進程的選取、進程切換。第二步進程選取有不少種策略:FIFO、不一樣劃分優先級的方式。你們能夠天馬行空,說不定下一個改進操做系統進程調度的就是你! 
進程之間通訊有兩種策略:共享內存和消息傳遞。blog

相關文章
相關標籤/搜索