日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux中clone原型輕松掌握線程創(chuàng)建方法 (linux中clone原型)

在Linux系統(tǒng)中,線程的創(chuàng)建是一個非常常見的操作。線程的創(chuàng)建過程可以通過許多不同的方式實現(xiàn),其中最為常見的方式就是使用clone函數(shù)。這個函數(shù)在C語言中的語法如下:

pid_t clone(int (*fn)(void *), void *child_stack,

int flags, void *arg, …

/* pid_t *ptid, struct user_desc *tls, pid_t *ctid */ );

那么,clone函數(shù)究竟是什么呢?它的原型又是什么?如何使用它來創(chuàng)建線程呢?下面,我們就來剖析一下這些問題。

一、clone函數(shù)是什么?

clone函數(shù)是Linux中用于創(chuàng)建線程和進程的系統(tǒng)調(diào)用函數(shù)之一。它是在2.0版本內(nèi)核中引入的,它的功能相當(dāng)于fork和pthread_create兩個函數(shù)的結(jié)合體。但是,相比這兩個函數(shù),clone函數(shù)具有更為靈活的特性。它可以實現(xiàn)在一個進程內(nèi)創(chuàng)建新的線程或者進程,還可以指定共享或獨立的模式,而且還可以創(chuàng)建線程或進程時傳遞參數(shù)。

由于Linux中的進程和線程實際上沒有明顯的區(qū)分,因此,clone函數(shù)可以用來實現(xiàn)線程的創(chuàng)建。同時,clone函數(shù)的特點也使得它在一些特定的場景下更加適用。比如說,為了在一個進程內(nèi)創(chuàng)建多個線程,就可以使用clone函數(shù)來實現(xiàn)。由于clone函數(shù)可以指定創(chuàng)建子線程的??臻g,因此,它還具有更為靈活的特性。

二、clone函數(shù)的原型是什么?

clone函數(shù)的原型如下:

pid_t clone(int (*fn)(void *), void *child_stack,

int flags, void *arg, …

/* pid_t *ptid, struct user_desc *tls, pid_t *ctid */ );

其中,各個參數(shù)的含義如下:

1、fn:指向子線程執(zhí)行的函數(shù)入口地址的一個指針。這個函數(shù)需要返回一個整數(shù)值,如果值為0,則代表線程創(chuàng)建成功,如果值為其他,則代表線程創(chuàng)建失敗。

2、child_stack:指向子線程的棧空間的指針。

3、flags:指定線程的創(chuàng)建方式。它可以取以下幾個值:

CLONE_VM:子線程使用與父線程相同的地址空間。

CLONE_FS:子線程使用與父線程相同的文件系統(tǒng)信息。

CLONE_FILES:子線程使用與父線程相同的文件描述符。

CLONE_SIGHAND:子線程使用與父線程相同的信號處理程序。

CLONE_THREAD:這個參數(shù)很重要,如果這個參數(shù)為0,則代表創(chuàng)建的是一個新進程,如果這個參數(shù)不為0,則代表創(chuàng)建的是一個新線程。

4、arg:傳遞給子線程的參數(shù)。

5、ptid:用于存儲子線程的進程ID。

6、tls:用于存儲線程局部存儲(TLS)的用戶描述符。

7、ctid:用于存儲子線程的PID。

三、如何使用clone函數(shù)來創(chuàng)建線程?

在了解了clone函數(shù)的基本原型之后,我們來看一下如何使用它來創(chuàng)建線程。下面是創(chuàng)建線程的一個例子:

1、先定義一個子線程的執(zhí)行函數(shù),例如:

void *thread_func(void *arg)

