日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

linux進程概念

作者:DayDay upup 更新時間: 2022-09-22 編程語言

文章目錄

    • 馮諾依曼體系結(jié)構(gòu)
    • 操作系統(tǒng)
    • 進程
    • 創(chuàng)建進程
    • 查看進程

馮諾依曼體系結(jié)構(gòu)

世界上大部分的計算機,都遵循馮諾依曼體系結(jié)構(gòu)

在這里插入圖片描述

輸入設(shè)備:鍵盤,話筒,攝像頭,磁盤,網(wǎng)卡等
輸出設(shè)備:顯示器,音響,磁盤,顯卡等
運算器,控制器:CPU
存儲器:內(nèi)存

為什么采用這樣的體系結(jié)構(gòu)?

技術(shù)角度

CPU處理數(shù)據(jù)的速度遠遠大于其他設(shè)備,根據(jù)木桶效應(yīng),計算機的效率就受到限制,因此,前人就設(shè)計出內(nèi)存,讓內(nèi)存作為CPU與外設(shè)交互的中介,適配外設(shè)和CPU速度不均的問題。

成本角度

寄存器的成本遠遠大于內(nèi)存,從成本和效率的角度出發(fā),我們選擇這樣的體系

操作系統(tǒng)

操作系統(tǒng)是一款軟件,其本質(zhì)是對數(shù)據(jù)進行管理。
在這里插入圖片描述
如何理解操作系統(tǒng)對數(shù)據(jù)的管理?

  1. 首先作為用戶我們是沒有權(quán)限對硬件進行直接的訪問,而是通過操作系統(tǒng)提供給我的接口間接的訪問硬件。
  2. 如果我們作為一個班的班長,我們?nèi)绾尾拍芄芾砗脤W(xué)生的信息?先描述,在組織
    在這里插入圖片描述
    先通過描述人的特征,再通過鏈表進行組織,進行管理。

進程

進程可以粗略地理解為一個運行的程序就是一個進程。
在這里插入圖片描述
描述進程-PCB
進程信息被放在一個叫做進程控制塊的數(shù)據(jù)結(jié)構(gòu)中,可以理解為進程屬性的集合。
課本上稱之為PCB, Linux操作系統(tǒng)下的PCB是: task_struct

task_ struct內(nèi)容分類

  1. 標(biāo)示符: 描述本進程的唯一標(biāo)示符,用來區(qū)別其他進程。

  2. 狀態(tài): 任務(wù)狀態(tài),退出代碼,退出信號等。

  3. 優(yōu)先級: 相對于其他進程的優(yōu)先級。

  4. 程序計數(shù)器: 程序中即將被執(zhí)行的下一條指令的地址。

  5. 內(nèi)存指針: 包括程序代碼和進程相關(guān)數(shù)據(jù)的指針,還有和其他進程共享的內(nèi)存塊的指針

  6. 上下文數(shù)據(jù): 進程執(zhí)行時處理器的寄存器中的數(shù)據(jù)[休學(xué)例子,要加圖CPU,寄存器]。

  7. I/O狀態(tài)信息: 包括顯示的I/O請求,分配給進程的I/O設(shè)備和被進程使用的文件列表。

  8. 記賬信息: 可能包括處理器時間總和,使用的時鐘數(shù)總和,時間限制,記賬號等

  9. 其他信息

創(chuàng)建進程

#include <stdio.h>                                           
#include <unistd.h>                                  
                  
int main()                                   
{                         
  while(1)                                                         
  {        
    printf("I am a process\n");                                  
    sleep(1); 
                                                           
  }       
         
  return 0;                           
} 

查看進程

[zjq@ecs-29268 ~]$ ps ajx 

在這里插入圖片描述

如何找到我們需要的進程呢?

[zjq@ecs-29268 ~]$ ps ajx |head -1 && ps ajx| grep 'process'| grep -v grep

在這里插入圖片描述

進程id(PID) 父進程id(PPID)

原文鏈接:https://blog.csdn.net/zjq_love/article/details/126487095

欄目分類
最近更新