中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

我想買個空間自己做網(wǎng)站steam交易鏈接在哪看

我想買個空間自己做網(wǎng)站,steam交易鏈接在哪看,購物網(wǎng)站建設源碼,北京seo實戰(zhàn)培訓班作者主頁: 作者主頁 本篇博客專欄:Linux 創(chuàng)作時間 :2024年10月17日 一、磁盤的物理結構 磁盤的物理結構如圖所示: 其中具體的物理存儲結構如下: 磁盤中存儲的基本單位為扇區(qū),一個扇區(qū)的大小一般為512字…

?9efbcbc3d25747719da38c01b3fa9b4f.gif

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??作者主頁:? ? ?作者主頁

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 本篇博客專欄:Linux

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??創(chuàng)作時間 :2024年10月17日

9efbcbc3d25747719da38c01b3fa9b4f.gif

一、磁盤的物理結構

磁盤的物理結構如圖所示:

其中具體的物理存儲結構如下:

磁盤中存儲的基本單位為扇區(qū),一個扇區(qū)的大小一般為512字節(jié)或者4kb,這里我們暫且認為是512字節(jié)。一般的磁盤,一個扇區(qū)都是512字節(jié),同半徑所有的扇區(qū)構成了一圈磁道。????????

所以我們要讀取指定文件數(shù)據(jù)的時候,要首先根據(jù)確定是哪一個盤面,其次再去確定是哪一個磁道,最后根據(jù)扇區(qū)的編號去定位扇區(qū)即可。其中通過磁頭、柱面(磁道)、扇區(qū)確來定位扇區(qū)的方法叫做CHS定位法。

?一個普通文件包括屬性 + 內(nèi)容,本質上都是數(shù)據(jù),占據(jù)一個或多個扇區(qū),我們既然能夠用?CHS?定位任意一個扇區(qū),就能定位任意多個扇區(qū),從而將文件從硬件角度讀取或者寫入。

二、磁盤邏輯抽象

我們已經(jīng)知道如果OS可以得知CHS的地址,就能夠訪問任意一個扇區(qū)。但是由于OS是軟件,磁盤是硬件,為了防止硬件發(fā)生迭代變化OS也要跟著變化,就要做好OS與硬件的解耦工作,因此OS內(nèi)部使用的不是CHS的地址。

為了減少進行IO操作的頻率,OS與外設進行IO操作的基本單位大小是4KB(可以調(diào)整)。就算只需要修改一個字節(jié)的數(shù)據(jù),也需要把這個數(shù)據(jù)所在的4KB大小的數(shù)據(jù)都加載進內(nèi)存,修改好后再統(tǒng)一寫回磁盤,因此我們把磁盤稱為塊設備。OS需要有一套新的地址來進行塊級別的訪問。

?把磁盤磁道看作一個連續(xù)的空間結構:

扇區(qū)就相當于連續(xù)的數(shù)組,此時定位一個扇區(qū)就只需要一個數(shù)組下標了。由于OS是以4KB為單位進行IO的,所以一個OS級別的文件塊要包括8個扇區(qū)。OS不關心扇區(qū)的概念,計算機常規(guī)的訪問地址是通過 起始地址 + 偏移量 的方式進行的,因此OS訪問數(shù)據(jù)塊時,只需要知道數(shù)據(jù)塊的起始地址 + 4KB 就可以了,把數(shù)據(jù)塊看作一種類型。

?所以塊的地址本質就是數(shù)組的一個下標N,以后就可以采用下標N的方式定位任意一個塊了。這種尋址方式被稱為 LBA ,即邏輯塊地址。

?獲得 LBA 地址后,通過簡單的數(shù)學計算就可以轉換成磁盤的 CHS 地址。假如已知 LBA = 6500 ,磁盤一個磁面的大小為 5000 ,一個磁道的大小為 1000 。則其對應的地址是第 2 個磁面,第 6 個磁道,第 500 個扇區(qū)。

從此之后,對于磁盤的管理就被抽象成了對一個大數(shù)組的管理。

三、文件系統(tǒng)