{

int i;

for (i = 0; i

{

printf(“This is thread %d\n”, i);

sleep(1);

}

pthread_exit(NULL);

}

這個函數(shù)是一個簡單的循環(huán),每次循環(huán)都會輸出一句話,并等待一秒鐘繼續(xù)執(zhí)行。它會通過pthread_exit函數(shù)退出線程。

2、然后,我們在主線程中調(diào)用clone函數(shù),例如:

int mn()

{

int *status;

void *stack;

stack = malloc(STACK_SIZE);

int pid = clone(thread_func, stack+STACK_SIZE,

CLONE_THREAD|CLONE_SIGHAND|CLONE_VM, 0);

if (pid == -1) {

printf(“Error: thread creation fled\n”);

return 1;

}

pid = wtpid(pid, &status, __WCLONE);

if (pid > 0) {

printf(“Thread exited with status %d\n”, *status);

free(stack);

return 0;

}

}

在這個例子中,我們通過malloc函數(shù)來為子線程分配??臻g。然后,我們調(diào)用了clone函數(shù),將該函數(shù)指定為子線程的執(zhí)行函數(shù),指定??臻g地址為stack+STACK_SIZE,指定參數(shù)為0,指定標(biāo)志CLONE_THREAD|CLONE_SIGHAND|CLONE_VM。如果線程創(chuàng)建成功,clone函數(shù)會返回子線程的PID號。主線程等待子線程退出,并打印出子線程的退出狀態(tài)。

通過上面例子的演示,我們可以清晰的了解到如何使用clone函數(shù)創(chuàng)建線程。clone函數(shù)的功能非常強大,可以實現(xiàn)很多復(fù)雜的操作,因此,在線程的創(chuàng)建過程中,我們可以選擇合適的方法來完成任務(wù)。

相關(guān)問題拓展閱讀:

  • Linux到底是一個什么樣的操作系統(tǒng)
  • LINUX 容器是什么東西???有什么作用???
  • Linux下怎么完成Git的配置

Linux到底是一個什么樣的操作系統(tǒng)

單的說,Linux是Unix克隆(Unix clone)或Unix風(fēng)格(Unix alike)

的操作系統(tǒng)(OS),在原代頌旁碼級上兼容絕大部分Unix標(biāo)準(zhǔn)(指的是IEEE

POSIX,System V,BSD),是一個支持多用戶, 多進程,多線程,實時性

較好的功能

強大而穩(wěn)定的操作系統(tǒng).它可以運行在x86 PC,Sun Sparc,Digital Alpha

,680×0,PowerPC, MIPS等平臺上,可

以說Linux是目前運行硬件平臺最多的操作系統(tǒng). Linux更大的特點在于

它是GNU(Gnu’s Not Unix—-有點分形與混沌的意味—-無限自包含,

簡單的說GNU是一種自由軟件體系)的一員,遵循公共版權(quán)許可證(GPL),秉承

“自由的思想,開罩仿放的源碼”的原則,成千上萬的專家/愛好者通過Internet

在不斷地完善并維護它,可以說Linux是計算機愛好者自己的操作系統(tǒng).

追述Linux的歷史直到1990年,Linus Torvalds還是芬蘭赫爾辛基大

學(xué)的一名學(xué)生,最初是用匯編語言寫了一個在80386保護模式下處理

多任務(wù)切換的程序,后來從Minix(Andy Tanenbaum教授所寫的很小

的Unix操作系統(tǒng),主要用于操作系統(tǒng)教學(xué))得到靈感,進一步產(chǎn)生了

自認(rèn)為狂妄的想法—-寫一個比Minix更好的Minix,于是開始寫了

一些硬件的設(shè)備驅(qū)動程序,一個小的文件系統(tǒng),……,這樣0.0.1

版本的Linux就出來了,但是它只具有操作系統(tǒng)內(nèi)核的勉強的雛形,

甚至不能運行,你必須在有Minix的機器上編譯以后才能玩.這時候

Linus已經(jīng)完全著迷而不想停止,決定踢開Minix,于是在1991年10

月5號發(fā)布Linux 0.0.2版本,在這個版本中已經(jīng)可以運行bash

(the GNU Bourne Again Shell—-一種用戶與操作系統(tǒng)內(nèi)核通訊的軟件)

和gcc(GNU C 編譯器).從一開始,Linus就決定自由擴散Linux,包括原代碼,

他在comp.os.minix新聞討論組里發(fā)布Linux 0.0.2時寫到:

“Do you pine for nice days of Minix-1.1, when mem were men

and wrote their own device drivers? Are you without a nice

project and just dying to cut your teeth on a OS you can

try to modify for your needs? Are you finding it frustrsting

when everything works on Minix? No more all-nighters to

get a nifty program working? Then this post might be just

for you.

“As I mentioned a month ago, I’m working on a free version

of a Minix-lookalike for AT-386 computers. It has finally

reached the stage where it’s even usable(though may not be

depending on what you want),and I am willing to put out

the sources for wider distribution. It is just version

0.0.2 … but I’ve successfully run bash,gcc,gnu-make,

gnu-sed,compress,etc.under it.”

隨即Linux引起黑客們(hacker)的注意,通過計算機網(wǎng)絡(luò)加入了Linux的

內(nèi)核開發(fā),Linux傾向于成為一個黑客的系統(tǒng)—-直到今天,在Linux社區(qū)

里內(nèi)核的開發(fā)被認(rèn)為是真正的編程.由于一批高野悶橡水平黑客的加入,使Linux

發(fā)展迅猛,到1993年底94年初,Linux 1.0終于誕生了! Linux 1.0已經(jīng)是一

個功能完備的操作系統(tǒng),而且內(nèi)核寫得緊湊高效,可以充分發(fā)揮硬件的性能,

在4M內(nèi)存的80386機器上也表現(xiàn)得非常好,至今人們還在津津樂道于此,

不過自從2.1.xx系列的內(nèi)核Linux開始走高端的路子—-硬件的發(fā)展太快了,

但是Linux不會失去它的本色.Linux具有良好的兼容性和可移植性,大約在

1.3版本之后,開始向其他硬件平臺上移植,包括號稱最快的CPU—Digital

Alpha(至少目前主頻是更高的).所以不要總把Linux與低檔硬件平臺聯(lián)系

到一塊,Linux發(fā)展到今天,這是一個誤區(qū),它只是將硬件的性能充分發(fā)揮

出來而已,Linux必將從低端應(yīng)用橫掃到高端應(yīng)用!

在Linux的發(fā)展歷程上還有一件重要的事:Linux加入GNU并遵循公共

版權(quán)許可證(GPL).此舉大大加強了GNU和Linux,幾乎所有應(yīng)用的GNU

庫/軟件都移植到Linux,完善并提高了Linux的實用性,而GNU有了一

個根基,我現(xiàn)在也搞不清楚到底是GNU Linux呢還是基于Linux的GNU.

更重要的是遵循公共版權(quán)許可證,在繼承自由軟件的精神的前

提下,不再排斥對自由軟件的商業(yè)行為(如把自由軟件打包以光盤形

式出售),不排斥商家對自由軟件進一步開發(fā),不排斥在Linux上開發(fā)

商業(yè)軟件.從此Linux又開始了一次飛躍,出現(xiàn)了很多的Linux發(fā)行版

,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多種,而且

還在增加,注意你不能說”Redhat Linux””Suse Linux””Slackware

Linux”等等,Linux主要指操作系統(tǒng)內(nèi)核,對所有發(fā)行版內(nèi)核原代碼

都是一樣的(但集成的內(nèi)核版本可能因發(fā)行時間不同而有所不同).

還有一些公司在Linux上開發(fā)商業(yè)軟件或把其他Unix平臺的軟件移

植到Linux上來,如今很多IT業(yè)界的大腕如IBM,Intel,Oracle,Infomix

,Syase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的

加盟彌補了純自由軟件的不足和發(fā)展障礙,Linux迅速普及到廣大計

算機愛好者,并且進入商業(yè)應(yīng)用,正是打破某些公司壟斷文化圈的希

望所在!!

Linux是愛好者們通過Internet協(xié)同開發(fā)出來的,當(dāng)然它的網(wǎng)絡(luò)功能十

分強大,比如你可以通過ftp,nfs等來安裝Linux,用它來做網(wǎng)關(guān)等等.

隨著Linux的發(fā)展衍生出來的應(yīng)用恐怕出乎Linus本人最初的預(yù)料,

如有人用它來做路由器,有人來做嵌入式系統(tǒng),有人來做實時性系統(tǒng).

…..常有新手問Linux能做什么,其實它不象那些中看不中用的操作

系統(tǒng),不在于你用它能干什么,而在于你想干什么!

Linux的興起還給人們很多啟迪與思考,如集市式軟件開發(fā)的討論,

又如自由軟件的精神……

.

參考資料:

簡單地說,Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),它主要讓兆枝用于基于Intel x86系列CPU的計算機上。這個系統(tǒng)是由全世界各地的成千上萬的程序員設(shè)計和實現(xiàn)的。其目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品。

