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

歡迎訪問 生活随笔!

生活随笔

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

windows

失败的windows系统服务调用readfile():管道已结束?_操作系统之进程详解(一)

發布時間:2025/4/5 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 失败的windows系统服务调用readfile():管道已结束?_操作系统之进程详解(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、進程的概念和特征

進程知識拓撲圖

  • 進程的定義
  • 1. 進程是程序的一次執行過程。

    2. 進程是一個程序及其數據在處理機上順序執行時所發生的活動。

    3.進程是具有獨立功能的程序在一個數據集合上運行的過程,它是系統進行資源分配和調度的一個獨立單元。

    2. 進程的特征

    1. 動態性:進程是程序的一次執行,它有著創建、活動、暫停、終止等過程,具有一定的生命周期,是動態地產生、變化和消亡的。動態性是進程最基本的特征。

    2. 并發性:指多個進程實體同時存于內存中,能在一段時間內同時運行。并發性是進程的重要特征,同時也是操作系統的重要特征。引入進程的目的就是為了使程序能與其他進程的程序并發執行,以提高資源利用率。

    3. 獨立性:指進程實體是一個能獨立運行、獨立獲得資源和獨立接受調度的基本單元。凡未建立PCB的程序都不能作為一個獨立的單元參與運行。

    4. 異步性:由于進程的相互制約,使得進程具有執行的間斷性,即進程按各自獨立的、不可預知的速度向前推進。異步性會導致執行結果的不可再現性,為此在操作系統中必須配置相應的進程同步機制。

    5. 結構性:每個進程都配置一個PCB對其進行描述。從結構上看,進程實體是由程序段、數據段和進程控制塊三部分組成的。

    二、進程的狀態和轉換

    1. 運行態:進程正在處理機上運行。在單機處理機環境下,每個時刻最多只有一個進程處于運行態。

    2. 就緒態:進程獲得了除處理機外的一切所需資源,一旦得到處理機,便可立即運行。系統中處于就緒狀態的進程可能有多個,通常將他們排成一個隊列,成為就緒隊列。

    3. 阻塞態:又稱等待態。進程正在等待某一事件而暫定運行,如等待某資源為可用或等待輸入/輸出完成。即使處理機空閑,該進程也不能運行。

    4. 創建態:進程正在被創建,尚未轉到就緒態。創建進程通常需要多個步驟:首先申請一個空白的PCB,并向PCB中填寫一些控制和管理進程的信息,然后由系統為該進程分配運行時所必須的資源,最后把該進程轉入就緒態。

    5. 結束態:進程正從系統中消失,可能是進程正常結束或其他原因中斷退出運行。進程需要結束運行時,系統首先必須置該進程為結束態,然后再進一步處理資源釋放和回收等工作。

    以下圖1.1說明了五種狀態的轉換:

    圖1.1

    就緒態->運行態:處于就緒態的進程被調度后,獲得處理及資源,于是進程由就緒態轉換為運行態。

    運行態->就緒態:處于運行態的進程在時間片用完后,不得不讓出處理機,從而進程由運行態轉換為就緒態。此外,在可剝奪的操作系統中,當有更高優先級的進程就緒時,調度程序將正在執行的進程轉換為就緒態,讓更高優先級的進程執行。

    運行態->阻塞態:進程請求某一資源的使用和分配或等待某一事件的發生時,它就從運行態轉換為阻塞態。進程以系統調用的形式請求操作系統提供服務,這是一種特殊的、由運行用戶態程序調用操作系統內核過程的形式。

    阻塞態->就緒態:進程等待的事件到來時,如I/O操作結束或中斷結束時,中斷處理程序必須把相應進程的狀態由阻塞轉換為就緒態。

    三、進程控制

    1、進程的創建

    1. 為新進程分配一個唯一的進程標識號,并申請一個空白PCB。若PCB申請失敗,則創建失敗。

    2. 為進程分配資源,為新進程的程序和數據及用戶棧分配必要的內存空間。若資源不足,則并不是創建失敗,而是處于阻塞態,等待內存資源。

    3. 初始化PCB,主要包括初始化標志信息、初始化處理機狀態信息和初始化處理控制信息,以及設置進程的優先級等。

    4. 若進程就緒隊列能夠接納新進程,則將新進程插入就緒隊列,等待被調度運行。

    2、進程的終止

    操作系統終止進程的過程如下:

    1. 根據被終止進程的標識符,檢索PCB,從中讀取該進程的狀態。

    2. 若被終止進程處于執行狀態,立即終止該進程的執行,將處理機資源分配給其他進程。

    3. 若該進程還有子孫進程,則應該將其所有子孫進程終止。

    4. 將該進程所擁有的全部資源,或歸還給其父進程,或歸還給操作系統。

    5. 將該PCB從所在隊列中刪除。

    3、進程的阻塞和喚醒

    1. 找到將要被阻塞進程的標識號對應的PCB。

    2. 若該進程為運行態,則保護其現場,將其狀態轉為阻塞態,停止運行。

    3. 把該PCB插入相應事件的等待隊列,將處理機資源調度給其他就緒進程。

    喚醒的執行過程如下:

    1. 在該事件的等待隊列中找到相應進程的PCB。

    2. 將其從等待隊列中移除,并置其狀態為就緒狀態。

    3. 把該PCB插入就緒隊列,等待調度程序調度。

    4、進程切換

    切換的過程如下:

    1. 保存處理機上下文,包括程序計數器和其他寄存器。

    2. 更新PCB信息。

    3. 把進程的PCB移入相應的隊列,如就緒、在某事件阻塞等隊列。

    4. 選擇另一個進程執行,并更新其PCB。

    5. 更新內存管理的數據結構。

    6. 恢復處理機上下文。

    四、進程的組織

    1、進程控制塊

    進程是一個獨立的運行單位,也是操作系統進行資源分配和調度的基本單元。它由三部分組成,其中最核心的進程控制塊(PCB)。

    PCB主要包括描述信息、進程控制和管理信息、資源分配清單和處理機相關信息等。

    1. 進程描述信息:進程標識符,標志各個進程,每個進程都有一個唯一的標識號。用戶標識符,進程歸屬的用戶,用戶標識符主要為共享和保護服務。

    2. 進程控制和管理信息:進程當前狀態,描述進程的狀態信息,作為處理機分配調度的依據。進程優先級,描述進程搶占處理機的優先級,優先級高的進程可優先獲得處理機。

    3. 資源分配清單:用于說明有關內存地址空間或虛擬地址空間的狀況,所打開文件的列表和所使用的輸入/輸出設備信息。

    處理機相關信息,主要指處理機中各寄存器的值,當進程被切換時,處理機狀態信息必須保存在相應的PCB中,以便在該進程重新執行時,能從斷點繼續執行。

    2、程序段

    程序段就是能被進程調度程序調度到CPU執行的程序代碼段。注意,程序可被多個進程共享,即多個進程可以運行同一個程序。

    3、數據段

    一個進程的數據段,可以是進程對應的程序加工處理的原始數據,也可以是程序執行時產生的中間或最終結果。

    五、進程的通信

    1、共享存儲

    在通信的進程之間存在一塊可直接訪問的共享空間,通過對這片共享空間進行寫/讀操作實現進程之間的信息交換,如圖1.2所示,在對共享空間進行寫/讀操作時,需要使用同步互斥工具,對共享空間的寫/讀進行控制。

    圖1.2

    2、消息傳遞

    進程通過系統提供的發送消息和接收消息兩個原語進行數據交換。

    1. 直接通信方式:發送進程直接把消息發送給接收進程,并將它掛在接收進程的消息緩存隊列上,接收進程從消息緩沖隊列中取得消息,如圖1.3。

    圖1.3

    2. 間接通信方式:發送進程把消息發送到某個中間實體,接收進程從中間實體取得消息。這種中間實體一般稱為信箱,這種通信方式又稱信箱通信方式。該通信方式廣泛運用于計算機網絡中,相應的通信系統稱為電子郵件系統。

    3、管道通信

    管道通信是消息傳遞的一種特殊方式。所謂“管道”,是指用于連接一個讀進程和一個寫進程以實現他們之間的通信的一個共享文件,又稱pipe文件。向管道提供輸入的發送進程,以字符流形式將大量的數據送入管道;而接收管道輸出的接收進程則從管道中接收數據。管道機制必須提供以下三方面的協調能力:互斥、同步和確定對方的存在。

    圖1.4

    管道也是一種文件,但它又和一般的文件有所不同,管道可以克服使用文件進行通信的兩個問題,具體表現如下:

    1. 限制管道的大小。實際上,管道是一個固定大小的緩沖區。在linux中,該緩沖區的大小為4kb,這使得它的大小不像文件那樣不加校驗的增長。使用單個固定緩沖區也會帶來問題,比如在寫管道時可能變滿,這種情況發生時,隨后對管道的write()調用將默認地阻塞,等待某些數據被讀取,以便騰出足夠的空間供write()調用寫。

    2. 讀進程也可能工作得比寫進程快。當所有當前進程數據已被讀取時,管道變空。當這種情況發生時,一個隨后的read()調用將默認地被阻塞,等待某些數據被寫入,這解決了調用返回文件結束的問題。

    更多精彩內容請關注公眾號:計算機基礎愛好者

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的失败的windows系统服务调用readfile():管道已结束?_操作系统之进程详解(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 日韩性xxxx | 久久人妻少妇嫩草av无码专区 | 污污污污污污www网站免费 | 日韩精品一二三区 | 亚洲国产第一 | 日本公妇乱淫免费视频一区三区 | 免费古装一级淫片潘金莲 | 亚洲va韩国va欧美va | 精品www久久久久久奶水 | 中文字幕在线影院 | 日韩中文字幕免费在线观看 | 日韩www| 成人永久免费 | 久久国产一 | 国产精品美女www爽爽爽 | 国产精品一区二区不卡 | 国产成人精品无码免费看夜聊软件 | 一级国产片 | 三级在线免费 | 日韩中文字幕一区二区 | 欧美激情三区 | av在线免| 婷婷国产精品 | 性感美女毛片 | 欧美视频 | 伊人久久综合影院 | 欧美另类69 | 伊人久久狼人 | videos另类灌满极品另类 | 自拍偷拍亚洲一区 | 亚洲欧美激情小说另类 | 国产视频手机在线 | missav在线| 色婷婷免费视频 | 色七七网站| 久久精品国产亚洲AV高清综合 | 欧美激情亚洲 | 激情国产一区 | 欧美肥妇bwbwbwbxx | 日韩美女免费视频 | 91重口味 | 久久精品a亚洲国产v高清不卡 | 免费毛片a | 丰满白嫩尤物一区二区 | 亚洲大片免费看 | 91久久精品一区二区三区 | 免费操片 | 国产中文字幕在线免费观看 | 98国产视频| 中文字幕第十二页 | 亚洲精品天堂在线观看 | 91精品大片| 99久久99久久久精品棕色圆 | 精品国产乱码久久久久久影片 | 日韩精品一区二区亚洲av观看 | 午夜久久久精品 | 热玖玖| 97在线免费公开视频 | 国产欧美一区二区三区另类精品 | 日韩新片王网 | 亚洲精品女人久久久 | 99九九热| 久久综合色88 | 国产又黄又嫩又滑又白 | 婷婷久久一区 | 亚洲日本中文字幕在线 | 国产精品久久久久久 | 国产成人精品白浆久久69 | 99插插插 | 精品无码国产av一区二区三区 | 久久一级电影 | 成人动漫h在线观看 | 久久99热这里只频精品6学生 | 99久久婷婷国产综合精品电影 | 香蕉尹人 | 久久久久不卡 | av在线资源 | 日产精品久久久一区二区 | 制服丝袜在线第一页 | 91亚洲天堂| 免费成人深夜 | 日本体内she精高潮 男女视频在线免费观看 | 国产精品久久久久9999 | 亚洲一区在线不卡 | 国产农村妇女毛片精品 | 高清一二三区 | 五月天色综合 | 片集网 | 男男做的视频 | 丰满尤物白嫩啪啪少妇 | 精品乱子一区二区三区 | 午夜日韩在线 | 国语毛片 | 日韩爱爱视频 | 亚洲国产av一区二区三区 | 一区二区视频播放 | 日韩中文字幕免费在线观看 | 欧美成人乱码一二三四区免费 | 先锋资源在线视频 |