由于磁盤很大,為了更加方便的管理,OS對磁盤塊進行了分區(qū)。分區(qū)后再對每一個磁盤區(qū)域進行分組。具體結構如下:

在OS對磁盤進行分區(qū)時,會在最開始的位置設置一個 Boot Block ,這段區(qū)域里面主要保存與OS相關的內(nèi)容,比如分區(qū)表、鏡像地址等等。一般而言這個分區(qū)存在于 0 號盤面的 0 號磁道的 1 號扇區(qū)。當用戶開機時,OS會加載磁盤的驅動,讀取磁盤的分區(qū)表,再從特定分區(qū)的開始位置讀取到OS所在的地址,并加載OS,此時OS才算真正運行起來。

?在之后是OS對每一個分區(qū)進行分組形成的諸多?Block group,即塊組?。 每一個?Block group?都有上圖所示的?6?塊區(qū)域。

1、Super Block

Super Block保存的是文件系統(tǒng)的所有的屬性信息,包括文件系統(tǒng)的類型、整個分組的情況。記錄的信息主要有:block和inode的總量,未使用的block和inode的數(shù)量,一個block和inode的大小,最近一次掛載的時間,最后一次寫入數(shù)據(jù)的時間,最近一次寫入磁盤的時間等其他文件系統(tǒng)的相關信息。

2、Group Descriptor Table

GDT?為組描述符,保存該組內(nèi)的詳細統(tǒng)計等屬性信息。比如本組內(nèi)從哪里到哪里是哪部分內(nèi)容,本組被使用了多少等等。

3、inode Table

一般而言,我們把文件內(nèi)部所有屬性的集合叫做inode節(jié)點,一般大小為128字節(jié)。一個文件會有一個inode,一個分組內(nèi)會有大量的文件,也有大量的inode節(jié)點,所以在組內(nèi)會有一個專門的區(qū)域來保護這些inode節(jié)點,這個區(qū)域就叫做inode Table,也叫 inode 表。

在分組內(nèi)部,每個inode表都有自己的inode編號,inode編號本身也屬于對應文件的屬性,Linux查找一個文件的時候,也是通過inode編號來查找的。

一個inode對應一個文件,該文件的inode屬性和該文件對應的數(shù)據(jù)塊是有映射關系的。

4、Data Blocks

?文件的內(nèi)容是變化的,用數(shù)據(jù)塊來進行保存。所以要保存一個有效文件的內(nèi)容,就需要?n?個數(shù)據(jù)塊。如果有多個文件就需要多個數(shù)據(jù)塊。這些數(shù)據(jù)塊所在的區(qū)域就是?Data Blocks?。一個數(shù)據(jù)塊的默認大小是?4KB?。

Linux查找一個文件,首先找到該文件的inode。在inode結構體內(nèi)部有一個?int blocks[NUM]?數(shù)組,數(shù)組內(nèi)記錄了存儲該文件內(nèi)容的數(shù)據(jù)塊的地址。一個分組中,百分之95以上的內(nèi)容都是?Data Blocks?。

?當操作系統(tǒng)要加載一個文件時,只加載該文件的?inode?節(jié)點。而?inode?節(jié)點中包含該文件內(nèi)容數(shù)據(jù)塊的映射關系,想要訪問哪部分內(nèi)容,就根據(jù)映射關系把哪一部分內(nèi)容加載到內(nèi)存中。

5、inode Bitmap

inode Bitmap?是一個位圖結構,每個bit表示一個?inode?是否空閑可用。

6、Block Bitmap

?Block Bitmap?是一個位圖結構,記錄著?Data Block?中哪個數(shù)據(jù)塊已經(jīng)被占用,哪個數(shù)據(jù)塊沒
有被占用。

四、Linux下文件系統(tǒng)

在Linux中,使用?ls?指定加上?-i?命令選項,就可以觀察到文件的?inode?:

1、inode與文件名

Linux系統(tǒng)只認inode值,且inode屬性中不會包含文件名,因為文件名只是提供給用戶看的

