国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

怎樣學操作系統?一文帶你掌握核心內容

系統
這一篇聊操作系統。最近大家對“卡脖子”討論很多,首當其沖是芯片,緊接著就是操作系統。操作系統,英文名Operating System,所以也常簡稱“OS”。操作系統很重要,計算機系的學生都知道,操作系統作為一門核心專業課,和數據庫、編譯原理合稱“三座大山”。

 01 操作系統都學些什么

操作系統的重要性當然不止于此。如果深入研究你就會發現,操作系統在整個計算機學科體系中處于一個十分關鍵的位置。計算機科學的學科方向多如牛毛,但總的來說可以分成兩塊,硬件一塊,軟件一塊,這兩大塊都喜歡各玩各的,中間說是隔著次元壁也一點不夸張。

[[358763]]

但都在一個體系內,總要想個辦法來打破次元壁呀,這個重要的工作由誰來做呢?就是操作系統。所以從體系架構的角度看,操心系統是處在所有硬件的最上層,和所有軟件的最下層,是一個“跨界”的角色。

操作系統很重要,那作為一門學科,難不難學呢?大家的態度走兩個極端,一邊的人覺得操作系統有什么可學的,不就是點鼠標劃玻璃,太簡單連小學的計算機課都不一定認真教,大學還專門設了專業課太夸張了。另一邊的人又覺得操作系統太難,操作系統的玩家不是Linus這樣的業界大神,就是微軟、谷歌這樣的行業大佬,萌新小本只好瑟瑟發抖。

這些觀點對不對呢?

都有一些理解上的偏差。我們平時常說的“安裝操作系統”,這里的“操作系統”,準確來說,應該叫“操作系統產品”,而操作系統這門課,主要內容講的是操作系統的內核原理。

操作系統產品和操作系統內核二者的關系,有一點像計算機和CPU,沒有它不行,光有它也不行。一款操作系統產品,首先肯定得有操作系統內核,但是光有內核是沒法使用的,還得加上配套的周邊功能。

雖然叫“周邊配套”,但絕不是可有可無的意思,大部分我們所熟識操作系統功能,實際上都是屬于“周邊配套”,譬如說我們最最最熟悉的“桌面”,放著漂亮的壁紙,擺滿各色各樣的圖標,是操作系統主要的用戶交互界面,術語稱為圖形用戶界面(Graphical User Interface,簡稱GUI)。

前面感覺自己“精通操作系統”的那位同學,其實精通的只是GUI的使用,而且很抱歉,GUI不在操作系統內核里面。

不過,話說回來,雖然專門有“操作系統內核”這樣的術語,但并不意味著所謂的“內核”與“周邊”之間,天然就存在一條清晰的界限。在操作系統里面,一直存在著宏內核和微內核兩條路線的爭論,爭論的焦點,正是什么該劃入“內核”,什么又該算作周邊。

微內核的主張,顧名思義,就是最小化內核所需要提供的服務,只負責最基本的功能,把應用服務、驅動、GUI,甚至一些感覺上也挺基本的功能,譬如文件系統服務,都統統趕出內核。

這樣做的好處是靈活方便,像是要提供新服務,那直接新增就可以了,不需要對內核進行額外的改動,但缺點也很突出,什么功能都趕出去了,真到用的時候還需要進行內核模式-用戶模式的切換,模式切換會增加額外的開銷,導致性能受損,因此就有人主張應該把常用的功能都接納進來,這就是宏內核。

Windows早前采用的就是微內核架構,把GUI趕了出去,結果性能損失受不了,后來又重新請回來,一直到現在,GUI仍然是Windows內核的一部分。

 

02 操作系統的核心內容

操作系統這門課主要研究的是操作系統內核,這名字不太平易近人,容易給人“難學懂”的感覺。確實,現在操作系統的功能越來越豐富,連帶著操作系統內核也越來越復雜。有一本操作系統業內很有名的書,叫《Windows Internals》,講的是Windows操作系統的功能原理,從這本書就可以看出來操作系統的一個變化趨勢。

《Windows Internals》是跟著Windows推陳出新的,Windows不斷更新,這本書也不斷再版,一個肉眼可見的變化就是書越寫越厚,現在最新版干脆把一本書分成了上下兩卷,內容太多,光一塊磚頭已經不夠裝了。

這還只是Windows,現在是移動互聯網時代,還有操作系統還有一半多的江山被iOS和Android這哥倆占著,而且都以一年一個版本的速度迭代,要學的知識豈不是漫無邊際?

