我剛學完作業系統課程,但我仍然不清楚作業系統的定義。有什麼作業系統本身會佔用CPU、記憶體等資源嗎?例如,調度演算法必須採取一些處理能力來比較任務,以了解哪個任務先執行以及任務保存在什麼資料結構中佔用空間。
另外,知道如何處理虛擬記憶體的行為必須進行佔用資源的計算,對吧?
假設而言,如果一台只有一個程式但沒有作業系統的電腦正在運行該程序,則該程式將比在同一台但有作業系統的電腦上更快地完成運行。真的嗎?
編輯:我同意這門課程完全是垃圾,出於娛樂目的,這裡是我們給出的操作系統的定義
什麼是作業系統? • 幾種可能的定義 1. {Microsoft、Apple、Linux 社群、Google} 提供的程式碼 2. 您所依賴但也不是您寫的程式碼 3. 在特權模式下執行的程式碼 4. 創造事物的程式碼工作5 .導致事情崩潰的程式碼(相當憤世嫉俗的定義) 6.還有許多其他...
什麼是作業系統• 一個抽象– 為電腦上執行的應用程式提供適當的介面以存取該電腦的資源– 很大程度上取決於我們如何定義「適當」 • 解決不同問題的方法– 時間效能– 空間效能– 共享和共享資源管理 – 容錯 – 安全性 – 適銷性
這對教科書的嘲諷我們不得不花費 100 多美元,將作業系統定義為「幾乎所有其他東西都依賴它的軟體。這仍然很模糊,但這個術語在整個行業中以相當模糊的方式使用」。
答案1
作業系統本身是否佔用資源(除了安裝的空間之外)?
是的。
我剛學完作業系統課程,但我仍然不清楚作業系統的定義。
在底層,作業系統與任何其他程式沒有什麼不同。歸根究底,它只不過是一堆CPU指令。唯一的區別是作業系統的指令執行的操作(或多或少)與程式的指令不同。
描述作業系統的最佳方式是元程式。也就是說,而不是做某事,該程序使得有可能其他做某事的程序。
有什麼作業系統本身會佔用CPU、記憶體等資源嗎?
是的當然。
例如,調度演算法必須採取一些處理能力來比較任務,以了解哪個任務先執行以及任務保存在什麼資料結構中佔用空間。
確切地。作業系統的函數只是一堆CPU指令,就像使用者程式中的函數一樣,它們佔用空間並且必須在CPU上運行。
另外,知道如何處理虛擬記憶體的行為必須進行佔用資源的計算,對吧?
自然。
假設而言,如果一台只有一個程式但沒有作業系統的電腦正在運行該程序,則該程式將比在同一台但有作業系統的電腦上更快地完成運行。真的嗎?
輕微地。
請記住,CPU 的速度非常快,並且可以執行很多在短時間內給予指示。此外,作業系統經過廣泛設計和調整,以盡可能優化,因此它們使用盡可能少的 CPU 和記憶體(至少理論上如此)。因此,它們用於調度、記憶體管理、任務切換、硬體驅動等的演算法使用相對較少的資源。您可以在任務管理器中看到這一點;當沒有程式運行並且作業系統被削減到最低限度時,使用的記憶體將非常少,CPU 將以「0%」運行。 (同樣,我們是在理論上討論;例如,Windows 最近一直在“膨脹”,因此它可能不再適用於此。)
答案2
如果您剛完成作業系統課程,您應該要求退款。你的問題太天真了,我真的不敢相信你不是在尋找家庭作業問題的解決方案。
現代意義上的作業系統是一組服務提供者,應用程式可以使用這些服務提供者來存取電腦上的資源,例如記憶體、CPU 和 I/O 裝置。作業系統和應用程式之間的界線到底在哪裡是一個宗教議題(參見 Andrew Tanenbaum 和 Linus Torvalds 之間的辯論)。
現代作業系統用於向應用程式提供隔離的機器抽象,例如,您的應用程式無法取得我的應用程式正在使用的記憶體。為了以安全可靠的方式做到這一點,管理抽象的關鍵程式碼通常被隔離到稱為作業系統核心的東西。核心中的內容與使用者空間共享庫之間的界限再次存在爭議。
真的,如果你的作業系統課程沒有涵蓋這類內容,那到底是什麼?