程序的概念

2021-09-22 18:20:29 字數 1301 閱讀 7914

一款純正的"高管理」的軟體

1.描述,用strcut結構體(pcb)在linux中是task_struct

2.組織,通過雙向鍊錶

由作業系統提供的介面,就是系統呼叫

在使用上,功能比較基礎,對使用者的要求相對較高

概念:正在執行的乙個程式

核心 :擔當分配系統資源(cpu時間,記憶體)的實體

檢視程序

通過命令top和ps進行檢視

ps 一般這樣用

ps aux | less 可以結果進行less操作

ps aux | grep 程序名或者pid 檢視匹配的程序

獲取程序標示符

獲得程序id getpid()

獲取父程序id getppid()

通過系統呼叫建立程序fork

父子程序**共享,資料各自開闢空間,私有乙份(採用寫時拷貝)

子程序的fork返回值為0

父程序的fork返回值為子程序的pid

殭屍程序

檢視程序表現為z狀態

父程序一直不讀取,**不了分配給子程序的資源,子程序一直處於z狀態。z狀態一直退不出,pcb一直都要維護。乙個父程序,建立多個子程序,不**,會造成記憶體洩漏

孤兒程序

父程序提前退出,子程序就為孤兒程序,孤兒程序會被1號init程序領養,並且**資源

指在作業系統中用來指定作業系統執行環境的一些引數

常見環境變數

path:指定命令的搜尋路徑

home: 指定使用者的主工作目錄(即使用者登入到linux系統中預設的 目錄)

shell:當前shell,它的值通常是/bin/bash

檢視環境變數方法

echo $環境變數名稱

和環境變數相關的命令

1.echo:顯示某個環境變數值

2.export:設定乙個新的環境變數

export path=$path:hello hello為可執行

二進位制檔案

可通過重啟終端來恢復path

修改~/.bashrc能夠讓環境變數持久生效

3.env: 顯示所有環境變數

背景kernel 2.6.32

同乙個變數,位址相同,其實是虛擬位址相同,內容不同是被對映到了不同的實體地址

根據虛擬位址,然後在頁表裡進行查詢通過硬體mmu對映到物理記憶體

程序的概念

程序是可以與其他程式併發執行的一次執行過程,是系統進行資源分配和呼叫度的基本單位。程序是乙個程式關於某個資料集的一次執行。也就是說,程序是執行中的程式,是程式的一次執行活動。相對於程式而言,程序是乙個動態的概念,而程式是乙個靜態的概念,是指令的集合。因此,程序是具有動態性和併發性的。從靜態的角度看,...

程序的概念

一 基本概念 課本概念 程式的乙個執行例項,正在執行的程式等。核心觀點 擔當分配系統資源 cpu時間 記憶體 的實體。二 描述程序 程序資訊被放在乙個叫程序控制塊的資料結構中,可以理解為程序屬性的集合。課本上稱為pcb,linux作業系統下的pcb是 task struct。1 task struc...

程序的概念

程序的概念 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示...