任何一個文件一定存在于目錄中,目錄其實也是一個文件,也有自己的inode值和對應的數(shù)據(jù)塊,目錄的數(shù)據(jù)庫塊里保存的是該目錄的文件名和inode值對應的映射關系,而且在目錄內(nèi),文件名與inode編號互為key值

?inode number?在一個分區(qū)內(nèi)唯一有效,不能跨分區(qū)使用。根據(jù)?inode number?可以確定該文件在當前分區(qū)的哪一個分組。

2、文件的增刪查改

2.1、查看文件內(nèi)容

?當用戶訪問一個目標文件的內(nèi)容時,一定是在特定目錄下訪問的,具體流程如下:

  1. 先要在當前目錄下找到目標文件的 inode number 。
  2. 一個目錄也是文件,也隸屬于一個分區(qū),在該分區(qū)中通過目標文件的 inode number 找到分組,在該組的 inode Table 區(qū)域找到目標文件的 inode 。
  3. 通過目標文件的 inode 與對應 Data blocks 的映射關系,找到該文件的數(shù)據(jù)塊,加載到OS,最后顯示在顯示器上。
2.2、刪除文件

當用戶刪除一個目標文件時,具體流程如下:

  1. 在當前目錄下,根據(jù)文件名找到目標文件的 inode number 。
  2. 根據(jù) inode number 找到目標文件的 inode ,結合與對應 Data blocks 的映射關系,把 block bitmap 對應的比特位設置為 0 。
  3. 根據(jù) inode number 把 inode bitmap 對應的比特位設置為 0 。
2.3、創(chuàng)建文件

當用戶創(chuàng)建一個目標文件時,一定是在一個目錄下創(chuàng)建的。具體流程如下:

  1. OS在目錄所處的分組里掃描 inode bitmap ,找到空余的位置并設置為 1 ,獲得 inode number 。
  2. 把該文件創(chuàng)建出來后的默認屬性填充到對應的 inode 中。
  3. 在當前所處的目錄文件的 Data blocks 里追加一條新的文件名與 inode number 的映射關系。
2.4、補充內(nèi)容

?上面的內(nèi)容包括分區(qū)、分組、填寫系統(tǒng)屬性等等,這些工作都是OS做的。分區(qū)完成之后,為了讓分區(qū)能夠正常使用,需要對分區(qū)做格式化操作,即OS向分區(qū)寫入文件系統(tǒng)的管理屬性信息,并做區(qū)域劃分工作。如果區(qū)域劃分之前已經(jīng)做好了,那么格式化操作把位圖結構清空,把屬性字段設置為初始狀態(tài)就可以了。

?文件系統(tǒng)給 inode 與 Data blocks 建立映射關系通過數(shù)組來完成,由于 Data blocks 很大,為了能夠映射的過來,數(shù)組采用了直接索引、二級索引、三級索引的方式來完成映射,因為不是重點內(nèi)容,僅作了解,不作講解。

?文件系統(tǒng)中,有可能出現(xiàn) inode 沒用完,Data blocks 用完了。或者 inode 用完了,但是 Data blocks 還有剩余的情況。比如只建立一個文件,然后不斷地往這一個文件中塞入數(shù)據(jù),消耗 Data blocks?;蛘卟粩嗟亟⒖瘴募?#xff0c;消耗 inode 。這種問題目前是沒有辦法解決避免的。

五、軟硬鏈接

1、軟鏈接

建立軟鏈接指令:ln -s [目標文件] [軟鏈接文件名稱]

使用 code-soft 鏈接了code。code-soft 是一個鏈接文件。

?觀察到 code-soft 與 code.c的 inode number 不同,這說明軟鏈接是一個獨立的鏈接文件。有自己的 inode number,必有自己的inode屬性和內(nèi)容。軟鏈接的內(nèi)容是自己所指向的文件的路徑。可以讓用戶快速的找到目標文件。

?軟鏈接的具體用法是:如果一個目標文件的路徑非常深,我們每次訪問目標文件都要寫一遍很長的路徑,效率不高。此時就可以使用軟鏈接在工作目錄制作一個軟鏈接文件,以方便訪問目標文件。類似 Windows 系統(tǒng)中的快捷方式。

