【读书笔记】Linux源码注释

第二章

大概的内部组成

IO端口寻址:

统一寻址: 就是把地址归入存储器寻址范围.

独立寻址: 跟存储器分开,专门的寻址空间

没怎么理解, PC机一般都是采用独立寻址,

见下图

在linux里,可以在 cat /proc/ioports 查看

访问控制:

循环/中断/DMA

循环消耗CPU时间

所以,中断性能好. 在CPU收到中断的时候,通过中断向量表来寻址中断服务过程的地址.

DMA属于抛开CPU,自己干.

?

内存 BIOS CMOS

BIOS真正的位置,处于CPU所能寻址的最高端,而且还有个bios的shadow区域,会在开机的时候,复制到那里

(未完待续)

时间: 2024-08-06 05:35:33

【读书笔记】Linux源码注释的相关文章

linux源码阅读笔记 asm函数

在linux源码中经常遇到__asm__函数.它其实是函数asm的宏定义 #define __asm__ asm,asm函数让系统执行汇编语句. __asm__常常与__volatile__一起出现.__volatile__限制编译器不能对下面的汇编语句进行优化处理. 分析下面语句 __asm__("movb %3,%%dh\n\t" \ "movb %2,%%dl\n\t" \ "shll $16,%%edx\n\t" \ "movw

用linux源码构建xen的domU

linux源码版本linux-3.14,可以从https://www.kernel.org/获取. 由于已经有了dom0(fedora19),现在需要安装domU,domU可以用xen源码自带的miniOS,这个os是xen客户机的最小系统,有机会一定安装一下试试.这次我配置安装的是linux. 参考xen的wiki页 http://wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs Configuring the Kernel for

Hadoop学习笔记(9) ——源码初窥

Hadoop学习笔记(9) ——源码初窥 之前我们把Hadoop算是入了门,下载的源码,写了HelloWorld,简要分析了其编程要点,然后也编了个较复杂的示例.接下来其实就有两条路可走了,一条是继续深入研究其编程及部署等,让其功能使用的淋漓尽致.二是停下来,先看看其源码,研究下如何实现的.在这里我就选择第二条路. 研究源码,那我们就来先看一下整个目录里有点啥: 这个是刚下完代码后,目录列表中的内容. 目录/文件 说明 bin 下面存放着可执行的sh命名,所有操作都在这里 conf 配置文件所在

如何准备阅读Linux源码

Linux 0.11虽然不是什么"珠穆朗玛峰",但它肯定还是"华山"或"泰山".虽然有路但你还是需要最基本的努力和花费一定的代价才能"攀登"上去. 1. PC兼容机硬件工作原理(比如8259A,8253, 8042,UART等硬件):2. Intel 32位 运行模式工作原理,寻址方式:3. 传统C语言:4. 一些Intel asm基础.5. 会使用Linux操作系统,懂得Linux系统的基本操作. 推荐参考书籍: =====

模拟银行输入密码源码+注释+解答!

这篇文章是个大家分享的一点小知识:模拟银行输入密码源码+注释+解答! //模拟密码的输入 //库1 :*** //库2 :到位数 自动提交 //网络api 细节 800页 //学习网络概念 库 //c 数据结构 linux //C++ 数据结构 windows qt mfc //8000 #include #include #include //getch 没有回显 getchar回显 int main() { char passwd[] = "123456"; //原始密码 char

linux源码包的安装

一.基础知识    编译源程序的步骤:     # tar xf testapp-version.tar.{xz|bz2|gz}     # cd testapp-version     # ./configure      还需通过许多选项指定编译特性     # make     # make install    ./configure脚本的使用:     1.获取帮助      ./configure --help     2.较通用的一些选项      安装路径相关:       --

linux源码编译安装php出现 cannot find -lltdl

原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcrypt,那么需要安装libltdl libltdl在libmcrypt软件包中就有,具体过程: #cd /software/libmcrypt-2.5.8/libltdl #./configure –enable-ltdl-install #make #make install 这个时候再回到php的

linux源码升级内核

 当前环境: [[email protected] ~]# uname -r 2.6.18-348.el5 配置流程: 1.准备yum库安装g++ gcc [[email protected] ~]# cat /etc/yum.repos.d/rh_5.9.repo [rhel-server] name=Red server baseurl=file:///misc/cd/Server enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM

如何从Linux源码获知版本信息

/*************************************************************************** * 如何从Linux源码获知版本信息 * 声明: * 本文主要在移植BQ27441-G1电量监测计驱动过程中,发现I2C获取的值有异常, * 之前移植官方的驱动发现驱动与当前版本的Linux版本好像是不兼容的,但没有进行 * 更进一步的深究,这里记录一下. * * 2016-2-15 深圳 南山平山村 曾剑锋 *****************