電子發(fā)燒友App

硬聲App

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

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

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

進(jìn)程控制開(kāi)發(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之后,可以將其寫(xiě)入日志文件以做備份。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)程控制開(kāi)發(fā)之Linux進(jìn)程概述
  圖7.1 進(jìn)程3種狀態(tài)的轉(zhuǎn)化關(guān)系
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)