当前位置: 首页 > wzjs >正文

手机门户网站开发太原seo服务

手机门户网站开发,太原seo服务,湖南长沙市芙蓉区疫情最新消息,写字楼装修公司文章目录 一、理解硬件1、磁盘2、定位一个扇区3、磁盘的逻辑结构4、CHS 和 LBA地址 互相转换 二、引入文件系统1、引入“块”概念2、引⼊"分区"概念 三、ext2 ⽂件系统1、超级块 Super Block2、GDT(Group Descriptor Table)3、块位图&#xff…

文章目录

    • 一、理解硬件
        • 1、磁盘
        • 2、定位一个扇区
        • 3、磁盘的逻辑结构
        • 4、CHS 和 LBA地址 互相转换
    • 二、引入文件系统
        • 1、引入“块”概念
        • 2、引⼊"分区"概念
    • 三、ext2 ⽂件系统
        • 1、超级块 Super Block
        • 2、GDT(Group Descriptor Table)
        • 3、块位图(Block Bitmap)
        • 4、inode位图(Inode Bitmap)
        • 5、目录与文件名
        • 6、路径解析
        • 7、路径缓存
        • 8、挂载分区
        • 9、inode和datablock映射(弱化)
    • 四、软硬链接
        • 1、软链接
        • 2、硬链接

一、理解硬件

1、磁盘

速度慢、容量大、价格偏移

磁盘的存储结构
磁盘的基本单位是:扇区(512字节)
在这里插入图片描述
每一个盘面都对应两个磁头
所有磁头共进退,因为只有一个传动臂

在这里插入图片描述
所有磁头所在磁道共同构成一个柱面
磁盘写入的时候,是向柱面进行批量写入的!
在这里插入图片描述

2、定位一个扇区
  • 可以先定位磁头(header)
  • 确定磁头要访问哪⼀个柱⾯(磁道)(cylinder)
  • 定位⼀个扇区(sector)
  • CHS地址定位

⽂件 = 内容+属性 都是数据,⽆⾮就是占据那⼏个扇区的问题!

• 扇区是从磁盘读出和写⼊信息的最⼩单位,通常⼤⼩为 512 字节。
• 磁头(head)数:每个盘⽚⼀般有上下两⾯,分别对应1个磁头,共2个磁头
• 磁道(track)数:磁道是从盘⽚外圈往内圈编号0磁道,1磁道…,靠近主轴的同⼼圆⽤于停靠磁头,不存储数据
• 柱⾯(cylinder)数:磁道构成柱⾯,数量上等同于磁道个数
• 扇区(sector)数:每个磁道都被切分成很多扇形区域,每道的扇区数量相同
• 圆盘(platter)数:就是盘⽚的数量
• 磁盘容量=磁头数 × 磁道(柱⾯)数 × 每道扇区数 × 每扇区字节数

3、磁盘的逻辑结构

磁带上⾯可以存储数据,我们可以把磁带“拉直”,形成线性结构
在这里插入图片描述

那么磁盘本质上虽然是硬质的,但是逻辑上我们可以把磁盘想象成为卷在⼀起的磁带,那么磁盘的逻辑存储结构我们也可以类似于:
在这里插入图片描述
这样每⼀个扇区,就有了⼀个线性地址(其实就是数组下标),这种地址叫做LBA
磁道:
某⼀盘⾯的某⼀个磁道展开:
在这里插入图片描述

柱⾯:
整个磁盘所有盘⾯的同⼀个磁道,即柱⾯展开:
在这里插入图片描述
所有,寻址⼀个扇区:先找到哪⼀个柱⾯(Cylinder),在确定柱⾯内哪⼀个磁道(其实就是磁头位置,Head),在确定扇区(Sector),所以就有了CHS。

每⼀个扇区都有⼀个下标,我们叫做LBA(Logical Block Address)地址,其实就是线性地址。

4、CHS 和 LBA地址 互相转换

CHS 转成 LBA:

  • 磁头数*每磁道扇区数 = 单个柱⾯的扇区总数
  • LBA = 柱⾯号C单个柱⾯的扇区总数 + 磁头号H每磁道扇区数 + 扇区号S - 1
  • 即:LBA = 柱⾯号C*(磁头数每磁道扇区数) + 磁头号H每磁道扇区数 + 扇区号S - 1
  • 扇区号通常是从1开始的,⽽在LBA中,地址是从0开始的
  • 柱⾯和磁道都是从0开始编号的
  • 总柱⾯,磁道个数,扇区总数等信息,在磁盘内部会⾃动维护,上层开机的时候,会获取到这些参数。

LBA转成CHS:

  • 柱⾯号C = LBA // (磁头数*每磁道扇区数)【就是单个柱⾯的扇区总数】
  • 磁头号H = (LBA % (磁头数*每磁道扇区数)) // 每磁道扇区数
  • 扇区号S = (LBA % 每磁道扇区数) + 1
  • “//”: 表⽰除取整

二、引入文件系统

1、引入“块”概念

OS 文件系统访问磁盘,不以扇区为单位,而是以“块”为单位
其实硬盘是典型的“块”设备,操作系统读取硬盘数据的时候,其实是不会⼀个个扇区地读取,这样效率太低,⽽是⼀次性连续读取多个扇区,即⼀次性读取⼀个”块”(block)。
硬盘的每个分区是被划分为⼀个个的”块”。⼀个”块”的⼤⼩是由格式化的时候确定的,并且不可以更改,最常⻅的是4KB,即连续⼋个扇区组成⼀个 ”块”。”块”是⽂件存取的最⼩单位。

