1.Linux由哪幾個子系統組成:
進程調度,內存管理,虛擬文件系統,網絡接口,進程間通信.
進程調度:它控制着進程對CPU的訪問,當需要選擇一個進程開始運行時,由調度程序選擇最應該運行的進程;
內存管理:它允許多個進程安全地共享主內存區域,支持虛擬內存;從邏輯上可以分爲硬件無關的部分和硬件相關的部分;
虛擬文件系統(VFS):它隱藏了各種不同硬件的具體細節,爲所有設備提供統一的接口,支持多達數十種不同的文件系統,分爲邏輯文件系統和設備驅動程序;
網絡:它提供了對各種網絡標準協議的存取和各種網絡硬件的支持,分爲網絡協議和網絡驅動程序兩部分;
進程間通信:支持進程間各種通信機制,包括共享內存、消息隊列和管道等。
2.進程的通信方式:
管道、信號、報文、共享內存、信號量,套接口.
進程和線程的區別
進程英語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特性,它監控文件系統操作。