其實不用擔心,操作系統確實在迅速發展,但最最核心的還是那些老兄弟。操作系統有一本非常經典的教材,只要你問就一定會有人推薦,叫《Operating System Concept》,中文譯為《操作系統概念》。因為這本書的封面畫著恐龍,所以學界也稱為“恐龍書”。

恐龍書不但介紹操作系統知識,還會引入“當前主流操作系統”作為研究案例。當然,恐龍書已經從第1版發展到了第9版,書里的“當前主流操作系統”也一換再換,默默地記錄著操作系統的變化發展。

不過,我把幾個版本比較了一下,最新版知識點增加了不少,還補充了一些新的內容,涵蓋了iOS、Android等移動操作系統,但主要的知識結構并沒有大幅調整,核心的研究對象和問題,仍然是早就登場的那幾個。

具體是哪幾個呢?就仨:進程、內存和存儲。操作系統最重要的功能就是“管理”,具體來說是兩項工作,資源的分配和資源的調度,那管理的核心對象是哪些呢?就是這仨,分別對應的硬件是CPU、內存和硬盤,想想就能知道,這仨同樣是計算機里的三個扛把子部件。

我們說恐龍書經典,其中一個地方就體現在對操作系統知識體系的劃分上面。恐龍書當然會重點照顧這三個核心對象,為它們一一設有單元,再加上必不可少的概論、大家現在都很關注的安全,以及前面提到的案例分析,就構成了恐龍書最新第9版的六大知識板塊。

作為一名操作系統愛好者,我看過很多操作系統的書,有偏重原理的,有偏重實例的,也會有其它新的偏重,譬如會為網絡,硬件架構、設備管理等等內容設置獨立章節,但無論哪本書,進程、內存和存儲(也有稱為外存)始終是書里的三條主線。總而言之,學操作系統,首先都得緊緊抓住進程、內存和存儲學懂學通。

 

03 怎樣學操作系統

既然進程、內存和存儲是操作系統的三個核心對象,那具體應該怎么學呢?一句話回答:帶著問題學。這里的“帶著問題學”,和我們平時常說的有所不同,在操作系統里面,進程、內存和存儲都有各自需要重點關注的問題。

就拿進程來說,進程是操作系統中相對比較抽象的概念,所以大多數操作系統的教材都會不吝筆墨,給進程下一堆的定義,試圖只靠文字就解釋清楚什么是進程。不過效果總不太好,大家不容易看懂,還容易看暈,畢竟“抽象”的意思就是說,你懂了馬上心領神會,你不懂總感覺雞同鴨講。

我倒認為沒必要在進程的定義上作過多糾結,關鍵是功用,開始只需要記住一點,進程對應的是CPU。計算機所謂的“計算”,指的就是CPU運算,那運算什么內容呢?這就是進程。

本來這個過程不算復雜,好像也沒什么問題,但是后來人們搞出了“多進程”,一個CPU能“同時”運行多個進程。但這個“同時”不是真正的同時,用術語來說,是并發執行而不是并行執行,結果一下就復雜起來,問題也就隨之而來了。

進程增多了,但CPU卻只有一個,出現了多對一的競態問題,這就是一切問題的起源。圍繞著競態問題,進程接著又衍生出了許多問題。

首先就是調度問題。對操作系統來說,調度是個大問題。書本肯定都會告訴你,進程有很多個狀態,有些還畫成了狀態遷移圖,各種線飛來飛去,看得眼花繚亂。感覺上很難,但我覺得,把握好了背后的邏輯,這些看似凌亂的知識點就是條理清晰地串在一起。

在這里,我們只需要死死盯住競態問題,正是因為進程和CPU不再是一一對應,所以需要調度,而所謂調度,就是雜技里的用兩只手玩五只球,總會區分出接回手里的、準備拋出的和停在空中的幾種情況,所以也需要根據情況給進程配套設計不同的狀態,調度的具體工作,就是想辦法讓進程在這幾個狀態中來回遷移倒騰,最終營造出CPU同時執行多個進程的假象。

進程之下是線程,現在又搞出了協程和纖程,以后不知道還會什么程,不過,目的只有一個,更充分地利用CPU時間,而且都難以避免一個問題,就是調度問題。

調度本身不難,難就難在設計調度原則,誰上誰下,執行多久,等待多久,都需要一一加以考慮,而且最難的地方在于,調度是沒有最優解的,只有在指定原則條件下,設計出相當不錯的調度方案。

進程除了競爭CPU,還要競爭資源,譬如兩個甚至更多的進程可能都需要同時讀寫同一個文件,我們熟悉的多對一的關系,會導致我們熟悉的競態問題,在CPU那導致了調度問題,而到了資源這里,則會導致同步問題和死鎖問題。

