linux kernel
雨轩剑
大家好,互相学习进步
展开
-
《Linux0.11内核完全注释》读后小结 --- 进程调度与信号
schedule.c 是关于进程调度的。schedule 函数是核心,先检查task列表中,有没有收到信号的,有的话处理之。/* check alarm, wake up any interruptible tasks that have got a signal */for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) if (*原创 2012-02-24 11:10:35 · 1084 阅读 · 0 评论 -
《Linux0.11内核完全注释》读后小结 --- 内存寻址
Linux 内存管理主要是32保护模式下,段页式内存管理。如何处理内存相关的寄存器,使得程序可以读写超过4G的内存。x86这个CPU框架,会根据寄存器的值和段页式规则来进行地址变换,进行内存访问。其中,也会进行权限验证等附加判断。几个概念:保护模式vs实模式保护模式下的:虚地址:程序产生的段选择符,段内偏移地址两部分组成。要经过分段地址变换处理后,才对应到屋里地址。原创 2012-02-13 19:30:39 · 1006 阅读 · 0 评论 -
《Linux0.11内核完全注释》读后小结 --- 启动引导
bootsect.s 我们实验环境中,Image 就是一个软盘镜像,bootsect.s就在软盘的第一个扇区中(引导扇区,0磁道,0磁头,第一个扇区)硬盘有一个单独的镜像文件BIOS ROM如果设置成软盘启动,就把引导扇区的代码加载到0x7C00开始处执行。因为前面的内存保存有有用的信息。如果是从硬盘启动系统,就不执行bootsect.s。LILO, Grub等多操作系统引原创 2012-02-13 19:30:53 · 1018 阅读 · 0 评论 -
《Linux0.11内核完全注释》读后小结 --- 中断与系统调用
Linux 系统包含了一大堆的中断,是所有操作的基础。中断中的开闭中断cli(close interrupt)指令用来复位CPU标志寄存器中的中断标志,使系统不响应外部中断。sti(start interrupt)指令用来复位,使系统响应中断。asm.s 设置了一堆底层中断,进入中断前要压入eax等寄存器,执行完要pop 出一些寄存器。这种统一的工作在 no原创 2012-02-16 16:00:43 · 799 阅读 · 0 评论