linux内核学习
文章平均质量分 70
xiaqing01
什么事情只要静下心来,都是有希望的
展开
-
ORG 0x7C00
org 0x7c00是告诉编译器,这段代码是要加载到0x7c00处的。编译器在编译代码的时候如果涉及到变量寻址操作是会自动加上0x7c00这个基址的。因为最终确定每条指令的地址其实是编译器做的事情,在链接的时候会自动的进行重定位和地址分配。这里不是说编译器加载代码到0x7C00,而是由BIOS来自动的将启动代码加载到0x7C00,但是我都到这里了,那么我每次寻址的话就得还加上这个基地址。原创 2013-11-15 11:09:45 · 1415 阅读 · 0 评论 -
bootsect.s问题合集
这个是我学习bootsect.s文件时,看完了本版关于bootsect文件后汇集了一下。有些问题实在是书上很明显的地方,我就没有摘录上去有些问题实在和bootsect这个代码没有关系,我也没有摘录上去都是大家问的问题,也是自己最想问的问题。我看了几遍依然还是有很多问题。其实很多问题,以前大家都问过了,确实是这样的。查阅很方便,都是按照行号来的!-------------------------转载 2013-11-16 14:45:48 · 1166 阅读 · 0 评论 -
[BOOT部分]boot.asm为什么要使用org汇编指令
boot.asm为什么要使用org汇编指令 问题boot.asm编译之后,存放于软盘映像的第一个扇区。BIOS会自动将其加载至0x7c00处,然后跳转至0x7c00开始执行代码。那么,为什么要使用org指令指定编译器从0x7c00开始编址呢?分析首先要明确,编址是什么意思?对于一条指令,如果其中不含有符号,则不存在编址问题。例如mov ax,0x1原创 2013-11-13 21:41:32 · 3653 阅读 · 0 评论 -
内核学习总结(一)
1.原创 2014-08-01 18:51:06 · 565 阅读 · 0 评论 -
内核学习总结(二)
Linux 容器使用 Cgroup 和 Namespace 就可以实现容器。 容器这个技术也称为操作系统虚拟化, 是将一个内核所管理的资源划分成多个分组。在 容 器 中,CPU 和 内 存 资 源 是 使 用 Cgroup 来 划 分 的。PID、IPC、 网 络 等 资 源 使 用Namespace 来划分原创 2014-08-01 22:44:12 · 606 阅读 · 0 评论 -
内核学习总结(三)
Linux 中的 Out Of Memory(OOM)Killer 功能作为确保内存的最终手段,可以在耗尽系统内存或交换区后,向进程发送信号,强制终止该进程。原创 2014-08-01 23:29:50 · 658 阅读 · 0 评论 -
推荐个看kernel源码的好网站。
好吧,其实我是izhttp://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/virt/kvm/kvm_main.c原创 2014-08-28 16:38:18 · 674 阅读 · 0 评论 -
kvm 源代码杂篇
分析KVM,对我这种菜鸟确实难度太大。2270 static int kvm_dev_ioctl_create_vm(void)2271 {2272 int fd;2273 struct kvm *kvm;2274 2275 kvm = kvm_create_vm();2276 if (IS_ERR(kvm))原创 2014-08-28 17:27:11 · 1057 阅读 · 0 评论