IO、存储、硬盘、文件系统相关常识

目录

IO

文件系统

文件在硬盘上的存储


IO

IO,就是Input和Output,即输入和输出操作。我们的电脑可以通过网络下载文件,也可以通过网络上传文件。通过网络下载文件就是输入操作上传文件就是输出。如何区分输入和输出呢?

我们可以参考下图:

我们可以这样理解:靠近cpu的操作就是输入,远离cpu的就是输出。通过网络下载文件是从网卡读取数据到硬盘,靠近cpu,是输入。通过网络上传文件是从硬盘读取数据到网卡,远离cpu,是输出。同样,把内存的数据保存到硬盘上,远离cpu,是输出。从硬盘读取数据到内存上,靠近cpu,是输入。

输入输出是绝对的,不存在谁相对于谁的概念。

文件系统

文件,本身也是广义的概念。其实在操作系统中把很多的资源(软件/硬件资源)都抽象成文件。此处提到的文件特指狭义的文件,也就是平时保存在硬盘上的文件。

在硬盘上,存在很多文件和目录,目录又存在一定的“嵌套关系”,整体这一套结构,是一个树型结构,此处是N叉树。

比如:

注:文件夹也是文件,称为“目录文件”,也是保存在硬盘上。

最终构成了一个比较庞大的树形结构。

文件非常多,目录也非常多,而目录之间还能嵌套。这就需要在上述体系中,能够有一种方式,来标识某个具体的文件(通过这个机制就能具体定位到,找到某个文件头上)。

这就引入了路径

从根节点出发,一层一层往下走,最终达到目标文件之后,中间这些目录,集合在一起,就构成了路径。比如:

注:Linux,Mac,Android等大部分操作系统,都是只能使用 ‘ / ’ 分隔符,Windows ‘/ ’ 和 ‘\ ’都能使用

所以日常开发中,推荐大家使用 ‘/ ’ 而不是‘\’

像上述从盘符开始的称为绝对路径。 而不从盘符开始的称为相对路径

比如我们要找qq.exe ,它的存储位置是 D:\program\qq\Bin\qq.exe

我们当前所处的位置(一般称工作目录或基准)  是D:\program\qq\Bin

1)此时直接通过 ./qq.exe(相对路径) 的方式,就能定位到这个文件了。在相对路径中 “ . ” 表示“当前所在的位置”,“ ..”表示上一层位置。

2)如果此时工作目录是D:\program\qq   此时要通过 ./Bin/qq.exe 找到。

以此类推。。。

Linux和Windows的相对路径/绝对路径规则完全相同,唯一区别是Linux绝对路径是/开头,Windows以盘符开头。

文件在硬盘上的存储

文件的分类方式有很多种,此处主要讨论一种和编写代码密切相关的。文件在硬盘上存储的时候,大体可以把文件分为文本文件二进制文件,文本文件存储的是字符串(准确说是能构成合法字符串的”二进制数据“),每个部分都是合法的字符,可以用记事本等文本编辑器软件直接打开。而二进制文件可以存任何数据,用记事本打开是一堆乱码

所以无论是文本还是二进制,本质上都是1010这样的二进制数据。

日常常见的docx,pptx,mp3,mp4,pdf都属于二进制文件。而md,html,Java,c都属于文本文件。

以上,关于文件,希望对你有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/821759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负载均衡的原理及算法简介

负载均衡(Load Balancing)是一种用于在多台服务器之间分配网络流量的技术,旨在优化系统资源利用率、提高服务可用性、增强系统的伸缩性和容错能力。其基本原理是将来自客户端的请求分散到一个服务器集群中的各个服务器上,而不是让…

postgresql|数据库|实时数据库监控利器 pg_activity 的部署和初步使用

前言: postgresql的调优是比较重要的,那么,如何调优呢?自然是在某一个时间段内,通常是业务高峰期或者压测时间内实时观察数据库的运行情况,然后通过观察到的信息判断数据库的瓶颈,比如&#xf…

通过adb 命令打印安装在第三方模拟器上的log

1,环境:Windows 11 ,第三方模拟器 网易的MuMu 步骤: 1,打开cmd,输入 adb connect 172.0.0.1:7555 2,在cmd,再次输入adb logcat 回车

简单了解 HTTP 基础知识

HTTP(Hypertext Transfer Protocol,超文本传输协议)是用于在网络上传输数据的一种协议,对于网络开发人员来说,理解这一协议是至关重要的。由于其广泛的应用,除了在网页应用传输数据之外,它还被应…

