Linux内核/OS
seanyxie
谢思源的个人博客
展开
-
linux内核ioctl函数学习
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 <br />一、 什么是ioctl。<br />ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:<br />int ioctl(int fd, ind cmd, …)转载 2010-07-12 19:15:00 · 3455 阅读 · 0 评论 -
来认识寄存器,内存,IO空间,IO端口,IO内存
<br />整天说内存,寄存器,端口,他们有什么联系,有什么不同之处,你了解他们么?<br /> <br />第一、寄存器和内存的区别<br />寄存器和内存都是可以用来读写的,但寄存器的操作时有副作用,称之为(side effect 边际效果)<br />读取一个寄存器可能导致寄存器中的内容发生变化,比如在一些设备的中断状态寄存器中,读取了寄存器后会自动清零<br /> <br />第二、IO空间和内存空间<br />并不是所有的体系结构都有IO空间这个定义的,我所了解的只有X86体系上有,而ARM体系结原创 2010-10-17 00:39:00 · 8070 阅读 · 0 评论 -
MMU工作原理以及S3C2440的MMU
<br />MMU,全称Memory Manage Unit, 中文名——存储器管理单元。<br />许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以 内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面 前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆原创 2010-07-12 13:39:00 · 8023 阅读 · 8 评论