E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
start_kernel
?【内核修炼】Linux启动过程流程简析
启动过程从内核映像入口开始执行,解压vmlinux(内核自引导)并且转换到虚拟地址空间,再调用统一的内核启动函数
start_kernel
(),从而启动整个Linux系统。
zhiyu_jiang
·
2011-09-25 23:00
linux
工作
REST
command
化工
linux内核
Linux从开机到登录启动过程综述(2)
核心数据结构初始化--内核引导第一部分
start_kernel
()中调用了一系列初始化函数,以完成kernel本身的设置。这些动作有的是公共的,有的则是需要配置的才会执行的。
martin2350
·
2011-09-16 22:00
Linux启动中setup_arch分析
[注:内核版本Linux-2.6.30]setup_arch执行是由
start_kernel
来调用的:
start_kernel
[init/main.c]-->setup_arch(&command_line
voice_shen
·
2011-09-02 15:00
linux
struct
command
resources
tags
Pointers
模块打包方式和加载时机
模块的加载:对于编译进内核的模块:在kernel启动过程中函数
start_kernel
里,调用r
adaptiver
·
2011-08-31 13:00
脚本
REST
basic
产品
linux内核启动流程
Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到
start_kernel
间的初始化代码,主要作用是检查
xitong
·
2011-08-23 20:00
linux
linux内核启动流程
Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到
start_kernel
间的初始化代码,主要作用是检查
ce123
·
2011-08-23 20:00
thread
timer
exception
cache
struct
linux内核
linux内核中的linux_banner信息
[Linux内核版本:linux-2.6.30]Linux内核启动后在
start_kernel
[init/main.c]首先会调用printk(KERN_NOTICE"%s",linux_banner)
voice_shen
·
2011-08-18 22:00
linux
compiler
linux内核
Linux各个部份初始化过程--待续
[内核版本:Linux-2.6.30]众所周知,LinuxC代码初始化入口是
start_kernel
()[init/main.c]函数。以下进行单核CPU进行分析。
voice_shen
·
2011-08-15 23:00
Linux-Android启动之Init进程前传
http://blog.csdn.net/guopeixin/article/details/5694749对Linux-Android系统的启动做了一些分析,下面的一篇文章侧重讲述Linux启动过程中函数
Start_kernel
hellolwl
·
2011-08-13 22:00
thread
manager
REST
command
domain
linux内核
linux启动过程
Therunlevelsfieldiscompletelyignored.加载BIOS BootLoader加载内核屏幕一般会输出“UncompressingLinux”的提示,系统将解压后的内核放置在内存之中,并调用
start_kernel
drbinzhao
·
2011-08-05 17:00
driver最近做的小笔记,有点乱,后面来整理
kernelmakefile:对Documentation/kbuild/makefiles.txt翻译:http://blog.chinaunix.net/uid-21712186-id-1818187.htmluboot到
start_kernel
hxchuan000
·
2011-07-26 09:00
Linux内核启动分析(1)
Linux内核启动分析(1) 主要实现代码为
start_kernel
。
voice_shen
·
2011-06-22 21:00
cache
command
tree
Security
bugs
linux内核
Linux 启动流程 粗解(二)
另一个重要函数在
start_kernel
中最后调用的函数0#1#进程都是在这里启动的staticnoinlinevoid__init_refokrest_init(void)__releases(kernel_lock
lihenair
·
2011-06-03 16:00
thread
linux
command
basic
transition
keyboard
arm linux 从入口到
start_kernel
代码详细分析
最近研究了一下arm linux的入口部分的代码,code不是太多,所以写了个笔记,详细的分析了每一条语句.大家看看,交流一下.下面使正文.由于内容比较多,分几层楼发吧____________________________________________________________________________________本文针对armlinux,从kernel的第一条指令开始分析,
tony821224
·
2011-05-28 21:00
linux
cache
struct
存储
domain
alignment
msleep/mdelay以及early_initcall调用时机
看了一下kernel启动时early_initcall等的调用时机,early_initcall也是在init进程里调用的,稍早于pure_initcall、core_initcall等,见下面:在
start_kernel
adaptiver
·
2011-05-26 17:00
Linux 2.6.36 x86 内核中断初始化过程详解
在
start_kernel
()之前的中断门初始化就不多啰嗦了,在随便的内核教科书里都能看到,这里就从
start_kernel
以后开始。
yearn520
·
2011-05-24 13:00
数据结构
linux
timer
vector
struct
X86
arm Linux系统启动之----
start_kernel
函数
head-common.S---具体做了哪些动作---跳转到init/main.c---bstart_kernel//关于
start_kernel
的强文深入理解linux内核,第八章main.casmlinkagevoid
skywalkzf
·
2011-05-11 20:00
linux
timer
struct
command
linux内核
locking
CPU在上电后,进入操作系统的main()之前必须做什么工作
检查硬件等读取MBR转到MBR执行它的代码,它会检测活动分区把活动分区的引导扇区的引导代码装入内存运行引导代码引导代码装入该分区的操作系统也就是进入main()(当然不一定叫main,如linux下叫
start_kernel
iamdll
·
2011-04-20 15:00
linux
工作
活动
[装载]ARM Linux内核启动过程
@gmail.com注:本文转自ChinaUnix作者为XPL.本文针对armlinux,从kernel的第一条指令开始分析,一直分析到进入
start_kernel
()函数.我们当前以linux-2.6.19
tonghuix
·
2011-04-20 14:57
linux
ARM
内核启动过程
根文件系统挂载
转载请注明出处:http://sjj0412.cublog.cn/------------------------------------------由bootload进入linux后由head.s进入了
start_kernel
kevin_hcy
·
2011-04-13 14:00
thread
cache
struct
command
null
tags
linux内核初始化中
start_kernel
()的大体执行过程
内核中关键部分调用过程:
start_kernel
()-->rest_init()-->kernel_thread()启动内核线程init->init()-->do_basic_setup()--
lanyang123456
·
2011-04-12 16:00
thread
basic
linux内核
start_kernel
()函数
Start_kernel
()中调用了一系列初始化函数,以完成kernel本身的设置。这些动作有的是公共的,有的则是需要配置的才会执行的。
isiqi
·
2011-04-11 19:00
thread
数据结构
linux
cache
UP
start_kernel
分析
start_kernel
分析 如果以为到了c代码可以松一口气的话,就大错特措了,linux的c也不比汇编好懂多少,相反到掩盖了汇编的一些和机器相关的部分,有时候更难懂。
isiqi
·
2011-04-11 17:00
C++
c
linux
C#
嵌入式
linux内核启动流程
linux内核启动流程 Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到
start_kernel
间的初始化代码
isiqi
·
2011-04-11 17:00
数据结构
linux
cache
C#
嵌入式
start_kernel
函数
4.2内核初始化如图4.6所示,内核的初始化过程由
start_kernel
函数开始,至第一个用户进程init结束,调用了一系列的初始化函数对所有的内核组件进行初始化。
soxiebing
·
2011-03-10 16:53
linux
职场
休闲
内核启动
linux启动原理之-initrd和Debian实例
init/main.c中的
start_kernel
函数完成了所有的全局特性初始化,这些全局特性包括内核运转所需要的基础设施,比如虚拟内存设施,进程调度设施,中断设施,缓存设施,VFS设施等,接下来启动1
xitong
·
2011-02-23 21:00
Debian
linux启动原理之-initrd和Debian实例
init/main.c中的
start_kernel
函数完成了所有的全局特性初始化,这些全局特性包括内核运转所需要的基础设施,比如虚拟内存设施,进程调度设施,中断设施,缓存设施,VFS设施等,接下来启动1
dog250
·
2011-02-23 21:00
linux
Debian
image
cache
documentation
linux内核
linux启动原理之-initrd和Debian实例
init/main.c中的
start_kernel
函数完成了所有的全局特性初始化,这些全局特性包括内核运转所需要的基础设施,比如虚拟内存设施,进程调度设施,中断设施,缓存设施,VFS设施等,接下来启动1
dog250
·
2011-02-23 21:00
linux启动原理之-initrd和Debian实例
init/main.c中的
start_kernel
函数完成了所有的全局特性初始化,这些全局特性包括内核运转所需要的基础设施,比如虚拟内存设施,进程调度设施,中断设施,缓存设施,VFS设施等,接下来启动1
totoxian
·
2011-02-23 21:00
Debian
arm-linux 启动代码分析——stage1 (1)
arm-linux启动代码分析——stage1(1) 本文针对armlinux,从kernel的第一条指令开始分析,一直分析到进入
start_kernel
()函数.我们当前以linux-2.6.19内核版本作为范例来分析
insect27
·
2011-02-22 17:00
linux
struct
list
cache
存储
代码分析
安装根文件系统
5.12安装根文件系统
start_kernel
下步是另一个重要的函数,678行的vfs_caches_init,用于初始化VFS那些数据结构的slab缓存,来自fs/dcache.c: 2355void
yunsongice
·
2011-02-01 02:00
list
struct
cache
File
null
System
走进
start_kernel
尾声
5.11走进
start_kernel
尾声中断体系建立起来后,虽然后面还有很多行代码,但是都是些比较好理解的初始化函数了,也就是说
start_kernel
进入尾声了。
yunsongice
·
2011-02-01 02:00
struct
cache
null
buffer
delay
loops
初始化定时器中断
5.10.4初始化定时器中断回到
start_kernel
,612行time_init函数:void__inittime_init(void){ late_time_init=x86_late_time_init
yunsongice
·
2011-02-01 02:00
timer
struct
list
汇编
div
X86
软中断初始化
5.10.3软中断初始化open_softirq结束后,init_timers就结束了,整个内核就可以享受时钟服务了,接下来
start_kernel
的609行调用hrtimers_init。
yunsongice
·
2011-02-01 02:00
linux
list
unix
struct
action
X86
初始化本地软时钟
5.10.2初始化本地软时钟native_init_IRQ结束后,init_IRQ也就结束了,回到
start_kernel
中,607行,prio_tree_init函数很简单: void__initprio_tree_init
yunsongice
·
2011-02-01 02:00
数据结构
timer
list
timezone
struct
action
设置APIC中断服务
5.10初始化中断处理系统
start_kernel
接下来要做的事是初始化中断处理系统。整个内核的中断系统的核心就是我们在“初始化中断描述符表”里面设置的那个中断描述符表。
yunsongice
·
2011-02-01 02:00
Math
timer
vector
struct
performance
X86
初始化调度程序
5.9初始化调度程序回到
start_kernel
函数中,mm_init()执行后,所有的绝大多数内存管理的初始化都完毕,后面的代码可以开开心心的使用Linux复杂、庞大而又高效的内存管理器了。
yunsongice
·
2011-02-01 02:00
thread
数据结构
struct
tree
Arrays
migration
启用伙伴算法
5.8初始化内存管理回到
start_kernel
,下一个函数执行mm_init()。这个函数很重要了,来自同一个文件。
yunsongice
·
2011-02-01 02:00
算法
cache
struct
list
table
Build
初始化异常服务
5.7初始化异常服务继续走,
start_kernel
的583行,sort_main_extable,把编译期间,kbuild设置的异常表,也就是__start___ex_table和__stop___ex_table
yunsongice
·
2011-02-01 02:00
thread
vector
struct
table
System
X86
触碰虚拟文件系统
5.6触碰虚拟文件系统回到
start_kernel
中,下面我们该第一次接触文件系统了,582行执行vfs_caches_init_early: void__initvfs_caches_init_early
yunsongice
·
2011-02-01 02:00
数据结构
linux
cache
struct
System
Allocation
初始化内存管理区列表
5.4初始化内存管理区列表回到
start_kernel
函数,569行的build_all_zonelists()函数,来自mm/page_alloc.c: 2815voidbuild_all_zonelists
yunsongice
·
2011-02-01 02:00
cache
struct
null
Build
each
distance
设置每CPU环境
5.3设置每CPU环境回到
start_kernel
,563行调用mm_init_owner函数,将init_mm的owner字段指回init_task。
yunsongice
·
2011-02-01 02:00
struct
command
table
Arrays
X86
distance
执行setup_arch()函数
5.2执行setup_arch()函数回到
start_kernel
当中,562行,调用setup_arch函数,传给他的参数是那个未被初始化的内部变量command_line。
yunsongice
·
2011-01-11 23:00
command
insert
makefile
resources
X86
Parsing
激活第一个CPU
回到
start_kernel
,559行,boot_cpu_init函数,跟
start_kernel
位于同一文件: 494staticvoid__initboot_cpu_init(void) 495{
yunsongice
·
2011-01-11 22:00
注册时钟事件监听器
5.1.3注册时钟事件监听器由于我们在.config文件中设置了CONFIG_GENERIC_CLOCKEVENTS,所以,
start_kernel
函数的第558行调用kernel/time/tick-common.c
yunsongice
·
2011-01-11 22:00
timer
struct
启动大内核锁
5.1.2启动大内核锁回到
start_kernel
,557行,lock_kernel(),实际的代码来了,大内核锁。
yunsongice
·
2011-01-11 22:00
数据结构
linux
struct
UP
linux内核
走向现代:
start_kernel
函数
5走向现代:
start_kernel
函数这是内核初始化至此,终于跑出arch/x86目录了,它在linux/init/main.c,以后的代码除了少数特例,其余的都在linux/init/目录中。
yunsongice
·
2011-01-11 22:00
cache
command
REST
tree
bugs
locking
arm 嵌入式LINUX启动过程(2)[转]
start_kernel
在 /linux/init/main.c中定义: asmlinkage void __init start
zhw888888
·
2010-12-31 11:00
linux
struct
汇编
command
嵌入式
domain
linux kernel 从入口到
start_kernel
的代码分析
linuxkernel 从入口到
start_kernel
的代码分析本文的很多内容是参考了网上某位大侠的文章写的>,有些东西是直接从他那copy过来的。
yangzhu1982
·
2010-12-22 11:00
基于arm的Linux的启动分析(至
start_kernel
)
转自网络 启动过程分析如下:压缩的内核zImage 的入口程序为 Commpressed的head.S,它依次完成以下工作:开启 MMU 和 Cache,调用 decompress_kernel()解压内核,最后通过调用 call_kernel()进入非压缩内核 Image 的启动。下面将具体分析在此之后 Linux 内核的启动过程。Linux内核入口 Linux 非压缩内核的入口位于文件/arc
yangzhu1982
·
2010-12-22 10:00
linux
工作
汇编
image
化工
linux内核
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他