一款純正的"高管理」的軟體
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將 片顯示選擇的高亮樣式進行展示...