日韩性视频-久久久蜜桃-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():管道已结束?_操作系统之进程详解(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 在线观看免费的av | 欧美午夜精品一区 | 久久久久久久久久久久97 | 日韩在线观看精品 | 石原莉奈在线播放 | 久久国产精品精品国产 | 87福利视频 | 成人一级毛片 | 国产亚洲精品久久久久丝瓜 | 欧美性猛交乱大交3 | 国产亚洲欧美精品久久久久久 | 91中文国产 | 五月天综合视频 | 九热在线 | 青草伊人久久 | a资源在线 | 日本中文视频 | 国产成人久久精品流白浆 | 欧美日韩二三区 | 91精东传媒理伦片在线观看 | 天堂在线日本 | 伊人国产在线视频 | 亚洲av片不卡无码久久 | 这里只有精品6 | av高清在线观看 | 国产成人在线观看 | 女女同性被吸乳羞羞 | 涩涩视频免费观看 | av免费观看入口 | 日本老熟妇毛茸茸 | 在线观看成人av | av片免费在线播放 | 国偷自产av一区二区三区 | jizz在线观看视频 | 蜜桃又黄又粗又爽av免 | 国产一区二区三区在线观看免费 | 无码 人妻 在线 视频 | 亚洲AV无码国产精品午夜字幕 | 亚洲不卡在线 | 国产无遮挡又黄又爽免费视频 | 午夜免费精品 | 致命弯道8在线观看免费高清完整 | 无码人妻一区二区三区一 | 91精品国产综合久久久久久久 | 欧美人与性动交ccoo | 亚洲自拍中文 | 色蜜桃av| 欧美成人免费高清视频 | 光棍影院一区二区 | 超能一家人电影免费喜剧在线观看 | 亚洲天堂av一区 | 久久久久三级 | 色婷婷av一区二区三 | 亚洲精品网址 | 午夜小视频在线播放 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 日韩av动漫| 久国产视频 | 欧美一区免费观看 | 欧美电影一区二区三区 | 亚洲午夜久久久 | 国产黑丝一区二区 | 久热免费在线 | 一个人免费在线观看视频 | 欧美精品乱码 | 日韩视频在线观看免费视频 | 就要操av| 六月婷婷激情网 | heyzo北岛玲在线播放 | 男人添女人下部高潮视频 | 婷婷综合激情网 | 中文字幕亚洲专区 | 91香蕉视频在线 | 日本成人黄色片 | 国产二级一片内射视频播放 | 无码国产精品一区二区免费式直播 | 久久亚洲精品国产精品黑人v | 国产欧美一区二区三区精品酒店 | 黄色网在线免费观看 | 美国特色黄a大片 | 日韩一区二区影院 | 日韩一级在线视频 | 亚洲国产成人在线观看 | 手机在线免费看av | 免费一级黄色大片 | 国产乱淫av片免费看 | 久久久在线视频 | 日本伦理在线 | 咪咪色图| 国产免费av片在线观看 | 欧洲三级在线 | 在线观看黄色av网站 | 亚洲天堂免费在线观看视频 | 国产理论在线 | 黄色网战大全 | 91九色蝌蚪 | 色94色欧美sute亚洲线路二 | 国产aa毛片| 91国产在线免费观看 |