操作系統筆記(關于進程引入和狀態的切換)

1.前言

今天下午結束了英語的四六級考試,終于是結束了,最近的這個考試太密集,周四的專業基礎課考試,周五的這個線性代數的考試和這個周六的英語四六級考試,吧我都要烤焦了,最近也是疲于應對這個考試,所以狀態不佳,今天考試時告一段落了,我也終于是可以騰出時間去做一些自己喜歡的這個事情了;

記下來直到開始之前的這個時間我應該不會太忙,我覺得,因為基本上就沒啥任務了,就是復習,尤其是這個操作系統和組成原理,但是這個復習過程對于我而言并沒有很大的這個壓力,因為在這個復習的過程中如果對于之前學習的這個內容有了新的理解和體會,我就可以寫一寫自己的這個理解和體會了,不像這個英語和數學,寫不了文章,自己一個人學,挺沒勁的,而且學校給考試范圍,這個顯得這個考試就很沒有水平,得過且過吧,從今天開始就復習這個操作系統和組成原理,今天的是操作系統

2.并發和并行

在計算機這個學科里面,無數次學到這個概念,但是似乎每一次學習的時候都是新知識,如何從宏觀和微觀上面去進行理解,似乎這個本來就是一個難以捉摸的話題;

在我們的日常生活里面,看似我們的這個操作系統上面同時運行這個QQ音樂,微信,瀏覽器多個進程,實際上這個只是我們的宏觀上面的感覺罷了,實際上這個切換的速度非常之快,所以微觀上面還是挨個進行執行的;

這個就是我們的并發:即多個時間是按照一定的順序發生的,也就是下面的這個解釋里面的時間間隔,并行就是同時發生,針對于這個時間間隔,我覺得可以進行區分和辨別;

image-20250614204227355

并行性:多個CPU同時存在,分別調度不同的這個進程;單處理機的情況下一次只能執行一個進程;但是如果存在多個CPU,這個時候實際上就是并行執行的,相當于是五個人,五個滑滑梯,每一個人從自己對應的這個滑滑梯上面滑下來;

并發就是五個人,一個滑滑梯,每一個人都需要按照一定的這個順序從這個滑滑梯上面滑下來;

image-20250614204329554

3.多道批處理和分時系統

多道批處理:多個程序同時進入內存,在CPU上面輪流執行,實現我們的資源的共享,但是這個缺點就是沒有交互的過程,我們的用戶把需要執行的這個任務交給CPU之后,就只剩下漫長的等待了;

為了解決上面的這個無法進行交互的問題,我們又引入了分時系統,這個時候我們的用戶可以使用終端盒我們的CPU進行交互,但是這個時候同樣存在缺點,就是無法執行緊急任務;

[!note] 兩者區別
是否可以進行這個用戶和CPU之間的交互,是兩者之間的一個顯著的區別,但是分時可以交互卻無法解決實時問題;

4.用戶態和核心態

這個概念我也是學了很久,今天終于“識得廬山真面目”,這個讓我非常的欣喜,兩個狀態我也知道,這個程序狀態字寄存器我也知道(計算機組成原理里面學習的),今天居然在他們之間建立了聯系,這個真的是非常欣喜(反正挺高興的);

何謂用戶態,何為核心態,我們的這個寄存器是如何使用不同的標志位對于這兩種狀態進行表示的;

image-20250614212655809

5.進程的引入

進程就是運行的程序的執行的過程,在我們的筆記本里面的任務管理器當中就可以看到我們的電腦當前的這個進程的具體情況和每一個進程的詳細的信息;

下面的這個你可以很明顯的看到兩個騰訊QQ,這個就說明相同的程序,我們兩次打開的時候,他在我們的這個系統里面是兩個不同的進程(雖然是相同的程序),但是他們的本質還是存在著區別的;

image-20250614215851016

每一個進程的詳細信息包含下面的這些內容:進程的名稱運行的狀態,以及PID進程編號等等,詳細的信息在這個任務管理器里面也是可以查看的;

下面的這個就是進程實體的基本的組成的成分,進程控制塊也就是我們更加熟悉的這個PCBprocess control block進程控制塊);

image-20250614230538048

6.進程的不同狀態和狀態的轉換

下面的這個圖里面涉及到的就是我們的進程的不同狀態之間的切換的過程:

其中我覺得不容易記憶的就是阻塞的狀態,其實就是我們的進程執行的時候需要請求這個打印機相關的資源,因此這個時候需要先去執行打印機的相關內容,這個時候為了不讓我們的CPU利用率降低,這個進程就會讓出CPU,讓其他的進程去繼續執行,這個時候我們的當前進程就是進入了阻塞態

