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

牡丹江0453免费信息网站百度账户托管运营

牡丹江0453免费信息网站,百度账户托管运营,免费的网站软件下载,哈尔滨网络科技公司网站根据之前的学习我们会有一些少许的疑惑,我们的stdin ,stdout,stderr访问的是键盘显示器,然而键盘显示器等他们都有一个共同的特点就是他们都是外设,那么这些外设是怎么被看成是文件的呢? 看图可以知道硬件的…

根据之前的学习我们会有一些少许的疑惑,我们的stdin ,stdout,stderr访问的是键盘显示器,然而键盘显示器等他们都有一个共同的特点就是他们都是外设,那么这些外设是怎么被看成是文件的呢?

看图可以知道硬件的上一层链接着一个驱动程序,操作系统通过构建一个struct device 的结构体来描述这一类的外设:

然后每个外设都有一个device这样的结构体对象,操作系统通过链表把这些device连接起来:所以操作系统对设备的管理转化成了对数据结构的增删查改:

然后device中的属性则是由外设的驱动来初始化:

这样将外设结合起来,可以看到他们的属性类别都是一样的,值可以不同,但是IO的方法是不同的,读键盘就是读键盘,读显示器就是读显示器,他们没有任何关系

我们拿键盘举例子,键盘目前只有读取方法,但是没有写方法,往键盘里写东西感觉都是不太对的,所以把写键盘设置为空方法,其他的类推:

可以看到,他们的方法虽然不一样,但是他们都需要有读写,所以在操作系统启动的时候就会创建struct file对象,里面包含了相关文件相关属性等等我们不关心,重点是file里含有两个函数指针,那两个函数指针分别指向外设的read和write方法:

可以看到用函数指针屏蔽了文件硬件的差异

从file的角度来看我们要读写外设,我们就不关心下面的蓝色字体实现的方法,然后从file的角度往上看,我们访问外设,就只关心外设的读和写,甚至不用关系底层的设备是什么,file会自动帮我们找到对应的设备读写。

所以,相当于在操作系统中对外设做了一层封装,让我们看到的一切皆文件:

这一套机制在Linux当中叫vfs(虚拟文件系统)

其中实现这一机制就类似于c++中多态:

之不过c面向过程写的方式不一样。

所以系统是通过什么方式来让我们看到struct file的呢?是通过文件描述符来让进程看到struct file的

http://www.yayakq.cn/news/84265/

相关文章:

  • 易企秀+旗下+网站建设技术开发公司官网
  • c c也能干大事网站开发成都网站搜索排名优化哪家好
  • 7c框架 网站建设关于网站建设与发布的书籍
  • 重庆公司黄页企业名录徐州seo
  • 深圳福田商城网站建设黔西南建设厅网站
  • wordpress 3.8.1温州seo方法
  • 查内部券的网站是怎么做的商标查询小程序
  • 纪念馆网站建设家庭安全卫士论坛WordPress
  • 四川省住房和城乡建设厅证书营销型网站建设优化
  • 温州做外贸网站设计网站建设优劣势分析
  • 国外图片设计网站有哪些金华模板建站定制网站
  • 深圳做网站哪个公司最好微信推广图片
  • 有没有专门做兼职的网站免费搭建网站 域名
  • 工程承包网站哪个好?WordPress 国内视频
  • 现在最火的推广平台盐城seo
  • 网站建设etw建网站电话
  • 网站开发是怎么回事网站制作电话多少
  • 湖南网站建设 安全还踏实磐石网络录音转文字网站开发
  • 哪有做网站的狼雨seo教程的网上店铺
  • ssh课程网站开发兼职做商务标哪个网站
  • 做视频用的网站诸暨做幕墙连接件的公司
  • 想建个购物网站店铺推广软文
  • 网站代理在线深圳罗湖互联网公司
  • 建设银行网站 开户行怎么查询网站排名应该怎么做
  • 网站老是快照打开政务服务网站建设技术因素
  • 网站开发语言 排行榜网站建设费用大全
  • 网站建设属于哪个税收服务编码如何做好网站针对搜索引擎的seo
  • cms官方网站深圳app定制开发红孩儿
  • 如何创建自己的公司网站coding wordpress
  • WordPress站群模版揭阳市网站建设