计算机网络32——Linux-文件io-2文件系统

1、阻塞和非阻塞

想要将文件以非阻塞方式打开,有两种方式

(1)需要将文件关闭,再用非阻塞方式打开

(2)fctnl函数,先获取旧属性,再添加一个新属性

阻塞函数

阻塞函数一直在等待输入,非阻塞函数不会一直等待

因此当事情发生时,阻塞函数会第一时间知晓,非阻塞函数不会

因此,当输入时,非阻塞函数可能正在sleep,会等待一会再接收

                             阻塞函数会第一时间知晓,并作出反应

非阻塞函数

---------------------------------------------------------------------------------------------------------------------------------

文件系统

1、磁盘扇区

2、磁盘标志位

把磁盘分成若干个块,每个块里有32768位

data block是记录文件内容的

inode table由许多inode节点组成

每个inode节点存储文件属性,文件修改时间,由谁创建,创建时间,用户属于哪个组和数据块指针(存储的是data block每个块中的开头的指针)

bitmap——位图

inode bitmap——如果为0,表示对应的空间不能被其他人使用

如果想要存储一个名为a.txt,内容为hello world的文件,该怎么做

1:找到Boot block,查看磁盘分区

2、找到GDT块组描述符表,找到其余的起始地址,查看当前是否存在空闲的inode

3、把inode bitmap的标志位置1,并将文件属性写入inode文件属性中

4、把文件内容写入块里面,同时把地址写入到数据块指针里

如果想要读取一个文件,该怎么做

前两个步骤相同

3、根据inode节点编号计算出字节的inode节点位置

4、找到block的位置

删除文件

把标志位置0即可

3、节点编号

4、链接

硬链接:ln src 硬链接

符号链接(软连接):ln -S src 符号

每个文件包括:文件属性和文件内容

硬链接:创建了一个新的文件属性,指向文件内容

软链接:将文件属性起别名

软链接和文件用的是同一个节点编号

符号链接,当删除时,就出错了,但重新创建原来的文件,符号链接有好用了

5、stat

6、assess

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

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

相关文章

从更底层的角度理解网站的访问过程

文章目录 1.示例,访问www.baidu.com是如何返回数据的1.输入www.baidu.com回车2.检查本机的C:\Windows\System32\drivers\etc\hosts配置文件夹下有没有这个域名对应的映射: 1.示例,访问www.baidu.com是如何返回数据的 1.输入www.baidu.com回车…

开源数据集网站合集

一.Google数据集 链接:https://datasetsearch.research.google.com/ 二.Huggingface数据集 链接1:GitHub - huggingface/datasets: 🤗 The largest hub of ready-to-use datasets for ML models with fast, easy-to-use and efficient dat…

深入解析:HTTP 和 HTTPS 的区别

网络安全问题正变得日益重要,而 HTTP 与 HTTPS 对用户数据的保护十分关键。本文将深入探讨这两种协议的特点、工作原理,以及保证数据安全的 HTTPS 为何变得至关重要。 认识 HTTP 与 HTTPS HTTP 的工作原理 HTTP,全称超文本传输协议&#xf…

2-103 基于matlab的光电信号下血氧饱和度计算

基于matlab的光电信号下血氧饱和度计算,光转换成电信号时,由于动脉对光的吸收有变化而其他组织对光的吸收基本不变,得到的信号就可以分为直流DC信号和交流AC信号。提取AC信号,就能反应出血液流动的特点。这种技术叫做光电容积脉搏…

如何查看线程

1、首先找到我们的电脑安装jdk的位置,这里给大家展示一下博主本人的电脑jdk路径下的jconsole位置。 2、 ok,那么找到这个jconsole程序我们直接双击打开就可以查看我们电脑的本地进程: jconsole 这里能够罗列出你系统上的 java 进程&#xff0…

[Linux] Linux操作系统 进程的状态

标题:[Linux] Linux操作系统 进程的状态 个人主页:水墨不写bug (图片来源于网络) 目录 一、前置概念的理解 1.并行和并发 2.时间片 3.进程间具有独立性 4.等待的本质 正文开始: 在校的时候,你一定学过《…

java 框架组件

Java 框架是一系列预先编写好的、可复用的软件组件,它们旨在帮助开发者快速构建高质量的应用程序。Java 社区拥有众多优秀的框架,涵盖了从 Web 开发到大数据处理的各个领域。下面是一些流行的 Java 框架及其主要用途: Spring框架:…

