iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
IT 管理

電腦到底是怎麼運作的?一起來認識作業系統吧!系列 第 10

Day10 作業系統與處理器間的關係(4)

  • 分享至 

  • xImage
  •  

昨天說完進程的狀態了,那在執行時會碰到哪些問題勒?特別是在多工處理下會碰到哪些困難,我們又如何解決?

1.進程同步與互斥(Process Synchronization and Mutual Exclusion)
同步(Synchronization): 當多個進程需要協作完成某些任務時,作業系統會確保它們的運行是有序的,避免競爭條件(Race Condition)。例如,在共享資源時,必須確保一個進程不會在另一個進程修改數據的同時讀取該數據。

互斥(Mutual Exclusion): 這是一種確保同一時間只有一個進程可以訪問共享資源的機制,避免數據不一致。作業系統使用鎖(Locks)、信號量(Semaphores)和監控器(Monitors)等技術來實現互斥。

2.死鎖(Deadlock):當多個進程彼此等待對方持有的資源時,可能會導致死鎖的發生,這使得這些進程無法繼續運行。作業系統通過死鎖預防,避免或檢測與恢復來處理死鎖問題。

3.多處理器環境下的處理器管理(Multiprocessing):在多處理器系統(即有多個 CPU)中,作業系統需要管理多個處理器,這使得作業系統必須決定如何分配不同的進程到不同的 CPU 上,以達到最佳效能。
作業系統會採用對稱多處理(Symmetric Multiprocessing, SMP),即每個 CPU 都平等分配進程,或非對稱多處理(Asymmetric Multiprocessing, AMP),由其中一個處理器來分配其他處理器的工作。

處理器(CPU)的部分就到這邊告一段落啦~有沒有覺得有點複雜勒?你平常在用的電腦內部都在做這些事喔!明天我們就來看看第二個主題記憶體(memory)與作業系統間的關係吧!


上一篇
Day9 作業系統與處理器間的關係(3)
下一篇
Day11 記憶體(memory)與作業系統間的關係(1)
系列文
電腦到底是怎麼運作的?一起來認識作業系統吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言