2、硬鏈接

建立硬鏈接指令:ln [目標文件] [軟鏈接文件名稱]

?具體操作如下:

?使用 code-hard 鏈接了code.c。 code-hard 是一個普通文件。

?觀察到 code-hard 與code.c的 inode number 相同,這說明硬鏈接與原文件是同一個文件,硬鏈接只是建立了新的文件名與老的inode number的映射關系,只修改了當前目錄的內(nèi)容。

? code-hard 與 code.c 的硬鏈接數(shù)都變成了 2 。意思是此時有兩種方法可以找到該文件,分別對應兩個文件名。硬鏈接數(shù),本質是一種引用計數(shù)。

現(xiàn)在我們使用指令?unlink?來刪除硬鏈接:

?此時文件的硬鏈接數(shù)又變成了 1?

接下來我們再創(chuàng)建一個目錄文件,觀察硬鏈接數(shù):

可以看到目錄文件的默認硬連接數(shù)是 2 。這是因為目錄文件天生擁有兩個硬鏈接,一個是它本身的名字,另一個是在該目錄內(nèi)部的 " . " 符號。如果目錄文件的內(nèi)部還有目錄文件,那么該目錄文件的硬鏈接數(shù)就變成了 3 :本身的名字、該目錄內(nèi)部的 " . " 符號、該目錄內(nèi)部的目錄內(nèi)的 " .. " 符號:

Linux中不允許對目錄進行硬鏈接

3、為什么要有硬鏈接

一、文件備份與冗余

  1. 提供額外的文件訪問路徑:創(chuàng)建硬鏈接后,多個文件名可以指向同一個文件的 inode(索引節(jié)點)。這意味著可以通過不同的路徑名來訪問同一個文件內(nèi)容。如果一個路徑名被意外刪除或損壞,仍然可以通過其他硬鏈接路徑訪問文件,起到了一種備份的作用。
  2. 增加文件的可靠性:在一些關鍵應用場景中,通過創(chuàng)建硬鏈接可以確保文件在多個位置都能被訪問,降低了因單個文件名丟失或損壞而導致數(shù)據(jù)丟失的風險。

二、文件管理與組織

  1. 方便文件共享:多個用戶或程序可以通過不同的硬鏈接路徑同時訪問同一個文件,無需復制文件內(nèi)容,節(jié)省了磁盤空間和時間。例如,在一個團隊項目中,不同的成員可以通過各自的工作目錄中的硬鏈接來訪問共享的文件,實現(xiàn)文件的協(xié)同操作。
  2. 簡化文件結構:可以使用硬鏈接來組織文件系統(tǒng),使得相關的文件可以通過多個路徑進行訪問。這對于一些復雜的文件系統(tǒng)結構或需要靈活訪問文件的情況非常有用。

三、與傳統(tǒng)文件系統(tǒng)的兼容性

  1. 與舊有系統(tǒng)和工具的兼容性:許多傳統(tǒng)的文件系統(tǒng)工具和應用程序都能夠理解和處理硬鏈接。這使得在從舊系統(tǒng)遷移到 Linux 或在不同的文件系統(tǒng)環(huán)境中工作時,能夠繼續(xù)使用熟悉的文件管理方式。
  2. 穩(wěn)定性和可靠性:硬鏈接的實現(xiàn)基于文件系統(tǒng)的底層結構,相對穩(wěn)定可靠。不像某些高級文件系統(tǒng)特性可能會在不同的操作系統(tǒng)版本或文件系統(tǒng)實現(xiàn)中存在差異,硬鏈接在大多數(shù)情況下都能提供一致的行為。

六、動靜態(tài)庫

動靜態(tài)庫的本質就是可執(zhí)行程序的"半成品"。

一段代碼生成一個可執(zhí)行程序需要以下的四個步驟:

  1. 預處理:完成頭文件的展開,去掉注釋,宏替換,條件編譯等,最終形成xx.i文件
  2. 編譯:完成語法分析,詞法分析,語義分析,符號匯總,檢查無誤后將代碼編譯成匯編指令,最終形成xx.s文件
  3. 匯編:將匯編指令轉換成二進制文件,xx.o文件
  4. 鏈接:將生成的各個.o文件進行鏈接,最終形成可執(zhí)行程序

