1.Linux由哪幾個子系統組成:java
進程調度,內存管理,虛擬文件系統,網絡接口,進程間通訊.node
進程調度:它控制着進程對CPU的訪問,當須要選擇一個進程開始運行時,由調度程序選擇最應該運行的進程;sql
內存管理:它容許多個進程安全地共享主內存區域,支持虛擬內存;從邏輯上能夠分爲硬件無關的部分和硬件相關的部分;安全
虛擬文件系統(VFS):它隱藏了各類不一樣硬件的具體細節,爲全部設備提供統一的接口,支持多達數十種不一樣的文件系統,分爲邏輯文件系統和設備驅動程序;服務器
網絡:它提供了對各類網絡標準協議的存取和各類網絡硬件的支持,分爲網絡協議和網絡驅動程序兩部分;網絡
進程間通訊:支持進程間各類通訊機制,包括共享內存、消息隊列和管道等。架構
2.進程的通訊方式:併發
管道、信號、報文、共享內存、信號量,套接口.負載均衡
進程和線程的區別jvm
進程英語process是計算機中已運行程序的實體。
線程英語thread是操做系統可以進行運算調度的最小單位。它被包含在進程之中是進程中的實際運做單位。一條線程指的是進程中一個單一順序的控制流
一個進程中能夠併發多個線程每條線程並行執行不一樣的任務。
① 進程是系統進行資源分配的基本單位有獨立的內存地址空間
線程是CPU調度的基本單位沒有單獨地址空間有獨立的棧局部變量寄存器 程序計數器等。
② 建立進程的開銷大包括建立虛擬地址空間等須要大量系統資源 建立線程開銷小基本上只有一個內核對象和一個堆棧。
③ 一個進程沒法直接訪問另外一個進程的資源同一進程內的多個線程共享進程的資源。
④ 進程切換開銷大線程切換開銷小進程間通訊開銷大線程間通訊開銷小。
⑤ 線程屬於進程不能獨立執行。每一個進程至少要有一個線程成爲主線程
3.硬連接軟連接:
硬鏈接:是給文件一個副本,同時創建二者之間的鏈接關係。修改其中一個,與其鏈接的文件同時被修改。若是刪除其中[color=red]任意一個[/color]其他的文件將不受影響。
軟鏈接:也叫符號鏈接,他只是對源文件在新的位置創建一個「快捷(借用一下wondows經常使用詞)」,因此,當源文件刪除時,符號鏈接的文件將成爲無源之水->僅僅剩下個文件名了,固然刪除這個鏈接,也不會影響到源文件,但對鏈接文件的使用、引用都是直接調用源文件的。
1):硬連接原文件和新文件的inode編號一致。而軟連接不同。
2):對原文件刪除,會致使軟連接不可用,而硬連接不受影響。
3):對原文件的修改,軟、硬連接文件內容也同樣的修改,由於都是指向同一個文件內容的。
4./mnt目錄主要用於什麼?/root目錄跟root用戶有什麼關係?/根目錄與/boot目錄有什麼聯繫?
/mnt通常用於掛載外接設備
/root是一個目錄,是root用戶的家目錄
/boot目錄是/目錄下的一個子目錄
5.Tomcat 防止內存溢出:
java jvm內存設置:catalina.sh設置內存
6.Mysql主從複製如何解決日誌的延遲?
使用主從複製+Amoeba實現負載均衡讀寫分離,在主從基礎上再使用垂直切分以及水平切分。
7.OSI七層與TCP/IP五層網絡架構:
TCP/IP 5層 | osi七層模型 | ||||
7 | 應用層 | 上層數據 | 應用層 | 計算機 | HTTP: FTP SMTP TFTP DNS |
6 | 表示層 | ||||
5 | 會話層 | ||||
4 | 傳輸層 | 數據段 | 傳輸層 | 防火牆 | TCP 、UDP |
3 | 網絡層 | 數據包 | 網絡層 | 路由器 | ICMP IGMP IP ARP RARP |
2 | 數據鏈路層 | 數據幀 | 數據鏈路層 | 交換機 | |
1 | 物理層 | 比特流 | 物理層 | 網卡 |
8.Arp病毒欺騙原理:
本來去向路由器的流量被欺騙後轉移到實施欺騙的主機上。
Arp***類型:
Ip地址衝突,ARP泛洪***,ARP掃描***
9.Mysql經常使用的數據引擎:
1>. innoDB 優點:提供了良好的事物管理、崩潰、修復能力和併發控制
缺點:讀寫效率稍差,佔用的數據空間相對比較大
使用場合:在承載的大部分項目執行insert和update的話,應選擇InnoDB
2>. MyISAM 優點:佔用空間小,處理速度快
缺點:不支持事務日誌的完整性和併發性
使用場合:在承載的大部分項目是讀多寫少的項目平臺中,而myISAM的讀寫性能是比 InnoDB強很多的
3>. MEMORY 優點:存儲速度快
缺點:缺少穩定性和完整性
10.Lsyncd內部是如何實現實時同步的?
採用inotify原理監聽某一目錄,若是目錄內發生增、刪、改、利用rsync協議自動同步到多個服務器;
Inotify 是一個 Linux特性,它監控文件系統操做。