linux操作系統基礎知識有哪些

2020-08-13 14:00:24

linux操作系統基礎知識:1、操作系統區分實體記憶體和虛擬記憶體;2、瞭解記憶體和硬碟的關係;3、各個部分常出現的漏洞,如cpu容易出現該類瓶頸的郵件伺服器、動態web伺服器;4、掌握Linux本身的一些優化。

linux操作系統基礎知識:

1.操作系統總體介紹

•CPU: 就像人的大腦,主要負責相關事情的判斷以及實際處理的機制 機製。

查詢指令: cat /proc/cpuinfo

•記憶體: 大腦中的記憶區塊,將皮膚、眼睛等所收集到的資訊記錄起來的地方,以供CPU進行判斷。查詢指令: cat /proc/meminfo

實體記憶體

實體記憶體,就是我們將記憶體條插在主機板記憶體槽上的記憶體條的容量的大小。看計算機設定的時候,主要看的就是這個實體記憶體

虛擬記憶體

Windows中運用了虛擬記憶體技術,即拿出一部分硬碟空間來充當記憶體使用,當記憶體佔用完時,電腦就會自動呼叫硬碟來充當記憶體,以緩解記憶體的緊張。

關係:windows中虛擬記憶體和實體記憶體可能都會被使用,linux中,只有實體記憶體使用完了,纔會使用虛擬記憶體

•硬碟: 大腦中的記憶區塊,將重要的數據記錄起來,以便未來再次使用這些數據。

查詢指令: fdisk -l (需要root許可權)

2.記憶體和硬碟的關係

具體命令後面會介紹

3.操作系統監控命令>單獨寫一份

•vmstat

•sar

•iostat

•top

•free

•uptime

•netstat

•ps

•strace

•lsof

4.如何分析操作系統

實際流程: 讀數據》數據>硬碟》虛擬記憶體(swaP)》記憶體》cpu快取》執行佇列

分析方向,正好相反

5.各個部分常出現的漏洞

•CPU: 容易出現該類瓶頸的郵件伺服器、動態web伺服器

•記憶體: 容易出現該類瓶頸的列印伺服器、數據庫伺服器、靜態web伺服器

•磁碟I/O: 頻繁讀寫操作的專案

•網路頻寬: 頻繁大量上傳下載專案

6.Linux本身的一些優化

1. 系統安裝優化

當安裝linux系統時,磁碟劃分、 SWAP記憶體的分配都直接影響系統效能。對於虛擬記憶體SWAP的設定,現在已經沒有了所謂虛擬記憶體是實體記憶體兩倍的要求,但是根據經驗,如果記憶體較小(實體記憶體小於4GB),一般設定SWAP交換分割區大小爲記憶體的2倍;如果實體記憶體大約4GB小於16GB,可以設定SWAP大小等於或者略小於實體記憶體即可;如果記憶體在16GB以上,原則上可以設定SWAP爲0,但最好設定一定大小的SWAP

• 2. 內核參數優化

例如,如果系統部署的oracle數據庫應用,那麼就需要對系統共用記憶體段( kernel.shmmax, kenerl.shmmni, kernel.shmall)、

系統號志( kernel.sem)、檔案控制代碼( fs.file0max)等參數進行優化設定;如果部署的WEB應用,那麼就需要根據web應用特性進行網路參數的優化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、 net.core.somaxconn等網路

內核參數

• 3. 檔案系統優化

在linux下可選的檔案系統有ext2,、 ext3、 xfs、 ReiserFS

linux標準檔案系統是從VFS開始,然後ext、 ext2, ext2是linux上的標準檔案系統, ext3是在ext2基礎上增加日誌形成的。從VFS到ext3,設計思想沒有太大變化,都是早期UNIX家族基於超級塊和inode的設計理念設計而成。XFS檔案系統是SGI開發的一個高階日誌檔案系統,通過分佈處理磁碟請求、定位數據、保持cache的一致性來提供對檔案系統數據的低延遲、高頻寬的存取,因此XFS極具伸縮性,非常健壯,具有優秀的日誌記錄功能、可延伸性強、快速寫入等優點。ReiserFS在Hans Reiser領導下開發出來的一款高效能的日誌檔案系統,通過完全平衡樹來管理數據,包括檔案數據、檔名及日誌支援等。與ext2、 ext3相比,最大的優點是存取效能和安全性大幅提升。具有高效、合理利用磁碟空間,先將的日誌管理機制 機製,特意的搜尋方式,海量磁碟儲存等優點

4.重點知識

實體記憶體和虛擬記憶體

(1).如何檢視實體記憶體和虛擬記憶體?

Top 命令可以檢視實體記憶體和虛擬記憶體的數值

(2).Buffer

是硬碟控制器上的一塊記憶體晶片,具有極快的存取速度,它是硬碟內部儲存和外界介面之間的緩衝器。由於硬碟的內部數據傳輸速度和外界介面傳輸速度不同,快取在其中起到一個緩衝的作用。快取的大小與速度是直接關係到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體效能。

(3).Cache

CPU快取(Cache Memory)是位於CPU與記憶體之間的臨時記憶體,它的容量比記憶體小的多但是交換速度卻比記憶體要快得多。快取的出現主要是爲了解決CPU運算速度與記憶體讀寫速度不匹配的矛盾,因爲CPU運算速度要比記憶體讀寫速度快很多,這樣會使CPU花費很長時間等待數據到來或把數據寫入記憶體。在快取中的數據是記憶體中的一小部分,但這一小部分是短時間內CPU即將存取的,當CPU呼叫大量數據時,就可避開記憶體直接從快取中呼叫,從而加快讀取速度