stat 任何一个文件,它的 IO Block 为 4KB
在这里插入图片描述
• 知道LBA:块号 = LBA/8
• 知道块号:LAB=块号*8 + n. (n是块内第⼏个扇区)
在这里插入图片描述

2、引⼊"分区"概念

其实磁盘是可以被分成多个分区(partition)的,以Windows观点来看,你可能会有⼀块磁盘并且将它分区成C,D,E盘。那个C,D,E就是分区。分区从实质上说就是对硬盘的⼀种格式化。但是Linux的设备都是以⽂件形式存在,那是怎么分区的呢?

柱⾯是分区的最⼩单位,我们可以利⽤参考柱⾯号码的⽅式来进⾏分区,其本质就是设置每个区的起始柱⾯和结束柱⾯号码。 此时我们可以将硬盘上的柱⾯(分区)进⾏平铺,将其想象成⼀个⼤的平⾯,如下图所⽰:

在这里插入图片描述

在这里插入图片描述

在Linux中分区还是太大了,会继续分组

三、ext2 ⽂件系统

在这里插入图片描述

1、超级块 Super Block

在这里插入图片描述

2、GDT(Group Descriptor Table)

在这里插入图片描述

3、块位图(Block Bitmap)

在这里插入图片描述

4、inode位图(Inode Bitmap)

在这里插入图片描述

5、目录与文件名

在这里插入图片描述

// readdir.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h> 
#include <dirent.h> 
#include <sys/types.h> 
#include <unistd.h> int main(int argc, char *argv[]) { if (argc != 2) { fprintf(stderr, "Usage: %s <directory>\n", argv[0]); exit(EXIT_FAILURE); } DIR *dir = opendir(argv[1]); // 系统调⽤,⾃⾏查阅 if (!dir) { perror("opendir"); exit(EXIT_FAILURE); } struct dirent *entry; while ((entry = readdir(dir)) != NULL) { // 系统调⽤,⾃⾏查阅 // Skip the "." and ".." directory entries if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) { continue; } printf("Filename: %s, Inode: %lu\n", entry->d_name, (unsigned long)entry->d_ino); 
} closedir(dir); return 0; 
}

在这里插入图片描述

6、路径解析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、路径缓存

在这里插入图片描述
在这里插入图片描述

8、挂载分区

在这里插入图片描述
在这里插入图片描述

$ dd if=/dev/zero of=./disk.img bs=1M count=5 #制作⼀个⼤的磁盘块,就当做⼀个分区 
$ mkfs.ext4 disk.img # 格式化写⼊⽂件系统 
$ mkdir /mnt/mydisk # 建⽴空⽬录 
$ df -h # 查看可以使⽤的分区 
$ sudo mount -t ext4 ./disk.img /mnt/mydisk/ # 将分区挂载到指定的⽬录 
$ sudo umount /mnt/mydisk # 卸载分区 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、inode和datablock映射(弱化)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、软硬链接

1、软链接
ln -s

在这里插入图片描述
软链接是一个独立的文件!因为他有独立的 inode number !
软链接起始就是Windows下的快捷方式!

unlink //删除软链接

在这里插入图片描述

2、硬链接
ln //硬链接

在这里插入图片描述
对文件进行备份
硬链接只能给普通文件进行建立,Linux系统不支持给目录建立硬链接!
容易形成路径环问题,不允许用户给目录建立硬链接

http://www.dtcms.com/wzjs/209250.html

相关文章:

  • wordpress企业网站教程安卓排名优化
  • 网站生成软件湖北百度推广电话
  • seo顾问咨询网站seo推广计划
  • 高端做网站公司东莞做网站哪个公司好
  • 北京市怀柔区住房城乡建设委网站搜索引擎推广的关键词
  • 中文网站做google广告好吗免费的seo
  • 深圳企业网站建设公司windows优化大师是什么
  • 网站建设游戏网站制作的基本流程是什么
  • 网站开发现状及研究意义收录
  • 广州网站建设第一公司站长工具是什么意思
  • 硅塑胶 东莞网站建设南宁百度seo排名
  • 微信小程序开发注意事项seo网络推广培训班
  • 百度自助网站建设百度关键词搜索引擎
  • 做什么网站流量大双11销售数据
  • wordpress支持代码高亮怎么seo快速排名
  • 纬天建筑工程信息资讯网优化优化
  • 15年做哪些网站致富网站seo哪里做的好
  • 网站标头图片切换关键词指数批量查询
  • 织梦cms做网站流程seo排名系统源码
  • python做网站开发网站设计公司苏州
  • 纪梵希网站设计分析最全磁力搜索引擎
  • 济南做网站公司网络舆情监测中心
  • 网站备案 取名资讯通不过百度公司在哪
  • 找平面设计师网站各网站收录
  • 谷哥做网站 是如何推广的求购买链接
  • 做网站是用ps还是ai百度贴吧官网首页
  • wordpress搬家后图片无法显示网络优化师是什么工作
  • 高端网站建设优化seo建站公司
  • 电子商务网站建设与维护总结免费网站建设制作
  • 滨州做网站的公司产品线上营销推广方案