進程管理(一)

一. 進程的基本信息


1.1 進程的概念、組成及信息


1.1.1 概念
進程的概念與程序相對,程序是靜態的而進程是動態的,一個程序執行多次會有多個不同的進程

1.1.2 組成
PCB(程序控制塊):
是一種保存下列信息的數據結構,進程創建時操作系統分配,進程結束會進行回收
進程描述信息:
PID:唯一的、不重復的進程 ID
UID:進程所屬用戶的 ID
資源分配清單:分配給該進程的資源信息,包括使用文件和 I/O 設備等
進程控制和管理信息:
CPU、磁盤等使用情況統計
進程當前狀態:就緒態、創建態、阻塞態…
處理機相關信息:各種寄存器的值(用于實現進程切換)
程序段:程序代碼(指令序列)
數據段:運行過程中產生的各種數據
1.1.3 特征
動態性:是程序的一次執行過程,是動態地產生和變化消亡的
并發性:內存中可以有多個進程實體,可以并發執行
獨立性:進程是獨立運行、獨立獲取資源、獨立接受調度的 基本單位
異步性:進程按照各自獨立的速度執行推進,由操作系統提供 進程同步機制 來解決問題
結構性:每個進程都會有一個 PCB,結構上看,進程由 PCB、程序段和數據段 組成
※ 程序的運行機制
從編寫好的代碼開始,經過編譯器的處理轉換為可執行文件,啟動可執行文件后操作系統會創建進程并自動為該進程創建 PCB,分配唯一的 PID 等信息,并將程序編譯后得到的指令放入程序段,依照指令去 CPU 取出并執行,而數據段則保存著進程執行過程中得到的程序。

1.2 進程的狀態與切換


1.2.1 進程的狀態
進程的狀態有以下五種:

創建態:在運行可執行文件后,操作系統會嘗試創建一個新的進程,此時進程處于創建態,在這個階段操作系統會為該進程分配資源、初始化 PCB
就緒態:進程創建完成后,進程處于就緒態,此時進程 已經具備運行條件,但由于 CPU 未處于空閑而處于等待狀態,暫時不能運行
運行態:當 CPU 空閑時,會從就緒態進程中選一個進程上 CPU 運行,此處進程處于運行態,CPU 會執行進程的程序段中的內容
阻塞態:當處于運行態的進程需要請求某些資源或者事件發生而使進程無法正常執行,進程會 主動請求 以進入阻塞態
終止態:進程的運行結束或者發生錯誤導致進程終止,此時進程進入終止態,操作系統會回收進程的資源并撤銷 PCB
進程的整個生命周期大部分時間都處于 就緒態、阻塞態和運行態 三種狀態,在單核 CPU 中同一時刻只能有一個進程處于運行態,而多核 CPU 則可能有多個。
1.2.2 進程的組織方式
在進程 PCB 中,有一個變量 state 儲存進程處于的狀態,如 1 表示創建態,2 表示就緒態等等,為了對同一個狀態下的各個進程進行統一管理,操作系統 會將各個進程的 PCB 組織起來

鏈接方式:以指針將處于同一狀態的進程的 PCB 以類似隊列或者列表的形式組織起來,可能根據狀態區分,而同一狀態下如阻塞態還可能根據處于該狀態的原因而分配不同隊列或列表組織起來,進程的組織方式以連接方式為多
索引方式:建立索引表儲存不同的進程的 PCB 信息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84975.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84975.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84975.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

k8s 中 cpu 核數的理解

