您好,登錄后才能下訂單哦!
本篇內容介紹了“學Python操作系統相關知識點有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
時間片是分時操作系統分配給每個正在運行的進程很小的一段CPU時間(在Linux上為5ms-800ms)。
多級反饋是操作系統調度進程、線程運行順序的機制。通過多級反饋隊列調度算法既能使得高優先級的作業得到響應又能使短作業迅速完成。
并發:多條線程輪流搶占CPU時間片運行。
并行:多條線程同時在不同的CPU上運行。
并發實質上還是單線程運行,python因為GIL鎖的機制導致進程不能并行,只能并發。
因為python程序單進程執行時還是會和操作系統的其他進程競爭CPU,當python程序遇到很多IO操作多線程并發執行時它占用CPU總的時間片多了,所以運行效率有所提升!
假設某些任務涉及大量IO(輸入輸出)操作時,那么應該用并發,假設那些任務不涉及IO操作時不要用并發,不涉及IO的并發反而會降低整體運行速度。
區分的簡單方法是判斷數據一直在內存中還是發生了內存與外設間的流動。數據一直在內存!不涉及IO操作!數據從外設傳送到內存:諸如讀取硬盤、接收網卡傳來的數據、接收鍵盤鼠標的信號、接收攝像頭麥克風的信號等等,這些是input。數據從內存傳送到外設:諸如傳送到網卡、硬盤、顯示器、打印機等等,這些是output。
因為數據在內存中的讀寫速度非常非常快,在外設中的讀寫速度非常慢(有的快有的慢,總體來說比內存慢幾個數量級)。所以在涉及IO操作時會導致程序暫停執行,等待IO設備報告結果,程序暫停執行等待IO設備的狀態叫堵塞。
就緒:就是進程已經準備好,等著操作系統給它CPU時間片的狀態。
執行:就是進程被操作系統分配了CPU時間片,正在運行的狀態。如果時間片用完了進程會立即進入就緒狀態。如果進程涉及IO操作在等待外設響應時會立即進入堵塞狀態。
堵塞:進程遇到申請外設等待外設回應、等待外設完成任務等情況會立即進入堵塞狀態。當進程IO操作完畢后需要繼續執行時只能先進入就緒狀態,不能立即執行。
因為window下多進程運行某個函數時window會開辟一塊內存空間把該函數所屬的文件import到其中,注意import實質就是運行了一遍,import過程中會執行指定的函數。Linux和mac下多進程運行某個函數時系統會開辟一塊內存空間把父進程內存空間的所有內容復制過來,注意這里只是復制,不是運行!復制過來以后只執行指定的函數。操作系統機制的差異導致window平臺下多進程運行效率比Linux和mac差了很多。所以很多Python程序員愛用Linux和mac。
“學Python操作系統相關知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。