linux初級編程基礎(chǔ)|4步學(xué)會linux入門
可能對于沒有接觸過IT行業(yè)的人來講,就連linux是什么都不知道,也許是聽了某朋友說linux薪資待遇有多高,工作有多輕松等等,其實Linux中fork是最難理解的概念之一,它執(zhí)行一次卻返回兩個值。如下,為你講解linux初級編程基礎(chǔ)的知識
Linux多進編程
多線程程序設(shè)計的概念早在六十年代就被提出,但直到八十年代中期,Unix系統(tǒng)中才引入多線程機制,如今,由于自身的許多優(yōu)點,多線程編程已經(jīng)得到了廣泛的應(yīng)用。
什么是一個進程?進程這個概念是針對系統(tǒng)而不是針對用戶的,對用戶來說,他面對的概念是程序。當用戶敲入命令執(zhí)行一個程序的時候,對系統(tǒng)而言,它將啟動一個進程。但和程序不同的是,在這個進程中,系統(tǒng)可能需要再啟動一個或多個進程來完成獨立的多個任務(wù)。多進程編程的主要內(nèi)容包括進程控制和進程間通信,在了解這些之前,我們先要簡單知道進程的結(jié)構(gòu)。
Linux進程控制
在傳統(tǒng)的Unix環(huán)境下,有兩個基本的操作用于創(chuàng)建和修改進程:函數(shù)fork( )用來創(chuàng)建一個新的進程,該進程幾乎是當前進程的一個完全拷貝;函數(shù)族exec( )用來啟動另外的進程以取代當前運行的進程。Linux的進程控制和傳統(tǒng)的Unix進程控制基本一致,只在一些細節(jié)的地方有些區(qū)別,例如在Linux系統(tǒng)中調(diào)用vfork和fork完全相同,而在有些版本的Unix系統(tǒng)中,vfork調(diào)用有不同的功能。
Linux進程的機構(gòu)
Linux下一個進程在內(nèi)存里有三部分的數(shù)據(jù),就是"代碼段"、"堆棧段"和"數(shù)據(jù)段"。其實學(xué)過匯編語言的人一定知道,一般的CPU都有上述三種段寄存器,以方便操作系統(tǒng)的運行。這三個部分也是構(gòu)成一個完整的執(zhí)行序列的必要的部分。
"代碼段",顧名思義,就是存放了程序代碼的數(shù)據(jù),假如機器中有數(shù)個進程運行相同的一個程序,那么它們就可以使用相同的代碼段。"堆棧段"存放的就是子程序的返回地址、子程序的參數(shù)以及程序的局部變量。而數(shù)據(jù)段則存放程序的全局變量,常數(shù)以及動態(tài)數(shù)據(jù)分配的數(shù)據(jù)空間。
Linux frok中的理解
fork在英文中是"分叉"的意思。為什么取這個名字呢?因為一個進程在運行中,如果使用了fork,就產(chǎn)生了另一個進程,于是進程就"分叉"了,所以這個名字取得很形象。
fork函數(shù)啟動一個新的進程,前面我們說過,這個進程幾乎是當前進程的一個拷貝:子進程和父進程使用相同的代碼段;子進程復(fù)制父進程的堆棧段和數(shù)據(jù)段。
想學(xué)習(xí)linux編程,個人建議進培訓(xùn)機構(gòu)或許效果來的更為明顯,當然,你也可以通過以上4步linux初級編程的基礎(chǔ)來了解怎么運作的,
Linux系統(tǒng)是真正實現(xiàn)多任務(wù)操作的系統(tǒng),使用的技巧也很多,當你把linux基礎(chǔ)打好了,下一步你不會覺得linux有多難了。