<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 文件 - 磁盤上信息的一種抽象,把信息抽象成擁有名字的一個集合 - 不同文件系統對文件的表示方法不同,但提供相似的操作接口(POSIX標準) - Portable Operating System Interface ## 文件操作 - create創建空文件,并設置一些屬性 - delete刪除文件 - open將文件屬性和磁盤地址載入內存 - close關閉文件,釋放資源(有可能伴隨寫入) - read讀取當前位置數據;需要提供數據大小和緩沖區 - write在當前位置寫入數據(中間覆蓋,末尾追加 - append追加( write的特殊形式 - seek改變當前位置 - get attribute 獲取屬性 - Set attribute設置屬性 - rename重命名 ## 文件的實現方式 ### 連續分配 ![](https://img.kancloud.cn/a4/91/a49181af29e8c0579a8aa3364a0a5221_400x216.png) 會產生碎片問題 ![](https://img.kancloud.cn/4d/9a/4d9a2691854d0cd8d3db0db2e425472c_400x87.png) ### 鏈表分配 文件分成多個節點,用鏈表串起來 ![](https://img.kancloud.cn/2c/80/2c80fbbd2183b64cbe798b3074ef717d_400x95.png) 問題: 雖然每個塊都是4Kb,但是需要拿出幾個字節存儲下一層的指針,但是可存數據小于4Kb,但是很多程序都是4k對齊的 ### 內存中的鏈表分配 - FAT 把鏈表信息維護在內存中 ![](https://img.kancloud.cn/cb/80/cb80f001e278605e6d5a03a3f13ff4f2_400x340.png) 在內存中可以先獲取文件的起始塊,在硬盤中通過找到下一塊的地址(占4字節) 問題: 1T硬盤,每個塊4K 需要多大的FAT表 `$ \frac{1T}{4k}*4byte=\frac{2^{30}}{4}*byte=1G $` 需要一個1G 大小 ### index-node ![](https://img.kancloud.cn/20/38/203817a853fe9ee01d050724c8833cb1_800x346.png) 只有打開的文件才把 inode加載到內存中,更多 inode是在磁盤上 ![](https://img.kancloud.cn/7a/3b/7a3b45c58316fb871f032800ec2eb1fa_800x453.png) Inode 如何存儲大文件 ![](https://img.kancloud.cn/83/b4/83b4d322b5b7f073d2583ef80e9e340c_400x382.png)
                  <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>

                              哎呀哎呀视频在线观看