linux系统中以什么方式访问设备

发布时间 - 2023-03-02 00:00:00    点击率:
linux系统中以文件方式访问设备,因为在Linux里面一切都是文件,设备对应的是设备文件,访问某个设备文件就等于在访问设备;在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。

本教程操作环境:linux5.9.8系统、Dell G3电脑。

linux系统中以什么方式访问设备?

在Linux系统中,以文件方式访问设备。在Linux里面一切都是文件,设备对应的是设备文件,访问某个设备文件就等于在访问设备。

在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。

引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。

Linux最早引入的文件系统类型是MINIX。MINIX文件系统由MINIX操作系统定义,有一定的局限性,如文件名最长14个字符,文件最长64M字节。第一个专门为Linux设计的文件系统是EXT(Extended File System),但目前流行最广的是EXT4。

第二代扩展文件系统由Rey Card 设计,其目标是为Linux 提供一个强大的可扩展文件系统。它同时也是Linux界中设计最成功的文件系统。通过VFS的超级块(struct ext2_sb_info ext2_sb)可以访问EXT2的超级块,通过VFS的inode(struct ext2_inode_info ext2_i)可以访问EXT2的inode。

文件系统EXT2的源代码在/usr/src/linux/fs/ext2目录下,它的数据结构在文件/usr/src/linux/include/linux/ext2_fs.h以及同一目录下的文件ext2_fs_i.h和ext2_fs_sb.h中定义。

EXT2文件系统将它所占用的逻辑分区划分成块组(block group),如图1所示:

推荐学习:《Linux视频教程》


# linux  # include  # 数据结构  # Struct  # 文件系统  # 的是  # 第一个  # 就等于  # 中以  # 操作系统  # 几个  # 目录下  # 多个  # 有一定 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel如何实现API速率限制?(Rate Limiting教程)  jQuery中的100个技巧汇总  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel怎么判断请求类型_Laravel Request isMethod用法  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Swift中循环语句中的转移语句 break 和 continue  太平洋网站制作公司,网络用语太平洋是什么意思?  中山网站制作网页,中山新生登记系统登记流程?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何使用Sanctum进行API认证?(SPA实战)  如何用花生壳三步快速搭建专属网站?  如何在腾讯云服务器快速搭建个人网站?  如何选择PHP开源工具快速搭建网站?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Java类加载基本过程详细介绍  简单实现Android验证码  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  浅谈redis在项目中的应用  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  如何在云主机上快速搭建网站?  如何快速搭建高效简练网站?  音乐网站服务器如何优化API响应速度?  制作企业网站建设方案,怎样建设一个公司网站?  三星、SK海力士获美批准:可向中国出口芯片制造设备  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  linux top下的 minerd 木马清除方法  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何快速生成高效建站系统源代码?  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel API资源类怎么用_Laravel API Resource数据转换  详解MySQL数据库的安装与密码配置  Java解压缩zip - 解压缩多个文件或文件夹实例  焦点电影公司作品,电影焦点结局是什么?  轻松掌握MySQL函数中的last_insert_id()