雲端計算髮展前景,linux系統課程
在我們的Linux學習中,由於一些翻譯問題,會導致我們在學習中遇到一些生僻的、相似的詞與概念。有的很難理解,有的很容易混淆。在Linux系統中,對於使用者建立的程式(執行緒)來說,CPU分配時間片的單位是執行緒還是程式?
是執行緒。執行緒是實際工作的單元,程式只是一個容器,用來管理一個或多個執行緒。
1.這是不是就意味著儘量使用多執行緒併發,這樣可以搶到更多的時間片。
理論上是的,多執行緒的一種用途就是能同時做好幾件事情,以提高效率。但實際問題是,CPU的數量(核心數,下同)是有限的,而且並不多。如果你的CPU有8個CPU,並且整個系統中有8個執行緒的話,不考慮中斷等因素,每個執行緒理論上能一直執行下去。然而多於8個執行緒以後,作業系統就必須進行排程,也就是分配時間片。具體的分配方案,或者說排程演算法有很多種。如果一個程式建立了很多執行緒的話,最多也只有8個能夠處於執行的狀態[2],其餘的執行緒必須等待排程。執行緒被排程的時候需要進行上下文切換,這個操作是一種額外的開銷。執行緒數量過多的時候,上下文切換產生的額外開銷會對系統的效率造成負面影響。
2.作業系統對於擁有多執行緒的程式,是否會減少其每個執行緒的時間片,或做其他處理來保證公平性?
這就是排程演算法需要考慮和優化的問題。比如執行緒和程式有優先順序,在搶佔式的排程中,優先順序高的執行緒可以從優先順序低的執行緒那裡搶佔CPU。另外,在多CPU平臺上,排程演算法還要考慮快取的關聯性等。
在一個程式中的多個執行緒要注意在可能的情況下將本執行緒阻塞,將剩餘的時間片讓給兄弟執行緒。
在主流的作業系統實現裡,一般程式是不能直接控制自己的執行緒的執行順序的。也就是說,把一個執行緒掛起並不能保證另一個執行緒一定能夠被執行。
Linux核心其實不區分程式和執行緒,核心把執行單元叫做任務(task)。作業系統實際上排程的是程式,程式通過fork()來建立同樣的另一個程式。每個程式有一個PID,同一組程式中最先啟動的那個還有一個TGID。嚴格來說前者應該叫執行緒ID,後者應該叫程式ID。Linux裡的執行緒實際上是共享一些資源的一系列程式而已。
相關文章
- 雲端計算都有哪些特點?展望雲端計算的發展前景
- 雲端計算的前景
- 未來10年雲端計算發展前景如何?雲端計算的優勢在哪裡?
- 學習雲端計算怎麼樣?未來10年雲端計算發展前景如何?
- 學習雲端計算好嗎?未來10年雲端計算發展前景如何?
- 雲端計算就業前景怎麼樣?linux雲端計算怎麼開始學習就業Linux
- Linux桌面系統有哪些?Linux雲端計算學習Linux
- 雲端計算開發課程,雲端計算的工作累不累什麼體驗?
- 雲端計算開發入門課程:Linux重器 vi編輯器Linux
- 通訊廠商怎樣快速跟蹤雲端計算髮展?
- 零基礎如何學習雲端計算?雲端計算開發課程詳解
- 女生學Linux雲端計算技術難嗎?Linux系統Linux
- 學習雲端計算哪裡好?雲端計算新的前景出路
- 雲端計算發展前景怎麼樣?有哪些影響因素?
- Linux雲端計算-02_CentOS Linux 7.X系統管理LinuxCentOS
- 雲端計算和Linux什麼關係?linux雲端計算Linux
- 雲端計算就業前景如何?雲端計算是什麼意思?就業
- 雲端計算發展目前有什麼優勢?Linux雲端計算入門Linux
- Linux運維發展需要學什麼?Linux雲端計算Linux運維
- 雲端計算學習路線圖素材課件:Linux效能最佳化IO子系統Linux
- 雲端計算素材、課件:雲端計算可以做什麼用?
- 雲端計算這個行業前景如何?行業
- 什麼是Linux?Linux系統發展前景如何?Linux
- 雲端計算運維工程師怎麼樣?學習雲端計算前景如何?運維工程師
- 雲端計算前景如何?大專學歷學習雲端計算怎麼樣?
- 雲端計算是什麼意思?新手怎麼學雲端計算開發入門課程
- 騰訊雲總裁邱躍鵬:雲端計算髮展要邁過三道關
- 中國信通院:2020年雲端計算髮展白皮書(附下載)
- 雲端計算現在前景如何?怎麼轉型成為雲端計算工程師?工程師
- Linux雲端計算學習難嗎?學習Linux系統怎麼樣?Linux
- Linux雲端計算-01_介紹以及Linux作業系統安裝Linux作業系統
- 雲端計算和Linux的學習發展路線Linux
- 雲端計算前景如何?推薦4個雲端計算職業方向供你參考
- LikeLib:區塊鏈技術優勢可以解決雲端計算髮展瓶頸區塊鏈
- 雲端計算學習路線教程大綱課件:XFS檔案系統
- 雲端計算學習路線教程大綱課件:FAT檔案系統
- 學習雲端計算前景如何?雲端計算成為獲取人工智慧主要途徑人工智慧
- 學習雲端計算簡單嗎?專科生學習雲端計算就業前景如何?就業