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

网站流量统计系统seo搜索引擎优化总结

网站流量统计系统,seo搜索引擎优化总结,深圳小程序制作,wordpress不能播放mp4目录 一、IO设备概述 二、IO控制器的组成 1.概述 2.主要过程 三、IO控制器的主要方式 1.程序直接控制方式 2.中断驱动方式 3.DMA方式 4.通道方式 四、IO的软件层次IO 五、IO调度和保护 1.IO调度 2.IO保护 六、假脱机技术, 七、设备分配的数据结构 八…

目录

一、IO设备概述

二、IO控制器的组成

1.概述

2.主要过程

三、IO控制器的主要方式

1.程序直接控制方式

2.中断驱动方式

3.DMA方式

4.通道方式

四、IO的软件层次IO

五、IO调度和保护

1.IO调度

2.IO保护

六、假脱机技术,

七、设备分配的数据结构

八、缓冲区管理

(1)单缓冲

(2)双缓冲

(3)循环缓冲

(4)缓冲池


一、IO设备概述

对于IO设备需要理解的就是,IO设备通过总线挂在到计算机上,计算机通过不同的协议给IO设备通讯从而读写IO设备。比如,网卡,磁盘,键盘鼠标等。

二、IO控制器的组成

1.概述

上面提到,计算机和IO设备之间交互,需要通讯。有些通信可以硬件实现的,比如硬件SPI,当然也可以软件实现。CPU配置好IO控制器之后,把需要发送的数据和内容告诉这个IO硬件(也就是IO控制器),之后这个IO控制器自动使用对应的协议发送出去。总结就是,IO控制器是接受CPU指令,之后硬件实现协议

2.主要过程

比如用户进程要向磁盘里面写一些东西。

首先进程调用相关函数,由用户态转化成内核态,可以访问相关外设。

之后呢,调用相关外设的驱动,这些驱动会配置IO控制器,比如配置IO控制器使用什么协议,通信频率是多少。

之后CPU可以向IO控制器发送写指令,之后通过地址线可以知道写到哪里,通过控制线可以知道写还是读。

CPU写数据的时候,把数据放到数据寄存器,之后通过IO逻辑发送出去。

CPU读数据的时候,从数据寄存器中读数据。CPU如果有很多读写指令,还可以缓存到控制寄存器里面,之后IO控制器从这个寄存器取指令执行。

CPU可以通过状态寄存器来感知到当前接口状态,处于空闲还是繁忙。

IO逻辑接口三根线,分别传数据,状态(空闲还是忙碌),控制(读还是写)。

三、IO控制器的主要方式

1.程序直接控制方式

当读数据的时候,通过地址总线告诉IO逻辑要读数据了。此时状态寄存器肯定是free。

之后IO逻辑从对应的接口读数据,此时状态寄存器变成busy。

之后cpu一直不断的检测状态寄存器的状态,如果变成free,那么读取完毕。

这样导致cpu一直死等状态寄存器,比较浪费资源。

2.中断驱动方式

与上面不同的是,状态寄存器从忙碌到free,会产生一个中断,所以cpu在数据读取的过程中可以干其他事情。

缺点是每次读几个字节,中断频繁产生,这样其实不断的保存现场和恢复现场,比较浪费资源。

3.DMA方式

DR:数据寄存器

DC:数据计数器

MAR:内存地址

CR:控制寄存器(负责读还是写)

在DMA使用之前,会配置好DC和MAR,DC表示我要读多少字节,每成功读一个字节,这个--,-到0触发中断,说明读完一次了。

之后MAR的地址从开始连续的++,不断的把数据读到内存里面。

缺点是,只能连续读取。优点是,CPU配置完DMA就不管这事了,比较省CPU。

4.通道方式

通道也是个小型CPU,可以这样理解。

工作的时候呢,CPU告诉通道,我要在一个地址是读还是写。

之后通道按照上面的方式呢,和设备交互。

交互完成之后呢,触发中断,告诉CPU完成任务了。

四、IO的软件层次IO

用户层软件:就是比如WPS这种,用户程序。

设备独立性软件:主要负责设备的分配与回收。下面有详细解释。

设备驱动软件:设备是需要驱动的,驱动是告诉与设备 的通讯方式,比如SPI还是IIC。驱动被下载到电脑里面,每个驱动都有对应的设备,找到设备之后,选择对应的驱动,如果驱动没安装,那么设备也无法使用。

之后有了驱动,有了设备。之后CPU就可以发送指令,IO执行对应的协议,就可以和设备通讯,控制设备了,读写完成之后,产生中断,告诉进程,读写完毕。

五、IO调度和保护

1.IO调度

以读取磁盘数据为例。可能同一时间有很多磁盘读取的任务,那么如何安排这些任务呢,让磁盘读写的效率最高,就和华为软挑一样。IO调度由设备独立性软件负责,简单理解,相当于对IO任务排个顺序了。

