亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

進程概述(進程一)

2019-11-10 18:51:51
字體:
來源:轉載
供稿:網友

進程:計算機中資源分配的最小單元。 進程可以是從命令行執行的一個命令(短期),也可以是一種網絡服務(長期)。 對進程及其調度進行管理顯得十分重要。 單CPU的計算機在一個時間片內只能執行一條指令。 進程調度(PRocess Scheduling): 首先為每一個進程指派一定的運行時間,這個時間通常非常短,短到以毫秒為單位,然后依照某種規則,從眾多進程中挑選一個投入運行,其他進程暫時等待,當正在運行的那個進程時間耗盡,或執行完畢退出,或因某種原因暫停,linux就會重新進行調度,挑選下一個進程投入運行。因為每個進程占用的時間片都很短,從使用者角度來看,就好像多個進程同時運行一樣。 在Linux中,每個進程在創建時都會被分配一個數據結構,稱為程序控制塊(PCB)。 PCB中最重要的是進程ID(PID),PID也被稱為進程標識符,是一個自然數,在Linux操作系統中唯一地標志一個進程。

進程分類: 1、 交互進程; 2、 批處理進程; 3、 守護進程; 守護進程總是活躍的,一般在后臺運行,守護進程有系統在開機時通過腳本自動激活啟動或超級用戶root來啟動。 由于守護進程是一直運行著的,所以它所處的狀態是等待請求處理任務。

進程的屬性: 1、 進程ID(PID):是唯一的數值,來區分進程; 2、 父進程和父進程的ID(PPID); 3、 啟動進程的用戶ID(UID)和所歸屬的組(GID); 4、 進程狀態:運行R、休眠S、僵尸Z; 5、 進程執行的優先級; 6、 進程所連接的終端名; 7、 進程資源占用,如占用資源大小(內存、CPU占用量)。

父進程和子進程: 父進程和子進程的關系是管理和被管理的關系,當父進程終止時,子進程也隨之終止;但子進程終止,父進程并不一定終止。 在進程管理中,當我們發現占用資源過多,或無法控制進程時,應該殺死它,以保證系統的穩定安全運行。

Linux進程的三態 一般情況下,一個運行進程必須具有以下三種狀態: 1、 就緒狀態:當進程已分配到除了CPU以外所有必要的資源,只要獲得處理器便可立即執行,這時的進程狀態稱為就緒狀態; 2、 執行狀態:當進程已獲得處理器,其程序正在處理器上執行,此時的進程狀態成為執行狀態; 3、 等待狀態(阻塞):正在執行的進程,由于等待某個事件 三種狀態之間的轉換: 一個進程在運行期間,會不斷地從一種狀態轉換到另一種狀態,它可以多次處于就緒狀態和執行狀態,也可以多次處于阻塞狀態。 1、 就緒 ? 執行 :處于就緒狀態的進程,當進程調度程序為之分配了處理器之后,該進程便由就緒狀態轉變為執行狀態; 2、 執行 ? 就緒 :處于執行狀態的進程在其執行過程中,因分配給它的一個時間已用完而不得不讓出處理器,于是進程從執行狀態轉變成就緒狀態; 3、 執行 ? 阻塞 :正在執行的進程因等待某種事件發生而無法繼續執行,便從執行狀態變成阻塞狀態; 4、 阻塞 ? 就緒 :處于阻塞狀態的進程,若其等待的事件已經發生,于是進程由阻塞狀態轉變為就緒狀態。

Linux進程調度 任何時刻只能有一個進程或者線程處于執行狀態,因此OS需要決定哪個進程執行,哪些進程等待,這就是進程的調度。 程序使用CPU的三種模式: IO密集型、計算密集型、平衡型 IO密集型:響應時間非常重要; 計算密集型:CPU周轉時間比較重要; 平衡型:響應和周轉時間的平衡是最重要的。

調度算法:

