Linux學(xué)習(xí)day01筆記

計(jì)算機(jī)基本組成

計(jì)算機(jī)基本組成

最底層為硬件--CPU,硬盤(pán),顯示器等,中間層為操作系統(tǒng)(內(nèi)核,OS也是軟件),通過(guò)API接口,最外層通過(guò)高級(jí)語(yǔ)言即可編程開(kāi)發(fā)應(yīng)用程序。

shell為人機(jī)交互接口,即OS的外殼,負(fù)責(zé)接收,理解用戶(hù)的指令,傳輸給內(nèi)核。sheel分為圖形化界面接口和命令行接口

內(nèi)核功能

  • 進(jìn)程管理

  • 內(nèi)存管理

  • 文件系統(tǒng)管理

  • 網(wǎng)絡(luò)管理

  • 硬件驅(qū)動(dòng)

  • 安全機(jī)制等等

  • CPU:主要由運(yùn)算器,寄存器,控制器組成,當(dāng)然,還有緩存,比如一級(jí)緩存,二級(jí)緩存等

  • 內(nèi)存:存放數(shù)據(jù),命令行等,

  • 硬盤(pán)

  • 顯示器

一些設(shè)備和概念

  • ROM:ROM是只讀存儲(chǔ)器(Read-Only Memory)的簡(jiǎn)稱(chēng),是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲(chǔ)器。其特性是一旦儲(chǔ)存資料就無(wú)法再將之改變或刪除。通常用在不需經(jīng)常變更資料的電子或電腦系統(tǒng)中,并且資料不會(huì)因?yàn)殡娫搓P(guān)閉而消失。
  • RAM:隨機(jī)存取存儲(chǔ)器(random access memory,RAM)又稱(chēng)作"隨機(jī)存儲(chǔ)器",是與CPU直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器,也叫主存(內(nèi)存)。它可以隨時(shí)讀寫(xiě),而且速度很快,通常作為操作系統(tǒng)或其他正在運(yùn)行中的程序的臨時(shí)數(shù)據(jù)存儲(chǔ)媒介。
  • 中斷控制(中斷(interrupt):鍵盤(pán)輸入,通知CPU,硬盤(pán)通知機(jī)制)
  • 南橋:低速總線,連接大量I/O設(shè)備,硬盤(pán),鍵盤(pán)
  • 北橋:離CPU最近,高速總線控制器,高頻下工作
  • 南橋?qū)⒏髟O(shè)備匯總到一條線,連接到北橋,北橋轉(zhuǎn)給CPU
  • 不過(guò)現(xiàn)在,多將內(nèi)存,CPU直接連接,速度更快,北橋只負(fù)責(zé)連接南橋了
  • 現(xiàn)在很多服務(wù)器,通過(guò)在北橋上接SSD(固態(tài)硬盤(pán)),即CPU--北橋--SSD,更快

  • 內(nèi)存與CPU,內(nèi)存運(yùn)行慢,CPU快,為了讓CPU持續(xù)運(yùn)轉(zhuǎn),于是有了緩存

  • 緩存:緩存就是數(shù)據(jù)交換的緩沖區(qū)(稱(chēng)作Cache),當(dāng)某一硬件要讀取數(shù)據(jù)時(shí),會(huì)首先從緩存中查找需要的數(shù)據(jù),如果找到了則直接執(zhí)行,找不到的話則從內(nèi)存中找。由于緩存的運(yùn)行速度比內(nèi)存快得多,故緩存的作用就是幫助硬件更快地運(yùn)行。

  • 緩存級(jí)數(shù)越小,說(shuō)明離CPU越近,速度越快,造價(jià)越高

  • 一級(jí)緩存:一級(jí)緩存都內(nèi)置在CPU內(nèi)部并與CPU同速運(yùn)行,可以有效的提高CPU的運(yùn)行效率。一級(jí)緩存越大,CPU的運(yùn)行效率越高,但受到CPU內(nèi)部結(jié)構(gòu)的限制,一級(jí)緩存的容量都很小。

  • 二級(jí)緩存:CPU高速緩存(CPU Cache,在本文中簡(jiǎn)稱(chēng)緩存)是用于減少處理器訪問(wèn)內(nèi)存所需平均時(shí)間的部件。在金字塔式存儲(chǔ)體系中它位于自頂向下的第二層,僅次于CPU寄存器。其容量遠(yuǎn)小于內(nèi)存,但速度卻可以接近處理器的頻率。最初緩存只有一級(jí),二級(jí)緩存(L2 CACHE)出現(xiàn)是為了協(xié)調(diào)一級(jí)緩存與內(nèi)存之間的速度。二級(jí)緩存比一級(jí)緩存速度更慢,容量更大,主要就是做一級(jí)緩存和內(nèi)存之間數(shù)據(jù)臨時(shí)交換的地方用。

  • 三級(jí)緩存:三級(jí)緩存是為讀取二級(jí)緩存后未命中的數(shù)據(jù)設(shè)計(jì)的-種緩存,在擁有三級(jí)緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。其運(yùn)作原理在于使用較快速的儲(chǔ)存裝置保留一份從慢速儲(chǔ)存裝置中所讀取數(shù)據(jù)且進(jìn)行拷貝,當(dāng)有需要再?gòu)妮^慢的儲(chǔ)存體中讀寫(xiě)數(shù)據(jù)時(shí),緩存(cache)能夠使得讀寫(xiě)的動(dòng)作先在快速的裝置上完成,如此會(huì)使系統(tǒng)的響應(yīng)較為快速。
    所以計(jì)算機(jī)主頻大不說(shuō)明性能優(yōu),還要看緩存,緩存大,性能好。
    內(nèi)存的數(shù)據(jù),先到二級(jí)緩存,再到一級(jí)緩存