(4).CPU中斷

當CPU執行完一條現行指令時,如果外設向CPU發出中斷請求,那麼CPU在滿足響應的情況下,將發出中斷響應信號,與此同時關閉中斷,表示CPU不在受理另外一個裝置的中斷。這時,CPU將尋找中斷請求源是哪一個裝置,並儲存CPU自己的程式計數器(PC)的內容。然後,他將轉移到處理該中斷源的中斷服務程式。CPU在儲存現場資訊,裝置服務(如交換數據)以後,將恢復現場資訊。在這些動作完成以後,開放中斷,並返回到原來被中斷的主程式的下一條指令。

(5).上下文切換

上下文切換(Context Switch) 或者環境切換

多工系統中,上下文切換是指CPU的控制權由執行任務轉移到另外一個就緒任務時所發生的事件。

在操作系統中,CPU切換到另一個進程需要儲存當前進程的狀態並恢復另一個進程的狀態:當前執行任務轉爲就緒(或者掛起、刪除)狀態,另一個被選定的就緒任務成爲當前任務。上下文切換包括儲存當前任務的執行環境,恢復將要執行任務的執行環境。

進程上下文用進程的PCB(過程控制塊,也稱爲PCB,即任務控制塊)表示,它包括進程狀態,CPU暫存器的值等。

通常通過執行一個狀態儲存來儲存CPU當前狀態,然後執行一個狀態恢復重新開始執行。

上下文切換會對效能造成負面影響。然而,一些上下文切換相對其他切換而言更加昂貴;其中一個更昂貴的上下文切換是跨核上下文切換(Cross-Core Context Switch)。一個執行緒可以執行在一個專用處理器上,也可以跨處理器。由單個處理器服務的執行緒都有處理器關聯(Processor Affinity),這樣會更加有效。在另一個處理器內核搶佔和排程執行緒會引起快取丟失,作爲快取丟失和過度上下文切換的結果要存取本地記憶體。總之,這稱爲「跨核上下文切換」。

6.進程和執行緒

進程概念

進程是表示資源分配的基本單位,又是排程執行的基本單位。例如,使用者執行自己的程式,系統就建立一個進程,併爲它分配資源,包括各種表格、記憶體空間、磁碟空間、I/O裝置等。然後,把該進程放人進程的就緒佇列。進程排程程式選中它,爲它分配CPU以及其它有關資源,該進程才真正執行。所以,進程是系統中的併發執行的單位。

執行緒概念

執行緒是進程中執行運算的最小單位,亦即執行處理機排程的基本單位。如果把進程理解爲在邏輯上操作系統所完成的任務,那麼執行緒表示完成該任務的許多可能的子任務之一

進程和執行緒的關係

(1)一個執行緒只能屬於一個進程,而一個進程可以有多個執行緒,但至少有一個執行緒。 (2)資源分配給進程,同一進程的所有執行緒共用該進程的所有資源。

(3)處理機分給執行緒,即真正在處理機上執行的是執行緒。

(4)執行緒在執行過程中,需要共同作業同步。不同進程的執行緒間要利用訊息通訊的辦法實現同步。

相關學習推薦:

注意:

1.Linux是大小寫敏感的系統,舉個例子,Mozilla, MOZILLA, mOzilla和 mozilla是四個不同的命令(但是隻有第四個mozilla是真正有效的命令)。還有,my_filE, my_file,和 my_FILE是三個不同的檔案。使用者的登錄名和祕密也是大小寫敏感的(這是因爲UNIX系統和C語言的傳統一向是大小寫敏感所致)。

2.檔名最多可以有256個字元,可以包含數位,點號」.」,下劃線」_」,橫桿」-」,加上其他一些不被建議使用的字元。

3.檔名前面帶」.」的檔案在輸入」ls」或者」dir」 命令時一般不顯示。可以把這些檔案看作是隱含檔案,當然你也可以使用命令」ls –a」來顯示這些檔案。

4.「/」對等於DOS下的」\」(根目錄,意味着所有其他目錄的父目錄,或者是在目錄之間和目錄和檔案之間的一個間隔符號)。舉個例子,cd /usr/doc。

5.在Linux系統下,所有的目錄顯示在單一目錄樹下(有別於DOS系統的驅動器標識)。這意味着所有的物理裝置上的所有檔案和目錄都合併在單一的目錄樹下。

6.在組態檔裡,以#打頭的行是註釋行。在修改組態檔的時候儘量不要刪除舊的設定――可以把原來的設定加上」#」變成註釋行,總是在修改地方對應地加入一些關於修改的註釋,你會發覺在以後的管理中獲益多多。

7.Linux是繼承性的多使用者操作系統。你的個人設定(和其他使用者的個人設定)放在你的主目錄下(一般是/home/your_user_login_name)。許多的組態檔的檔名都以」.」開頭,這樣使用者一般看不到這些檔案。

8.整個系統範圍的設定一般放在目錄/etc下。

9.和其他的多使用者操作系統類似,在Linux下,檔案和目錄有自己的擁有者和存取許可權。一般來說,你只被允許檔案到你的主目錄下(/home/your_user_login_name)。學習一些關於檔案許可權管理的相關知識,否則你肯定會覺得Linux實在很麻煩。

10.命令參數選項一般由」-」引導,後面跟一個字元(或者」--「,當選項超過一個字元時)。這樣,」-」有點象DOS下的」/」。舉個例子,輸入命令 rm --help。

相關推薦:

以上就是linux操作系統基礎知識有哪些的詳細內容,更多請關注php中文網其它相關文章!