Linux的出現(xiàn),最早開始于一位名叫Linus Torvalds的計算機業(yè)余愛好者,當(dāng)時他是芬蘭赫爾辛基大學(xué)的學(xué)生。他的目的是想設(shè)計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個操作系統(tǒng)示教程序)的操作系統(tǒng),這個操作系統(tǒng)可用于386、486或奔騰處理器的個人計算機上,并且具有Unix操作系統(tǒng)的全部功能,因而開始了Linux雛形的設(shè)計。

Linux以它的高效性和靈活性著稱。它能夠在PC計算機上實現(xiàn)全部的Unix特性,具有多任務(wù)、多用戶的能力。Linux是在GNU公共許可權(quán)限下免費獲得的,是一個符合POSIX標(biāo)準(zhǔn)的操作系統(tǒng)。Linux操作系統(tǒng)軟件包不僅包括完整的Linux操作系統(tǒng),而且還包括了文本編輯器、高級語言編譯器等應(yīng)用軟件。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標(biāo)和菜單對系統(tǒng)進行操作。

Linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一坦敏是它屬于自由軟件,用戶不用支付任何費用就可以獲得它和它的源代碼,并且可以根據(jù)自己的需要對它進行必要的修改,無償對它使用,無約束地繼續(xù)傳播。另一個原因是,它具有Unix的全部功能,任何使用Unix操作系統(tǒng)或想要學(xué)習(xí)Unix操作系統(tǒng)的人都可以從Linux中獲益。

由于Linux是一套具有Unix全部功能的免費操作系統(tǒng),它在眾多的軟件中占有很大的優(yōu)勢,為廣大的計算機愛好者提供了學(xué)習(xí)、探索以及修改計算機操作系統(tǒng)內(nèi)核的機會。

操作系統(tǒng)是一臺計算機必不可少的系統(tǒng)軟件,是整個計算機系統(tǒng)的靈魂。一個操作系統(tǒng)是一個復(fù)雜的計算機程序集,它提供操作過程的協(xié)議或行為準(zhǔn)則。沒有操作系統(tǒng),計算機就無法工作,就不能解釋和執(zhí)行用戶輸入的命令或運行簡單的程序。大多數(shù)操作系統(tǒng)都是由一些主要的軟件公司支持的商品化程序,用戶只能有償使用。如果用戶購買了一個操作系統(tǒng),他就必須滿足供應(yīng)商所要求的一切條件。因為操作系統(tǒng)是系統(tǒng)程序,用戶不能擅自修改或試驗操作系統(tǒng)的內(nèi)核。這對于廣大計算機愛好者來說無疑是一種束縛。