算法学习——LeetCode力扣补充篇8(146. LRU 缓存、 215. 数组中的第K个最大元素、25. K 个一组翻转链表)

算法学习——LeetCode力扣补充篇8 146. LRU 缓存 146. LRU 缓存 - 力扣(LeetCode) 描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化…

weblogic JSP action的配置

action(如xxx.do)可以在Java文件中通过注解的方式配置,也可以在web.xml中进行配置 在java文件中配置的场合 WebServlet(xxxx.do) 并实现支持的方法:doGet或doPost等 或者 WebServlet(xxxx.do) 并实现service方法 所有method的处理方法都会…

华为 2024 届实习招聘——硬件-电源机试题(四套)

华为 2024 届实习招聘——硬件-电源机试题(四套) 部分题目分享,完整版带答案(有答案,答案非官方,未仔细校正,仅供参考)(共四套) 获取(WX:didadidadidida313&…

【保姆级讲解docker 的常用命令】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

设计模式-命令模式(Command)

1. 概念 命令模式(Command Pattern)是一种行为型设计模式,也被称为动作模式或事务模式。它的核心思想是将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化。对请求排队或记录,以及支持可撤销的操作…

Excel高效办公:人力资源管理(AI版)

AI人力资源管理一本通:147个“温馨提示”53个“教您一招”,掌握使用Excel高效完成人力资源管理工作的“心法”,助你早做完、不加班。 一本书掌握人力资源高效管理的“心法”! 案例丰富,参考性强:本书不是…

Web3与社会契约:去中心化治理的新模式

在数字化时代,技术不断为我们提供新的可能性,而Web3技术作为一种基于区块链的创新,正在引领着互联网的下一波变革。它不仅改变了我们的经济模式和商业逻辑,还对社会契约和权力结构提出了全新的挑战和思考。本文将深入探讨Web3的基…

excel 无法正确处理 1900-03-01 前的日期

问题由来:excel 用公式 TEXT(A1,"yyyy-mm-dd") 转日期时,当A1 的值等于59 的时候,返回值是1900-02-28;当A1 的值等于61 的时候,返回值是1900-03-01;那么当 A1的值为 60 的时候,返回值…

【iOS】——SDWebImage源码学习

文章目录 一、SDWebIamge简介二、SDWebImage的调用流程SDWebImage源码分析1.UIImageViewWebCache层2.UIViewWebCache层3.SDWebManager层4.SDWebCache层5.SDWebImageDownloader层 一、SDWebIamge简介 SDWebImage是iOS中提供图片加载的第三方库,可以给UIKit框架中的控…

C语言【数组】

一、数组基本语法 1. 什么是数组 数组是c语言的一种数据结构,用于存储一组具有相同数据类型的数据; 数组中每个元素可以通过下标进行访问,索引从0开始,最大值为数组长度-1。 2. 数组的使用 类型 数组名[元素个数]; int arr[5]…

ICV:《中美量子产业融资比较分析》

近日,全球前沿科技咨询公司ICV发布了A Comparative Analysis of Quantum Industry Financing in the U.S and China(美国和中国量子产业融资比较分析)报告。该报告旨在对中美两国在量子技术领域的投融资情况进行比较分析,探讨其差…

基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示16行点x64列点字模串的应用

基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示16行点x64列点字模串的应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显…

MySQL 试图

视图功能在 5.0 以后的版本启用 视图是一张虚表。数据表确实包含了具体数据并且保存到硬盘中的实表。视图使用数据检索语句动态生 成的一张虚表。每一次数据服务重启或者系统重启之后,在数据库服务启动期间,会使用创建视图的语 句重新生成视图中的数据&…

详解UART通信协议以及FPGA实现

文章目录 一、UART概述二、UART协议帧格式2.1 波特率2.2 奇校验ODD2.3 偶校验EVEN 三、UART接收器设计3.1 接收时序图3.2 Verilog代码3.3 仿真文件测试3.4 仿真结果3.5 上版测试 四、UART发送器设计4.1 发送时序图4.2 Verilog代码4.3 仿真文件测试4.4 仿真结果4.5 上板测试 五、…

用html画一个睡觉的熊动画

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>睡觉的熊动画</title><link rel"stylesheet" href"./style.css"> </head><body><div id"contain…

免费的 ChatGPT、GPTs、AI绘画(国内版)

&#x1f525;博客主页&#xff1a;白云如幻❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ ChatGPT3.5、GPT4.0、GPTs、AI绘画相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容甚…