操作系統:文件系統

目錄

1、文件

概念:

UNIX文件分類:

2、文件系統

3、文件的訪問方式

順序訪問

隨機訪問

4、文件的組織

邏輯組織

物理組織

5、倒排結構(了解)

5、文件目錄

文件控制塊(FCB)

?編輯

目錄項

單級目錄

二級目錄

多級目錄

6、文件目錄的改進

7、文件存儲空間的管理

空閑塊表

空閑塊鏈

位圖

8、內存所需表目


1、文件

概念:

具有符號名而且在邏輯上具有完整意義的信息項序列

UNIX文件分類:

1、普通文件

????????內容可以是程序、數據、圖象等,保存在磁盤塊中

2、目錄文件

????????(文件名,文件號)序列,保存在磁盤塊中

3、特殊文件

????????設備

2、文件系統

文件與管理信息資源的程序集合

3、文件的訪問方式

順序訪問

分類:

1、從文件頭開始順序訪問

2、從文件中間某處開始順序訪問

隨機訪問

分類:

1、按記錄編號隨機訪問,相當于數組訪問索引。

2、按關鍵字(key)隨機訪問,相當于Map通過鍵訪問鍵值。

4、文件的組織

邏輯組織

定義:用戶看到的文件組織形式

分類:

流式文件:字節的序列(UNIX, Windows, etc),文件的基本單位是字節

記錄式文件:

????????等長記錄(優點:處理方便,速度快;缺點:空間浪費)

????????不等長記錄(優點:省空間;缺點:處理不便,速度慢)

????????文件的基本單位是記錄。

? ? ? ? 一條記錄可能包含多個域,域指的是信息的一個特定類別或字段。

????????例如:一條員工記錄可能包含姓名、職位、部門、入職日期等域。

? ? ? ? 當記錄的域只有一個,且域的類型為字符型,則記錄式文件便退化為流式文件。

????????流式文件是記錄式文件的特例

物理組織

定義:邏輯組織(文件)到磁盤塊的映射

1、順序結構??

定義:一個文件占有若干連續的磁盤塊。

?2、鏈接結構:

定義:一文件可存于不連續塊中,塊間以指針相連。

3、索引結構

定義:一文件可存于不連續塊中,塊號記在索引塊中。

4、散列結構(重點):

????????雜湊結構,適用于定長記錄和按鍵隨機查找的訪問方式。一個文件由若干個記錄構成,一個記錄由若干個域。散列結構是通過給鍵key計算哈希值,從而計算出記錄在磁盤中或文件中的存儲位置。

????????hash(key)=addr (記錄在磁盤或文件中的存放位置)

? ? ? ? 對于哈希函數的沖突碰撞問題,采用順序探查法,如發生沖突,則從沖突位置開始順序探查第一個空閑的存儲位置。

要給記錄增加兩個域,一個是沖突計數,一個是空閑標記。沖突計數主要是記錄與當前地址發生沖突的個數,也就是說記錄位置=addr+沖突計數往回找。而空閑標志是來標志當前記錄空間是否被占用。以下是查找過程

5、倒排結構(了解)

????????定義:以鍵值和記錄地址構成的索引結構稱為倒排結構。以鍵值和記錄地址構成的索引結構稱為倒排結構。倒排結構以多個鍵和多個索引作為特征的。

????????優點:速度快

????????缺點:索引會帶來較大的系統開銷。

5、文件目錄

文件控制塊(FCB)

定義:文件存在的標志,其中保存系統管理文件需要的全部信息。每個文件都有一個文件控制塊。

目錄項

定義:目錄文件中的一項,內容為FCB。

單級目錄

定義:一個系統只有一個目錄。

二級目錄

定義:每個用戶都有一個自己的專有目錄。

多級目錄

定義:從根節點出發的目錄系統

6、文件目錄的改進

FCB次部(文件名,文件號)保存在目錄文件(內存)中。

FCB主部(其他,標識該主部與多少次部相對應的鏈接記數)保存在外存inode區域。

提示:當鏈接計數為0時,表示空閑未用的FCB主部。

