題 操作系統本身是否佔用資源(除了安裝的空間)?


我剛剛完成了操作系統課程,操作系統的定義對我來說還不清楚。任何操作系統本身是否佔用CPU和內存等資源?例如,調度算法必須具有一些處理能力來比較任務,以查看哪個先行,以及任務佔用空間中的任何數據結構。

知道如何處理虛擬內存的行為也必須採取佔用資源的計算,對嗎?

假設一台計算機只有一個程序而沒有操作系統運行該程序,程序運行完成的速度要快於同一台計算機上的操作系統。真的嗎?

編輯:我同意該課程是完全廢話,為了娛樂目的這裡是我們給出的操作系統的定義

什麼是操作系統? • 幾種可能的定義 1. {Microsoft,Apple,Linux community,Google}提供的代碼 你依賴的代碼,你也沒有寫 3.以特權模式運行的代碼 4.使事情有效的代碼 5.使事情崩潰的代碼(相當憤世嫉俗的定義) 6.還有很多人......

什麼是操作系統 • 抽象 - 為在計算機上執行的應用程序提供適當的接口以訪問該計算機的資源 - 很大程度上取決於我們如何定義“適當的” • 解決不同問題的方法 - 及時表現 - 太空表現 - 共享和資源管理 - 容錯 - 安全 - 適銷

這是對教科書的嘲弄 我們不得不花費100美元以上,將操作系統定義為“幾乎所有其他東西都依賴的軟件。這仍然是模糊的,但這個術語在整個行業中以一種相當模糊的方式使用”。


3
2017-12-05 03:49


起源


我從未見過沒有任何操作系統的程序。除非上述程序是操作系統。 - Darius
@Darius哦,甚至在嵌入式設備上都沒有?例如我的 TI-86 計算器有一個“程序”,為我做二次方程式。 - Celeritas
如果程序在沒有操作系統的情況下運行,它必須完成操作系統的大部分工作。對於一些這樣做的例子來看可編程邏輯控制器。 - hildred
@Celeritas,如果您使用的是Z80彙編程序,那麼您就是 關 到了系統,但即使這樣,計算器仍然有某種操作系統,否則你的程序會更加複雜,包括低級機器代碼甚至可以做基本的事情(更不用說TI-BASIC了)。在 非常少一個操作系統 運行 程式。例如,DOS中的彙編程序可能會操縱硬件,但它們仍然可以 在DOS下運行。 - Synetech
@Celeritas我的知識是有限的,但我的理解是,如果運行嵌入式設備的“程序”不是設備的操作系統,它會被稱為什麼?我的假設是,由它完成的所有其他計算或功能都是在基本操作系統上運行的其他程序。我的假設:計算器的操作系統只是“顯示屏幕”和“接受按鈕按下屏幕顯示和計算”。但實際計算(二次公式)將是OS可以調用以生成結果的程序..否? (如果我錯了,請糾正我) - Darius


答案:


操作系統本身是否佔用資源(除了安裝的空間)?

是。

我剛剛完成了操作系統課程,操作系統的定義對我來說還不清楚。

在低級別,操作系統與任何其他程序沒有什麼不同;最終,它只不過是一堆CPU指令。唯一的區別是操作系統的指令與程序的指令(或多或少)有所不同。

描述操作系統的最佳方式是: 元程序。也就是說,而不是 做某事,該計劃使其成為可能 其他 做某事的計劃。

任何操作系統本身是否佔用CPU和內存等資源?

當然是。

例如,調度算法必須具有一些處理能力來比較任務,以查看哪個先行,以及任務佔用空間中的任何數據結構。

究竟。操作系統的功能只是一堆CPU指令,與用戶程序中的功能類似,它們佔用空間並且必須在CPU上運行。

知道如何處理虛擬內存的行為也必須採取佔用資源的計算,對嗎?

自然。

假設一台計算機只有一個程序而沒有操作系統運行該程序,程序運行完成的速度要快於同一台計算機上的操作系統。真的嗎?

略。

請記住,CPU非常快,可以執行 批量 在很短的時間內完成說明。此外,操作系統已被廣泛設計和調整為盡可能最佳,因此它們盡可能少地使用CPU和內存(至少在理論上)。因此,它們用於諸如調度,存儲器管理,任務切換,硬件驅動等的算法使用相對較少的資源。你可以在任務管理器中看到這個;當沒有程序運行且操作系統被削減到最小時,則使用的內存非常少,CPU將以“0%”運行。 (同樣,我們在理論上談論;例如,Windows最近一直“膨脹”,所以它可能不適用於那個。)


10
2017-12-05 04:06





如果您剛剛完成了操作系統的課程,您應該要求退款。你的問題是如此幼稚,我真的不相信你不是在尋找一個家庭作業問題的解決方案。

操作系統的現代視圖是應用程序可用於訪問計算機上資源(例如內存,CPU和I / O設備)的服務提供程序的集合。確切地說,操作系統和應用程序之間的界限是一個宗教問題(見Andrew Tanenbaum和Linus Torvalds之間的爭論)。

現代操作系統用於向應用程序提供隔離的機器抽象,例如,您的應用程序無法訪問我的應用程序使用的內存。為了以安全和安全的方式執行此操作,管理抽象的關鍵代碼通常被隔離到稱為OS內核的內容中。再一次,內核中的內容與用戶空間共享庫之間的界限是有爭議的。

真的,如果你的操作系統課程中沒有涵蓋這種東西,那到底是什麼?


-6
2017-12-05 04:44



問題不是 什麼是操作系統? 甚至 操作系統與程序有何不同?, 它是 操作系統是否使用資源。我確信以前的問題之一已經存在,所以你可以將你的答案轉移到其中一個更合適的地方(當然假設你的意圖是提供信息而不僅僅是侮辱)。 - Synetech
對於任何關注的人來說,操作系統的任何基本定義都應該暗示使用了資源。如果原始海報知道操作系統的正確定義,那麼關於資源利用的問題將沒有實際意義。 - anon
@anon - 雖然我可能會同意那些剛剛參加過操作系統大學課程的人提出一個問題,如果操作系統本身使用CPU資源是天真的,那麼你完全無視作者的感受並不是真的很感激而且是唯一的我發出了一個downvote的原因。換句話說,拋棄侮辱並不會贏得你的聲譽,並可能導致你無法發布答案。 - Ramhound
或者甚至比情緒更重要,答案根本不解決問題。我也覺得答案是微不足道的(至少對我自己有多年的低級計算機知識),但我可以設想有人,甚至是那些參加過操作系統課程的人(可能會也可能不會像我那樣複雜)一旦拿走了)可能不太了解它,或者僅僅是被大量詳細信息所淹沒和迷惑。這就是為什麼我試圖以某種方式發布一個簡潔的回應,解決每一點,以回答實際問的問題。 - Synetech
嚴肅的問題:我的教科書基本上字面上陳述了操作系統的定義並不明確,並且經常以多種方式使用,這是正確的嗎? - Celeritas