内存与端口映射讲述.docVIP

  • 12
  • 0
  • 约4.36万字
  • 约 11页
  • 2016-12-29 发布于湖北
  • 举报
A. 可重入函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。若对所使用的全局变量不加以保护,则此函数就不具有可重入性,即当多个进程调用此函数时,很有可能使有关全局变量变为不可知状态。 B. 寄存器和内存的区别 寄存器和内存都是可以用来读写的,但寄存器的操作时有副作用,称之为side effect(边际效果) 读取一个寄存器可能导致寄存器中的内容发生变化,比如在一些设备的中断状态寄存器中,读取了寄存器后会自动清零 IO空间和内存空间 并不是所有的体系结构都有IO空间这个定义的,我所了解的只有X86体系上有,而ARM体系结构就没有这种区别, 在X86上,IO空间和内存是独立的,他们各自有各自的总线,并且IO空间一般是64K,即16位,内存空间为4G 可见他们的差别是很大 IO 端口和IO内存 有了IO空间的概念后,就有IO端口和IO内存 当一个寄存器或内存位于IO空间时候,称之为IO端口 当一个寄存器或内存位于内存空间时候,称之为IO内存 这种映射是通过OS的MMU来把虚拟地址映射为物理地址的 C. Linux在kernel/resource.c文件中定义了全局变量ioport_resource和i

文档评论(0)

1亿VIP精品文档

相关文档