7、文件存儲空間的管理

引入:用于保存文件的外存空間是被劃分為塊的,需要對外存塊進行管理。

空閑塊表

定義:所有空閑塊記錄同一個表中,表中包括兩欄目:首空閑塊號和空閑塊數。

空閑塊鏈

定義:所有空閑塊連成一條鏈。

位圖

定義:使用1bit表示外存儲器中一塊的狀態,1表示占用,0表示釋放。位圖需要永久保存在外存空間中。

8、內存所需表目

????????用戶打開文件表:用于記錄進程所打開的文件,其長度決定該進程可以同時開多少個文件,每個進程一個。

????????系統打開文件表:?存放在內存中,用來保存已打開文件的文件控制塊,其長度決定整個系統可以同時開多少個文件,整個系統一個。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63051.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

單元測試-FATAL ERROR in native method: processing of -javaagent failed

文章目錄 前言單元測試-FATAL ERROR in native method: processing of -javaagent failed1. 報錯信息2. 解決方案 前言 如果您覺得有用的話,記得給博主點個贊,評論,收藏一鍵三連啊,寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運…

決策曲線分析(DCA)中平均凈收益用于評價模型算法(R自定義函數)

決策曲線分析(DCA)中平均凈收益用于評價模型算法 DCA分析雖然不強調用來評價模型算法或者變量組合的優劣,但是實際應用過程中感覺DCA曲線的走勢和模型的效能具有良好的一致性,其實這種一致性也可以找到內在的聯系,比如…

快速且靠譜的簡單安裝 PostgreSQL 15 yum 安裝postgis3.3

快速且靠譜的簡單安裝 PostgreSQL 15 yum 安裝postgis3.3 1、確保已經安裝了PostgreSQL數據庫。2、添加PostGIS的EPEL倉庫3、使用YUM安裝PostGIS4、以下為其他安裝方式,一個個去找源碼的編譯安裝,過程較為繁瑣(不熟路的不推薦) 要…

工業大數據分析算法實戰-day05

文章目錄 day05分而治之中的MARS算法神經網絡逼近能力解釋 day05 今天是第5天,昨日從統計分析開始利用統計學的知識判斷當前樣本的分布以及估計總體的參數和假設檢驗的情況,以及介紹了線性回歸算法的相關優化點,但是畢竟線性回歸是線性劃分的…

在Ubuntu服務器上備份文件到自己的百度網盤

文章目錄 概述安裝bypy同步文件定時任務腳本 概述 之前自購了一臺阿里云服務器,系統鏡像為Ubuntu 22.04, 并且搭建了LNMP開發環境(可以參考:《Ubuntu搭建PHP開發環境操作步驟(保姆級教程)》)。由于項目運行中會產生附…

safe area helper插件

概述 顯示不同機型的必能顯示的區域 實現步驟 引入safearea,引入其中的safearea的csharp 為cancas加入gameobject gameobject中加入safearea腳本 將UI作為這個gameobject的子物體,就可以完成顯示

Unity 獲取鼠標點擊位置物體貼圖顏色

