日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

4 操作系统第二章 进程管理 进程控制、通信

發布時間:2024/7/5 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 4 操作系统第二章 进程管理 进程控制、通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1 進程控制
          • 1.1 進程控制
          • 1.2 進程控制實現
          • 1.3 進程創建
          • 1.4 進程終止
          • 1.5 進程阻塞與喚醒
          • 1.6 進程切換
          • 1.7 進程控制小結
      • 2 進程通信
          • 2.1 共享通信
          • 2.2 管道通信
          • 2.3 消息傳遞
          • 2.4 進程通信小結

1 進程控制

1.1 進程控制

進程控制的主要功能是對系統中的所有進程實施有效的管理,它具有創建新進程、撤銷已有進程、實現 進程狀態轉換等功能。

簡言之:進程控制就是要實現進程狀態轉換

1.2 進程控制實現

通過原語實現進程控制

NOTE:

  • 原語的執行具有“原子性”,必須一氣呵成→借助開關中斷指令實現
  • 為何進程控制(狀態轉 換)的過程要“一氣呵成”?
    如果不能“一氣呵成”,就有可能導致操作系統中的某些關鍵數據結構信息不統一的情況, 這會影響操作系統進行別的管理工作

CPU執行了關中斷指令之后,就不再例行檢查中斷信號,直到執行開中斷指令之后才會恢復檢查。
這樣,關中斷、開中斷之間的這些指令序列就是不可被中斷的,這就實現了“原子性”。

原語操作:

  • 更新PCB中的信息(如修改進程狀態標志、將運行環境保存到PCB、從PCB恢復運行環境)
    a.所有的進程控制原語一定都會修改進程狀態標志
    b.剝奪當前運行進程的CPU使用權必然需要保存其運行環境
    C.某進程開始運行前必然要恢復期運行環境
  • 將PCB插入合適的隊列
  • 分配/回收資源
  • 1.3 進程創建

    1.4 進程終止

    1.5 進程阻塞與喚醒

    1.6 進程切換

    程序運行與進程切換原理:

    1.7 進程控制小結

    2 進程通信

    進程通信就是指進程之間的信息交換。

    進程是分配系統資源的單位(包括內存地址空間),因此各進程擁有的內存地址空間相互獨立。

    2.1 共享通信

    2.2 管道通信

    “管道”是指用于連接讀寫進程的一個共享文件,又名pipe 文件。其實就是在內存中開辟一個大小固定的緩沖區

  • 管道只能采用半雙工通信,某一時間段內只能實現單向的傳輸。如果要實現雙向同時通信,則需要設置 兩個管道。
  • 各進程要互斥地訪問管道。
  • 數據以字符流的形式寫入管道,當管道寫滿時,寫進程的write()系統調用將被阻塞,等待讀進程將數據取走。當讀進程將數據全部取走后,管道變空,此時讀進程的read()系統調用將被阻塞。
  • 如果沒寫滿,就不允許讀。如果沒讀空,就不允許寫。
  • 數據一旦被讀出,就從管道中被拋棄,這就意味著讀進程最多只能有一個,否則可能會有讀錯數據的情況。
  • 2.3 消息傳遞

    進程間的數據交換以格式化的消息(Message)為單位。進程通過操作系統提供的“發送消息/接收消息”兩個原語進行數據交換。

    2.4 進程通信小結

    總結

    以上是生活随笔為你收集整理的4 操作系统第二章 进程管理 进程控制、通信的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。