freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于tq2440網(wǎng)絡(luò)攝像頭-資料下載頁(yè)

2025-06-25 18:13本頁(yè)面
  

【正文】 有其解決的辦法,大家知道,一般 CPU 都是以“頁(yè)”為單位分配空間的,象 INTEL 的 CPU,其一頁(yè)在通常情況下是 4K 字節(jié)大小,而無(wú)論是數(shù)據(jù)段還是堆棧段都是由許多“頁(yè)”構(gòu)成的, fork 函數(shù)復(fù)制這兩個(gè)段,只是“邏輯”上的,并非“物理”上的,也就是說(shuō),實(shí)際執(zhí)行 fork 時(shí),物理空間上兩個(gè)進(jìn)程的數(shù)據(jù)段和堆棧段都還是共享著的,當(dāng)有一個(gè)進(jìn)程寫(xiě)了某個(gè)數(shù)據(jù)時(shí),這時(shí)兩個(gè)進(jìn)程之間的數(shù)據(jù)才有了區(qū)別,系統(tǒng)就將有區(qū)別的“頁(yè)”從物理上也分開(kāi)。系統(tǒng)在空間上的開(kāi)銷(xiāo)就可以達(dá)到最小。一個(gè)小幽默:下面演示一個(gè)足以搞死Linux 的小程序,其源代碼非常簡(jiǎn)單: void main(){ for(。) fork()。}   這個(gè)程序什么也不做,就是死循環(huán)地 fork,其結(jié)果是程序不斷產(chǎn)生進(jìn)程,而這些進(jìn)程又不斷產(chǎn)生新的進(jìn)程,很快,系統(tǒng)的進(jìn)程就滿了,系統(tǒng)就被這么多不斷產(chǎn)生的進(jìn)程撐死了。用不著是 root,任何人運(yùn)行上述程序都足以讓系統(tǒng)死掉。哈哈,但這不是 Linux 不安全的理由,因?yàn)橹灰到y(tǒng)管理員足夠聰明,他(或她)就可以預(yù)先給每個(gè)用戶設(shè)置可運(yùn)行的最大進(jìn)程數(shù),這樣,只要不是root,任何能運(yùn)行的進(jìn)程數(shù)也許不足系統(tǒng)總的能運(yùn)行和進(jìn)程數(shù)的十分之一,這樣,系統(tǒng)管理員就能對(duì)付上述惡意的程序了。 如何啟動(dòng)另一程序的執(zhí)行下面我們來(lái)看看一個(gè)進(jìn)程如何來(lái)啟動(dòng)另一個(gè)程序的執(zhí)行。在 Linux 中要使用 exec 類(lèi)的函數(shù),exec 類(lèi)的函數(shù)不止一個(gè),但大致相同,在 Linux 中,它們分別是:execl,execlp,execle,execv,execve 和 execvp,下面我只以execlp 為例,其它函數(shù)究竟與 execlp 有何區(qū)別,請(qǐng)通過(guò) manexec 命令來(lái)了解它們的具體情況。一個(gè)進(jìn)程一旦調(diào)用 exec 類(lèi)函數(shù),它本身就“死亡”了,系統(tǒng)把代碼段替換成新的程序的代碼,廢棄原有的數(shù)據(jù)段和堆棧段,并為新程序分配新的數(shù)據(jù)段與堆棧段,唯一留下的,就是進(jìn)程號(hào),也就是說(shuō),對(duì)系統(tǒng)而言,還是同一個(gè)進(jìn)程,不過(guò)已經(jīng)是另一個(gè)程序了。 (不過(guò) exec 類(lèi)函數(shù)中有的還允許繼承環(huán)境變量之類(lèi)的信息。 )那么如果我的程序想啟動(dòng)另一程序的執(zhí)行但自己仍想繼續(xù)運(yùn)行的話,怎么辦呢?那就是結(jié)合 fork 與 exec 的使用。下面一段代碼顯示如何啟動(dòng)運(yùn)行其它程序:char mand[256]。 void main() { int rtn。 /*子進(jìn)程的返回?cái)?shù)值*/ while(1) { /* 從終端讀取要執(zhí)行的命令 */ printf( )。 fgets( mand, 256, stdin )。 mand[strlen(mand)1] = 0。 if ( fork() == 0 ) { /* 子進(jìn)程執(zhí)行此命令 */ execlp( mand, mand )。 /* 如果 exec 函數(shù)返回,表明沒(méi)有正常執(zhí)行命令,打印錯(cuò)誤信息*/ perror( mand )。 exit( errorno )。 } else { /* 父進(jìn)程, 等待子進(jìn)程結(jié)束,并打印子進(jìn)程的返回值 */ wait ( amp。rtn )。 printf( child process return %d\n,. rtn )。 } } } 此程序從終端讀入命令并執(zhí)行之,執(zhí)行完成后,父進(jìn)程繼續(xù)等待從終端讀入命令。其使用方法是類(lèi)似的。5 程序測(cè)試 客戶端測(cè)試在 IP 和端口分別輸入服務(wù)器 IP:172。,port:6666,點(diǎn)擊連接按鈕,然后在點(diǎn)擊監(jiān)聽(tīng)按鈕,效果圖如下。圖 服務(wù)端測(cè)試服務(wù)端顯示了客戶端 IP,端口號(hào)等,如下圖圖 總結(jié)通過(guò)本次大作業(yè),使我對(duì) linux 應(yīng)用程序開(kāi)發(fā)有了更加深入的了解。以及開(kāi)發(fā)過(guò)程中的耐心和毅力。在經(jīng)歷無(wú)數(shù)次修改、編譯、燒寫(xiě)、失敗后仍能保存冷靜的心態(tài),堅(jiān)持不懈,不斷總結(jié)發(fā)現(xiàn)規(guī)律。鍛煉了自己解決問(wèn)題的能力。掌握了很多專(zhuān)業(yè)知識(shí),如 QTCreator 編程,socket 編程技術(shù)等。致謝感謝學(xué)校給我們提供了一個(gè)很好的學(xué)習(xí)平臺(tái),也感謝學(xué)校為我們所做的一切。另外很感謝各位老師對(duì)我們的教育和指導(dǎo),你們的辛勤教育才有了萬(wàn)千學(xué)子的成才,我們不會(huì)辜負(fù)你對(duì)我們的期望。也感激我的父母,他們?yōu)槲业哪冻龊头瞰I(xiàn),他們?yōu)榱宋叶龅囊磺校蚁嘈盼視?huì)成功的。我相信在不久的將來(lái),我們將會(huì)成為國(guó)家的棟梁。簽名:付作輝 2022/6/26參考文獻(xiàn)[1] linux 版,北京:人民郵電出版社,2022 年 4 月[2] 俞輝. 嵌入式 Linux 程序設(shè)計(jì)案例與實(shí)驗(yàn)教程. 北京:機(jī)械工業(yè)出版社[2] Andrew ,沈建華(譯).ARM 京: 年[3] 孟慶昌 牛欣源 : 年 12 月[4] 劉剛. Linux 系統(tǒng)移植. 清華大學(xué)出版社,第 1 版 ,2022
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1