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

linux0.12-12-fs

[606页]

第12章 文件系统

606–12-1-总体功能
607–12-1-1-MINIX文件系统
611–12-1-2-文件类型、属性和目录项
615–12-1-3-高速缓冲区
616–12-1-4-文件系统底层函数
616–12-1-5-文件中数据的访问操作
618–12-1-6-文件和目录管理系统调用
619–12-1-7-360KB软盘中文件系统实例分析

分成4个部分:高速缓冲管理;文件底层操作;文件数据访问;文件高层访问控制。

----1、高速缓冲管理
622–12-2-buffer.c程序
622–12-2-1-功能描述
628–12-2-2-代码注释

----2、文件底层操作
super.c,bitmap.c,truncate.c,inode.c和namei.c程序
638–12-3-bitmap.c程序
639–12-3-1-功能描述
639–12-3-2-代码注释

644–12-4-truncate.c程序
644–12-4-1-功能描述
644–12-4-2-代码注释

647–12-5-inode.c程序
647–12-5-1-功能描述
649–12-5-2-代码注释

658–12-6-super.c程序
658–12-6-1-功能描述
659–12-6-2-代码注释

667–12-7-namei.c程序
667–12-7-1-功能描述
668–12-7-2-代码注释

692–12-8-file_table.c程序
692–12-8-1-功能描述
692–12-8-2-代码注释

----3、文件数据访问
block_dev.c,char_dev.c,pipe.c,file_dev.c和read_write.c

693–12-9-block_dev.c程序
693–12-9-1-功能描述
694–12-9-2-代码注释

697–12-10-file_dev.c程序
697–12-10-1-功能描述
697–12-10-2-代码注释

699–12-11-pipe.c程序
699–12-11-1-功能描述
699–12-11-2-代码注释

704–12-12-char_dev.c程序
704–12-12-1-功能描述
704–12-12-2-代码注释

707–12-13-read_write.c程序
707–12-13-1-功能描述
707–12-13-2-代码注释
710–12-13-3-用户程序读写操作过程

----4、文件的系统调用接口的实现
712–12-14-open.c程序
713–12-14-1-功能描述
713–12-14-2-代码注释

720–12-15-exec.c程序
720–12-15-1-功能描述
723–12-15-2-代码注释
735–12-15-3-其他信息

739–12-16-sta.c程序
739–12-16-1-功能描述
739–12-16-2-代码注释

741–12-17-fcntl.c程序
741–12-17-1-功能描述
742–12-17-2-代码注释

744–12-18-ioctl.c程序
744–12-18-1-功能描述
745–12-18-2-代码注释

746–12-19-select.c程序
746–12-19-1-功能描述
750–12-19-2-代码注释

第12章 文件系统

本章涉及linux内核中文系统的实现代码和用于块设备的高速缓冲区管理程序。在开发Linux0.12内核文件系统时,Linus主要参照了Tanenbaum著的《MINIX操作系统设计与实现》一书,使用了其中1.0版的MINIX文件系统。因此在阅读本章内容时,可以参考该书有关MINIX文件系统
的相关章节。而高速缓冲区的工作原理可参见M.J.Bach的《UNIX操作系统设计》第3章内容。

表12-1给出了fs目录下的文件。

在这里插入图片描述

相关文章:

linux0.12-12-fs

[606页] 第12章 文件系统 606–12-1-总体功能 607–12-1-1-MINIX文件系统 611–12-1-2-文件类型、属性和目录项 615–12-1-3-高速缓冲区 616–12-1-4-文件系统底层函数 616–12-1-5-文件中数据的访问操作 618–12-1-6-文件和目录管理系统调用 619–12-1-7-360KB软盘中文件系统…...

快速入门SpringMVC 学习

目录 SpringMVC 定义 MVC定义 创建SpringMVC项目 SpringMVC掌握功能 一、连接功能 RequestMapping(请求映射) GetMapping 和 PostMapping 二、获取参数功能 传递单个参数/多个参数 注意点: RequestParam(前后端参数映射) 前后端参数映射 RequestParam特…...

leetcode96--不同的二叉搜索树[java]

不同的二叉搜索树 leetcode 96 题 不同的二叉搜索树题目描述暴力递归解题思路代码演示执行效率 递归 缓存解题思路代码演示执行效率 动态规划专题 leetcode 96 题 不同的二叉搜索树 原题链接: 难度—中等 https://leetcode.cn/problems/unique-binary-search-trees/ 题目描述 …...

【Spring 项目的创建和使用】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1. 创建 Spring 项目 2. 创建一个 普通 Maven…...

数据类型.