進入阻塞態,當這個打印機執行結束之后,我們的這個進程可以去執行了,但是這個時候他不可以直接轉換到這個執行狀態上面去,而是進入就緒狀態,因為之前他已經把這個CPU讓給其他的進程了,所以他需要進入就緒態等待執行CPU;

image-20250614231039981

[!abstract] 主動和被動的行為
我們更需要了解的就是執行到阻塞這個是主動讓出CPU的過程,而這個阻塞到就緒則是一個被動的行為,因為我們的打印接告訴這個進程你可以繼續執行了,我們的進程才可以結束這個阻塞的狀態,轉換到就緒狀態去,因此,這個是一個被動的行為

掛起狀態:把我們的進程放到外存里面去(當我們的這個進程不需要執行的時候)這樣會更加方便我們對于內存里面的進程進行管理(生活里面也有,安裝360類似的會有一個小球球,顯示我們的電腦的這個內存的使用情況,這個其實道理就是類似的);

image-20250614232138280

[!cite] 淺淺總結
其實操作系統的第一講基本上就是全局概覽,這個里面涉及到了很多的瑣碎的知識,我都沒過多涉及(就是大致了解了一下),直接進入這個進程的學習了;

文章推薦
05年,20歲,還是沒能脫下孔乙己的長衫👈?
當實驗報告變成 “形式主義之下的AI大賽”:大學生的時間,不該浪費在實驗報告上面👈?
普通工廠模式是青銅,抽象工廠模式是王者?這場設計模式 battle 太精彩👈?
縱使AI使用千萬種修辭手法,也寫不出人類獨有的精神密碼–2025新高考一卷語文作文測評👈?
cursor還能繪制文章的架構圖,太酷了👈?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/85556.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/85556.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/85556.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

M1芯片macOS安裝Xinference部署大模型

如果你看的是官方手冊:安裝 — Xinference 千萬不要直接運行: pip install "xinference[all]" 會遇到幾個問題: 1)Python版本如果太新可能安裝失敗 2)全量安裝會失敗 3)未科學上網可能會time…

【ONNX量化實戰】使用ONNX Runtime進行靜態量化