同步問題很簡單,進程既然要調度,那肯定沒辦法把活一口氣干完,譬如說讀寫某個文件,讀到一半被換下來了,下次再換上來的時候發現,別的進程也在讀寫這個文件,內容變了。

多線程有一個默契,就是前后環境要保持一致,你把我從CPU那換上換下我沒意見,但你得保證我所處的環境是相同的,別像雍正那樣一覺醒來發現大清亡了,后面也就沒法跟著劇本走。那怎么保證一致性呢,這就是同步問題,方法包括互斥鎖、信號量等等。

死鎖問題聽起感覺復雜一點,書上花了不少筆墨但內容還是不好懂。其實也不復雜,我們在小區門口喜聞樂見的堵車就是死鎖。小區門口只有一條車道,早高峰大家都得排著隊出去,這時如果外面有一輛車回來,開到門口又不肯避讓,那就堵車了,用操作系統的術語來說,就是死鎖了。

前面說,為了解決同步問題,我們會采取互斥鎖等方法,簡單來說,當多個進程都要使用同一項資源時,只有當前正在使用的進程用完了,也就是術語所說的資源釋放了,后面的進程才可以接著用。這樣做的好處當然是保證了一致性,但壞處則是導致了另一個問題,就是死鎖問題。

拿前面的小區出口比劃一下就清楚了。單車道當然是互斥的,要么只進要么只出,不可能一邊進一邊出。如果兩頭的來車各占一半車道,結果當然是想進來的進不來,想出去的出不去,兩頭堵死,這就死鎖了。

那怎么解決死鎖問題呢,大方向有兩種,一種是避免出現死鎖,從根本上解決這個問題,不過難度較大。另一種則是想辦法對已經發生的死鎖及時檢測發現,然后進行恢復。但是怎么才能及時發現死鎖呢?這又是一個操作系統方向需要研究的問題。

責任編輯:華軒 來源: 今日頭條
相關推薦

2022-12-20 07:39:46

2023-12-21 17:11:21

Containerd管理工具命令行

2016-12-23 14:08:30

物聯網操作系統開源

2016-01-05 13:41:59

物聯網內容硬件

2011-07-01 14:12:57

SEO

2023-12-15 09:45:21

阻塞接口

2025-04-30 08:15:00

Linux系統進程

2024-04-26 08:46:42

Spring自動裝配核心內容

2020-12-18 11:54:22

Linux系統架構

2021-06-04 09:35:05

Linux字符設備架構

2021-02-22 09:05:59

Linux字符設備架構

2021-07-23 16:22:58

鴻蒙HarmonyOS應用

2020-05-21 12:59:51

邊緣存儲存儲物聯網

2015-03-17 15:13:26

Cocos

2020-09-27 08:02:47

操作系統

2020-10-09 07:56:52

Linux

2021-02-05 06:18:28

deepin 深度操作系統Linux

2023-11-20 08:18:49

Netty服務器

2022-10-21 17:24:34

契約測試定位

2023-07-31 08:18:50

Docker參數容器
點贊
收藏

51CTO技術棧公眾號