局部性原理

局部性原理是指CPU訪問(wèn)存儲(chǔ)器時(shí),無(wú)論是存取指令還是存取數(shù)據(jù),所訪問(wèn)的存儲(chǔ)單元都趨于聚集在一個(gè)較小的連續(xù)區(qū)域中。

  • 時(shí)間局部性(Temporal Locality):如果一個(gè)信息項(xiàng)正在被訪問(wèn),那么在近期它很可能還會(huì)被再次訪問(wèn)。
  • 空間局部性(Spatial Locality):在最近的將來(lái)將用到的信息很可能與現(xiàn)在正在使用的信息在空間地址上是臨近的。

程序的局部性原理

程序的局部性原理:是指程序在執(zhí)行時(shí)呈現(xiàn)出局部性規(guī)律,即在一段時(shí)間內(nèi),整個(gè)程序的執(zhí)行僅限于程序中的某一部分。相應(yīng)地,執(zhí)行所訪問(wèn)的存儲(chǔ)空間也局限于某個(gè)內(nèi)存區(qū)域。局部性原理又表現(xiàn)為:時(shí)間局部性和空間局部性。時(shí)間局部性是指如果程序中的某條指令一旦執(zhí)行,則不久之后該指令可能再次被執(zhí)行;如果某數(shù)據(jù)被訪問(wèn),則不久之后該數(shù)據(jù)可能再次被訪問(wèn)。空間局部性是指一旦程序訪問(wèn)了某個(gè)存儲(chǔ)單元,則不久之后。其附近的存儲(chǔ)單元也將被訪問(wèn)。

另外,根據(jù)程序的局部性理論,Denning提出了工作集理論。所謂工作集是指進(jìn)程運(yùn)行時(shí)被頻繁訪問(wèn)的頁(yè)面集合。顯然我們知道只要使程序的工作集全部集中在內(nèi)存中,就可以大大減少進(jìn)程的缺頁(yè)次數(shù);否則會(huì)使進(jìn)程在運(yùn)行過(guò)程中頻繁出現(xiàn)缺頁(yè)中斷,從而出現(xiàn)頻繁的頁(yè)面調(diào)入/調(diào)出現(xiàn)象,造成系統(tǒng)性能的下降,甚至出現(xiàn)“抖動(dòng)”。

劃分工作集可以按定長(zhǎng)時(shí)間或定長(zhǎng)頁(yè)面兩種方法進(jìn)行劃分。當(dāng)顛簸現(xiàn)象發(fā)生時(shí),說(shuō)明系統(tǒng)的負(fù)荷過(guò)大,通常采用處理器均衡調(diào)度。另一種是控制缺頁(yè)率,當(dāng)缺頁(yè)率達(dá)到上限時(shí),則增加內(nèi)存分配量;當(dāng)缺頁(yè)率達(dá)到下限時(shí),就減少內(nèi)存的分配量。


