如果将操作系统理解为一个安装在电脑上管理cpu等硬件的大型软件,那么安装(运行)在操作系统上的软件,是在操作系统的帮助下直接更改硬件状态,还是更改大软件(操作系统)的状态之后,间接对硬件进行操作?
人生最曼妙的风景,竟是内心的淡定与从容!
我覺得是第二種。 跟硬體相關的操作,通常是作業系統核心才有權限進行的,應用程式不能直接操作硬體。
以讀取磁碟檔案為例:
應用程式啟動read系統呼叫。
CPU進入核心態,執行對應的核心程式碼,進行讀取操作。
操作完成後,返回使用者態,繼續執行後面的程式碼。
個人淺見,如有錯誤請指正。
作業系統最早就是設計出來用於管理硬體的軟體,它封裝了許多介面。例如我們熟知的POSIX。這是作業系統的擴充機功能。 作業系統的另一個功能就是資源管理,對軟硬體的資源分配。扯的有點遠。 我也覺得是第二種。 跟硬體相關的操作,只有管態才可以執行。
我覺得是第二種。
跟硬體相關的操作,通常是作業系統核心才有權限進行的,應用程式不能直接操作硬體。
以讀取磁碟檔案為例:
應用程式啟動read系統呼叫。
CPU進入核心態,執行對應的核心程式碼,進行讀取操作。
操作完成後,返回使用者態,繼續執行後面的程式碼。
個人淺見,如有錯誤請指正。
作業系統最早就是設計出來用於管理硬體的軟體,它封裝了許多介面。例如我們熟知的POSIX。這是作業系統的擴充機功能。
作業系統的另一個功能就是資源管理,對軟硬體的資源分配。扯的有點遠。
我也覺得是第二種。
跟硬體相關的操作,只有管態才可以執行。