要想發(fā)揮計算機的作用,僅有操作系統(tǒng)還不夠,用戶還必須要有各種應(yīng)用程序的支持。應(yīng)用程序是用于處理某些工作(如字處理)的軟件包,通常它也只能有償使用。每個應(yīng)用程序的軟件包都為特定的操作系統(tǒng)和機器編寫。使用者無權(quán)修改這些應(yīng)用程序。使用Linux,可以將操作系統(tǒng)變成一種操作環(huán)境。

由于Linux是一套自由軟件,用戶可以無償?shù)氐玫剿捌湓创a,可以無償?shù)孬@得大量的應(yīng)用程序,而且可以任意地修改和補充它們。這對用戶學(xué)習(xí)、了解Unix操作系統(tǒng)的內(nèi)核非常有益。 學(xué)習(xí)和使用Linux,能為用戶節(jié)省一筆可觀的資金。Linux是目前惟一可免費獲得的、為PC機平臺上的多個用戶提供多任務(wù)、多進程功能的操作系統(tǒng),這是人們要使用它的主要原因。就PC機平臺而言,Linux提供了猜拿比其他任何操作系統(tǒng)都要強大的功能,Linux還可以使用戶遠離各種商品化軟件提供者促銷廣告的誘惑,再也不用承受每過一段時間就升級之苦,因此,可以節(jié)省大量用于購買或升級應(yīng)用程序的資金。

Linux不僅為用戶提供了強大的操作系統(tǒng)功能,而且還提供了豐富的應(yīng)用軟件。用戶不但可以從Internet上下載Linux及其源代碼,而且還可以從Internet上下載許多Linux的應(yīng)用程序??梢哉f,Linux本身包含的應(yīng)用程序以及移植到Linux上的應(yīng)用程序包羅萬象,任何一位用戶都能從有關(guān)Linux的網(wǎng)站上找到適合自己特殊需要的應(yīng)用程序及其源代碼,這樣,用戶就可以根據(jù)自己的需要下載源代碼,以便修改和擴充操作系統(tǒng)或應(yīng)用程序的功能。這對Windows NT、Windows98、MS-DOS或OS/2等商品化操作系統(tǒng)來說是無法做到的。

Linux為廣大用戶提供了一個在家里學(xué)習(xí)和使用Unix操作系統(tǒng)的機會。盡管Linux是由計算機愛好者們開發(fā)的,但是它在很多方面上是相當(dāng)穩(wěn)定的,從而為用戶學(xué)習(xí)和使用目前世界上更流行的Unix操作系統(tǒng)提供了廉價的機會。現(xiàn)在有許多CD-ROM供應(yīng)商和軟件公司(如RedHat和TurboLinux)支持Linux操作系統(tǒng)。Linux成為Unix系統(tǒng)在個人計算機上的一個代用品,并能用于替代那些較為昂貴的系統(tǒng)。因此,如果一個用戶在公司上班的時候在Unix系統(tǒng)上編程,或者在工作中是一位Unix的系統(tǒng)管理員,他就可以在家里安裝一套Unix的兼容系統(tǒng),即Linux系統(tǒng),在家中使用Linux就能夠完成一些工作任務(wù)

Linux是一種計算機操作系統(tǒng)和它的內(nèi)核的名字

開放原代碼的操作系統(tǒng)…..

筆記本物理搏數(shù)機蔽指安裝 Ubuntu 20.04 Linux 操作系統(tǒng),全程實錄宏銀配

LINUX 容器是什么東西?。坑惺裁醋饔冒??

apache

Apache是世界使用排名之一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上。

Apache源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界上更流行的Web服務(wù)器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿補丁的服務(wù)器,因為它是自由軟件,所以不斷有人來為它開發(fā)新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。

本來它只用于小型或試驗Internet網(wǎng)絡(luò),后來逐步擴充到各種Unix系統(tǒng)中,尤其對Linux的支持相當(dāng)完美。Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個虛擬主機。Apache是以進程為基礎(chǔ)的結(jié)構(gòu),進程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個Apache Web站點擴容時,通常是增加服務(wù)器或擴充群集節(jié)點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務(wù)器,市場占有率達60%左右。世界上很多著名的網(wǎng)站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的產(chǎn)物,它的成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊伍、支持跨平臺的應(yīng)用(可以運行在幾乎所有的Unix、Windows、Linux系統(tǒng)平臺上)以及它的可移植性等方面。

Apache的誕生極富有戲劇性。當(dāng)NCSA WWW服務(wù)器項目停頓后,那些使用NCSA WWW服務(wù)器的人們開始交換他們用于該服務(wù)器的補丁程序,他們也很快認(rèn)識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了Apache Group,后來這個團體在NCSA的基礎(chǔ)上創(chuàng)建了Apache。

