io是作業系統複雜的原因如果外存不計成本都採用如cache那樣的快取記憶體,會不會使作業系統變得簡單?

時間 2021-06-28 04:56:08

1樓:古斟布衣

Cahce之類的快取記憶體用於解決高速的CPU與記憶體、硬碟等低速的外設之間的資料訪問問題,但是資料訪問並不是導致作業系統複雜的根本原因。

即使是EEPROM、RTC等這類簡單的外設,不同廠家的裝置也無法使用同乙個驅動來進行控制更何況是PCI(e)、網路介面、USB介面、顯示卡甚至CPU某種程度上的外設。

此外,對於網路介面、USB介面、顯示卡之類的複雜裝置來說,資料訪問僅僅是非常小的功能,甚至本身就包含DMA(直接記憶體訪問功能),因此cache對它們來說是毫無意義的,甚至會影響訪問效率。

所以,Cache並不會使作業系統變得簡單,統一的硬體介面才會使作業系統變得簡單。

2樓:葛雨

我並不認同作業系統複雜的原因是狹意的io。

作業系統之所以複雜,本身對「cpu」的控制也是很大的原因,還有對各種種樣的協議與硬體的控制都造成了作業系統的複雜。

如果是廣意的io的話,我們可以把對 cpu 和各種各樣的硬體的操控抽像成「讀寫」操作,那這樣的io確實是作業系統的複雜的原因。顯然這樣的io操作並不會像記憶體條一樣集中在一起,而是分散在不同的裝置上,就無法通過cache技術來解決。

總而言之吧,在現有的馮·諾依曼架構下即使你把cache加到TB甚至PB級別都無法帶來作業系統的簡化,反而會因為這樣的大體積cache定址會讓作業系統的設計變的更複雜。

大家使用微軟 Windows 作業系統的原因是什麼?

我在macos系統中的虛擬機器中使用win系統的原因 1.開發win下的c c 小程式。2.玩win特有但無法移植到macos系統的遊戲,如 生存戰爭。3.使用qq的macos版沒有的功能。 好用。有Office。有VisualStudio。有遊戲。我自己會裝Python和Ruby,不需要系統自帶。...

作業系統是如何被製作的?

仗賤走天涯 沒有作業系統的時候就沒有作業系統啊,這麼問沒有意義啊。古代的計算機使用穿孔卡的,先把作業 包括指令和資料 打在穿孔卡上,然後計算機讀取穿孔卡上的程式,計算完畢再用穿孔卡輸出。這樣子的話每個作業都要人工輸入程式,人工取結果。有一群懶人們想要是一次可以按批次輸入多個作業,結果也只需要取一次,...

未來的作業系統是怎麼樣的

pubut 未來作業系統將逐漸屬於完全的人工智慧 智腦 輸入將沒有鍵盤 滑鼠 觸控板等,而是通過感測器,人類的一切的需求只需要對他表達即可。 自由人 不管未來系統如何發展,對於使用者來說不外乎兩點,1普通使用者使用簡單便捷,2專業使用者使用得心應手。一套作業系統發展不易,特別是生態系統非一蹴而就,需...