文件系统 - 学习/实践

1.应用场景

主要用于文件相关操作,以及了解文件系统出现的原因和历史发展。

2.学习/操作

1. 文档阅读

09 | 外存管理与文件系统-极客时间

文件系统原理:如何用1分钟遍历一个100TB的文件?_穿素白衫的少年的博客-CSDN博客

2. 整理输出

2.1 查看文件路径

chdir //Windows

pwd //*nix 

2.2 PHP 使用basename()获取目录或者文件名[不包含后缀名],

当有中文路径时, 会出现问题   //20191225

PHP 7.3

<?php
echo __FILE__.PHP_EOL;
echo basename('/测试目录/测试子目录/test'

输出:

G:\phpstudy_pro\WWW\index.php 测试子目录/test

后续补充

...

3.问题/补充

1. 七牛云开源的 BPL 语言

文件系统的实现非常多。如果你希望进一步研究某个文件系统的具体实现细节,我这里推荐一个由七牛云开源的 BPL 语言(Binary Processing Language,二进制处理语言)。地址如下:

GitHub - qiniu/bpl: Binary Processing Language

顾名思义,BPL 语言主要用于分析二进制数据格式。

应用场景包括:文件格式分析(含磁盘分区格式,因为一个磁盘分区可以把它理解为一个大文件)、网络协议分析。

2. 关于文件系统的一些知识

Linux - 操作汇总_穿素白衫的少年的博客-CSDN博客
 

网友-somenzz
09 | 外存管理与文件系统-极客时间

一切皆文件是多么优雅的设计,正如对CPU来讲一切皆数据,为什么不是最佳实践,能讲讲吗?

作者回复:

优雅与否我们看自己实际怎么用的判断最简单。今天我们除了命令行程序,基本上不会用stdin/stdout这两个对键盘和显示器的使用抽象,而是用事件分派、GDI子系统。这说明什么?说明一切皆文件不足以抽象我们对所有外设的使用。

补充

刘文坛

linux把键盘、显示器看做设备文件,虽然不使用stdin stdout,仍然是以文件方式来操作硬件设备,还是没理解“一切皆文件”为什么很多时候不是最佳实践,或者说“一切皆文件”有什么显著弊端?

作者回复:

底层大家都是io这肯定没错,但是我理解“一切皆文件”肯定是指使用范式上的,不然没有意义

网友-SA
许老师您好,有个疑问请教一下,就是各类不同的存储数据格式底层肯定是需要操作系统支持才行吧?比如现在七牛云如果研制了一款新的存储设备,使用了新的文件系统,要Windows10支持的话,Windows10必须适配才行。

作者回复:

需要的,不过这块操作系统一般会是开放性设计,允许安装厂商等设备驱动。

4.参考

参看上面文档阅读列表

后续补充

...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值