電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>進(jìn)程控制開發(fā)之Linux進(jìn)程概述

進(jìn)程控制開發(fā)之Linux進(jìn)程概述

2017-10-18 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

7.1.1 進(jìn)程的基本概念
  1.進(jìn)程的定義
  進(jìn)程的概念首先是在20世紀(jì)60年代初期由MIT的Multics系統(tǒng)和IBM的TSS/360系統(tǒng)引入的。在40多年的發(fā)展中,人們對(duì)進(jìn)程有過(guò)各種各樣的定義?,F(xiàn)列舉較為著名的幾種。
 ?。?)進(jìn)程是一個(gè)獨(dú)立的可調(diào)度的活動(dòng)(E. Cohen,D. Jofferson)。
 ?。?)進(jìn)程是一個(gè)抽象實(shí)體,當(dāng)它執(zhí)行某個(gè)任務(wù)時(shí),要分配和釋放各種資源(P. Denning)。
 ?。?)進(jìn)程是可以并行執(zhí)行的計(jì)算單位。(S. E. Madnick,J. T. Donovan)。
  以上進(jìn)程的概念都不相同,但其本質(zhì)是一樣的。它指出了進(jìn)程是一個(gè)程序的一次執(zhí)行的過(guò)程,同時(shí)也是資源分配的最小單元。它和程序是有本質(zhì)區(qū)別的,程序是靜態(tài)的,它是一些保存在磁盤上的指令的有序集合,沒(méi)有任何執(zhí)行的概念;而進(jìn)程是一個(gè)動(dòng)態(tài)的概念,它是程序執(zhí)行的過(guò)程,包括了動(dòng)態(tài)創(chuàng)建、調(diào)度和消亡的整個(gè)過(guò)程。它是程序執(zhí)行和資源管理的最小單位。因此,對(duì)系統(tǒng)而言,當(dāng)用戶在系統(tǒng)中鍵入命令執(zhí)行一個(gè)程序的時(shí)候,它將啟動(dòng)一個(gè)進(jìn)程。
  2.進(jìn)程控制塊
  進(jìn)程是Linux系統(tǒng)的基本調(diào)度和管理資源的單位,那么從系統(tǒng)的角度看如何描述并表示它的變化呢?在這里,是通過(guò)進(jìn)程控制塊來(lái)描述的。進(jìn)程控制塊包含了進(jìn)程的描述信息、控制信息以及資源信息,它是進(jìn)程的一個(gè)靜態(tài)描述。在Linux中,進(jìn)程控制塊中的每一項(xiàng)都是一個(gè)task_struct結(jié)構(gòu),它是在include/linux/sched.h中定義的。
  3.進(jìn)程的標(biāo)識(shí)
  在Linux中最主要的進(jìn)程標(biāo)識(shí)有進(jìn)程號(hào)(PID,Process Idenity Number)和它的父進(jìn)程號(hào)(PPID,parent process ID)。其中PID惟一地標(biāo)識(shí)一個(gè)進(jìn)程。PID和PPID都是非零的正整數(shù)。
  在Linux中獲得當(dāng)前進(jìn)程的PID和PPID的系統(tǒng)調(diào)用函數(shù)為getpid()和getppid(),通常程序獲得當(dāng)前進(jìn)程的PID和PPID之后,可以將其寫入日志文件以做備份。getpid()和getppid()系統(tǒng)調(diào)用過(guò)程如下所示:
  /* pid.c */
  #include《stdio.h》
  #include《unistd.h》
  #include 《stdlib.h》
  int main()
  {
  /*獲得當(dāng)前進(jìn)程的進(jìn)程ID和其父進(jìn)程ID*/
  printf(“The PID of this process is %d\n”, getpid());
  printf(“The PPID of this process is %d\n”, getppid());
  }
  使用arm-linux-gcc進(jìn)行交叉編譯,再將其下載到目標(biāo)板上運(yùn)行該程序,可以得到如下結(jié)果,該值在不同的系統(tǒng)上會(huì)有所不同:
  $ 。/pid
  The PID of this process is 78
  THe PPID of this process is 36
  另外,進(jìn)程標(biāo)識(shí)還有用戶和用戶組標(biāo)識(shí)、進(jìn)程時(shí)間、資源利用情況等,這里就不做一一介紹,感興趣的讀者可以參見(jiàn)W.Richard Stevens編著的《Advanced Programming in the UNIX Environmen》。
  4.進(jìn)程運(yùn)行的狀態(tài)
  進(jìn)程是程序的執(zhí)行過(guò)程,根據(jù)它的生命周期可以劃分成3種狀態(tài)。
  n 執(zhí)行態(tài):該進(jìn)程正在運(yùn)行,即進(jìn)程正在占用CPU。
  n 就緒態(tài):進(jìn)程已經(jīng)具備執(zhí)行的一切條件,正在等待分配CPU的處理時(shí)間片。
  n 等待態(tài):進(jìn)程不能使用CPU,若等待事件發(fā)生(等待的資源分配到)則可將其喚醒。
  它們之間轉(zhuǎn)換的關(guān)系如圖7.1所示。
  進(jìn)程控制開發(fā)之Linux進(jìn)程概述
  圖7.1 進(jìn)程3種狀態(tài)的轉(zhuǎn)化關(guān)系
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1FS4059B帶NTC升壓型兩節(jié)鋰電池充電管理IC數(shù)據(jù)手冊(cè)
  2. 3.24 MB   |  1次下載  |  免費(fèi)
  3. 2基于波形捕獲的超聲波傳感水流量計(jì)量技術(shù)應(yīng)用說(shuō)明
  4. 1.01MB   |  1次下載  |  免費(fèi)
  5. 3ADE-12H混頻器規(guī)格書
  6. 0.28 MB   |  1次下載  |  5 積分
  7. 4AD9984A高性能10位顯示接口英文手冊(cè)
  8. 0.49 MB   |  1次下載  |  5 積分
  9. 551開發(fā)板芯片資料
  10. 14.95 MB   |  1次下載  |  1 積分
  11. 6用TL431LI-Q1監(jiān)控電流供應(yīng)
  12. 176.71KB   |  1次下載  |  免費(fèi)
  13. 7Q1和非Q1器件的TPS54340/360/540/560和TPS54340B/360B/540B/560B之間的差異
  14. 123.6KB   |  次下載  |  免費(fèi)
  15. 8TPS512xx MOSFET驅(qū)動(dòng)電路設(shè)計(jì)指南
  16. 886.86KB   |  次下載  |  免費(fèi)

本月

  1. 1HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
  2. 24.30 MB   |  129次下載  |  1 積分
  3. 2繼電保護(hù)原理
  4. 2.80 MB   |  42次下載  |  免費(fèi)
  5. 3正激、反激、推挽、全橋、半橋區(qū)別和特點(diǎn)
  6. 0.91 MB   |  36次下載  |  1 積分
  7. 4GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
  8. 7.43 MB   |  18次下載  |  免費(fèi)
  9. 5在設(shè)計(jì)中使用MOSFET瞬態(tài)熱阻抗曲線
  10. 1.57MB   |  15次下載  |  免費(fèi)
  11. 6AD18學(xué)習(xí)筆記
  12. 14.47 MB   |  8次下載  |  2 積分
  13. 7H橋中的電流感測(cè)
  14. 545.39KB   |  7次下載  |  免費(fèi)
  15. 8幾張電動(dòng)車充電器電路圖
  16. 0.23 MB   |  6次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935113次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191360次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81578次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73804次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分