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

新的网站建设技术方案网站正在建设中敬请

新的网站建设技术方案,网站正在建设中敬请,东莞市路桥公司,重庆高端seo以下内容源于C语言中文网的学习与整理#xff0c;非原创#xff0c;如有侵权请告知删除。 前言 Linux中一切接文件#xff0c;比如 C 源文件、视频文件、Shell脚本、可执行文件等#xff0c;就连键盘、显示器、鼠标等硬件设备也都是文件。 一个 Linux 进程可以打开成百上…以下内容源于C语言中文网的学习与整理非原创如有侵权请告知删除。 前言 Linux中一切接文件比如 C 源文件、视频文件、Shell脚本、可执行文件等就连键盘、显示器、鼠标等硬件设备也都是文件。 一个 Linux 进程可以打开成百上千个文件为了表示和区分已经打开的文件Linux 会给每个文件分配一个编号这个编号就是一个整数被称为文件描述符File Descriptor。这只是一个形象的比喻并没有解释文件描述符的本质。 本篇文章将从底层实现的角度分析文件描述符看看文件描述符到底是如何表示一个文件的。 Linux 文件描述符到底是什么 一个 Linux 进程启动后会在内核空间中创建一个进程控制块 PCB而 PCB 内部有一个文件描述符表。文件描述符表记录着当前进程所有打开的文件。每个进程都有一个文件描述符表。 除了文件描述符表系统还需要维护另外两张表打开文件表、i-node 表。整个系统只有一个打开文件表一个i-node 表。 文件描述符表、打开文件表、 i-node 表它们三者之间的关系如下图所示。 从本质上讲这三种表都是结构体数组0、1、2、73、1976 等都是数组下标。表头只是我自己添加的注释数组本身是没有的。实线箭头表示指针的指向虚线箭头是我自己添加的注释。 你看文件描述符只不过是一个数组下标 通过文件描述符可以找到文件指针从而进入打开文件表。打开文件表存储了以下信息  1文件偏移量即文件内部指针偏移量。调用 read() 或 write() 时文件偏移量会自动更新也可以使用 lseek() 直接修改。 2状态标志比如只读模式、读写模式、追加模式、覆盖模式等。 3i-node 表指针。 要想真正读写文件需要通过打开文件表的 i-node 指针进入 i-node 表。i-node表包含以下信息  1文件类型例如常规文件、套接字或 FIFO。 2文件大小。 3时间戳比如创建时间、更新时间。 4文件锁。 这里对上图进一步说明 1在进程 A 中文件描述符 1 和 20 都指向同一个打开文件的表项标号为 23指向打开文件表中下标为 23 的数组元素这可能是通过调用 dup()、dup2()、fcntl() 或者对同一个文件多次调用open() 函数形成的。 2进程 A 的文件描述符 2 和进程 B 的文件描述符 2 都指向同一个文件这可能是在调用 fork() 后出现的即进程 A、B 是父子进程关系或者是不同的进程独自去调用 open() 函数打开了同一个文件此时进程内部的描述符正好分配到与其他进程打开该文件的描述符一样碰巧都是2。 3进程 A 的描述符 0 和进程 B 的描述符 3 分别指向不同的打开文件表项但这些表项均指向 i-node 表的同一个条目标号为 1976换言之它们指向了同一个文件。发生这种情况是因为每个进程各自对同一个文件发起了 open() 调用。同一个进程两次打开同一个文件也会发生类似情况。  有了以上对文件描述符的认知我们很容易理解以下情形 1同一个进程的不同文件描述符可以指向同一个文件。 2不同进程可以拥有相同的文件描述符。 3不同进程的同一个文件描述符可以指向不同的文件一般也是这样但除了 0、1、2 这三个特殊的文件。 4不同进程的不同文件描述符也可以指向同一个文件。
http://www.w-s-a.com/news/535864/

相关文章:

  • 南通网站建设制作公司苏州好的网站公司名称
  • 咸阳做网站开发公司哪家好珠海公司制作网站
  • 深圳网站建设好不好医疗网站前置审批
  • 做ic什么网站好安溪网站建设
  • 网站建设 慕课企业文化标语经典
  • 做短视频的网站都有哪些简约 时尚 高端 网站建设
  • 浦口区网站建设售后服务建设一个网站多少钱
  • 做个小网站大概多少钱广州h5网站
  • 360免费建站视频wordpress标签显示图片
  • 创建简易个人网站国外做网站被动收入
  • 轻定制网站建设网页培训哪个机构好
  • 青岛海诚互联做网站好吗计算机软件开发培训机构
  • 德钦网站建设如何在网站上做用工登记
  • 创意品牌网站云服务
  • 个人备案网站可以做商城展示如何制作网页二维码
  • 网站建设php教程视频百度seo 站长工具
  • 外包小程序两个相同的网站对做优化有帮助
  • 网站备案主体修改wordpress 导航图片
  • 怎么建设网站数据库用vs代码做网站
  • 运营企业网站怎么赚钱动漫制作专业概念
  • 宜春网站建设推广网络推广工作好干吗
  • 网站程序0day平顶山市做网站
  • 企业网站名称怎么写哔哩哔哩网页版官网在线观看
  • 直播网站建设书籍阿里巴巴网站建设销售
  • 肇庆企业自助建站系统郴州网站建设解决方案
  • 长沙专业做网站排名游戏开发大亨内购破解版
  • 网站推广适合女生做吗网站如何开启gzip压缩
  • 做外单阿里的网站建站平台那个好
  • 全国性质的网站开发公司关于网站开发的请示
  • 齐齐哈尔住房和城乡建设局网站生物科技公司网站模板