現代操作系統讀書筆記

第二章 進程與線程

Tanenbaum將靜態程序比喻爲食譜,食材、廚具等比喻爲計算機系統資源,人爲CPU,進而將進程比喻爲人照着食譜進行做飯的這一活動,這一比喻讓我印象深刻,不僅徹底理解了進程,而且讓我想到了能將生活中的很多事情聯繫到計算機中的概念。

還有字處理軟件的多線程的使用,也使我對多線程的用法,以及線程的任務分配有了詳細的認識,很多以前看課本不懂的地方,在這裏都得到了很好的解釋。

多線程的使用:

若多個線程都是CPU密集型的,那麼並不能獲得性能上的增強,但是如果存在着大量的計算和大量的I/O處理,擁有多個線程允許這些活動彼此重疊進行,從而會加快應用程序執行的速度。所以在網絡編程、服務器開發中多線程的使用是基本功,必須熟練掌握。

線程分爲用戶級線程和內核級線程,

用戶級線程有更好的性能,但是最大的問題是如何實現阻塞系統調用

使程序進入忙等待的鎖稱爲自旋鎖

什麼是忙等待?程序不斷查詢某個值,

忙等待和阻塞的區別:阻塞是使進程失去CPU處理時間,等待事件發生

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章