操作系统01_进程和线程管理
生活随笔
收集整理的這篇文章主要介紹了
操作系统01_进程和线程管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
進程和線程
1.并發和并行
并行是多個事件在同一時刻發生,并發是多個事件在同一時間間隔內發生。
2.操作系統的基本特征
- 并發程序并發執行
- 共享互斥共享和同時訪問兩種方式
- 虛擬時分復用技術和空分復用技術
- 異步進程異步執行,停停走走向前推進,時間片
3.什么是進程?
程序是指令和數據的有序集合,進程是進程實體(程序段、數據段、PCB)在處理機上的一次執行過程。進程是系統資源分配和調度的一個獨立單位。
引入進程是為了程序并發執行,以提高資源利用率和系統吞吐量。
4.什么是線程?
線程是獨立調度、獨立運行和分派的基本單位。線程是輕量級進程,線程只擁有少量資源(TCB等),并不擁有系統資源,多線程共享進程的資源。
引入線程是為了減少程序并發執行的時空開銷(主要在創建、撤銷和進程切換),使OS具有更好的并發性。
5.進程的特征(與程序的區別)
- 動態性進程是一次執行過程,由創建而產生、調度而執行、撤銷而消亡。程序是靜態的,如果沒有為之建立PCB,則程序沒有意義。
- 并發性多個進程實體在內存中,在一段時間里能同時運行。沒有建立PCB的程序不能并發執行。
- 獨立性進程實體能獨立運行、獨立獲得資源、獨立接受調度。沒有建立PCB的程序不能獨立運行。
- 異步性進程各自獨立、異步運行,因此程序才能并發執行,為保證結果可再現,需配置進程同步機制。
6.進程的狀態及轉換
- 就緒(Ready)進程已獲得除CPU以外的必要資源,需按策略排成就緒隊列
- 執行(Running)進程獲得CPU,程序執行
- 阻塞(Block)進程由于發生I/O請求等事件無法繼續執行,產生阻塞,這時需進行調度,將阻塞進程加入阻塞隊列,將處理機分配給就緒隊列中的進程
- 創建進程申請PCB,初始化PCB,處理機為進程分配資源,最后把進程轉入就緒狀態并加入就緒隊列
- 終止進程在執行過程中由于正?;虍惓P枰K結,OS處理后將PCB清零并將PCB空間返還系統。
- 狀態轉換圖
7.進程同步方式
- 硬件同步方式,如關中斷、Swap指令、Test-And-Set指令
- 信號量機制
- 管程機制
8.經典進程同步問題
生產者-消費者問題
轉載于:https://www.cnblogs.com/pycrab/p/9376848.html
總結
以上是生活随笔為你收集整理的操作系统01_进程和线程管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django的视图层简介
- 下一篇: 做一个有梦想的咸鱼!