<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 文件系統,第 1 部分:簡介 > 原文:<https://github.com/angrave/SystemProgramming/wiki/File-System%2C-Part-1%3A-Introduction> ## 導航/術語 ## 設計一個文件系統!你的設計目標是什么? 文件系統的設計是一個難題,因為我們希望滿足許多高級設計目標。一份不完整的理想目標清單包括: * 可靠且強大(即使由于功率損耗導致硬件故障或寫入不完整) * 訪問(安全)控件 * 會計和配額 * 索引和搜索 * 版本控制和備份功能 * 加密 * 自動壓縮 * 高性能(例如內存緩存) * 有效使用存儲重復數據刪除 并非所有文件系統本身都支持所有這些目標。例如,許多文件系統不會自動壓縮很少使用的文件 ## 什么是`.`,`..`和`...`? 在標準的 unix 文件系統中: * `.`代表當前目錄 * `..`代表父目錄 * `...`不是任何目錄的有效表示(這不是祖父目錄)。它 _ 可以 _ 然而是磁盤上文件的名稱。 ## 什么是絕對和相對路徑? 絕對路徑是從目錄樹的“根節點”開始的路徑。相對路徑是從樹中當前位置開始的路徑。 ## 有什么相對和絕對路徑的例子? 如果從主目錄開始(簡稱“?”),那么`Desktop/cs241`將是一個相對路徑。它的絕對路徑對應可能類似于`/Users/[yourname]/Desktop/cs241`。 ## 如何簡化`a/b/../c/./`? 請記住,`..`表示“父文件夾”,`.`表示“當前文件夾”。 示例:`a/b/../c/./` * 第 1 步:`cd a`(在 a 中) * 第 2 步:`cd b`(在 a / b 中) * 第 3 步:`cd ..`(在 a 中,因為..表示'父文件夾') * 第 4 步:`cd c`(在 a / c 中) * 第 5 步:`cd .`(在/ c 中,因為。表示'當前文件夾') 因此,該路徑可以簡化為`a/c`。 ## 什么是文件系統? 文件系統是如何在磁盤上組織信息。每當您想要訪問文件時,文件系統都會指示如何讀取文件。這是文件系統的示例圖像。 ![](https://img.kancloud.cn/d1/0b/d10b8f4f1b4c064185eecdcdf77e6ec1_631x418.jpg) 哇,這讓我們分手了 * 超級塊:此塊包含有關文件系統,大小,上次修改時間,日志,inode 數量和第一個 inode 啟動,數據塊數量和第一個數據塊啟動的元數據。 * Inode:這是關鍵的抽象。 inode 是一個文件。 * 磁盤塊:這些是存儲數據的位置。文件的實際內容 ## inode 如何存儲文件內容? ![](https://img.kancloud.cn/fd/d4/fdd407ce33261ec886c55c31ed7faa5e_1379x870.jpg) 來自[維基百科](http://en.wikipedia.org/wiki/Inode): > _ 在 Unix 風格的文件系統中,索引節點(非正式地稱為 inode)是用于表示文件系統對象的數據結構,該文件系統對象可以是各種事物之一,包括文件或目錄。每個 inode 都存儲文件系統對象數據的屬性和磁盤塊位置。文件系統對象屬性可以包括操縱元數據(例如,改變,訪問,修改時間),以及所有者和許可數據(例如,組 ID,用戶 ID,許可)。_ 要讀取文件的前幾個字節,請按照第一個間接塊指針指向第一個間接塊并讀取前幾個字節,寫入是相同的過程。如果你想讀取整個文件,繼續閱讀直接塊,直到你的大小用完(我們將討論一些間接塊) > “計算機科學中的所有問題都可以通過另一層次的間接解決。” - 大衛惠勒 ## 為什么要使磁盤塊與內存頁面大小相同? 為了支持虛擬內存,我們可以在內存中填充內容。 ## 我們想為每個文件存儲哪些信息? * 文件名 * 文件大小 * 創建時間,上次修改,上次訪問 * 權限 * 文件路徑 * 校驗 * 文件數據(inode) ## 傳統權限是什么:用戶 - 組 - 文件的其他權限? 一些常見的文件權限包括: * 755:`rwx r-x r-x` user:`rwx`,組:`r-x`,其他:`r-x` 用戶可以讀,寫和執行。小組和其他人只能閱讀和執行。 * 644:`rw- r-- r--` user:`rw-`,組:`r--`,其他:`r--` 用戶可以讀寫。小組和其他人只能閱讀。 ## 每個角色的常規文件的 3 個權限位是什么? * 讀(最重要的位) * 寫(第 2 位) * 執行(最低有效位) ## “644”“755”是什么意思? 這些是八進制格式的權限示例(基數 8)。每個八進制數字對應不同的角色(用戶,組,世界)。 我們可以按如下方式讀取八進制格式的權限: * 644 - R / W 用戶權限,R 組權限,R 世界權限 * 755 - R / W / X 用戶權限,R / X 組權限,R / X 世界權限 ## 你可以在每個間接表中存儲多少個指針? 作為一個有效的例子,假設我們將磁盤劃分為 4KB 塊,并且我們想要尋址最多 2 ^ 32 個塊。 最大磁盤大小為 4KB * 2 ^ 32 = 16TB(記住 2 ^ 10 = 1024) 磁盤塊可以存儲 4KB / 4B(每個指針需要 32 位)= 1024 個指針。每個指針指的是一個 4KB 磁盤塊 - 因此您可以參考最多 1024 * 4KB = 4MB 的數據 對于相同的磁盤配置,雙間接塊存儲 1024 個指向 1024 個間接表的指針。因此,雙間接塊可以指代最多 1024 * 4MB = 4GB 的數據。 類似地,三重間接塊可以指代最多 4TB 的數據。 [轉到文件系統:第 2 部分](https://github.com/angrave/SystemProgramming/wiki/File-System,-Part-2:-Files-are-inodes-(everything-else-is-just-data...))
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看