1.前言
今天下午結束了英語的四六級考試,終于是結束了,最近的這個考試太密集,周四的專業基礎課考試,周五的這個線性代數的考試和這個周六的英語四六級考試,吧我都要烤焦了,最近也是疲于應對這個考試,所以狀態不佳,今天考試時告一段落了,我也終于是可以騰出時間去做一些自己喜歡的這個事情了;
記下來直到開始之前的這個時間我應該不會太忙,我覺得,因為基本上就沒啥任務了,就是復習,尤其是這個操作系統和組成原理,但是這個復習過程對于我而言并沒有很大的這個壓力,因為在這個復習的過程中如果對于之前學習的這個內容有了新的理解和體會,我就可以寫一寫自己的這個理解和體會了,不像這個英語和數學,寫不了文章,自己一個人學,挺沒勁的,而且學校給考試范圍,這個顯得這個考試就很沒有水平,得過且過吧,從今天開始就復習這個操作系統和組成原理,今天的是操作系統;
2.并發和并行
在計算機這個學科里面,無數次學到這個概念,但是似乎每一次學習的時候都是新知識,如何從宏觀和微觀上面去進行理解,似乎這個本來就是一個難以捉摸的話題;
在我們的日常生活里面,看似我們的這個操作系統上面同時運行這個QQ音樂,微信,瀏覽器多個進程,實際上這個只是我們的宏觀上面的感覺罷了,實際上這個切換的速度非常之快,所以微觀上面還是挨個進行執行的;
這個就是我們的并發:即多個時間是按照一定的順序發生的,也就是下面的這個解釋里面的時間間隔,并行就是同時發生,針對于這個時間間隔,我覺得可以進行區分和辨別;
并行性:多個CPU同時存在,分別調度不同的這個進程;單處理機的情況下一次只能執行一個進程;但是如果存在多個CPU,這個時候實際上就是并行執行的,相當于是五個人,五個滑滑梯,每一個人從自己對應的這個滑滑梯上面滑下來;
并發就是五個人,一個滑滑梯,每一個人都需要按照一定的這個順序從這個滑滑梯上面滑下來;
3.多道批處理和分時系統
多道批處理:多個程序同時進入內存,在CPU上面輪流執行,實現我們的資源的共享,但是這個缺點就是沒有交互的過程,我們的用戶把需要執行的這個任務交給CPU之后,就只剩下漫長的等待了;
為了解決上面的這個無法進行交互的問題,我們又引入了分時系統,這個時候我們的用戶可以使用終端盒我們的CPU進行交互,但是這個時候同樣存在缺點,就是無法執行緊急任務;
[!note] 兩者區別
是否可以進行這個用戶和CPU之間的交互,是兩者之間的一個顯著的區別,但是分時可以交互卻無法解決實時問題;
4.用戶態和核心態
這個概念我也是學了很久,今天終于“識得廬山真面目”,這個讓我非常的欣喜,兩個狀態我也知道,這個程序狀態字寄存器我也知道(計算機組成原理里面學習的),今天居然在他們之間建立了聯系,這個真的是非常欣喜(反正挺高興的);
何謂用戶態,何為核心態,我們的這個寄存器是如何使用不同的標志位對于這兩種狀態進行表示的;
5.進程的引入
進程就是運行的程序的執行的過程,在我們的筆記本里面的任務管理器當中就可以看到我們的電腦當前的這個進程的具體情況和每一個進程的詳細的信息;
下面的這個你可以很明顯的看到兩個騰訊QQ,這個就說明相同的程序,我們兩次打開的時候,他在我們的這個系統里面是兩個不同的進程(雖然是相同的程序),但是他們的本質還是存在著區別的;
每一個進程的詳細信息包含下面的這些內容:進程的名稱,運行的狀態,以及PID進程編號等等,詳細的信息在這個任務管理器里面也是可以查看的;
下面的這個就是進程實體的基本的組成的成分,進程控制塊也就是我們更加熟悉的這個PCB(process control block進程控制塊);
6.進程的不同狀態和狀態的轉換
下面的這個圖里面涉及到的就是我們的進程的不同狀態之間的切換的過程:
其中我覺得不容易記憶的就是阻塞的狀態,其實就是我們的進程執行的時候需要請求這個打印機相關的資源,因此這個時候需要先去執行打印機的相關內容,這個時候為了不讓我們的CPU利用率降低,這個進程就會讓出CPU,讓其他的進程去繼續執行,這個時候我們的當前進程就是進入了阻塞態;
進入阻塞態,當這個打印機執行結束之后,我們的這個進程可以去執行了,但是這個時候他不可以直接轉換到這個執行狀態上面去,而是進入就緒狀態,因為之前他已經把這個CPU讓給其他的進程了,所以他需要進入就緒態等待執行CPU;
[!abstract] 主動和被動的行為
我們更需要了解的就是執行到阻塞這個是主動讓出CPU的過程,而這個阻塞到就緒則是一個被動的行為,因為我們的打印接告訴這個進程你可以繼續執行了,我們的進程才可以結束這個阻塞的狀態,轉換到就緒狀態去,因此,這個是一個被動的行為;
掛起狀態:把我們的進程放到外存里面去(當我們的這個進程不需要執行的時候)這樣會更加方便我們對于內存里面的進程進行管理(生活里面也有,安裝360類似的會有一個小球球,顯示我們的電腦的這個內存的使用情況,這個其實道理就是類似的);
[!cite] 淺淺總結
其實操作系統的第一講基本上就是全局概覽,這個里面涉及到了很多的瑣碎的知識,我都沒過多涉及(就是大致了解了一下),直接進入這個進程的學習了;
文章推薦
05年,20歲,還是沒能脫下孔乙己的長衫👈?
當實驗報告變成 “形式主義之下的AI大賽”:大學生的時間,不該浪費在實驗報告上面👈?
普通工廠模式是青銅,抽象工廠模式是王者?這場設計模式 battle 太精彩👈?
縱使AI使用千萬種修辭手法,也寫不出人類獨有的精神密碼–2025新高考一卷語文作文測評👈?
cursor還能繪制文章的架構圖,太酷了👈?