操作系統(tǒng)介紹

0x01 什么是操作系統(tǒng)桦锄?

操作系統(tǒng)是一個軟件扎附,一個可以讓應用程序運行變得更容易,允許程序共享內存结耀,讓程序能夠與硬件設備交互留夜,以及其他類似的工作。這種軟件被稱為操作系統(tǒng)(Operating System, OS)

為了實現上述的功能图甜,操作系統(tǒng)主要利用一種通用的技術:虛擬化(virtualization)碍粥,將物理資源,如處理器黑毅、內存嚼摩、磁盤轉換為更通用、更強大且更易用與使用的虛擬形式。因此低斋,操作系統(tǒng)也被稱為虛擬機(virtual machine)蜂厅。

0x02 什么是虛擬化?

先舉個例子:現在有一所房子膊畴,兩個人(A掘猿、B),這兩個人都想擁有一所房子

  • 你對A說:這個房子屬于你唇跨,你需要進去的時候稠通,就來找我拿鑰匙,用完把鑰匙還給我
  • 你對B說:這個房子屬于你买猖,你需要進去的時候改橘,就來找我拿鑰匙,用完把鑰匙還給我
  • 你負責保管鑰匙玉控,并且要讓A和B知道這個房子只屬于自己飞主,A、B互相不知道對方
  • 當A找你拿鑰匙時高诺,如果房子空閑碌识,你就把鑰匙給他;如果B在房子中虱而,那你就拒絕A筏餐,讓他等著
  • 同樣B找你拿鑰匙時,也是同理......

在上述例子中牡拇,房子只有一所魁瞪,但是你讓A和B都覺得自己擁有了房子,這個過程就類似于虛擬化CPU惠呼,而你在中間扮演的角色就是操作系統(tǒng)的角色导俘。

上面的例子是一個時分共享(time sharing)機制的應用,操作系統(tǒng)通過這個機制實現了虛擬化CPU剔蹋。相對應的還存在空分共享機制趟畏,操作系統(tǒng)在虛擬化磁盤和內存的時候使用了此機制。

  • 時分共享:允許資源由一個實體使用一小段時間滩租,然后由另一個實體使用一小段時間赋秀,如此下去......
  • 空分共享:資源在空間上被劃分給希望使用它的人,例如律想,一旦將一塊磁盤空間分配給用戶猎莲,在用戶刪除文件之前,不可能將它分配給其他文件

0x03 虛擬化CPU

cpu.c
同時運行多個程序

從上述例子中技即,可以看到著洼,即使只有一個處理器,4個程序似乎是可以同時運行的。操作系統(tǒng)通過時分共享機制身笤,實現了系統(tǒng)擁有非常多CPU的假象豹悬。將單個CPU(或其中的一小部分)轉化為看似無限數量的CPU,從而讓許多程序看似在同時運行液荸,這就是虛擬化CPU瞻佛。

0x04 虛擬化內存

mem.c
同時運行內存程序

從這個例子中,可以看到娇钱,這兩個進程都在相同的地址(00200000)處分配了內存伤柄,但每個進程似乎都獨立更新了 00200000 處的值,就好像每個正在運行的程序都有自己的私有內存文搂,而不是與其他正在運行的程序共享相同的物理內存适刀。
這是因為操作系統(tǒng)虛擬化內存,每個進程訪問自己的私有虛擬地址空間(virtual address space)煤蹭,操作系統(tǒng)以某種方式映射到機器的物理內存上笔喉。一個正在運行的程序中的內存引用不會影響其他進程(或操作系統(tǒng)本身)的地址空間。對于正在運行的程序硝皂,它看起來完全擁有自己的物理內存然遏。實際上,物理內存是由操作系統(tǒng)管理的共享資源吧彪,這就是虛擬化內存。

0x05 持久性

操作系統(tǒng)管理磁盤的軟件通常被稱為文件系統(tǒng)(file system)丢早,它負責以可靠和高效的方式姨裸,將用戶創(chuàng)建的任何文件存儲在系統(tǒng)的磁盤上。不像操作系統(tǒng)為CPU和內存提供的抽象怨酝,操作系統(tǒng)不會為每個應用程序創(chuàng)建專用的虛擬磁盤傀缩。相反,它假設用戶經常需要共享文件中的信息农猬。比如我們編寫代碼時赡艰,需要使用編輯器創(chuàng)建和編輯文件;編寫完后需要使用編譯器來編譯代碼斤葱,生成可執(zhí)行文件慷垮,最后運行可執(zhí)行文件。因此文件是可以在不同的進程之間共享的料身。
而文件的持久化過程中芹血,文件系統(tǒng)會確定新數據將駐留在磁盤上的哪個位置啃擦,然后在文件系統(tǒng)所維護的各種結構中對其進行記錄,這需要向底層存儲設備發(fā)出 I/O 請求,以讀取現有結構或更新(寫入)它們。這個過程辆憔,操作系統(tǒng)相當于提供了一些API,屏蔽了讓硬件設備執(zhí)行操作的一些低級別設備接口。所以绘沉,OS 有時被視為標準庫喻喳。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子杨耙,更是在濱河造成了極大的恐慌,老刑警劉巖车柠,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塑陵,死亡現場離奇詭異,居然都是意外死亡凉倚,警方通過查閱死者的電腦和手機兼都,發(fā)現死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稽寒,“玉大人扮碧,你說我怎么就攤上這事⌒硬冢” “怎么了慎王?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搔啊。 經常有香客問我,道長北戏,這世上最難降的妖魔是什么负芋? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮嗜愈,結果婚禮上旧蛾,老公的妹妹穿的比我還像新娘。我一直安慰自己蠕嫁,他們只是感情好锨天,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剃毒,像睡著了一般病袄。 火紅的嫁衣襯著肌膚如雪搂赋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天益缠,我揣著相機與錄音脑奠,去河邊找鬼。 笑死幅慌,一個胖子當著我的面吹牛宋欺,可吹牛的內容都是我干的。 我是一名探鬼主播胰伍,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼齿诞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了骂租?” 一聲冷哼從身側響起祷杈,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎菩咨,沒想到半個月后吠式,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡抽米,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年特占,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片云茸。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡是目,死狀恐怖,靈堂內的尸體忽然破棺而出标捺,到底是詐尸還是另有隱情懊纳,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布亡容,位于F島的核電站嗤疯,受9級特大地震影響,放射性物質發(fā)生泄漏闺兢。R本人自食惡果不足惜茂缚,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屋谭。 院中可真熱鬧脚囊,春花似錦、人聲如沸桐磁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽我擂。三九已至衬以,卻和暖如春缓艳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泄鹏。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工郎任, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人备籽。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓舶治,卻偏偏與公主長得像,于是被迫代替她去往敵國和親车猬。 傳聞我的和親對象是個殘疾皇子霉猛,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內容