
linux内核
文章平均质量分 77
Yaho0912
这个作者很懒,什么都没留下…
展开
-
《Linux内核设计的艺术》总结:开机加电到main执行
开机加电到main执行:BIOS运行按下开机键之后计算机便开始运行。CPU一开始在16位的实模式下运行,寻址空间为20位,也就是1MB。CPU执行的是内存中的指令,这时内存是空的,没有可执行的指令。所以BIOS会首先将自身程序加载到物理内存的特定位置,386之前的机器为0xFFFF0的位置,该位置是配件厂商协商好的。然后CS和IP寄存器会分别被强制设置为0xF000、0xFFF0,原创 2015-09-18 19:08:01 · 717 阅读 · 0 评论 -
《Linux内核设计的艺术》总结:设备环境初始化及激活进程0
现在main函数开始执行了,可真正意义上的说linux操作系统开始运行了。main函数将设置程序在操作系统下运行所需的环境并创建进程0,操作系统才有了第一个进程。1. 设置根设备和硬盘信息。之前在setup程序中加载了一些硬件信息并存储在物理内存0x90000-0x901FC处,main函数从这些参数中设置了全局变量根设备ROOT_DEV、硬盘信息drive_info,这两个信息在设置操作系统原创 2015-09-20 15:35:35 · 1012 阅读 · 0 评论 -
《Linux内核设计的艺术》总结: 进程1的创建
现在操作系统已经有了第一个用户进程0,进程0是一个idle进程,现在它要去创建进程11. 通过系统调用fork创建进程1. if (!fork()) { /* we count on this going ok */ init(); } for(;;) pause();fork系统调用会创建子进程,并和父进程共享代码段,它有两个返回值。在父进程中返回子进程的pid,每次创原创 2015-09-22 21:14:37 · 706 阅读 · 1 评论 -
在linux 4.x内核中增加系统调用
系统版本:deepin 2015.1 x64内核版本:4.4.31. 下载内核源代码在www.kernel.org处下载相应的内核版本,解压并进入源代码根目录。2. 增加系统调用号在系统调用入口表中增加一项:vim arch/x86/entry/syscalls/syscall_32.tbl在文件末端增加自己的系统调用函数以及对应的系统调用编号,注意不要覆盖原有的系统调原创 2016-02-29 14:55:22 · 9799 阅读 · 4 评论