• 操作系统学习笔记(十)-- 文件系统管理(上)


    最近开始学习操作系统原理这门课程,特将学习笔记整理成技术博客的形式发表,希望能给大家的操作系统学习带来帮助。同时盼望大家能对文章评论,大家一起多多交流,共同进步!

    本文主要分以下几个方面:

    • File Concepts 文件概念
    • Access Methods 访问方式
    • Directory Structure 目录结构:按名存取
    • Protection 保护

    文件结构:

    • None 无结构:由字或字节的序列组成
    • Simple record structure:简单记录结构:行,定长,变长
    • Complex Structure 复杂结构:格式化,重定位
    • Who decides:OS, Program 定义

    文件属性:文件信息由目录结构保存,储存在磁盘中

    • Name 名字
    • Type 类型
    • Location 位置
    • Size 大小
    • Protection 保护
    • Time, date and user identification 时间,日期和用户信息

    文件操作 File Operation: Create, Write, Read, Seek(定位), Delete, Truncate(截取)

    Open(Fi):查找文件目录,找到文件对应的目录表目,然后将表目的内容拷贝入主存

    Close(Fi):将Fi目录的内容写回磁盘,中断文件与内存的联系

    访问方式:

    • 顺序访问 Sequential Access:read next, write next, reset 主要针对顺序介质(磁带)
    • 直接访问 Direct Access:磁盘定位+扇区定位

    目录结构:

    • 包含文件相关信息(基本属性)的集合
    • 文件和文件信息都保存在磁盘上

    目录信息:文件名,文件类型,位置信息,当前长度,最大长度,上次访问时间,上次修改时间,创建者标识,保护信息

    对目录操作:

    1. 查找文件
    2. 创建文件
    3. 删除文件
    4. 列目录下文件
    5. 重命名文件
    6. 遍历文件系统

    目录的目的:

      1. Efficiency - 快速定位文件

      2. Naming 命名 - 方便用户使用

      • 允许多个用户对于不同的文件有相同的文件名
      • 相同的文件可以有不同的文件名

      3. Grouping - 对文件按照属性进行分组

    单级目录  Single-Level Directory:所有用户创建文件在一个目录下。

    缺点:1. Naming problem 命名冲突 2. Grouping problem 单级目录下不支持分组

    两级目录 Two-Level Directory:为每个用户划分目录

    树型结构目录  Tree-Structure Directories

    1. 查询效率高

    2. 可继续分组

    3. 绝对路径/相对路径

    4. 创建新文件都在当前目录下

    5. 删除文件 rm <file-name>; 在当前目录创建新的字目录 mkdir<dir-name>

    无环图结构目录 Acyclic-Graph Directories

    • 可以在子目录间共享文件
    • 同一内容可以有不同名字
    • 删除共享节点可能引入危险指针,解决方法:1. 引入计数器计共享该内容的进程数,当无进程共享时删除实体空间;2. 把所有指向该实体空间的指针都删除

    通用图目录 General Graph Directory

    保护 Protection

    文件拥有者需要控制访问方式/访问用户。

    访问方式:Read, Write, Execute, Append, Delete, List

  • 相关阅读:
    3D Bezier Curve, Matlab Code
    Matlab Bezier
    python与matlab混合编程
    Matlab P文件——加快Matlab程序,保护你的算法(z)
    Simens NX (原UG)内部代码逆向分析 / Inner code Reverse analysis of NX software
    Matlab扩展编程
    《数值分析及其MATLAB实现》(任玉杰)扫描版[PDF]
    NURBS Toolbox by D.M. Spink (matlab)
    贝塞尔曲线
    BSpline & NURBS (Matlab Code)
  • 原文地址:https://www.cnblogs.com/PaulingZhou/p/5389227.html
Copyright © 2020-2023  润新知