就像我們了解的Windows和Mac OS,linux也是一個操作系統(tǒng)。如下圖,linux就是系統(tǒng)調(diào)用接口和內(nèi)核那兩層。

景寧畬族自治網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),景寧畬族自治網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為景寧畬族自治上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的景寧畬族自治做網(wǎng)站的公司定做!
通過上面的說明,我們知道了 Linux 其實(shí)就是一個操作系統(tǒng)最底層的核心及其提供的核心工具,任何人均可取得核心碼與可執(zhí)行這個核心程序,并且可以修改。此外,由于linux參考POSIX設(shè)計(jì)規(guī)范,于是 兼容UNIX操作系統(tǒng),故可稱為Unix Like的一種。
為了讓一般使用者能夠接觸到linux,很多的商業(yè)公司和非盈利團(tuán)體,就將linux kernal(含tools)與可運(yùn)行的軟件整合起來,加上自己具有創(chuàng)意的工具程序,這個工具程序可以讓用戶以光盤/DVD或者透過網(wǎng)絡(luò)直接安裝和管理linux系統(tǒng)。這個 kernal+softwares+tools的可完全安裝 ,我們稱其為 linux distribution(可完全安裝套件、linux發(fā)布商套件)
對于linux來說,所有的程序和系統(tǒng)裝置都是文件, 一切都是文件。
由于利用 Linux 來開發(fā)產(chǎn)品或distributions 的社群/公司與個人很多,若是每個人都用自己的想法來配置文件放置的目錄,就會造成個人不能使用他人的linux系統(tǒng)的PC。因?yàn)槟愀静恢酪恍┗镜呐渲茫募谀睦铮@就造成了混亂。所以,就有所謂的 Filesystem Hierarchy Standard(FHS) 標(biāo)準(zhǔn)出爐了。
也就是說,F(xiàn)HS 的重點(diǎn)在于規(guī)范每個特定的目錄下應(yīng)該要放置什么樣子的數(shù)據(jù)而已。
事實(shí)上,這個 FHS僅是規(guī)范出在根目錄 ( / ) 底下各個主要的目錄應(yīng)該是要放置什么樣的文件而已。 FHS 定義出兩層規(guī)范出來,第一層是 / 底下的各個目錄應(yīng)該要放置什么樣內(nèi)容的文件數(shù)據(jù),例如 /etc 應(yīng)該要放置設(shè)定檔, /bin 與 /sbin 則應(yīng)該要放置可執(zhí)行檔等等。第二層則是針對 /usr 及 /var 這兩個目錄的次目錄來定義的。 例如 /var/log 放置系統(tǒng)登錄文件、 /usr/share放置共享數(shù)據(jù)等等。
在一個文件系統(tǒng)中,我們總有一個被稱為 根目錄 的東西,這個根目錄里包含了所有其他目錄和文件。
在Windows中,可以有好幾個根目錄,比如說C盤(C:\)是你的硬盤的根目錄,H盤可能是你的光盤驅(qū)動器的根目錄。
Linux中有且只有一個根目錄,就是 / 。
如果以較為完整的樹狀目錄來視察的話, 可以將整個 Linux 的樹狀目錄繪制成下圖:
Linux是一個真實(shí)的、完整的 多用戶多任務(wù) 的操作系統(tǒng),多用戶多任務(wù)就是可以在系統(tǒng)上建立多個用戶,而多個用戶可以在同一時(shí)間內(nèi)登錄同一系統(tǒng)執(zhí)行各自不同的任務(wù),而互不影響。例如某臺Linux服務(wù)器上有4個用戶,分別是root、www、ftp和MySQL,在同一時(shí)間內(nèi),root用戶可能在查看系統(tǒng)日志,管理維護(hù)系統(tǒng);www用戶在修改自己的網(wǎng)頁程序;FTP用戶可能在上傳軟件到服務(wù)器;MySQL用戶在執(zhí)行自己的sql查詢,每個用戶互不干擾,有條不紊地進(jìn)行著自己的工作,而每個用戶不能越權(quán)訪問,比如www用戶不能執(zhí)行MySQL用戶的查詢操作,F(xiàn)TP用戶不能修改www用戶的網(wǎng)頁程序,由此可知, 不同用戶具有不同的權(quán)限,每個用戶在權(quán)限允許的范圍內(nèi)完成不同的任務(wù),Linux正是通過這種權(quán)限的劃分與管理,實(shí)現(xiàn)了多用戶多任務(wù)的運(yùn)行機(jī)制。
Linux下用戶是根據(jù)角色定義的,具體分為三種角色:
超級用戶 :系統(tǒng)管理員,擁有對系統(tǒng)的最高管理權(quán)限,默認(rèn)是root用戶
普通用戶 :只能對自己目錄下的文件進(jìn)行訪問和修改,具有登錄系統(tǒng)的權(quán)限,例如上面的www、FTP用戶等
虛擬用戶 :也叫“偽”用戶,這類用戶最大的特點(diǎn)就是不能登錄系統(tǒng),他們的存在主要是方便系統(tǒng)管理,滿足相應(yīng)的系統(tǒng)進(jìn)程對文件屬主的要求。例如系統(tǒng)默認(rèn)的bin、adm、nobody用戶等,一般運(yùn)行的web服務(wù),默認(rèn)就是使用的nobody用戶,但是nobody用戶是不能登錄系統(tǒng)的。
Linux是一個多用戶多任務(wù)的分時(shí)操作系統(tǒng),如果要使用系統(tǒng)資源,就必須向系統(tǒng)管理員申請一個賬戶,然后通過這個賬戶進(jìn)入系統(tǒng)。這個賬戶和用戶是一個概念,通過建立不同屬性的用戶,一方面,可以合理的利用和控制系統(tǒng)資源,另一方面也可以幫助用戶組織文件,提供對用戶文件的安全性保護(hù)。
每個用戶有用一個唯一的用戶名和用戶口令。
用戶組是具有相同特征用戶的邏輯集合 ,有時(shí)我們需要讓多個用戶具有相同的權(quán)限,比如查看、修改某一個文件的權(quán)限,一種方法是分別對多個用戶進(jìn)行文件訪問授權(quán),如果有10個用戶的話,就需要授權(quán)10次,顯然這種方法不太合理;另一種方法就是建立一個組,讓這個組具有查看、修改此文件的權(quán)限,然后將所有需要訪問此文件的用戶放入這個組中,那么所有的用戶就具有了和組一樣的權(quán)限,這就是用戶組。 用戶分組是Linux系統(tǒng)中對用戶進(jìn)行管理及控制訪問權(quán)限的一種手段,通過定義用戶組,很大程度上簡化了管理工作。
用戶和用戶組的關(guān)系有:
一對一:即一個用戶可以存在一個組中,也可以是組中的唯一成員
一對多:即一個用戶可以存在多個用戶組中,那么此用戶具有多個組的共同權(quán)限。
多對一:多個用戶可以存在一個組中,這些用戶具有和組相同的權(quán)限
多對多:多個用戶可以存在多個組中。
linux的語言是c語言寫的,c語言是嚴(yán)格區(qū)分大小寫的,linux命令中大小寫也是完全不同的。
終端展現(xiàn):
登錄linux終端后,linux默認(rèn)的命令行提示信息的格式:
說明 :有些命令即使你使用su root 切換到root用戶,仍無法執(zhí)行。所以還是建議使用su – root
x (access directory): x 與能否進(jìn)入該目錄有關(guān)
相對路徑就是相對當(dāng)前你所在路徑開始算。
絕對路徑是從linux最底層的根(/)開始算。
其中:在Linux中,絕對路徑是從/(根目錄)開始的,路徑最前面是/的話就是絕對路徑。
相對路徑是直接輸入當(dāng)前路徑下的文件夾或者以 . 或 .. 開始算的,.表示用戶當(dāng)前操作所處的位置,.. 表示上一級目錄。
舉個例子:
/home/oracle 這個路徑就是絕對路徑
./home/oracle 這個就是相對路徑,例如現(xiàn)在在/test路徑下,此條路徑換算成絕對路徑為/test/home/oracle
../home/oracel 這個也是相對路徑,例如現(xiàn)在在/test路徑下,此條路徑換算成絕對路徑為:/home/oracel
注意后面兩個的對比,..是回到上一級然后在往后算。
使用pwd命令可以查看當(dāng)前所在的絕對路徑。‘
如題中提出的問題,答案如下:
由于不清楚相對路徑是相對于哪個路徑,這里默認(rèn)在/目錄下。
用相對路徑名從usr/bin跳到/home/staff/john/project
答:cd ../../home/staff/john/project 或者 cd /home/staff/john/project
用絕對路徑名從usr/bin跳到/temp
答:cd ../../temp 或者 cd /temp
用相對路徑名從usr/bin跳到/etc/rc.d
答:cd ../../etc/rc.d 或者 cd /etc/rc.d
跳轉(zhuǎn)路徑可以直接輸入絕對路徑
每個Linux使用者在安裝Linux時(shí)都會遇到這樣的困境:在為系統(tǒng)分區(qū)時(shí),如何精確評估和分配各個硬盤分區(qū)的容量,因?yàn)橄到y(tǒng)管理員不但要考慮到當(dāng)前某個分區(qū)需要的容量,還要預(yù)見該分區(qū)以后可能需要的容量的最大值。如果估計(jì)不準(zhǔn)確,當(dāng)遇到某個分區(qū)不夠用時(shí)管理員可能甚至要備份整個系統(tǒng)、清除硬盤、重新對硬盤分區(qū),然后恢復(fù)數(shù)據(jù)到新分區(qū)
邏輯卷管理器LVM(Logicl Volume Manager),通過使用邏輯卷管理器對硬盤存儲設(shè)備進(jìn)行管理,可以實(shí)現(xiàn)硬盤空間的動態(tài)劃分和調(diào)整,而且可以將零碎的空間進(jìn)行整合
? 物理卷(PV-Physical Volume)
物理卷在邏輯卷管理中處于最底層,它可以是實(shí)際物理硬盤上的分區(qū),也可以是整個物理硬盤
? 卷組(VG-Volumne Group)
卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之后可動態(tài)添加物理卷到卷組中。一個邏輯卷管理系統(tǒng)工程中可以只有一個卷組,也可以擁有多個卷組
? 邏輯卷(LV-Logical Volume)
邏輯卷建立在卷組之上,卷中的未分配空間可以用于建立新的邏輯卷,邏輯卷建立后可以動態(tài)地?cái)U(kuò)展和縮小空間。系統(tǒng)中的多個邏輯卷可以屬于同一個卷組,也可以屬于不同的多個卷組
邏輯卷管理器和是主分區(qū)還是邏輯分區(qū)沒有關(guān)系
vgdisplay 里的PE Size是指邏輯卷的最小單位。假設(shè)PE Size是4M;比如我向里寫東西。我一個文件可能只占用1B的容量,但是我先占上4M,其他的也是,不足4M我也先占上4M。等到每個塊都用了,但是每個塊都有剩余位置的時(shí)候,會把每個區(qū)的剩余位置都拼湊一下,以供使用。但是只要還有沒被占用的塊,都不會使用用過的塊。邏輯卷大小為這個PE Size的整數(shù)倍
處在它所在的文件夾的時(shí)候是無法卸載的
我現(xiàn)在想創(chuàng)建兩個卷組,vg1和vg2。sdc1和sdc2給vg1,sdc3和sdc4給vg2
修改卷組屬性,用來設(shè)置卷組是否處于活動狀態(tài),活躍狀態(tài)的時(shí)候卷組無法被刪除,非活動狀態(tài)的卷組才能被刪除掉。VG Status:resizable是表示可被調(diào)整大小的狀態(tài)。lvremove時(shí)有可能因?yàn)檫壿嬀砝飽|西過多導(dǎo)致刪除邏輯卷的時(shí)候假刪除,即邏輯卷沒了,但是里面東西還在,這時(shí)卷組覺得它里面還有東西,就會處于活躍狀態(tài),這時(shí)需要↓
接下來resize1要用來做塊(邏輯卷)的放大,resize2要用來做塊的縮小。設(shè)備放大時(shí)不論是掛載狀態(tài)下或非掛載狀態(tài)下都可以做放大,即在線放大。但是縮小的話設(shè)備要是非掛載的狀態(tài),即離線縮小
df -lh
發(fā)現(xiàn)size大小變小了。之前給的resize1是800M,resize2是784M,這里的大小表示文件系統(tǒng)(filesystem)大小(即這個設(shè)備能存多少東西),剩下的容量mkfs,掛載的時(shí)候都會損耗一定的容量大小。文件系統(tǒng)大小不會隨著塊的變大或縮小而改變,需要手動才能改變文件系統(tǒng)大小。
? 放大要先放大塊的大小,再放大文件系統(tǒng)的大小
lvresize -L +200M /dev/vg3/resize1 放大邏輯卷
如果不帶+,會出現(xiàn)warning,+時(shí)是在原有基礎(chǔ)之上加200M,不加+的話就是將現(xiàn)有邏輯卷的大小調(diào)整成200M。如果比之前設(shè)置的邏輯卷小的話就證明是要將其縮小,會造成數(shù)據(jù)丟失
resize2fs /dev/vg3/resize1 調(diào)整文件系統(tǒng)大小,但是不會管你到底是放大還是縮小,就是將文件系統(tǒng)調(diào)整到它可以變大的最大程度
df -lh 看設(shè)備容量變大了
? 縮小的時(shí)候要先將文件系統(tǒng)縮小,再縮小邏輯卷的大小
umount /mnt/rs2/
resize2fs /dev/vg3/resize2 700M
出現(xiàn)提示 [請先輸入e2fsck -f /dev/vg3/resize2 命令],將處于多個塊當(dāng)中的內(nèi)容整理到一起,以便進(jìn)行縮小。但是也不能百分百保證數(shù)據(jù)不丟失
e2fsck -f /dev/vg3/resize2
resize2fs /dev/vg3/resize2 700M
lvresize -L 700M /dev/vg3/resize2
mount /dev/vg3/resize2 /mnt/rs2/ 重新掛載回來
df -lh 看系統(tǒng)里設(shè)備和文件系統(tǒng)掛載的使用情況
發(fā)現(xiàn)size變小了,縮小成功
ls -al命令來觀察文件權(quán)限,每個文件的權(quán)限都用10位表示,其中第一段占1位,表示第一個字符代表這個文件的類型(目錄,文件或鏈接文件)。
若為“d”則是目錄,若為“-”則是文件,若為“l(fā)”則表示鏈接文件,若為“”則表示為設(shè)備文件里面的可供存儲的周邊設(shè)備,若為“c”則表示為設(shè)備文件里面的串行端口設(shè)備,如鍵盤鼠標(biāo)。
第二段占3位,表示權(quán)限,均為[rwx]的三個參數(shù)的組合。其中r表示可讀,w表示可寫,x表示可執(zhí)行,如果沒有權(quán)限,則會顯示減號“-”。
擴(kuò)展資料:
Linux命令注意事項(xiàng):
Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統(tǒng)是不會做出你期望的響應(yīng)的。
Linux常用的命令:
clear,這個命令是用來清除屏幕的,它不需要任何參數(shù),和dos下面的cls具有相同的功能,如果你覺得屏幕太紊亂,就可以使用它清除屏幕上的信息。
目錄切換(cd),使用cd(Change Directory)命令可以在不同目錄之間切換。
列出目錄中的文件(ls),在Linux命令行終端中使用的最多的命令就是這個ls,它可以幫助我們列出當(dāng)前目錄下都有哪些文件。
參考資料來源:百度百科-Linux命令
開發(fā)十年經(jīng)驗(yàn)總結(jié),阿里架構(gòu)師的手寫Spring boot原理實(shí)踐文檔
阿里架構(gòu)師的這份:Redis核心原理與應(yīng)用實(shí)踐,帶你手撕Redis
Tomcat結(jié)構(gòu)原理詳解
說到進(jìn)程,恐怕面試中最常見的問題就是線程和進(jìn)程的關(guān)系了,那么先說一下答案: 在 Linux 系統(tǒng)中,進(jìn)程和線程幾乎沒有區(qū)別 。
Linux 中的進(jìn)程其實(shí)就是一個數(shù)據(jù)結(jié)構(gòu),順帶可以理解文件描述符、重定向、管道命令的底層工作原理,最后我們從操作系統(tǒng)的角度看看為什么說線程和進(jìn)程基本沒有區(qū)別。
首先,抽象地來說,我們的計(jì)算機(jī)就是這個東西:
這個大的矩形表示計(jì)算機(jī)的 內(nèi)存空間 ,其中的小矩形代表 進(jìn)程 ,左下角的圓形表示 磁盤 ,右下角的圖形表示一些 輸入輸出設(shè)備 ,比如鼠標(biāo)鍵盤顯示器等等。另外,注意到內(nèi)存空間被劃分為了兩塊,上半部分表示 用戶空間 ,下半部分表示 內(nèi)核空間 。
用戶空間裝著用戶進(jìn)程需要使用的資源,比如你在程序代碼里開一個數(shù)組,這個數(shù)組肯定存在用戶空間;內(nèi)核空間存放內(nèi)核進(jìn)程需要加載的系統(tǒng)資源,這一些資源一般是不允許用戶訪問的。但是注意有的用戶進(jìn)程會共享一些內(nèi)核空間的資源,比如一些動態(tài)鏈接庫等等。
我們用 C 語言寫一個 hello 程序,編譯后得到一個可執(zhí)行文件,在命令行運(yùn)行就可以打印出一句 hello world,然后程序退出。在操作系統(tǒng)層面,就是新建了一個進(jìn)程,這個進(jìn)程將我們編譯出來的可執(zhí)行文件讀入內(nèi)存空間,然后執(zhí)行,最后退出。
你編譯好的那個可執(zhí)行程序只是一個文件,不是進(jìn)程,可執(zhí)行文件必須要載入內(nèi)存,包裝成一個進(jìn)程才能真正跑起來。進(jìn)程是要依靠操作系統(tǒng)創(chuàng)建的,每個進(jìn)程都有它的固有屬性,比如進(jìn)程號(PID)、進(jìn)程狀態(tài)、打開的文件等等,進(jìn)程創(chuàng)建好之后,讀入你的程序,你的程序才被系統(tǒng)執(zhí)行。
那么,操作系統(tǒng)是如何創(chuàng)建進(jìn)程的呢? 對于操作系統(tǒng),進(jìn)程就是一個數(shù)據(jù)結(jié)構(gòu) ,我們直接來看 Linux 的源碼:
task_struct 就是 Linux 內(nèi)核對于一個進(jìn)程的描述,也可以稱為「進(jìn)程描述符」。源碼比較復(fù)雜,我這里就截取了一小部分比較常見的。
我們主要聊聊 mm 指針和 files 指針。 mm 指向的是進(jìn)程的虛擬內(nèi)存,也就是載入資源和可執(zhí)行文件的地方; files 指針指向一個數(shù)組,這個數(shù)組里裝著所有該進(jìn)程打開的文件的指針。
先說 files ,它是一個文件指針數(shù)組。一般來說,一個進(jìn)程會從 files[0] 讀取輸入,將輸出寫入 files[1] ,將錯誤信息寫入 files[2] 。
舉個例子,以我們的角度 C 語言的 printf 函數(shù)是向命令行打印字符,但是從進(jìn)程的角度來看,就是向 files[1] 寫入數(shù)據(jù);同理, scanf 函數(shù)就是進(jìn)程試圖從 files[0] 這個文件中讀取數(shù)據(jù)。
每個進(jìn)程被創(chuàng)建時(shí), files 的前三位被填入默認(rèn)值,分別指向標(biāo)準(zhǔn)輸入流、標(biāo)準(zhǔn)輸出流、標(biāo)準(zhǔn)錯誤流。我們常說的「文件描述符」就是指這個文件指針數(shù)組的索引 ,所以程序的文件描述符默認(rèn)情況下 0 是輸入,1 是輸出,2 是錯誤。
我們可以重新畫一幅圖:
對于一般的計(jì)算機(jī),輸入流是鍵盤,輸出流是顯示器,錯誤流也是顯示器,所以現(xiàn)在這個進(jìn)程和內(nèi)核連了三根線。因?yàn)橛布际怯蓛?nèi)核管理的,我們的進(jìn)程需要通過「系統(tǒng)調(diào)用」讓內(nèi)核進(jìn)程訪問硬件資源。
PS:不要忘了,Linux 中一切都被抽象成文件,設(shè)備也是文件,可以進(jìn)行讀和寫。
如果我們寫的程序需要其他資源,比如打開一個文件進(jìn)行讀寫,這也很簡單,進(jìn)行系統(tǒng)調(diào)用,讓內(nèi)核把文件打開,這個文件就會被放到 files 的第 4 個位置,對應(yīng)文件描述符 3:
明白了這個原理, 輸入重定向 就很好理解了,程序想讀取數(shù)據(jù)的時(shí)候就會去 files[0] 讀取,所以我們只要把 files[0] 指向一個文件,那么程序就會從這個文件中讀取數(shù)據(jù),而不是從鍵盤:
同理, 輸出重定向 就是把 files[1] 指向一個文件,那么程序的輸出就不會寫入到顯示器,而是寫入到這個文件中:
錯誤重定向也是一樣的,就不再贅述。
管道符其實(shí)也是異曲同工,把一個進(jìn)程的輸出流和另一個進(jìn)程的輸入流接起一條「管道」,數(shù)據(jù)就在其中傳遞,不得不說這種設(shè)計(jì)思想真的很巧妙:
到這里,你可能也看出「Linux 中一切皆文件」設(shè)計(jì)思路的高明了,不管是設(shè)備、另一個進(jìn)程、socket 套接字還是真正的文件,全部都可以讀寫,統(tǒng)一裝進(jìn)一個簡單的 files 數(shù)組,進(jìn)程通過簡單的文件描述符訪問相應(yīng)資源,具體細(xì)節(jié)交于操作系統(tǒng),有效解耦,優(yōu)美高效。
首先要明確的是,多進(jìn)程和多線程都是并發(fā),都可以提高處理器的利用效率,所以現(xiàn)在的關(guān)鍵是,多線程和多進(jìn)程有啥區(qū)別。
為什么說 Linux 中線程和進(jìn)程基本沒有區(qū)別呢,因?yàn)閺?Linux 內(nèi)核的角度來看,并沒有把線程和進(jìn)程區(qū)別對待。
我們知道系統(tǒng)調(diào)用 fork() 可以新建一個子進(jìn)程,函數(shù) pthread() 可以新建一個線程。 但無論線程還是進(jìn)程,都是用 task_struct 結(jié)構(gòu)表示的,唯一的區(qū)別就是共享的數(shù)據(jù)區(qū)域不同 。
換句話說,線程看起來跟進(jìn)程沒有區(qū)別,只是線程的某些數(shù)據(jù)區(qū)域和其父進(jìn)程是共享的,而子進(jìn)程是拷貝副本,而不是共享。就比如說, mm 結(jié)構(gòu)和 files 結(jié)構(gòu)在線程中都是共享的,我畫兩張圖你就明白了:
所以說,我們的多線程程序要利用鎖機(jī)制,避免多個線程同時(shí)往同一區(qū)域?qū)懭霐?shù)據(jù),否則可能造成數(shù)據(jù)錯亂。
那么你可能問, 既然進(jìn)程和線程差不多,而且多進(jìn)程數(shù)據(jù)不共享,即不存在數(shù)據(jù)錯亂的問題,為什么多線程的使用比多進(jìn)程普遍得多呢 ?
因?yàn)楝F(xiàn)實(shí)中數(shù)據(jù)共享的并發(fā)更普遍呀,比如十個人同時(shí)從一個賬戶取十元,我們希望的是這個共享賬戶的余額正確減少一百元,而不是希望每人獲得一個賬戶的拷貝,每個拷貝賬戶減少十元。
當(dāng)然,必須要說明的是, 只有 Linux 系統(tǒng)將線程看做共享數(shù)據(jù)的進(jìn)程 ,不對其做特殊看待 ,其他的很多操作系統(tǒng)是對線程和進(jìn)程區(qū)別對待的,線程有其特有的數(shù)據(jù)結(jié)構(gòu),我個人認(rèn)為不如 Linux 的這種設(shè)計(jì)簡潔,增加了系統(tǒng)的復(fù)雜度。
在 Linux 中新建線程和進(jìn)程的效率都是很高的,對于新建進(jìn)程時(shí)內(nèi)存區(qū)域拷貝的問題,Linux 采用了 copy-on-write 的策略優(yōu)化,也就是并不真正復(fù)制父進(jìn)程的內(nèi)存空間,而是等到需要寫操作時(shí)才去復(fù)制。 所以 Linux 中新建進(jìn)程和新建線程都是很迅速的 。
文章題目:linux底層命令,linux 底層
URL標(biāo)題:http://chinadenli.net/article27/dsspgjj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)