成人一二三区视频| 91高潮在线观看| 日韩成人黄色| 欧美性xxxxx| av大片在线播放| 精品国产一区二区在线观看| 两个人看的在线视频www| 亚洲国产精品大全| 美国十次综合久久| 5566日本婷婷色中文字幕97| 天天综合国产| 欧美久久久久久久| 国产经典欧美精品| 欧美女同在线观看| 色婷婷av一区二区三区之一色屋| 婷婷色在线播放| 欧美精品免费看| 亚洲国产精品久久久天堂| 日产精品久久久一区二区| 不卡大黄网站免费看| 午夜在线免费视频| 欧美大片在线观看一区二区| 51一区二区三区| 国产精品久久久久久网站| 亚洲黄色毛片| 欧美在线观看www| 高潮白浆女日韩av免费看| 暖暖在线中文免费日本| 久久精品99久久久香蕉| 国语产色综合| 一区二区三区欧美在线| 国产精品毛片久久久久久久| gogogo高清在线观看免费完整版| 中文字幕久精品免费视频| 日韩情爱电影在线观看| 青少年xxxxx性开放hg| 一区二区三区四区蜜桃 | 国产片一区二区| 国产污视频在线| 久久精品国产69国产精品亚洲| 香蕉视频国产精品| 男人日女人逼逼| 欧美日韩国产欧美日美国产精品| 精品91福利视频| 久久精品ww人人做人人爽| 2020国产精品久久精品美国| 3d成人动漫在线| 91高清视频在线免费观看| 日韩专区一卡二卡| 超碰在线中文| 久久视频在线视频| 亚洲综合三区| 黄动漫在线免费观看| www.日韩系列| 日本欧美大码aⅴ在线播放| 国产农村av| 中文字幕综合一区| 9国产精品视频| 米奇777在线影院线| 中文一区二区视频| 一区二区福利| 在线色视频观看| 国内精品久久久久伊人av| 激情综合网最新| 免费av在线网站| 国产狼人综合免费视频| 国产欧美一区二区精品仙草咪| 超碰在线cao| 国产视频不卡| 欧美日韩国产综合新一区| 欧美亚洲国产日韩| 国产又黄又大又粗视频| 亚洲免费小视频| 三级不卡在线观看| 噜噜噜噜噜在线视频| 日韩免费观看视频| 国产精品久久777777| 亚洲国产天堂| 亚洲国产成人不卡| 欧美日韩一级二级| 亚洲免费二区| 亚洲私人影吧| 国产免费亚洲高清| 夜夜嗨av一区二区三区四季av| 97久久综合精品久久久综合| 欧美,日韩,国产在线| 亚洲欧美激情另类校园| 日韩电影在线一区| 女囚岛在线观看| 日韩电影在线播放| 在线综合+亚洲+欧美中文字幕| 天堂在线资源视频| 97人人做人人人难人人做| 精品国产乱码久久久久久老虎| 久久夜色精品国产欧美乱| 日韩精品亚洲专区| 成人精品一区二区三区校园激情| 国产一区二区视频在线观看| 亚洲欧美国产77777| 麻豆视频一区| 四色永久免费网站| 88xx成人精品| 亚洲自拍与偷拍| 日韩大片在线| 日本私人网站在线观看| 国产91aaa| 日韩精品一区二| 精品一区二区三区影院在线午夜| 在线观看欧美日韩电影| 欧美狂野激情性xxxx在线观| 日韩亚洲欧美中文高清在线| av中文字幕一区| 精品嫩草影院| 亚洲精品一区视频| 精品国产一二| 日韩av在线导航| 99久久综合精品| 日韩影视高清在线观看| 在线国产三级| 日韩精品久久一区| 日韩在线观看免费全| 国产欧美日韩不卡| 欧美日韩国产传媒| 99riav在线| 国产资源第一页| 午夜精品一区二区三区在线视频| 亚洲国产精品一区二区www | 免费一区二区三区| 国产婷婷成人久久av免费高清| 成人免费观看av| 欧美午夜寂寞| 国产综合视频一区二区三区免费| 日韩av一区二区三区美女毛片| 中日韩午夜理伦电影免费| 中文字幕av一区二区三区免费看 | 91色视频在线观看| 精品国内二区三区| 91麻豆福利精品推荐| 日韩高清欧美| √最新版天堂资源网在线| 国产肉体ⅹxxx137大胆| 日本久久亚洲电影| 精品久久人人做人人爰| 国产日韩欧美在线一区| 888久久久| 国产极品久久久久久久久波多结野| 孩娇小videos精品| 国产九区一区在线| 久久亚洲影音av资源网| 精品久久久在线观看| 国产一区二区h| 香蕉久久精品日日躁夜夜躁| 黄色在线播放网站| 天天爱天天做色综合| 日本在线一区| 日韩免费观看在线观看| 亚洲精品一线二线三线无人区| 国产精品福利一区二区三区| 久久久人人人| 国产一区二区三区网| 日韩理论视频| 四虎影院在线域名免费观看| 欧美一级免费播放| 国产精品久久久久免费| 欧美成人精品激情在线观看| 欧美久久一二三四区| 中文字幕乱码日本亚洲一区二区| 亚洲人www| 亚洲美女久久| 成人深夜福利| 国精产品一区| 免费看成年人视频在线观看 | 一级黄色av| 成人免费a级片| 国产精品 日韩| 国内揄拍国内精品| 国产视频丨精品|在线观看| 欧美视频一区二区三区…| av一区二区三区四区| 国产亚洲精品v| 成人羞羞视频播放网站| 日韩一区二区三区免费视频| 亚洲天天影视| 领导边摸边吃奶边做爽在线观看| 国产 福利 在线| 亚洲综合激情五月| 精品免费视频123区| 国产91色在线|免| 欧美成人午夜视频| 亚洲欧美国产精品va在线观看| 欧美日韩三级视频| 精品久久久久久电影| 欧美国产成人精品| 成人污视频在线观看| 亚洲看片一区| 国产精品久久久久久久久久10秀| 成人在线超碰| 欧美日韩黄色| 综合久草视频| 欧美天堂一区二区|