實現 Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit)) {textureCoord hit.textureCoord;textureCoord.x * textureMat.width;textureCoord.y * textureMat.height;textureColor textureMat.GetPixel(Mathf.Flo…

基于深度學習的貓狗識別系統【深度學習課設】

🏆 作者簡介:席萬里 ? 個人網站:https://dahua.bloggo.chat/ ?? 一名后端開發小趴菜,同時略懂Vue與React前端技術,也了解一點微信小程序開發。 🍻 對計算機充滿興趣,愿意并且希望學習更多的技…

05、GC基礎知識

JVM程序在跑起來之后,在數據的交互過程中,就會有一些數據是過期不用的,這些數據可以看做是垃圾,JVM中,這些垃圾是不用開發者管的,它自己會有一套垃圾回收系統自動回收這些內存垃圾,以備后面繼續…

什么是戰略思想?

古今中外,關于戰略是什么?有非常多的理論,也有不同的視角。 中國最早的涉及戰略的書籍據傳是黃帝所著的《握奇文》,后有較為系統的兵法戰略書籍為周朝姜太公(亦稱姜尚、姜子牙等)所著的《六韜》&#xff0c…

2024.12.15 TCP/IP 網絡模型有哪幾層?(二)

2024.12.15 TCP/IP 網絡模型有哪幾層?(二) 上節課我們學習了網絡模型有四部分構成,有應用層、傳輸層、網絡層、網絡接口層。 生成了 IP 頭部之后,接下來要交給網絡接口層(Link Layer)在 IP 頭部的前面加上 MAC 頭部&#xff0c…

51c深度學習~合集9

我自己的原文哦~ https://blog.51cto.com/whaosoft/12750420 #傅里葉特征 (Fourier Feature)與核回歸 位置編碼背后的理論解釋 本文探討了位置編碼背后的理論基礎,特別是傅里葉特征(Fourier Feature)與核回歸(Kern…

Flutter Navigator2.0的原理和Web端實踐

01 背景與動機 在Navigator 2.0推出之前,Flutter主要通過Navigator 1.0和其提供的 API(如push(), pop(), pushNamed()等)來管理頁面路由。然而,Navigator 1.0存在一些局限性,如難以實現復雜的頁面操作(如移…

代碼隨想錄算法訓練營第三天 | 鏈表理論基礎 | 707.設計鏈表

要求太多&#xff0c;代碼量太大&#xff0c;實在難以完成 在以前聽說&#xff0c;好的程序員&#xff0c;可以在短時生成大量的代碼&#xff0c;本題只方法才只有6個&#xff0c;根本不算多 每天手敲代碼量太少&#xff0c;才是問題 #include <iostream>class MyLink…

數據冒險、控制冒險、結構冒險

計算機組成原理 數據冒險、控制冒險、結構冒險 對所有用戶&#xff08;所有程序員&#xff09;可見&#xff1a;PSW、PC、通用寄存器 PSW&#xff08;條件轉移需要用到&#xff0c;程序員使用CMP指令的時候也需要用到所以是對用戶可見&#xff09;PC&#xff08;跳轉指令需要…

基于32單片機的RS485綜合土壤傳感器檢測土壤PH、氮磷鉀的使用(超詳細)

1-3為RS485綜合土壤傳感器的基本內容 4-5為基于STM32F103C8T6單片機使用RS485傳感器檢測土壤PH、氮磷鉀并顯示在OLED顯示屏的相關配置內容 注意&#xff1a;本篇文件講解使用的是PH、氮磷鉀四合一RS485綜合土壤傳感器&#xff0c;但里面的講解內容適配市面上的所有多合一的RS…

SpringBoot【十一】mybatis-plus實現多數據源配置,開箱即用!

一、前言&#x1f525; 環境說明&#xff1a;Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 正常情況下我們在開發系統的時候都是使用一個數據源&#xff0c;但是由于有些項目同步數據的時候不想造成數據庫io消耗壓力過大&#xff0c;便會一個項目對應多個數據源…

Node.js教程入門第一課:環境安裝

對于一個程序員來說&#xff0c;每學習一個新東西的時候&#xff0c;第一步基本上都是先進行環境的搭建&#xff01; 從本章節開始讓我們開始探索Node.js的世界吧! 什么是Node.js? 那么什么是Node.js呢&#xff1f;簡單的說Node.js 就是運行在服務端的 JavaScript JavaScript…

vim優化

1.編輯如下內容&#xff1a; cat > /root/.vimrc <<EOF set tabstop2 " 設置 Tab 為 2 個空格 set shiftwidth2 " 設置自動縮進為 2 個空格 set expandtab " 將 Tab 轉換為空格 " 基本設置 set number syntax on" 快捷鍵設置…

字符串性能對比

效率(1) : String.indexOf與String.contains效率測試_string contains效率-CSDN博客 結論是前者效率高&#xff0c;源碼里面conatins是使用indexof 在jdk8中contains直接調用的indexOf(其他版本沒有驗證),所以要說效率來說肯定是indexOf高,但contains也就多了一層方法棧,so 什…