Apache web服務(wù)器軟件擁有以下特性:

支持最新的HTTP/1.1通信協(xié)議

擁有簡單而強有力的基于文件的配置過程

支持通用網(wǎng)關(guān)接口

支持基于IP和基于域名的虛擬主機

支持多種方式的HTTP認(rèn)證

集成Perl處理模塊

集成代理服務(wù)器模塊

支持實時監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志

支持服務(wù)器端包含指令(SSI)

支持安全Socket層(SSL)

提供用戶會話過程的跟蹤

支持FastCGI

通過第三方模塊可以支持Java Servlets

如果你準(zhǔn)備選擇Web服務(wù)器,毫無疑問Apache是你的更佳選擇。

Apache有名的幾個項目介紹

HTTP Server

這個在前面的段落介紹過了,Apache已經(jīng)是他的代號了

ActiveMQ

免費開源由java編寫符合JMS1.1標(biāo)準(zhǔn)的消息中間件。

另外,它也支持通過除java語言外的語言的使用

Ant

這個太出名了。標(biāo)準(zhǔn)的批處理工具。是一套基于java的程序打造工具

Commons

一些常用的工具類庫,包括common-pool,dbcp,fileupload,Common-beans等。

Excalibur

它的主要產(chǎn)品是一個由java寫成的,名字叫做Fortress(要塞) 的輕量級的可嵌入式反向控制容器。

iBATIS

并入的一個項目,是ORM的一個很流行的工具

Geronimo

是Apache軟件基金會為了創(chuàng)造一個兼容j2ee的容器,而整理出來的一個新成果

Jakarta

許多Java子項目的集成,tomcat,ant等就是從這里孵化出去的。

James

是一套用java開發(fā)的郵件、新聞組、消息服務(wù)器。它使用的avalon組件框架。目前支持 TP, POP3 和 NNTP 很快也會支持 IMAP

Logging

基于java的可靠,快速,擴展性強的日志工具

Maven

是一套java開發(fā)的工程綜合管理工具。它基于工程對象模型(POM)的理念

Portals

門戶產(chǎn)品

Struts

一套通過servlets和jsp來搭建web應(yīng)用的MVC框架

Tomcat

用量更大的免費的Java服務(wù)器

單的說,Linux是Unix克隆(Unix clone)或Unix風(fēng)格(Unix alike)

的操作系統(tǒng)(OS),在原代碼級上兼容絕大部分Unix標(biāo)準(zhǔn)(指的是IEEE

POSIX,System V,BSD),是一個支持多用戶, 多進程,多線程,實時性

較好的功能

強大而穩(wěn)定的操作系統(tǒng).它可以運行在x86 PC,Sun Sparc,Digital Alpha

,680×0,PowerPC, MIPS等平臺上,可

以說Linux是目前運行硬件平臺最多的操作系統(tǒng). Linux更大的特點在于

它是GNU(Gnu’s Not Unix—-有點分形與混沌的意味—-無限自包含,

簡單的說GNU是一種自由軟件體系)的一員,遵循公共版權(quán)許可證(GPL),秉承

“自由的思想,開放的源碼”的原則,成千上萬的專家/愛好者通過Internet

在不斷地完善并維護它,可以說Linux是計算機愛好者自己的操作系統(tǒng).

追述Linux的歷史直到1990年,Linus Torvalds還是芬蘭赫爾辛基大

學(xué)的一名學(xué)生,最初是用匯編語言寫了一個在80386保護模式下處理

多任務(wù)切換的程序,后來從Minix(Andy Tanenbaum教授所寫的很小

的Unix操作系統(tǒng),主要用于操作系統(tǒng)教學(xué))得到靈感,進一步產(chǎn)生了

自認(rèn)為狂妄的想法—-寫一個比Minix更好的Minix,于是開始寫了

一些硬件的設(shè)備驅(qū)動程序,一個小的文件系統(tǒng),……,這樣0.0.1

版本的Linux就出來了,但是它只具有操作系統(tǒng)內(nèi)核的勉強的雛形,

甚至不能運行,你必須在有Minix的機器上編譯以后才能玩.這時候

Linus已經(jīng)完全著迷而不想停止,決定踢開Minix,于是在1991年10

月5號發(fā)布Linux 0.0.2版本,在這個版本中已經(jīng)可以運行bash

(the GNU Bourne Again Shell—-一種用戶與操作系統(tǒng)內(nèi)核通訊的軟件)

和gcc(GNU C 編譯器).從一開始,Linus就決定自由擴散Linux,包括原代碼,

他在comp.os.minix新聞討論組里發(fā)布Linux 0.0.2時寫到:

“Do you pine for nice days of Minix-1.1, when mem were men

and wrote their own device drivers? Are you without a nice

project and just dying to cut your teeth on a OS you can

try to modify for your needs? Are you finding it frustrsting