目錄 什么是量化量化實現的原理實戰準備數據執行量化 驗證量化結語 什么是量化 量化是一種常見的深度學習技術,其目的在于將原始的深度神經網絡權重從高位原始位數被動態縮放至低位目標尾數。例如從FP32(32位浮點)量化值INT8(8位…

【量子計算】格羅弗算法

文章目錄 🔍 一、算法原理與工作機制? 二、性能優勢:二次加速的體現🌐 三、應用場景?? 四、局限性與挑戰🔮 五、未來展望💎 總結 格羅弗算法(Grover’s algorithm)是量子計算領域的核心算法之…

C++ 互斥量

在 C 中,互斥量(std::mutex)是一種用于多線程編程中保護共享資源的機制,防止多個線程同時訪問某個資源,從而避免數據競爭(data race)和不一致的問題。 🔒 一、基礎用法:s…

CSS Content符號編碼大全

資源寶整理分享:?https://www.httple.net? 前端開發中常用的特殊符號查詢工具,包含Unicode編碼和HTML實體編碼,方便開發者快速查找和使用各種符號。支持基本形狀、箭頭、數學符號、貨幣符號等多種分類。 前端最常用符號 圖標形狀十進制十…

RPC常見問題回答

項目流程和架構設計 1.服務端的功能: 1.提供rpc調用對應的函數 2.完成服務注冊 服務發現 上線/下線通知 3.提供主題的操作 (創建/刪除/訂閱/取消訂閱) 消息的發布 2.服務的模塊劃分 1.網絡通信模塊 net 底層套用的moude庫 2.應用層通信協議模塊 1.序列化 反序列化數…

【JavaEE】(3) 多線程2

一、常見的鎖策略 1、樂觀鎖和悲觀鎖 悲觀鎖:預測鎖沖突的概率較高。在鎖中加阻塞操作。樂觀鎖:預測鎖沖突的概率較低。使用忙等/版本號等,不產生阻塞。 2、輕量級鎖和重量級鎖 重量級鎖:加鎖的開銷較大,線程等待鎖…

創客匠人服務體系解析:知識 IP 變現的全鏈路賦能模型

在知識服務行業深度轉型期,創客匠人通過 “工具 陪跑 圈層” 的三維服務體系,構建了從 IP 定位到商業變現的完整賦能鏈條。這套經過 5 萬 知識博主驗證的模型,不僅解決了 “內容生產 - 流量獲取 - 用戶轉化” 的實操難題,更推動…

國產ARM/RISCV與OpenHarmony物聯網項目(六)SF1節點開發

一、終端節點功能設計 1. 功能說明 終端節點設計的是基于鴻蒙操作系統的 TCP 服務器程序,用于監測空氣質量并提供遠程控制功能。與之前的光照監測程序相比,這個程序使用 E53_SF1 模塊(煙霧 / 氣體傳感器),主要功能包…

Plotly圖表全面使用指南 -- Displaying Figures in Python

文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。 在 Python 中顯示圖形 使用 Plotly 的 Python 圖形庫顯示圖形。 顯示圖形 Plotly的Python圖形庫plotly.py提供了多種顯示圖形的選項和方法…

getx用法詳細解析以及注意事項

源碼地址 在 Flutter 中,Get 是來自 get 包的一個輕量級、功能強大的狀態管理與路由框架,常用于: 狀態管理路由管理依賴注入(DI)Snackbar / Dialog / BottomSheet 管理本地化(多語言) 下面是 …

深度學習:人工神經網絡基礎概念

本文目錄: 一、什么是神經網絡二、如何構建神經網絡三、神經網絡內部狀態值和激活值 一、什么是神經網絡 人工神經網絡(Artificial Neural Network, 簡寫為ANN)也簡稱為神經網絡(NN),是一種模仿…

Unity2D 街機風太空射擊游戲 學習記錄 #12環射道具的引入

概述 這是一款基于Unity引擎開發的2D街機風太空射擊游戲,筆者并不是游戲開發人,作者是siki學院的涼鞋老師。 筆者只是學習項目,記錄學習,同時也想幫助他人更好的學習這個項目 作者會記錄學習這一期用到的知識,和一些…

網站如何啟用HTTPS訪問?本地內網部署的https網站怎么在外網打開?

在互聯網的世界里,數據安全已經成為了每個網站和用戶都不得不面對的問題。近期,網絡信息泄露事件頻發,讓越來越多的網站開始重視起用戶數據的安全性,因此啟用HTTPS訪問成為了一個熱門話題。作為一名網絡安全專家,我希望…

計算機網絡-----詳解網絡原理TCP/IP(上)

文章目錄 📕1. UDP協議??1.1 UDP的特點??1.2 基于UDP的應用層協議 📕2. TCP協議??2.1 TCP協議段格式??2.2 TCP協議特點之確認應答??2.3 TCP協議特點之超時重傳??2.4 TCP協議特點之連接管理??2.5 TCP協議特點之滑動窗口??2.6 TCP協議特點…

Lora訓練

一種大模型高效訓練方式&#xff08;PEFT&#xff09; 目標&#xff1a; 訓練有限的ΔW&#xff08;權重更新矩陣&#xff09; ΔW為低秩矩陣→ΔWAB&#xff08;其中A的大小為dr, B的大小為rk&#xff0c;且r<<min(d,k)&#xff09;→ 原本要更新的dk參數量大幅度縮減…

藍牙 5.0 新特性全解析:傳輸距離與速度提升的底層邏輯(面試寶典版)

藍牙技術自 1994 年誕生以來,已經經歷了多次重大升級。作為當前主流的無線通信標準之一,藍牙 5.0 在 2016 年發布后,憑借其顯著的性能提升成為了物聯網(IoT)、智能家居、可穿戴設備等領域的核心技術。本文將深入解析藍牙 5.0 在傳輸距離和速度上的底層技術邏輯,并結合面試…

Minio使用https自簽證書

自簽證書參考&#xff1a;window和ubuntu自簽證書_windows 自簽證書-CSDN博客 // certFilePath: 直接放在 resources 目錄下 或者可以自定實現讀取邏輯 // 讀取的是 .crt 證書文件public static OkHttpClient createTrustingOkHttpClient(String certFilePath) throws Excep…

汽車前縱梁焊接總成與沖壓件的高效自動化三維檢測方案

汽車主體結構件上存在很多安裝位&#xff0c;為保證汽車裝配時的準確性&#xff0c;主體結構件需要進行全方位的尺寸和孔位置精度檢測&#xff0c;以確保裝配線的主體結構件質量合格。 前縱梁焊接總成是車身框架的核心承載部件&#xff0c;焊接總成由多片鈑金沖壓件焊接組成&a…

F接口基礎.go

前言&#xff1a;接口是一組方法的集合&#xff0c;它定義了一個類型應該具備哪些行為&#xff0c;但不關心具體怎么實現這些行為。一個類型只要實現了接口中定義的所有方法&#xff0c;那么它就實現了這個接口。這種實現是隱式的&#xff0c;不需要顯式聲明。 目錄 接口的定…