新手教学系列——非正常关机导致MySQL权限表(db)损坏及修复详解

在使用MySQL的过程中,我们常常会遇到一些问题,尤其是当服务器或主机非正常关机或重启时,MySQL的某些表,特别是权限表(如 mysql.db 表),可能会损坏,导致数据库无法启动或访问。这种情况对生产环境的数据库系统来说是相当严重的,因此掌握修复方法非常重要。 本篇文章将…

【STM32系统】基于STM32设计的DAC输出电压与ADC检测电压系统(简易万用表,检测电压电流)——文末工程资料下载

基于STM32设计的DAC输出电压与ADC检测电压系统(简易万用表,检测电压电流) 演示视频: 基于STM32设计的DAC输出电压与ADC检测电压系统(简易万用表,检测电压电流) 前言:本项目实现对STM32的DAC和ADC的程序设计与硬件电路连接实现STM32内部DAC输出电压,并且ADC可以采集电压…

下载2001年版英特尔开发手册与使用网易有道词典

本专栏的任务,是翻译2001年版英特尔开发手册的第3卷。上一节,我写了开篇语。本节,我是打算将这个版本的英特尔开发手册的下载方式公布出来。使得大家可以将其下载回去。如果你看的块的话,你可以自行翻译与学习。 一. 下载英特…

macOS设置 Redis自启动

macOS自定义开机启动程序 1、打开 自动操作app里面的应用程序 过程资料 1、https://juejin.cn/post/7123098435254747149 2、https://blog.twofei.com/889/ 2、编写脚本,可以点击右上角运行测试,保存为 app https://juejin.cn/post/7123098435254747149…

招联金融2025校招内推喇

【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 深圳,武汉: 后台开发 前端开发 数据开发 数据运营…

在MySQL中,要查询所有用户及其权限,您可以使用以下命令:

文章目录 1、查询所有用户1.1、登录数据库1.2、select user,host from mysql.user; 2、查看用户的权限 1、查询所有用户 1.1、登录数据库 [rootlocalhost ~]# docker exec -it spzx-mysql /bin/bash rootab66508d9441:/# mysql -uroot -p123456 mysql: [Warning] Using a pas…

什么是电商云手机?可以用来干什么?

随着电商行业的迅速发展,云手机作为一种创新工具正逐渐进入出海电商领域。专为外贸市场量身定制的出海电商云手机,已经成为许多外贸企业和出海电商卖家的必备。本文将详细介绍电商云手机是什么以及可以用来做什么。 与国内云手机偏向于游戏场景不同&…

Elasticsearch导出导入数据

1.概念回顾 2.基础操作 展示详细信息 GET:http://127.0.0.1:9200/_cat/indices?v Java代码将文件导入到ES package com.Graph.medicalgraph;import org.apache.http.HttpHost; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.act…

Linux 下安装mysql

1.检查之前是否安装过mysql rpm -qa | grep mysql 如果之前安装过,删除之前的安装包 rpm -e 安装包 如果没有,进行后续安装 2. 下载 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ 3…

FPGA IP 和 开源 HDL 一般去哪找?

在FPGA开发的世界中,IP核和HDL模块是构建复杂数字系统的基石。它们如同乐高积木,让开发者能够快速搭建和重用经过验证的电路功能。但你是否曾感到迷茫,不知道从哪里寻找这些宝贵的资源?本文将为你揭开寻找FPGA IP核和HDL模块资源的…

Kafka 下载安装及使用总结

1. 下载安装 官网下载地址:Apache Kafka 下载对应的文件 上传到服务器上,解压 tar -xzf kafka_2.13-3.7.0.tgz目录结果如下 ├── bin │ └── windows ├── config │ └── kraft ├── libs ├── licenses └── site-docs官方文档…

gitlab/极狐-离线包下载地址

如果想要使用Gitlab/极狐进行数据的恢复,只能使用相同版本或者相近版本的安装包,因此有时候需要到它的官网上下载对应版本的安装包,以下是我收集到的对应地址的下载路径: Gitlab Gitlab离线库, https://packages.gitl…

9.25 C++继承 多态

手动实现队列 #include <iostream>using namespace std;class My_queue { private:struct Node //队列结构体{int data;Node *next;Node(int value):data(value),next(nullptr){}};Node *front;Node *rear;int size;public:My_queue():front(nullptr),rear(nullptr),siz…