程序的移植

  • 機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是最初級(jí)且依賴(lài)于硬件的計(jì)算機(jī)語(yǔ)言。機(jī)器語(yǔ)言可直接在計(jì)算機(jī)上執(zhí)行(即為二進(jìn)制形式),運(yùn)算速度快。
  • 匯編語(yǔ)言:用有助于記憶的符號(hào)和地址符號(hào)來(lái)表示指令,便是匯編語(yǔ)言,也稱(chēng)為符號(hào)語(yǔ)言。一般稱(chēng)匯編語(yǔ)言為低級(jí)語(yǔ)言(當(dāng)然初級(jí)語(yǔ)言也屬于低級(jí)語(yǔ)言)。
  • 高級(jí)語(yǔ)言:是一種人工設(shè)計(jì)的語(yǔ)言,它對(duì)具體的算法進(jìn)行描述,所以又稱(chēng)為算法語(yǔ)言。高級(jí)語(yǔ)言獨(dú)立于計(jì)算機(jī)的硬件(即與具體的硬件無(wú)關(guān))。
  • 由于每一個(gè)廠家的芯片都有自己的一套機(jī)器語(yǔ)言,因此需要結(jié)合一種額外的機(jī)制來(lái)彌合不同芯片之間語(yǔ)言的不用,這套機(jī)制就是API(Application Programming Interface應(yīng)用程序接口)
  • API :API就是操作系統(tǒng)留給應(yīng)用程序的一個(gè)調(diào)用接口,應(yīng)用程序通過(guò)調(diào)用操作系統(tǒng)的 API 而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令(動(dòng)作)。

為了提高計(jì)算機(jī)運(yùn)行速度,有了多任務(wù)
(1)劃分CPU(slice),例如先運(yùn)行任務(wù)一5ms,然后運(yùn)行任務(wù)二5ms...即任務(wù)的交叉運(yùn)行
(2)內(nèi)存分段,(32位最多只能用4G內(nèi)存,64位可用4G個(gè)4G,超級(jí)大)


內(nèi)存分段

內(nèi)存中最前面這段即 加電自檢 部分

加電自檢:在加電之后,智能設(shè)備所運(yùn)行的內(nèi)部存儲(chǔ)的一系列檢測(cè)程序集合??s寫(xiě)為POST。這些檢測(cè)程序在軟件加載到硬件上運(yùn)行之前對(duì)硬件的基本完整性加以驗(yàn)證。

(3)那么由誰(shuí)來(lái)實(shí)現(xiàn)以上對(duì)內(nèi)存和CPU的分配劃分呢,即操作系統(tǒng)OS(一個(gè)運(yùn)行在硬件上的管理硬件資源的軟件),同時(shí)OS還負(fù)責(zé)進(jìn)程的啟動(dòng),切換等工作

Linux的基本原則

  • 由目的單一的小程序組成,通過(guò)組合小程序,完成復(fù)雜功能
  • 一切皆文件
  • 盡量避免捕獲用戶(hù)接口(即不跟用戶(hù)進(jìn)行交互)
  • 配置文件保存為純文本格式(即配置一個(gè)服務(wù)器,一個(gè)文本編輯器足以完成所有工作)

CLI接口(command-line interface,命令行界面)

  • 命令格式
  • 命令 選項(xiàng) 參數(shù)(命令的作用對(duì)象)
  • 虛擬終端(terminal):--Ctrl-- + Alt + F1 - F6
  • 用戶(hù)切換(root,studengt,visitor)
  • su:switch user
  • #su [-l] 用戶(hù)名 [ ]表示可以省略
  • exit 退出
  • 修改密碼
  • #password —————— 輸入兩次新密碼即可
  • 修改密碼的時(shí)候,root則可以改成任意密碼,普通用戶(hù)密碼需要滿足 * 密碼復(fù)雜性規(guī)則 *

1.使用4種類(lèi)型字符中的至少3中(大小寫(xiě),字符,數(shù)字)
2.足夠長(zhǎng),大于7位

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容