when everything works on Minix? No more all-nighters to

get a nifty program working? Then this post might be just

for you.

“As I mentioned a month ago, I’m working on a free version

of a Minix-lookalike for AT-386 computers. It has finally

reached the stage where it’s even usable(though may not be

depending on what you want),and I am willing to put out

the sources for wider distribution. It is just version

0.0.2 … but I’ve successfully run bash,gcc,gnu-make,

gnu-sed,compress,etc.under it.”

隨即Linux引起黑客們(hacker)的注意,通過計算機網(wǎng)絡(luò)加入了Linux的

內(nèi)核開發(fā),Linux傾向于成為一個黑客的系統(tǒng)—-直到今天,在Linux社區(qū)

里內(nèi)核的開發(fā)被認(rèn)為是真正的編程.由于一批高水平黑客的加入,使Linux

發(fā)展迅猛,到1993年底94年初,Linux 1.0終于誕生了! Linux 1.0已經(jīng)是一

個功能完備的操作系統(tǒng),而且內(nèi)核寫得緊湊高效,可以充分發(fā)揮硬件的性能,

在4M內(nèi)存的80386機器上也表現(xiàn)得非常好,至今人們還在津津樂道于此,

不過自從2.1.xx系列的內(nèi)核Linux開始走高端的路子—-硬件的發(fā)展太快了,

但是Linux不會失去它的本色.Linux具有良好的兼容性和可移植性,大約在

1.3版本之后,開始向其他硬件平臺上移植,包括號稱最快的CPU—Digital

Alpha(至少目前主頻是更高的).所以不要總把Linux與低檔硬件平臺聯(lián)系

到一塊,Linux發(fā)展到今天,這是一個誤區(qū),它只是將硬件的性能充分發(fā)揮

出來而已,Linux必將從低端應(yīng)用橫掃到高端應(yīng)用!

在Linux的發(fā)展歷程上還有一件重要的事:Linux加入GNU并遵循公共

版權(quán)許可證(GPL).此舉大大加強了GNU和Linux,幾乎所有應(yīng)用的GNU

庫/軟件都移植到Linux,完善并提高了Linux的實用性,而GNU有了一

個根基,我現(xiàn)在也搞不清楚到底是GNU Linux呢還是基于Linux的GNU.

更重要的是遵循公共版權(quán)許可證,在繼承自由軟件的精神的前

提下,不再排斥對自由軟件的商業(yè)行為(如把自由軟件打包以光盤形

式出售),不排斥商家對自由軟件進一步開發(fā),不排斥在Linux上開發(fā)

商業(yè)軟件.從此Linux又開始了一次飛躍,出現(xiàn)了很多的Linux發(fā)行版

,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多種,而且

還在增加,注意你不能說”Redhat Linux””Suse Linux””Slackware

Linux”等等,Linux主要指操作系統(tǒng)內(nèi)核,對所有發(fā)行版內(nèi)核原代碼

都是一樣的(但集成的內(nèi)核版本可能因發(fā)行時間不同而有所不同).

還有一些公司在Linux上開發(fā)商業(yè)軟件或把其他Unix平臺的軟件移

植到Linux上來,如今很多IT業(yè)界的大腕如IBM,Intel,Oracle,Infomix

,Syase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的

加盟彌補了純自由軟件的不足和發(fā)展障礙,Linux迅速普及到廣大計

算機愛好者,并且進入商業(yè)應(yīng)用,正是打破某些公司壟斷文化圈的希

望所在!!

Linux是愛好者們通過Internet協(xié)同開發(fā)出來的,當(dāng)然它的網(wǎng)絡(luò)功能十

分強大,比如你可以通過ftp,nfs等來安裝Linux,用它來做網(wǎng)關(guān)等等.

隨著Linux的發(fā)展衍生出來的應(yīng)用恐怕出乎Linus本人最初的預(yù)料,

如有人用它來做路由器,有人來做嵌入式系統(tǒng),有人來做實時性系統(tǒng).

…..常有新手問Linux能做什么,其實它不象那些中看不中用的操作

系統(tǒng),不在于你用它能干什么,而在于你想干什么!

Linux的興起還給人們很多啟迪與思考,如集市式軟件開發(fā)的討論,

又如自由軟件的精神……

.

參考資料:

單的說,Linux是Unix克隆(Unix clone)或Unix風(fēng)格(Unix alike)

的操作系統(tǒng)(OS),在原代碼級上兼容絕大部分Unix標(biāo)準(zhǔn)(指的是IEEE

POSIX,System V,BSD),是一個支持多用戶, 多進程,多線程,實時性

較好的功能

強大而穩(wěn)定的操作系統(tǒng).它可以運行在x86 PC,Sun Sparc,Digital Alpha

,680×0,PowerPC, MIPS等平臺上,可

以說Linux是目前運行硬件平臺最多的操作系統(tǒng). Linux更大的特點在于

