吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三個維度剖析為何計算機需要操作系統

jf_78858299 ? 來源:碼農的荒島求生 ? 作者:碼農的荒島求生 ? 2023-02-15 11:50 ? 次閱讀

今天我們從三個方面來簡單聊聊為什么計算機需要操作系統這個話題

資源分配器

如果你的CPU上只需要運行一個程序,那么你的確不需要操作系統。

圖片

可是,一旦你的CPU上需要再運行一個程序,那么馬上就會面臨一個問題: 兩個程序開始競爭資源 ,因為計算機的硬件就那么多:有限的處理器個數、有限的內存容量、有限的磁盤容量等等,當在只有一個CPU(核)的機器上要運行兩個程序時,在某一個時刻CPU到底該運行哪個程序呢?

圖片

這顯然不是程序1應該關心的事情,當然,也不是程序2該關心的事情,這就需要必須得有一個什么程序來關心,這個程序就是操作系統。

操作系統存在的目的就是為了合理的給各個運行起來后的程序分配資源, 從這個角度你可以把操作系統理解為一個資源分配器

顯然你不能把CPU切成多個小的CPU,而只能采用“分時”的策略,也就是“你用一會我用一會”,這就好比大家去游樂場玩過山車,由于過山車只有一個,而且不能拆分成更小的給大家用,因此大家只能排隊,你用一會我用一會;

操作系統也采用此策略將CPU資源分配給各個進程,因此從操作系統的角度看“進程A用一會CPU后然后暫停,進程B再用一會兒”,即,操作系統不斷的將CPU在各個進程之間切換,只不過切換的速度足夠快,因此從用戶看來進程在同時運行;操作系統決定以什么樣的順序將CPU分配給各個進程就是所謂的進程調度。

圖片

而像內存或者磁盤這類存儲資源與CPU不同,我們可以很方便的將內存進行劃分,因此可以采用“分塊”的策略,也就是“ 你用一塊我用一塊”,這就是好比停車位,一個停車場中有很多停車位,大家可以同時去停車場中停車。

內存也是同樣的道理,我們可以將內存的劃分給不同的進程,因此不同的進程可以同時存在于內存中。

為高效使用有限的內存資源,操作系統在內存的使用上可謂絞盡腦汁,虛擬內存就是精彩的發明,其可以讓更多進程常駐內存,當然,虛擬內存也帶來不小的挑戰,這些都需要靠軟硬件結合來解決。

資源隔離與秩序維護者

程序A的運行不能干擾到程序B,即,如果程序A出現bug導致崩潰,那么它不能影響到系統中的其它程序,當然也包括操作系統這個程序;

圖片

程序A決不能隨意訪問程序B所在的內存區域等等,你肯定不希望其它程序能直接獲取你的聊天信息,這些都需要操作系統進行資源隔離。

除此之外,復雜的任務需要借助多個程序通力合作才能完成,因此程序之間除了隔離之外也必須進行必要的通信,比如進程間通信等,這時操作系統必須提供必要的同步以及互斥機制,確保程序對共享資源的訪問以及程序的運行順序符合程序員的預期。

因此從這個角度看操作系統又是資源隔離與秩序維護者。

細節屏蔽者

操作系統和TCP/IP協議棧的作用是類似的,如果沒有TCP/IP協議棧,那么在發送網絡數據時你需要自己填寫好tcp協議header,維護好tcp的鏈接狀態,發送前要進行三次握手,發送的過程中需要保證數據包的可靠傳輸、還要自己維護tcp的擁塞控制等等,搞定tcp協議還不算完,不要忘了還有ip協議,除此之外還有數據鏈路層等等, 如果這一切都要自己搞定,相信沒有多少程序員能進行網絡編程 ,而且大部分程序員在編寫網絡程序時相信對這些細節也不感興趣。

這時tcp/ip協議棧就非常重要了,它通過socket對上層程序員屏蔽了網絡的復雜度,程序員僅需要調用send/recv即可進行網絡數據的收發,這大大簡化了網絡編程,因此你可以把內核中負責處理tcp/ip的那一部分理解為計算機網絡的”操作系統“。

而操作系統也是同樣的道理,我們知道真正完成計算任務的是硬件,hardware,而硬件本身通常是非常難以編程的,尤其設計I/O的部分,因為這非常的細節、非常瑣碎,程序員在讀寫文件時大概率不想關心要讀寫的數據到底保存在磁盤的哪個盤面、哪個柱面、哪個扇區上,也不想關心該使用什么樣的機器指令可以控制磁盤的讀寫、怎樣平衡好讀寫速率與磁盤壽命等等,你需要的是兩個read/write函數就能讀寫文件這種抽象概念(實際上從磁盤的角度來說根本不存在文件這種概念)。

圖片

這時操作系統的作用就非常明顯了,操作系統對上層應用屏蔽了底層的這些細節,讓程序員可以將注意力放在自己的領域上。

因此,從這個角度看操作系統更像是一個細節屏蔽者,它提供的一個重要的功能就是:抽象,Abstraction。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10902

    瀏覽量

    213005
  • 計算機
    +關注

    關注

    19

    文章

    7536

    瀏覽量

    88638
  • 操作系統
    +關注

    關注

    37

    文章

    6892

    瀏覽量

    123742