物理核還是邏輯核 在 Kubernetes(k8s)編排文件(如 Pod 或 Deployment 的 YAML 文件)中設置的 CPU 核數,針對的是邏輯核數(Logical Cores),而非物理核數(Physical Cores&…

arcpy數據分析自動化(2)

數據處理 在提取數據后,我們需要對字段進行標準化處理,例如統一土地利用類型的命名。 # 定義字段映射字典 field_mapping {"Residential": "居住用地","Commercial": "商業用地","Industrial": &q…

在VMware虛擬機集群中,完成Hive的安裝部署

Hive是分布式運行的框架還是單機運行的? Hive是單機工具,只需要部署在一臺服務器即可。 Hive雖然是單機的,但是它可以提交分布式運行的MapReduce程序運行。 我們知道Hive是單機工具后,就需要準備一臺服務器供Hive使用即可。 同…

Linux運維新人自用筆記(部署 ??LAMP:Linux + Apache + MySQL + PHP、部署discuz論壇)

內容全為個人理解和自查資料梳理,歡迎各位大神指點! 每天學習較為零散。 day19 簡單搭建網站 下載apache服務 #下載阿帕奇服務 [rootxun ~]# yum install httpd -y#關閉防火墻 [rootxun ~]# iptables -F#啟動服務 [rootxun ~]# systemctl start http…

Kubernetes架構解析

Kubernetes 技術棧的深度解析,涵蓋架構設計、核心組件、生態工具及二次開發實踐,結合實戰案例說明其內在關聯: 一、Kubernetes 架構設計 核心分層模型 #mermaid-svg-CnFwJbuzaABZpTBr {font-family:"trebuchet ms",verdana,arial…

langchain4j整合springboot

langchain4j整合springboot 1.搭建項目架子配置文件Controller測試測試結果![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/35b8bd04f3034bd990861f065bc73d2f.png) 1.搭建項目架子 配置文件 參考官網配置引入 <?xml version"1.0" encoding"UTF…

408第一季 - 數據結構 - 平衡二叉樹

平衡二叉樹 定義 縮寫記一下 AVL 還有下面這些&#xff0c;can you try&#xff1f; 平衡二叉樹的插入 LL平衡旋轉&#xff08;右單旋轉&#xff09; 怎么理解&#xff1f; 首先我們可以看見啊&#xff0c;b圖A左邊和右邊的不平衡的&#xff0c;非常的難受 于是我們可以這…

VR 地震安全演練:“透視” 地震,筑牢企業安全新護盾?

與傳統的地震安全教育方式相比&#xff0c;VR 地震安全技術具有無可比擬的優勢。在過去漫長的歲月里&#xff0c;我們主要依賴書本、講座和視頻等較為常規的手段來了解地震知識和逃生技巧。? 書本上密密麻麻的文字以及靜態的圖片&#xff0c;雖然能夠較為系統地傳遞理論性的信…

30-Oracle 23ai-回顧從前的Flashback設置

配置和測試了Oracle 23 ai的Flashback Log Placement后&#xff0c; 剛好身邊11g,19c的環境都在&#xff0c;還是把從前的flashback整理下&#xff0c;溫故知新&#xff0c;循序漸進。 一、閃回技術 Flashback Database 允許將整個數據庫回退到過去的某個時間點/SCN&#xff…

Gartner《Reference Architecture for Federated Analytics》學習心得

研究背景 隨著分析平臺越來越易于被廣泛用戶使用,以及組織內用例的不斷增多和多樣化,分析架構的去中心化給專注于架構的分析專家帶來了混亂。組織在交付一致、可復用和可信的分析方面面臨挑戰,分布式分析架構需要在控制和敏捷之間取得平衡,然而許多組織在這方面的控制力不…

Windows下Docker一鍵部署Dify教程

Windows環境下Docker部署Dify完整指南 &#x1f4cb; 目錄 系統要求Docker安裝驗證Docker安裝Dify部署訪問Dify常見問題管理命令 &#x1f5a5;? 系統要求 在開始安裝之前&#xff0c;請確保你的Windows系統滿足以下要求&#xff1a; 硬件要求 CPU: > 2核心內存: >…

idea maven打包很慢,怎么提速-多線程

作為一個技術運維人員&#xff0c;經常要更新程序然后重新打包發布jar包。由于程序子模塊多&#xff0c;需要相互引用每次打包的時候都需要很久&#xff0c;怎么可以讓打包快一點呢&#xff1f;可以啟動打包的多線程。請參照下圖設置&#xff0c;線程數量應該和cpu內核數量要能…

Java/Kotlin selenium 無頭瀏覽器 [Headless Chrome] 實現長截圖 三種方式

在自動化測試和網頁抓取中&#xff0c;完整捕獲整個頁面內容是常見需求。傳統截圖只能捕獲當前視窗內容&#xff0c;無法獲取超出可視區域的頁面部分。長截圖技術通過截取整個滾動頁面解決了這個問題&#xff0c;特別適用于&#xff1a; 保存完整網頁存檔生成頁面可視化報告驗…

【AI大模型】Elasticsearch9 + 通義大模型實現語義檢索操作詳解

目錄 一、前言 二、Elasticsearch9 語義檢索介紹 2.1 ES9 語義檢索核心特性 2.2 semantic_text 字段類型說明 2.3 ES9 語義檢索原理 2.4 ES9 語義檢索優勢與使用場景 三、 Elasticsearch9 搭建過程 3.1 環境說明 3.2 部署方式一 3.2.1 創建docker網絡 3.2.2 獲取es9鏡…

linux開機原理以及如何開關機-linux023

linux開機原理以及如何開關機 Linux 系統啟動過程概述 階段描述內核引導啟動時&#xff0c;BIOS執行自檢&#xff0c;啟動設備通常是硬盤。操作系統接管硬件后&#xff0c;讀取/boot目錄下的內核文件。運行 initinit是系統所有進程的起點&#xff0c;負責啟動其他進程。它讀取…

使用 socat 和 xinetd 將程序綁定到端口運行

在現代網絡應用開發和系統管理中&#xff0c;經常需要將某些程序或腳本綁定到特定的網絡端口上&#xff0c;以實現遠程訪問或服務化。例如&#xff0c;一個簡單的 Python 腳本可能需要通過 TCP 端口提供服務&#xff0c;或者一個命令行工具需要通過網絡接口暴露其功能。為了實現…

電阻篇---上拉電阻

一、上拉電阻的定義與本質 定義&#xff1a;上拉電阻是一端連接到電源&#xff08;VCC&#xff09;&#xff0c;另一端連接到電路節點的電阻元件&#xff0c;其核心作用是將該節點的電平 “拉” 至電源電壓&#xff0c;使其在無信號輸入時保持穩定的高電平狀態。 本質原理&…

前端持續集成和持續部署簡介

持續集成&#xff08;CI&#xff09;&#xff1a;代碼提交后自動觸發構建、靜態檢查、單元測試&#xff0c;確保代碼質量。 持續部署&#xff08;CD&#xff09;&#xff1a;通過流水線將測試通過的代碼自動發布到測試/生產環境&#xff0c;減少人工操作失誤。 CI/CD 工具鏈 …

Elasticsearch高效文章搜索實踐

功能 創建索引和映射 使用postman添加映射和查詢 查詢所有的文章信息&#xff0c;批量導入到es索引庫中 server:port: 9999 spring:application:name: es-articledatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/leadnews_article?useU…