1、X86架构下的从开机到Start_kernel启动的总体过程
这个过程简要概述为:
开机——>BIOS——>GRUB/LILO——>Linux Kernel
其运行的流程图和重要函数如下图所示:
2、加载Linux内核(基于X86)的内存布局图
| |
0A0000 +--------------------------+
| Reserve...
分类:
系统相关 时间:
2014-08-07 15:43:23
阅读次数:
318
Hanks.Wang - 专注于操作系统与移动安全研究,Linux-Kernel/SELinux/SEAndroid/TrustZone/Encription/MDM Mail - byhankswang@gmail.com
牛X的内核代码注释
大牛的代码质量高稳定性好,而且逻辑清晰易读性比较强,今天看到Linux Kernel红黑树的代码时,瞬间被大牛的代码注释秒...
分类:
系统相关 时间:
2014-08-06 19:17:32
阅读次数:
322
KVM(kernel-basedvirtualmachine,内核虚拟机),是一个开源的系统虚拟化模块,自Linux2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,虚拟化效率高、管理简便。1)系统环境操作系统CentOSrelease6.3内核版本2.6.32-279.el6.x86_64服务器型号Del..
分类:
其他好文 时间:
2014-08-05 22:56:52
阅读次数:
520
在Android操作系统中,将体系结构划分为4层:应用层(Application)、应用框架层(Application Framework)、系统运行库层(Library)以及Linux内核层(Linux Kernel)。
1,应用层(Application)
应用层是使用Java语言进行开发的一些应用程序,如地图软件,联系人管理,Email连接,浏览器等都属于应用层上运行的程...
分类:
移动开发 时间:
2014-08-05 19:17:20
阅读次数:
278
前段时间,发生了一个问题引起了我对IO队列深度的研究。存储服务器中linux kernel的mpt2sas驱动模块,将max_queue_depth设置为1024时,引起系统加载驱动时卡死,而调整为512则没问题。后来看了很多这方面的资料,终于弄明白了。我们为了追求系统的性能,往往将max_queu...
分类:
其他好文 时间:
2014-08-05 15:47:29
阅读次数:
1633
在linux c编程中,我们可以使用fork,vfork,clone三个系统调用来创建子进程。下面我们先分析下fork系统调用的实现原理。代码如下(kernel/fork.c): 1 #ifdef __ARCH_WANT_SYS_FORK 2 SYSCALL_DEFINE0(fork) 3 { 4 ...
分类:
其他好文 时间:
2014-08-05 13:37:50
阅读次数:
444
U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等。而Linux kernel也会读取和处理这些参数。两者之间通过struct tag来传递参数。U-boot把要传递给kernel的东西保存在struct tag数据结构中,启动kernel时,把这个结构体的物理...
分类:
系统相关 时间:
2014-08-05 13:20:19
阅读次数:
507
直接使用sysctl可以修改内核在运行时的参数,这些参数位于/proc/sys/目录下,修改内核参数时,可以不用写/proc/sys,只需要写上在该目录下的文件的名称或子目录的名称,如修改操作系统的主机名,该参数位于/proc/sys/kernel/目录下的hostname文件,如下所示:[root@zhanghe~]#l..
分类:
其他好文 时间:
2014-08-04 18:18:38
阅读次数:
234
##Manage Kernel Modules display modules >lsmod Check modules parameters >modinfo -p usb_storage|st|sc8 Load modules >modprobe usb_storage|st|sc8 Rmove mdules > rmmod usb_storage|st|sc8 ###Set defau...
分类:
其他好文 时间:
2014-08-04 14:47:07
阅读次数:
247
很多安装软件会存储在USB硬盘里面,在Windows系统中,则意味着,该USB硬盘驱动必须使用NTFS格式,因为FAT32格式的最大文件大小是4GB。然而,这里又会碰到新问题,因为在RHEL5中,默认不支持NTFS格式,换一句话说,就不能挂载文件格式为NTFS的USB硬盘。不过这里有个权益之计(work around),被称作'ntfs-3g', 要使其生效,必须安装下面RPM包。
NOTE:
使用的版本必须和Linux kernerl module相匹配,可以用uname -r来查看kernel版本,第一...
分类:
其他好文 时间:
2014-08-03 23:23:46
阅读次数:
410