收藏 人收藏

    評論

    相關推薦

    計算機操作系統PPT

    計算機操作系統PPT操作系統引論(1章)進程管理(2-3章)存儲管理(4章)設備管理(5章)文件管理(6章)操作系統接口(7章)系統安全性(
    發表于 11-07 11:19

    計算機軟件與操作系統

    計算機軟件與操作系統  功能強大的計算機自從走進了人類的生活就發揮著越來越重要的作用,隨著時代的發展,計算機已與人們的日常生活息息相關。不能不說計算
    發表于 09-13 10:09

    計算機操作系統

    計算機操作系統-進程(2)進程的狀態與轉換
    發表于 05-25 16:45

    什么是計算機操作系統

    什么是計算機操作系統操作系統是一種為應用程序提供服務的系統軟件,是一完整的計算機系統的有機組
    發表于 12-14 06:50

    計算機操作系統課件

    計算機操作系統課件內容如下第1章  計算機操作系統概述.ppt1.1  存儲程序式計算機模型1.2 
    發表于 11-07 09:43 ?0次下載
    <b class='flag-5'>計算機</b><b class='flag-5'>操作系統</b>課件

    2004年計算機操作系統試題

    計算機專業計算機操作系統試題 2004年1月一、選擇題(選擇一正確答案的代號填入括號中,共40分)1.操作系統是為了提高
    發表于 01-07 19:24 ?2次下載

    計算機操作系統》課程教學探討

    計算機操作系統課是一門涉及知識面廣的專業基礎課程,該課程的教學一直在計算機專業教學計劃中居重要位置.本文在分析了目前國內計算機操作系統教學現
    發表于 04-18 21:12 ?48次下載

    計算機操作系統

    電子發燒友網站提供《計算機操作系統版.txt》資料免費下載
    發表于 08-01 14:58 ?0次下載

    計算機操作系統+第

    計算機相關書籍,操作系統,非常好用,值得推薦
    發表于 11-12 17:17 ?0次下載

    計算機操作系統原理與設計

    計算機操作系統原理與設計算機操作系統原理與設計 計算機操作系統原理與設計
    發表于 06-03 14:30 ?43次下載

    操作系統是什么?計算機操作系統的詳細資料介紹

    操作系統計算機學科的基礎課程,是理解計算機運行原理的重要基石,學習操作系統不僅能夠讓編程人員了解計算機運行邏輯而且還有助于培養編程“軟實力
    的頭像 發表于 02-04 12:24 ?1.7w次閱讀
    <b class='flag-5'>操作系統</b>是什么?<b class='flag-5'>計算機</b><b class='flag-5'>操作系統</b>的詳細資料介紹

    計算機操作系統的幾種分類方式

    操作系統是管理計算機硬件與軟件的計算機程序,是計算機系統的核心,是計算機系統中最基礎和最重要的系統
    的頭像 發表于 03-21 14:58 ?2w次閱讀

    三個維度深度剖析XR眼鏡

    科技大咖公認的第計算平臺XR眼鏡隨著5G的大規模建設與商用化,將加快其走向消費者市場的步伐,逐步從技術競爭階段進入到以改善用戶體驗為核心的競爭階段。XR眼鏡的用戶體驗競爭具體體現在哪些方面?本文將從重量、操作系統、交互技術
    的頭像 發表于 09-03 09:52 ?7954次閱讀

    計算機操作系統的最基本特征是什么_計算機操作系統是什么的接口

    計算機操作系統是用戶與計算機的接口,在計算機中,操作系統是其最基本也是最重要的基礎性系統軟件;
    發表于 09-03 15:36 ?1.5w次閱讀

    為什么計算機需要操作系統

    今天,我們從三個方面來簡單聊聊為什么計算機系統需要操作系統這個話題。
    的頭像 發表于 02-03 11:00 ?2444次閱讀
    988百家乐官网娱乐| 大发888 ber娱乐场下载| 百家乐官网视频下载地址| 利来游戏| 浩博真人娱乐| 青田县| 百家乐官网怎样算大小| 百家乐官网注册开户送现金| 百家乐官网庄闲筹码| 网上百家乐官网作弊法| 百家乐官网如何打轮盘| 缅甸百家乐官网娱乐场开户注册 | 百家乐波音平台路单| 百家乐赌博赌博网站| 百家乐官网策略介绍| 百家乐博彩优惠论坛| 神娱乐百家乐的玩法技巧和规则| 太阳城管理网| 国外合法赌博网站| 百家乐官网怎么样玩| 百家乐官网知识技巧玩法| 海尔百家乐官网的玩法技巧和规则| 百家乐游戏官网| 678百家乐博彩赌场娱乐网规则| 大发888游戏平台 df888ylcxz46| 奇博网上娱乐| 太阳城百家乐官网投注| 缅甸百家乐官网赌场娱乐网规则| 百家乐最全打法| 现场百家乐的玩法技巧和规则| 大发888网站多少| 百家乐官网真人游戏网| 温州百家乐官网的玩法技巧和规则 | 大发888游戏安装失败| 长垣县| 百家乐官网走势图解| 免费百家乐官网平预测软件| 真人百家乐赌场娱乐网规则| 八大胜开户| 赌场百家乐官网投注公式| 百家乐路纸表格|