在使用fork()創建一個進程時,子進程只是完全復制父進程的資源,復制出來的子進程有自己的task_struct結構和PID,但卻復制了父進程其他所有的資源。這樣得到的子進程獨立于父進程,具有良好的并發性,但是兩者之間的通信需要專門的通信機制。 通過fork()創建的子進程,需要將上面描述的每一種資源都復制一個副本。這樣看來,fork是一個開銷非常大的系統調用,然而這些開銷并不是在所有情況下都是必須的。 fork()調用執行一次返回兩個值,對于父進程,fork()返回子進程的進程號,而對于子進程fork()返回0,這就是一個函數返回兩次的本質。 在fork()之后,子進程和父進程都會繼續執行fork()調用之后的命令。子進程是父進程的副本,它將獲得父進程的數據空間、堆和棧的副本,這些都是副本,父進程和子進程不共享這部分內存。也就是說,子進程對父進程中的同名變量修改不會影響它在父進程中的值。但是子進程和父進程又共享一些東西,簡單地說就是程序的正文段。正文段存放著由CPU執行的機器指令,通常是read-only類型的。

vfork()會產生一個新的子進程,其子進程會復制父進程的數據與堆??臻g,并繼承父進程的用戶代碼、組代碼、環境變量、已打開的文件代碼、工作目錄和資源限制等。

注意:vfork()創建的子進程必須調用exit()來結束,否則子進程將不可能結束。

啟動進程:exec族 int execl(const char *path , const char *arg , ……); int execlp(const char *file , const char *arg , …….); int execle(const char *path , const char *arg , …… , char *const envp[]); int execv(const char *path , char *const argv[]); int execvp(const char *file , char *const argv[]); int execve(const char *path , char *const argv[] , char *const envp[]); 以上函數只有execve是真正的系統調用,其他都是在此基礎上經過包裝的庫函數。

exec函數族的作用是根據指定的文件名找到可執行的文件,并用它來取代調用進程的內容。換句話說,也就是在調用進程內部執行一個可執行文件。這里的可執行文件既可以是二進制文件,也可以是任何Linux下可執行的腳本文件。 與一般情況不同,exec函數族的函數執行成功后不會返回,因為調用進程的實體,包括代碼段、數據段和堆棧等都已經被新的內容所取代,只有進程ID等一些表面的信息任然保持原樣。只有調用失敗了,它們才會返回-1,從源程序的調用點接著往下執行。

system用于執行shell命令。 system()會調用fork()產生子進程,由子進程來調用/bin/sh-c string來執行參數string字符串所代表的命令,此命令執行完后隨即返回原調用的進程。在調用system()期間SIGCHLD信號會被暫時擱置,SIGINT和SIGQUIT信號則會被忽略。


上一篇:slam數據集