排好顺序之后哦,就调用驱动,总线发送信息,一步一步的执行任务了。

2.IO保护

IO设备就是文件。从文件读取内容,相当于读设备,从文件写内容,相当于写设备。

比如打印机相当于一个文件,向打印机文件写数据,相当于发送信息给打印机。

比如键盘相当于一个文件,向键盘文件读数据,相当于读取键盘数据。

所以可以像操作文件一样操作设备,给设备设置权限,加密码啥的。

六、假脱机技术,

如果由很多进程都需要使用打印机,当一个使用打印机的时候,其他进程就阻塞,就等着,这样不太好。我们想要其他进程也可以继续执行其他的。

所以就专门再设计一个进程Spooler,当进程A使用打印机的时候,他告诉Spooler,我要打印什么什么。之后就去做其他事情了。之后进程B使用打印机的时候就告诉Spooler,打印什么什么,之后也去做其他的事情了。(怎么告诉? 实际上是进程之间的通讯嘛,本质是共享内存)

之后Spooler就维护了一个任务队列,Spooler从共享内存里面把数据读到磁盘里面。之后当运行的之后,再把磁盘的任务读出来,一个一个的运行。

七、设备分配的数据结构

系统会维护一个SDT,这个每个表目里面都由设备的类型,是什么驱动啊等信息,之后他还标识了这个设备的设备控制表的入口。

之后设备控制表也有当前设备的相关信息啊,当分配设备的时候,如果设备不够用了,那么就把他放到设备队列指针里面。

通过控制器表可以找到当前设备的控制器,查看控制器的相关信息。如果控制器处于忙碌,那么就把当前任务放到控制器队列里面。

之后通过设备控制器表还可以找到通道控制表。这个也是记录了通道的相关信息。之后如果申请通道时资源不够,那么把任务放到通道队列里面。

通过通道控制表还可以找到挂在这个通道下的控制器。

八、缓冲区管理

(1)单缓冲

(2)双缓冲

先往M1写,M1被处理的过程中,可以继续向M2写,这样提高了效率。

(3)循环缓冲

搞了一个循环队列,告诉从那个缓冲区读,从那个缓冲区写。他的缓冲区多了,那样其实效率肯定又高了一点。

比如,缓冲1数据满了,进程没来得及处理,之后不断的向缓冲2,3,4,5写数据。写完了进程来处理了。比双缓冲省时间了,因为双缓冲只能写俩,之后就等待进程,这个可以写5个。

(4)缓冲池

反正就是有一个空闲的内存

当输入数据的时候,把这个空闲内存搞出来一部分加入到输入队列,之后存数据,当进程读完数据之后,把这个内存重新放到空队列。

当输出数据的时候,把从空队列里面搞出来一部分,放数据,之后数据发给IO设备之后,把这个内存释放掉,重新放回空队列。

http://www.dtcms.com/a/476035.html

相关文章:

  • 网站后台怎么做外部链接建设公司网站怎么弄
  • 网站做外链的技巧商丘百度推广电话
  • 站长工具网址查询汕头建设吧 百度贴吧
  • 西安公司建一个网站需要多少钱简约ppt免费模板
  • 如何免费建一个学校网站网络设计一般包括
  • 快速搭建网站视频教程江门小程序商城开发
  • 响应试网站和移动端开发公司和物业公司签协议
  • 山东青岛网站建设seo优化东莞网站建设优化东莞
  • 数据表和网站建设的关系企业微信管理
  • 静态单页网站wordpress广州越秀区天气预报15天查询
  • wordpress 导航图片尺寸window优化大师
  • 做界面的网站广州官方宣布
  • 适合程序员做项目笔记的网站百度做网站骗人到哪里去投诉
  • 武威市凉州区建设局网站网站gzip压缩
  • 什么网站可以做高仿化妆品企业网站案例大全
  • 苏州做儿童场馆门票包票的网站建站网址平台
  • 怎样利用云盘做电影网站做音乐网站首页要求
  • 北海哪里做网站建设wordpress百度地图开发
  • 网站建设中 尽情期待龙南县建设局网站
  • 用自己的名字做网站域名可以专做福特配件吗外贸网站
  • 医疗网站整站优化思路wordpress 博客下载
  • 摄影作品哪里看合肥seo培训
  • 遂溪网站开发公司英文建站软件
  • php婚庆网站源码总部在深圳的互联网公司
  • 普陀酒店网站建设学做静态网站
  • 网站设计风格确认书青海省城乡建设厅网站
  • 创意礼品做的比较好的网站周口城乡建设局网站
  • 道滘镇做网站中国室内设计公司100强
  • 郑州旅游网站搭建企信网查询官网
  • 优秀甜品网站苏州广告公司招聘