一、【Java基礎教程系列】推廣
🍅 🍅 Java基礎教程系列 🍅 🍅
教程推廣,僅此一次!10月27日最后一天,限時秒殺9.9,10月28日提升至29.9元,

二、【粉絲福利】
送書啦,大家期待已久的Vue!
本次活動送書規則:
【送書啦】
1、社區積分榜前5名,隨機抽取一名幸運者
2、社區積分榜6-15名,隨機抽取一名幸運者
3、社區積分榜16-30名,隨機抽取一名幸運者
【賺取積分方式】哪吒社區內發帖、點贊、評論都可贏取積分!

🍅 社區入口:哪吒社區
🍅 哪吒社區技能樹打卡貼:【打卡貼 day 3】為何要配置環境變數?
【抽取方式】Java隨機函式;
【抽取時間】2021年10月29日 周五 21點整,抽取結果會在【哪吒微信一群、二群、三群】同時公布,
以下圖書,四選一!
1、Vue.js全家桶零基礎入門到進階專案實戰
2、億級流量Java高并發與網路編程實戰
3、Web前端性能優化
4、R語言資料高效處理指南

三、【積分賺取規則】

四、作業系統概述
作業系統是指控制和管理整個計算機系統的硬體和軟體資源,并合理地組織調度計算機的作業和資源的分配,以提供給用戶和其它軟體方便的介面和環境,它是計算機系統中最基本的系統軟體,
?
五、作業系統的功能和目標 -- 作為系統資源的管理者
行程是一個程式的執行程序,執行前需要將該程式放到記憶體中,才能被CPU處理,
?
① 作業系統作為系統資源的管理者(這些資源包括軟體、硬體、檔案等),需要提供什么功能?
作為系統資源的管理者
(1)提供的功能
- 處理機管理
- 存盤器管理
- 檔案管理
- 設備管理
(2)目標
- 安全
- 高效
用微信和朋友視頻聊天的程序:
?
② 作業系統作為用戶與計算機硬體之間的介面,要為其上層的用戶、應用程式提供簡單易用的服務,需要實作什么功能?
作為計用戶和計算機硬體之間的介面
(1)提供的功能
- 命令介面(聯機命令介面、脫機命令介面)
- 程式介面
- GUI圖形用戶界面
(2)目標,方便用戶使用
命令介面:允許用戶直接使用
程式介面:允許用戶通程序式間接使用
GUI:現代作業系統中最流行的圖形用戶介面
1、命令介面
聯機命令介面 = 互動式命令介面
大概的意思就是你說一句,系統做一句,
比如cmd命令:
?
脫機命令介面 = 批處理命令介面
?
2、程式介面
比如C:\Windows\System32\user32.dll l程式員在程式中呼叫user32.dll(該呼叫即為系統呼叫)即可實作創建視窗等功能,只能通過用戶程式間接使用,
3、GUI圖形用戶界面
用戶可以使用形象的圖形化界面進行操作,而不再需要使用復雜的命令或引數了,
③ 作業系統作為最接近硬體的層次,需要在純硬體的基礎上實作什么功能?
需要提供的功能和目標:實作對硬體機器的拓展
沒有任何軟體支持的計算機稱為裸機,在裸機上安裝作業系統,可以提供資源管理功能和方便用戶的服務功能,將裸機改造成功能更強、使用更方便的機器,
通常把覆寫了軟體的機器稱為擴充機器,又稱為虛擬機,
六、作業系統的特征
1、并發
指多個事件在同一事件間隔內交替發生,
2、并行
指多個事件在同一時刻同時發生,
一個單核處理機CPU同一時刻只能執行一個程式,因此作業系統會負責協調多個程式交替執行(這些程式微觀上是交替執行的,但是宏觀上看起來就像同時執行)
當今的計算機,一般都是多核CPU,比如我現在用的聯想小新Pro16的CPU就是I5 11300H,它是一個四核CPU,這意味著同一時刻可以有4個程式并行執行,但是作業系統的并發性依然必不可少,因為電腦可能開著十幾個應用程式,比如微信、谷歌、騰訊、酷狗音樂、Excel等等,都是需要同時作業的,而且電腦運行時,電腦系統自帶的程式,也數不勝數,
3、共享
共享即資源共享,是指系統中的資源可供記憶體中多個并發執行的行程共同使用,
兩種資源共享的方式:
(1)互斥共享方式
系統中的某些資源,雖然可以提供給多個行程使用,但一個時間段內只允許一個行程訪問該資源,
如對攝像頭設備的共享使用,
(2)同時共享方式
系統中的某些資源,允許一個時間段內有多個行程“同時”對它們進行訪問,
所謂的“同時”往往是宏觀的,而從微觀上講,這些行程可能是交替地對該資源進行訪問的,即分時共享,
如對硬碟資源的共享使用,
4、虛擬
虛擬是指把一個物理上的物體變為若干個邏輯上的對應物,物理物體是實際存在的,而邏輯上對應物是用戶感知到的,
用一個例子來理解:
眾所周知,一個程式需要放入記憶體并給它分配CPU才能執行,
GTA5游戲需要4GB的運行記憶體,QQ需要256MB的記憶體,迅雷需要250MB的記憶體,網易云音樂需要256MB的記憶體...
我的電腦4GB,
問題:這些程式同時運行需要的記憶體遠遠大于4GB,那么為什么它們還可以在我的電腦上同時運行呢?
答:這是虛擬存盤器技術,實際只有4GB的記憶體,在用戶看來似乎遠遠大于4GB,這應用了虛擬機技術中的“空分復用技術”,微觀上處理機在各個微笑的時間段內交替為各個行程服務,
5、異步
異步是指,在多道程式環境下,允許多個程式并發執行,但由于資源有限,行程的執行不是一管到底的,而是走走停停,以不可預知的速度向前推進,這就是行程的異步性,
如果失去了并發性,則系統只能串行的處理各個行程,每個行程的執行會一貫到底,只有系統擁有并發性,才有可能導致異步性,
6、總結
如果沒有并發和共享,就談不上虛擬和異步,因此并發和共享是作業系統的兩個最基本的特征,
七、作業系統的發展和分類
1、手工操作階段
缺點:人機速度矛盾
2、批處理階段
(1)單道批處理系統(引入脫機輸入輸出技術)
優點:緩解人機速度矛盾
缺點:資源利用率較低
(2)多道批處理系統(作業系統開始出現)
優點:多道程式并發執行,資源利用率高
缺點:不提供人機互動功能
3、分時作業系統
優點:提供人機互動功能
缺點:不能有限處理緊急任務
4、實時作業系統
(1)硬實時系統
必須在絕對嚴格的規定時間內完成處理
(2)軟實時系統
能接受偶爾違反時間規定
(3)優點:能優先處理緊急任務
5、網路作業系統
6、分布式作業系統
7、個人計算機作業系統
八、作業系統的運行機制和體系結構
1、什么是指令
?
簡單來說,指令就是處理器CPU能識別、執行的最基本命令,比如:加法指令就是讓CPU進行加法運算,
2、兩種指令、兩種處理器狀態、兩種程式
?
(1)兩種指令
① 特權指令
如記憶體清零指令,不允許用戶程式使用
② 非特權指令
如普通的運算指令
(2)兩種處理器狀態
① 用戶態
此時CPU只能執行非特權指令
② 核心態
特權指令、非特權指令都可以執行
用程式狀態字暫存器中的某標志位來標識當前處理器處于什么狀態,如0為用戶態,1為核心態,
(3)兩種程式
① 內核程式
作業系統的內核程式時系統的管理者,既可以執行特權指令,也可以執行非特權指令,運行在核心態,
② 應用程式
為了保證系統能安全運行,普通應用程式只能執行非特權指令,運行在用戶態,
3、作業系統中的哪些功能應該由內核程式實作呢?
?
內核是計算機上配置的底層軟體,是作業系統最基本、最核心的部分,
實作作業系統內核功能的那些程式就是內核程式,
(1)與硬體關聯較緊密的模塊
① 時鐘管理
實作計時功能
② 中斷處理
負責實作中斷功能
③ 原語
是一種特殊的程式
出于作業系統最底層,是最接近硬體的部分
這種程式的運行具有原子性,其運行只能一氣呵成,不可中斷
運行時間較短、呼叫頻繁
(2)對系統資源進行管理的功能
- 行程管理
- 存盤器管理
- 設備管理
有的作業系統不把這部分功能歸為“內核功能”,也就是說,不同的作業系統,對內核功能的劃分可能并不一樣,
4、作業系統的體系結構可以分為大內核和微內核,
(1)大內核:
- 將作業系統的主要功能模塊都作為系統內核,運行在核心態
- 優點:高性能
- 缺點:內核代碼龐大,結構混亂,難以維護
(2)微內核:
- 只把最基本的功能保留在內核,
- 優點:內核功能少,結構清晰,方便維護
- 缺點:需要頻繁地在核心態和用戶態之間切換,性能
九、中斷和例外
1、中斷的概念和作用
- 當中斷發生時,CPU立即進入核心態
- 當中斷發生后,當前運行的行程暫停運行,并由作業系統內核對中斷進行處理
- 對于不同的中斷信號,會進行不同的處理
發生了中斷,就意味著需要作業系統介入,開展管理作業,由于作業系統的管理作業(比如行程切換、分配IO設備等)需要使用特權指令,因此CPU要從用戶態切為核心態,中斷可以使CPU從用戶態切換為核心態,使作業系統獲得計算機的控制權,有了中斷,才能實作多道程式并發執行,
用戶態和核心態的切換是通過中斷實作的,并且中斷是唯一途徑,
2、中斷的分類
(1)內中斷
信號來源:CPU內部
① 陷阱
有意而為之的例外,如系統呼叫
② 故障
由錯誤條件引起的,可能被故障處理程式修復,如缺頁,
③ 終止
不可恢復的錯誤造成的結果,終止處理程式不再將控制回傳給引發終止的應用程式,如整數除0,
(2)外中斷
信號來源:CPU外部
① IO中斷請求
② 人工干預
3、外中斷的處理程序
執行完每個指令后,CPU都要檢查當前是否有外部中斷信號
如果檢測到外部中斷信號,則需要保護被中斷行程的CPU環境(如程式狀態子PSW、程式計數器PC、各種通用暫存器)
根據中斷信號型別轉入相應的中斷處理程式
恢復原行程的CPU環境并退出中斷,回傳原行程繼續往下執行
十、系統呼叫
1、什么是系統呼叫
系統呼叫是作業系統提供給應用程式使用的介面,可以理解為一種可供應用程式呼叫的特殊函式,應用程式可以發出系統呼叫請求來獲得作業系統的服務,
2、系統呼叫作用
應用程式通過系統呼叫請求作業系統的服務,服務中的各種共享資源都由作業系統統一掌管,因此在用戶程式中,凡是與資源有關的操作(如存盤分配、IO操作、檔案管理等),都必須通過系統呼叫的方式向作業系統提出服務請求,由作業系統代為完成,這樣可以保證系統的穩定性和安全性,防止用戶進行非法操作,
3、系統呼叫的分類
- 設備管理(完成設備的請求、釋放、啟動等功能)
- 檔案管理(完成檔案的讀寫、創建、洗掉等功能)
- 行程控制(完成行程的創建、撤銷、阻塞、喚醒等功能)
- 行程通信(完成行程之間的訊息傳遞、信號傳遞等功能)
- 記憶體管理(完成記憶體的分配、回收等功能)
系統呼叫相關處理涉及到對系統資源的管理,對行程的控制,這些功能需要執行一些特權指令才能完成,因此系統呼叫的相關處理需要在核心態下進行,
4、系統呼叫的程序簡介
?
傳遞系統呼叫引數 -> 執行陷入指令(用戶態) -> 執行系統呼叫相應服務程式(核心態) -> 回傳用戶程式,
小總結:
- 陷入指令是在用戶態執行的,執行陷入指令之后立即引發一個內中斷,從而CPU進入核心態
- 發出系統呼叫請求的是用戶態,而對系統呼叫的相應處理在核心態下進行
- 陷入指令是唯一一個只能在用戶態執行,而不可在核心態執行的指令
【Java基礎教程系列】推廣
🍅 🍅 Java基礎教程系列 🍅 🍅
教程推廣,僅此一次!10月27日最后一天,限時秒殺9.9,10月28日提升至29.9元,

?
添加微信,備注1024,贈送Java學習路線思維導圖
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/339214.html
標籤:其他