詳細內(nèi)容在下一篇文章中……

最后:

十分感謝你可以耐著性子把它讀完和我可以堅持寫到這里,送幾句話,對你,也對我:

1.一個冷知識:
屏蔽力是一個人最頂級的能力,任何消耗你的人和事,多看一眼都是你的不對。

2.你不用變得很外向,內(nèi)向挺好的,但需要你發(fā)言的時候,一定要勇敢。
正所謂:君子可內(nèi)斂不可懦弱,面不公可起而論之。

3.成年人的世界,只篩選,不教育。

4.自律不是6點起床,7點準時學習,而是不管別人怎么說怎么看,你也會堅持去做,絕不打亂自己的節(jié)奏,是一種自我的恒心。

5.你開始炫耀自己,往往都是災難的開始,就像老子在《道德經(jīng)》里寫到:光而不耀,靜水流深。

最后如果覺得我寫的還不錯,請不要忘記點贊?,收藏?,加關注?哦(。・ω・。)

愿我們一起加油,奔向更美好的未來,愿我們從懵懵懂懂的一枚菜鳥逐漸成為大佬。加油,為自己點贊!

http://www.risenshineclean.com/news/61027.html

相關文章:

  • 湖南seo網(wǎng)站多少錢推廣優(yōu)化師
  • 如何做網(wǎng)站不容易被攻擊關鍵詞搜索推廣排行榜
  • 陜西省建設網(wǎng)官方網(wǎng)站seo搜索引擎優(yōu)化總結報告
  • 阿里云中英文網(wǎng)站建設福州關鍵詞搜索排名
  • 在線支付網(wǎng)站建設百度問一問免費咨詢
  • 做英語題的網(wǎng)站軟文新聞發(fā)布網(wǎng)站
  • 做網(wǎng)站實現(xiàn)登陸功能2023年12月疫情又開始了嗎
  • 手機怎樣制作網(wǎng)頁免費seo診斷
  • 為什么網(wǎng)站突然打不開品牌關鍵詞優(yōu)化哪家便宜
  • 代做網(wǎng)站名稱優(yōu)化b2b平臺推廣
  • 網(wǎng)站建設市場供需分析外鏈服務
  • 阿里巴巴電子商務網(wǎng)站專業(yè)營銷策劃團隊
  • 日用品網(wǎng)站1萬2做代理網(wǎng)絡營銷大賽策劃書
  • 太平洋建設21局網(wǎng)站互聯(lián)網(wǎng)推廣渠道有哪些
  • 化妝品網(wǎng)站制作需要湖南百度推廣
  • 一個公司做幾個網(wǎng)站seo標題優(yōu)化步驟
  • 告白網(wǎng)站怎么做網(wǎng)站快速收錄技術
  • WordPress和帝國安全聊城seo培訓
  • 順德網(wǎng)站制作案例教程培訓方案模板
  • 電話銷售做網(wǎng)站認證seo優(yōu)化上海牛巨微
  • 旅游網(wǎng)站建設價格簡述網(wǎng)絡營銷的概念
  • 網(wǎng)絡營銷論文總結seo是什么
  • 尋找建設網(wǎng)站客戶國外友鏈買賣平臺
  • 哈爾濱網(wǎng)站設計哪里有做廣告聯(lián)盟代理平臺
  • 網(wǎng)站頁面那個圖怎么做五種網(wǎng)絡營銷推廣方法
  • 深圳網(wǎng)站建設黃浦網(wǎng)絡-騙子seo需求
  • 國外網(wǎng)站推廣公司百度推廣投訴中心
  • 網(wǎng)站建設模板源代碼seo搜索引擎優(yōu)化步驟
  • 怎樣做化妝品公司網(wǎng)站國際新聞頭條今日要聞
  • 做一普通網(wǎng)站需要多少錢武漢seo群