它是GNU(Gnu’s Not Unix—-有點分形與混沌的意味—-無限自包含,

簡單的說GNU是一種自由軟件體系)的一員,遵循公共版權(quán)許可證(GPL),秉承

“自由的思想,開放的源碼”的原則,成千上萬的專家/愛好者通過Internet

在不斷地完善并維護它,可以說Linux是計算機愛好者自己的操作系統(tǒng).

追述Linux的歷史直到1990年,Linus Torvalds還是芬蘭赫爾辛基大

學(xué)的一名學(xué)生,最初是用匯編語言寫了一個在80386保護模式下處理

多任務(wù)切換的程序,后來從Minix(Andy Tanenbaum教授所寫的很小

的Unix操作系統(tǒng),主要用于操作系統(tǒng)教學(xué))得到靈感,進一步產(chǎn)生了

自認(rèn)為狂妄的想法—-寫一個比Minix更好的Minix,于是開始寫了

一些硬件的設(shè)備驅(qū)動程序,一個小的文件系統(tǒng),……,這樣0.0.1

版本的Linux就出來了,但是它只具有操作系統(tǒng)內(nèi)核的勉強的雛形,

甚至不能運行,你必須在有Minix的機器上編譯以后才能玩.這時候

Linus已經(jīng)完全著迷而不想停止,決定踢開Minix,于是在1991年10

月5號發(fā)布Linux 0.0.2版本,在這個版本中已經(jīng)可以運行bash

(the GNU Bourne Again Shell—-一種用戶與操作系統(tǒng)內(nèi)核通訊的軟件)

和gcc(GNU C 編譯器).從一開始,Linus就決定自由擴散Linux,包括原代碼,

他在comp.os.minix新聞討論組里發(fā)布Linux 0.0.2時寫到:

“Do you pine for nice days of Minix-1.1, when mem were men

and wrote their own device drivers? Are you without a nice

project and just dying to cut your teeth on a OS you can

try to modify for your needs? Are you finding it frustrsting

when everything works on Minix? No more all-nighters to

get a nifty program working? Then this post might be just

for you.

“As I mentioned a month ago, I’m working on a free version

of a Minix-lookalike for AT-386 computers. It has finally

reached the stage where it’s even usable(though may not be

depending on what you want),and I am willing to put out

the sources for wider distribution. It is just version

0.0.2 … but I’ve successfully run bash,gcc,gnu-make,

gnu-sed,compress,etc.under it.”

隨即Linux引起黑客們(hacker)的注意,通過計算機網(wǎng)絡(luò)加入了Linux的

內(nèi)核開發(fā),Linux傾向于成為一個黑客的系統(tǒng)—-直到今天,在Linux社區(qū)

里內(nèi)核的開發(fā)被認(rèn)為是真正的編程.由于一批高水平黑客的加入,使Linux

發(fā)展迅猛,到1993年底94年初,Linux 1.0終于誕生了! Linux 1.0已經(jīng)是一

個功能完備的操作系統(tǒng),而且內(nèi)核寫得緊湊高效,可以充分發(fā)揮硬件的性能,

在4M內(nèi)存的80386機器上也表現(xiàn)得非常好,至今人們還在津津樂道于此,

不過自從2.1.xx系列的內(nèi)核Linux開始走高端的路子—-硬件的發(fā)展太快了,

但是Linux不會失去它的本色.Linux具有良好的兼容性和可移植性,大約在

1.3版本之后,開始向其他硬件平臺上移植,包括號稱最快的CPU—Digital

Alpha(至少目前主頻是更高的).所以不要總把Linux與低檔硬件平臺聯(lián)系

到一塊,Linux發(fā)展到今天,這是一個誤區(qū),它只是將硬件的性能充分發(fā)揮

出來而已,Linux必將從低端應(yīng)用橫掃到高端應(yīng)用!

在Linux的發(fā)展歷程上還有一件重要的事:Linux加入GNU并遵循公共

版權(quán)許可證(GPL).此舉大大加強了GNU和Linux,幾乎所有應(yīng)用的GNU

庫/軟件都移植到Linux,完善并提高了Linux的實用性,而GNU有了一

個根基,我現(xiàn)在也搞不清楚到底是GNU Linux呢還是基于Linux的GNU.

更重要的是遵循公共版權(quán)許可證,在繼承自由軟件的精神的前

提下,不再排斥對自由軟件的商業(yè)行為(如把自由軟件打包以光盤形

式出售),不排斥商家對自由軟件進一步開發(fā),不排斥在Linux上開發(fā)

商業(yè)軟件.從此Linux又開始了一次飛躍,出現(xiàn)了很多的Linux發(fā)行版

,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多種,而且

還在增加,注意你不能說”Redhat Linux””Suse Linux””Slackware

Linux”等等,Linux主要指操作系統(tǒng)內(nèi)核,對所有發(fā)行版內(nèi)核原代碼

都是一樣的(但集成的內(nèi)核版本可能因發(fā)行時間不同而有所不同).

還有一些公司在Linux上開發(fā)商業(yè)軟件或把其他Unix平臺的軟件移