数据类型 数据类型分类 数值类型 tinyint类型 数值越界测试: mysql> create table tt1(num tinyint); Query OK, 0 rows affected (0.02 sec)mysql> insert into tt1 values(1); Query OK, 1 row affected (0.00 sec)mysql> insert into tt1 values(128…...

深入了解JavaScript中的Promise

在JavaScript中,异步编程是必不可少的。过去,我们通常使用回调函数来处理异步操作,但回调地狱(callback hell)和复杂的错误处理使得代码难以维护。为了解决这些问题,ES6引入了Promise,它是一种更…...

Solidity基础六

生活本来就是平凡琐碎的,哪有那么多惊天动地的大事,快乐的秘诀就是不管对大事小事都要保持热情 目录 一、Solidity的特殊变量(全局) 二、Solidity的不可变量 immutable的赋值方式 三、Solidity的事件与日志 事件和日志加深理解 四、Solidity的异常…...

自学网络安全解决问题方法

自学网络安全很容易学着学着就迷茫了,找到源头问题,解决它就可以了,所以首先咱们聊聊,学习网络安全方向通常会有哪些问题,看到后面有惊喜哦 1、打基础时间太长 学基础花费很长时间,光语言都有几门&#xf…...

Java之旅(七)

Java 异常 Java异常(Exception)是在程序运行过程中出现错误或异常情况时,由程序自动抛出,导致程序无法正常运行,用于向上层调用程序传递错误信息或中断程序执行的一种机制。 异常与错误不同,错误是由于程…...

测试报告模板二

项目名称 系统测试报告 平台测试小组 2023年x月xx日 文档信息 文档名称: 作者:...

C语句概述

1 、 C 语句分类: ①控制语句:二个分支语句( if-else 、 switch ),三个循环语句( for 、 while 、 do - while ),四个转移语句( continue 、 break 、 goto 、 return…...

C++ [STL之vector模拟实现]

本文已收录至《C语言和高级数据结构》专栏! 作者:ARMCSKGT STL之vector模拟实现 前言正文空间结构默认成员函数构造函数拷贝构造函数赋值重载析构函数关于数据拷贝问题 迭代器容量操作查询容量容量操作 数据访问下标访问头尾数据访问 数据增删尾插尾删重…...

【算法竞赛进阶指南】141.周期 题解 KMP 最小循环节

题目描述 一个字符串的前缀是从第一个字符开始的连续若干个字符,例如 abaab 共有 5 5 5 个前缀,分别是 a,ab,aba,abaa,abaab。 我们希望知道一个 N N N 位字符串 S S S 的前缀是否具有循环节。 换言之…...

【Springboot 入门培训 】#19 Spring Boot 组件扫描与bean生命周期

目录 1 什么是组件扫描2 何时使用组件扫描3 扫描整个包basePackages与 includeFilters4 Spring boot 的 Bean 生命周期4.1 生命周期4.2 Bean 生命周期4.3 周期各个阶段 首先,我想先为你介绍一下“Spring”,这是一个开放源代码的设计模式解决方案和轻量级…...

Linux printf 函数输出问题

printf 函数并不会直接将数据输出到屏幕&#xff0c;而是先放到缓冲区中&#xff0c;只有一下三种情况满足&#xff0c;才会输出到屏幕。 1&#xff09; 缓冲区满 2&#xff09; 强制刷新缓冲区 fflush 3&#xff09; 程序结束时 1 #include<stdio.h>2 #include<st…...

皮卡丘Unsafe Fileupload

1.不安全的文件上传漏洞概述 文件上传功能在web应用系统很常见&#xff0c;比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后&#xff0c;后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等&#xff0c;然后将其按照设计的格式进行…...

最优化简明版(上)

引言 本文简单地介绍一些凸优化(Convex Optimization)的基础知识&#xff0c;可能不会有很多证明推导&#xff0c;目的是能快速应用到机器学习问题上。 凸集 直线与线段 设 x 1 ≠ x 2 x_1 \neq x_2 x1​x2​为 R n \Bbb R^n Rn空间中的两个点&#xff0c;那么具有下列形…...

MySQL的一些介绍

1. SQL的select语句完整的执行顺序 SQL Select语句完整的执行顺序&#xff1a; 1、from子句组装来自不同数据源的数据&#xff1b; 2、where子句基于指定的条件对记录行进行筛选&#xff1b; 3、group by子句将数据划分为多个分组&#xff1b; 4、使用聚集函数进行计算&am…...

unity发布webGL后无法预览解决

众所周知&#xff0c;unity发布成webgl后是无法直接预览的。因为一般来说浏览器默认都是禁止webgl运行的。 直接说我最后的解决方法&#xff1a;去vscode里下载一个live server ,安装好。 下载vscode地址Visual Studio Code - Code Editing. Redefined 期间试过几种方法都不管…...

Flume和Kafka的组合使用

一.安装Kafka 1.1下载安装包 通过百度网盘分享的文件&#xff1a;复制链接打开「百度网盘APP 即可获取」 链接&#xff1a;https://pan.baidu.com/s/1vC6Di3Pml6k1KMbnK0OE1Q?pwdhuan 提取码&#xff1a;huan 也可以访问官网&#xff0c;下载kafka2.4.0的安装文件 1.2解…...

ncmdumpGUI:网易云音乐加密文件转换的完整解决方案

ncmdumpGUI&#xff1a;网易云音乐加密文件转换的完整解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 一、初识ncmdumpGUI&#xff1a;解密音乐文件的…...

佰力博金属电导率测试:精准赋能金属材料性能评估

金属电导率是衡量材料导电能力的核心指标&#xff0c;直接决定铜、铝、合金等在电子、电力、航空航天等领域的应用价值。佰力博检测依托专业技术与自研设备&#xff0c;构建了覆盖多场景、高精度的金属电导率测试体系&#xff0c;为材料研发、质量管控与工艺优化提供权威数据支…...

深入ELF文件:从rpath和interpreter看懂Linux程序如何‘找到家’

深入ELF文件&#xff1a;从rpath和interpreter看懂Linux程序如何‘找到家’ 在Linux系统中&#xff0c;每个可执行程序背后都隐藏着一个精巧的加载机制。当你在终端输入一个命令时&#xff0c;系统如何找到并加载程序所需的所有组件&#xff1f;这背后是ELF&#xff08;Execut…...

DanKoe 视频笔记:创作者指南:如何摆脱新手地狱

在本教程中&#xff0c;我们将学习创作者如何突破最初的停滞期&#xff0c;即所谓的“新手地狱”。我们将探讨导致这一困境的核心原因&#xff0c;并提供一系列具体、可操作的策略&#xff0c;帮助你建立权威、创作吸引人的内容、有效建立网络&#xff0c;并最终构建可持续的个…...

COMSOL 薄膜型声学超材料是利用薄膜结构单元在声波激励下的反共振特性,实现高于质量隔声定律...

COMSOL 薄膜型声学超材料是利用薄膜结构单元在声波激励下的反共振特性&#xff0c;实现高于质量隔声定律的隔声 STL隔声量 隔声系数 消声系数【1】薄膜材料本身需有较大弹性&#xff0c;且在低厚度情况下有良好的抗拉压性能&#xff0c;综合选取硅橡胶材料&#xff1b; 【2】附…...

Fedora 42 上 Podman 镜像拉取慢?5分钟搞定国内镜像源配置(保姆级教程)

Fedora 42 上 Podman 镜像拉取慢&#xff1f;5分钟搞定国内镜像源配置&#xff08;保姆级教程&#xff09; 刚接触 Fedora 42 的开发者们&#xff0c;是否经常被 Podman 拉取镜像时的蜗牛速度折磨得抓狂&#xff1f;每次看着进度条像老牛拉破车一样缓慢移动&#xff0c;心里是不…...

【设计模式】行为型-模板方法模式

文章目录前言一、概念二、核心结构三、Java 代码实现&#xff08;订单支付流程&#xff09;1. 抽象类&#xff08;定义模板&#xff09;2. 具体子类&#xff1a;微信支付3. 具体子类&#xff1a;支付宝支付4. 客户端调用四、钩子方法&#xff08;Hook&#xff09;—— 让模板更…...

旧iOS设备维护全流程解决方案:Legacy iOS Kit实用指南

旧iOS设备维护全流程解决方案&#xff1a;Legacy iOS Kit实用指南 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit Legacy…...

BinCmdParser:嵌入式二进制命令动态解析器

1. BinCmdParser&#xff1a;面向嵌入式通信的动态二进制命令解析器 在工业控制、传感器网络与跨平台设备互联场景中&#xff0c;串口/UART/SPI/I2C等低带宽物理通道常承载结构化二进制指令。传统固定帧格式&#xff08;如Modbus RTU、自定义8字节头4字节长度2字节CRC&#xff…...

从YOLO到A*:手把手教你用PyTorch和OpenCV搭建一个简易的自动驾驶避障仿真器

从YOLO到A*&#xff1a;用PyTorch和OpenCV构建自动驾驶避障仿真器 想象一下&#xff0c;你正坐在一辆自动驾驶汽车里&#xff0c;车辆能够自动识别前方的行人、车辆和障碍物&#xff0c;并规划出安全的行驶路径。这种看似科幻的场景&#xff0c;如今正逐渐成为现实。本文将带你…...