下一篇:八大排序算法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲大胆人体在线| 亚洲欧美日韩国产中文专区| 久久精品国产视频| 欧美亚洲在线观看| 中文字幕亚洲精品| 国产一区二区三区在线视频| 日韩欧美一区二区在线| 欧美成人国产va精品日本一级| 日韩久久精品成人| 国产午夜精品一区理论片飘花| 国产精品久久久久久av福利| 中文欧美在线视频| 国产丝袜一区二区| 成人久久久久久| 国产精品丝袜久久久久久高清| 欧美日韩国产综合新一区| 一区二区三区四区精品| 国产一区二区欧美日韩| 久久99热精品这里久久精品| 热久久这里只有精品| 欧美性感美女h网站在线观看免费| 91九色国产在线| 成人黄色激情网| 日韩美女视频免费看| 欧美性猛交xxxx久久久| 成人免费淫片aa视频免费| 国产专区欧美专区| 亚洲国产美女久久久久| 69精品小视频| 国产精品看片资源| 中文字幕精品av| 一区二区国产精品视频| 国产精品一区二区在线| 久久99久久99精品免观看粉嫩| 国产精品6699| 日韩美女av在线免费观看| 日韩在线免费av| 中文字幕亚洲欧美一区二区三区| 久久久久久有精品国产| 亚洲欧美制服第一页| 性欧美长视频免费观看不卡| 久久福利视频导航| 在线观看欧美视频| 久久久亚洲成人| 国产精品视频公开费视频| 久久综合国产精品台湾中文娱乐网| 国产日韩在线看| 国产免费亚洲高清| 亚洲精品久久在线| 欧美福利视频网站| 久久91亚洲人成电影网站| 亚洲视频一区二区三区| 国内偷自视频区视频综合| 欧美黑人一区二区三区| 国产精品久久久久久久久久久新郎| 亚洲精品一区中文字幕乱码| 精品久久久免费| 久久成人免费视频| 在线亚洲男人天堂| 欧美成aaa人片在线观看蜜臀| 精品久久久久久久久久久久久久| 九九热精品视频| 欧美性猛交丰臀xxxxx网站| 亚洲理论电影网| 欧美黑人xxxⅹ高潮交| 久久精品久久精品亚洲人| 97精品国产aⅴ7777| 日韩人在线观看| 91国在线精品国内播放| 5278欧美一区二区三区| 97国产精品免费视频| 亚洲va欧美va在线观看| 精品无人国产偷自产在线| 国内精品久久久久| 欧美激情一区二区三区高清视频| 国产精品女人久久久久久| 国产69久久精品成人| 欧美中文字幕视频| 欧美中文在线免费| 成人在线观看视频网站| 一区二区三区高清国产| 欧美日韩精品中文字幕| 日韩亚洲成人av在线| 日韩国产一区三区| www.精品av.com| 日韩av中文在线| 亚洲精品国产欧美| 欧美日韩电影在线观看| 国产日本欧美一区二区三区在线| 欧美性感美女h网站在线观看免费| 久久久久久久97| 午夜精品在线观看| 亚洲欧洲在线观看| 不卡av电影在线观看| 日韩色av导航| 亚洲第一二三四五区| 日韩精品视频免费专区在线播放| 亚洲人成在线一二| 美女av一区二区三区| 久久亚洲国产精品成人av秋霞| 中文字幕精品—区二区| 欧美一级免费视频| 久久成人精品一区二区三区| 国产精品高潮呻吟久久av黑人| 成人精品一区二区三区| 欧美—级a级欧美特级ar全黄| 日韩av有码在线| 国产激情综合五月久久| 国产精品999999| 粉嫩老牛aⅴ一区二区三区| 韩剧1988在线观看免费完整版| 欧美丰满老妇厨房牲生活| 亚洲成人黄色在线观看| 亚洲国产欧美一区二区丝袜黑人| 日韩美女在线观看一区| 欧美天天综合色影久久精品| 精品久久中文字幕| 成人免费看黄网站| 久久久久久久久久久久av| 欧美精品一区二区三区国产精品| 欧美性生交大片免网| 精品伊人久久97| 黑人巨大精品欧美一区二区免费| 国产精品久久一| 欧美老少做受xxxx高潮| 久久精品99久久久香蕉| 日本精品免费观看| 一本大道香蕉久在线播放29| 欧美成人合集magnet| 91精品国产91久久久| 欧洲成人在线观看| 欧美大尺度在线观看| 亚洲人成电影网站色www| 奇米一区二区三区四区久久| 国产区精品在线观看| 国产亚洲一级高清| 欧美一级淫片丝袜脚交| 91久久国产综合久久91精品网站| 亚洲欧美中文字幕| 日韩一区二区三区在线播放| 日韩性xxxx爱| 91在线|亚洲| 国产精品久久久久免费a∨| 亚洲人a成www在线影院| 久久久久免费视频| 国产精品一区二区性色av| 欧美色视频日本版| 国产精品第一区| 欧美高跟鞋交xxxxxhd| 亚洲精品欧美日韩专区| 亚洲第一天堂无码专区| 国产精品高潮呻吟久久av黑人| 欧洲永久精品大片ww免费漫画| 秋霞成人午夜鲁丝一区二区三区| 欧美男插女视频| 亚洲精品永久免费精品| 色午夜这里只有精品| 91精品视频在线看| 日韩av电影免费观看高清| 日韩精品欧美激情| 姬川优奈aav一区二区| 久久精品福利视频| 国产视频精品一区二区三区| 欧美激情欧美激情在线五月|