linux作業系統基礎有哪些
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: 容易出現該類別瓶頸的郵件伺服器、動態網頁伺服器
•記憶體: 容易出現該類別瓶頸的列印伺服器、資料庫伺服器、靜態網頁伺服器
•磁碟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)執行緒在執行過程中,需要協同同步。不同行程的執行緒間要利用訊息通訊的辦法實現同步。
相關學習推薦:linux影片
:
######################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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本研究全面深入剖析了在KaliLinux的滲透測試和安全審計流程中可能出現的軟體卸載難題,為保障系統穩定可靠貢獻了解決之道。一、了解軟體的安裝方式在進行應用程式卸載前kalilinux卸載軟體,首先確定其安裝路徑是至關重要的步驟。進而,根據所選途徑相應地挑選出適當的卸載方案。常見的安裝方法包括apt-get、dpkg以及原始碼編譯等各類別形式。每種策略都具備自身特性和相應的卸載措施。二、使用apt-get指令卸載軟體在KaliLinux系統中,apt-get功能元件被廣泛應用於高效便捷地執行軟體包

近日,國產作業系統麒麟Linux廣受矚目,個人人為資深電腦工程師麒麟linux安裝教程,對科技創新抱持濃厚興趣,故親身體驗了該系統的安裝流程,現將經驗在此和諸位共享。在執行安裝程序之前,我針對相關步驟進行了充分準備。首要任務是下載並拷貝最新的麒麟Linux作業系統鏡像至U盤;其次64位元linux,確保已備份個人設備中的重要數據,以應對潛在的安裝問題;最後,關閉電腦並插入U盤。進入安裝介面重新啟動電腦後,及時按下F12功能鍵,步入系統啟動選單選擇USB優先啟動項目。隨著一個美觀簡約的啟動畫面出現眼前

實際上,電腦使用了較長的一段時間之後,整體的效能都會呈現下降的趨勢,而對Windows系統的適應性也會不斷下降。除了電腦本身的原因,Windows系統不斷增強和擴展,對硬體需求也越來越高。因此,舊電腦安裝Windows系統後出現卡頓現象並不令人意外。之前,很多朋友都在後台詢問系統卡頓,舊電腦怎麼辦?如果你發現將新版Windows10系統安裝在舊電腦上會導致卡頓和操作問題,或許考慮轉向Linux系統是個不錯的選擇。大白菜整理了5個微型Linux系統,適合老舊電腦使用,可以有效降低CPU佔用率,讓你的

Linuxext2檔案系統是一種在大部分Linux作業系統上使用的檔案系統,它採用了一種高效的磁碟儲存結構來管理檔案和目錄的儲存。在深入探討Linuxext2檔案系統的實體儲存結構之前,我們首先需要先了解一些基本概念。在ext2檔案系統中,資料儲存在資料塊(block)中,資料塊是檔案系統中最小的可分配單位。每個資料塊有固定的大小,通常為1KB、2KB或4

解決Linux命令列顯示亂碼問題的方法在Linux作業系統中,有時候我們在使用命令列介面時會遇到顯示亂碼的情況,這會影響我們對命令輸出結果或檔案內容的正常檢視和理解。造成亂碼的原因可能是由於系統字元集設定不正確、終端軟體不支援顯示特定字元集、檔案編碼格式不統一等問題。本文將介紹一些解決Linux命令列顯示亂碼問題的方法,同時提供具體的程式碼範例,幫助讀者解決類別

為什麼Linux中的行程會處於休眠狀態?在Linux作業系統中,進程可能會處於休眠狀態,這是由於多種不同的原因和條件造成的。當進程處於休眠狀態時,表示該進程暫時被掛起,無法繼續執行,直到滿足某種條件後才能被喚醒繼續執行。接下來將詳細介紹在Linux中進程進入休眠狀態的幾種常見情況,並透過具體的程式碼範例加以說明。等待I/O完成:當進程發起一個I/O操作(例如讀取

身為資深Linux系統管理員,對於RedHat版Linux系統的分析與診治,本身已具備深厚的知識儲備與獨特觀感。此篇文章將深入解析RedHat版Linux系統的方方面面,主要包括識別其版本特徵、解碼版本編號以及遞迸測試版本更新的實際步驟等,以期幫助您全面掌握並高效利用RedHat作業系統的功能特性。 1.理解RedHat美國市值最高的網路公司之一,RedHat透過其在開源技術框架下研發的作業系統產品贏得了全球軟體市場的領先地位。旗下Linux發行版RedHatEnterpriseLinux(簡稱

如果您使用Linux作業系統,並希望系統在啟動時自動載入驅動器,可以透過將裝置的唯一識別碼(UID)和掛載點路徑新增至fstab設定檔來實現。 fstab是位於/etc目錄中的檔案系統表文件,它包含了系統在啟動時需要掛載的檔案系統的資訊。透過編輯fstab文件,您可以確保在每次系統啟動時都能正確載入所需的驅動器,從而確保系統的穩定運作。自動安裝驅動器可方便地應用於多種情境。例如,我計劃將系統備份到外部儲存設備。為了實現自動化,需確保設備與系統保持連接,甚至在啟動時。同樣,很多應用程式會直接