植到Linux上來,如今很多IT業(yè)界的大腕如IBM,Intel,Oracle,Infomix

,Syase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的

加盟彌補了純自由軟件的不足和發(fā)展障礙,Linux迅速普及到廣大計

算機愛好者,并且進入商業(yè)應(yīng)用,正是打破某些公司壟斷文化圈的希

望所在!!

Linux是愛好者們通過Internet協(xié)同開發(fā)出來的,當(dāng)然它的網(wǎng)絡(luò)功能十

分強大,比如你可以通過ftp,nfs等來安裝Linux,用它來做網(wǎng)關(guān)等等.

隨著Linux的發(fā)展衍生出來的應(yīng)用恐怕出乎Linus本人最初的預(yù)料,

如有人用它來做路由器,有人來做嵌入式系統(tǒng),有人來做實時性系統(tǒng).

…..常有新手問Linux能做什么,其實它不象那些中看不中用的操作

系統(tǒng),不在于你用它能干什么,而在于你想干什么!

Linux的興起還給人們很多啟迪與思考,如集市式軟件開發(fā)的討論,

又如自由軟件的精神……

.

參考資料:

請參考

Linux容器是與系統(tǒng)其他部分隔離開的一系列進程。運行這些進程所需的所有文件都由另一個鏡像提供,這意味著從開發(fā)到測試再到生產(chǎn)的整個過程中,Linux

容器都具有可移植性和一致性。因而,相對于依賴重復(fù)傳統(tǒng)測試環(huán)境的開發(fā)渠道,容器的運行速度要快得多。容器比較普遍也易于使用,因此也成了 IT

安全方面的重要組成部分。

本視頻介紹了Linux的基本概念和原理,特別是介紹了Linux發(fā)行版與Linux內(nèi)核的關(guān)系。

Linux下怎么完成Git的配置

使用git 自從git-1.5.4 , ‘git-xyz’ 這種用法就不提倡了,而推薦 ‘git xyz’ 風(fēng)格。 git 的后續(xù)段迅版本中將在 make install 時不再安裝 ‘git-xyz’ 這些 hardlinks 。 當(dāng)如果執(zhí)行 git –exec-path 輸出的目錄中依然有 git-xyz 這些腳本,你還是可以把這個路徑加到 PATH 環(huán)境變量中, 這樣還能夠使用 git-xyz 形式的腳本。 config我的一些簡單的配置: $ git-config user.name “Jike Song” $ git-config user.email $ git-config core.editor vim $ git-config core.pager “l(fā)ess -N” $ git-config color.diff true // 顯示 diff 時色彩高亮 $ git-config alias.co checkout // 給 git checkout 取個別名,這樣只輸入 git co 即可 $ git-config sendemail.tpserver /握兄此usr/bin/mtp 注意,這會在當(dāng)前 repository 目錄下的 .git/config 中寫入配置信息。 如果 git-config 加了 –global 選項,配置信息就會寫入到 ~/.gitconfig 文件中。 因為你可能用不同的身份參與不同的項目,而多個 項目都用 git 管理,所以建議不用 –global 配置。 $ git-val -l // 列出 git 變量 init —- $ git-init-db // 創(chuàng)建一個 .git/ 目錄,初始化一個空的 git 倉庫 //這個目錄在git-clone時也會創(chuàng)建。也就是說clone時會自動初始化git //倉庫里需要的東西 clone$ git-clone 是你想讓這個倉庫叫什么名字。 如果不指定,就會等塵鬧同于目標(biāo)倉庫的名字。 注意,這種 git server 形式的 repository ,都有一個 filename.git 文件; 而對于 *.git 的操作,也可以 針對.git 所在的目錄: $ mkdir tmp/ $ cd tmp/ $ git-clone ~/Sources/linux-2.6 或者通過 ssh : $ git-clone :/home/arc/Sources/linux-2.6 此時當(dāng)前目錄下有一個 .git/ 目錄 . 以下我們都在 linux-2.6/ 下演示: 使用git 自從git-1.5.4 , ‘git-xyz’ 這種用法就不提倡了,而推薦 ‘git xyz’ 風(fēng)格。 git 的后續(xù)版本中將在 make install 時不再安裝 ‘git-xyz’ 這些 hardlinks 。 當(dāng)如果執(zhí)行 git –exec-path 輸出的目錄中依然有 git-xyz 這些腳本,你還是可linux中clone原型的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux中clone原型,Linux中clone原型輕松掌握線程創(chuàng)建方法,Linux到底是一個什么樣的操作系統(tǒng),LINUX 容器是什么東西啊?有什么作用啊?,Linux下怎么完成Git的配置的信息別忘了在本站進行查找喔。

成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價格厚道。提供成都服務(wù)器托管租用、綿陽服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽服務(wù)器機房服務(wù)器托管租用。


標(biāo)題名稱:Linux中clone原型輕松掌握線程創(chuàng)建方法 (linux中clone原型)
分享URL:http://m.5511xx.com/article/cdhhdjp.html