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
Arm linux kernel 启动之
start_kernel
了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的
start_kernel
函数了。
cpq37
·
2012-08-13 20:00
thread
linux
struct
command
tags
locking
Android培训班(111)
start_kernel
函数8
/**HACKALERT!Thisisearly.We'reenablingtheconsolebefore*we'vedonePCIsetupsetc,andconsole_init()mustbeawareof*this.Butwedowantoutputearly,incasesomethinggoeswrong.*/console_init();这个函数是用来初始化控制台,从这个函数之后就
caimouse
·
2012-08-12 22:00
android
测试
任务
output
bugs
磁盘
Android培训班(110)
start_kernel
函数7
parse_args("Bootingkernel",static_command_line,__start___param,__stop___param-__start___param,&unknown_bootoption);这行代码主要对传入内核参数进行解释,如果不能识别的命令就调用最后参数的函数。if(!irqs_disabled()){printk(KERN_WARNING"start_
caimouse
·
2012-08-05 18:00
数据结构
android
linux
工作
command
Android培训班(109)
start_kernel
函数6
setup_command_line(command_line)这个函数主要作用是保存命令行,以便后面可以使用。unwind_setup()这个函数主要作用是对调用栈的调试功能进一步初始化。在ARM系统里是空函数。setup_per_cpu_areas()这个函数主要作用是设置SMP体系每个CPU使用的内存空间,同时拷贝初始化段里数据。setup_nr_cpu_ids()这个函数主要作用是设置最多
caimouse
·
2012-08-01 21:00
字符设备驱动程序之按键——中断机制
内核在
start_kernel
函数中调用trap_init、init_IRQ两个函数来设置异常的处理函数,首先我们想来看看trap_init函数,部分代码如下:void__inittrap_init(void
RubyBoss
·
2012-07-09 15:00
struct
vector
Module
Class
action
button
根文件系统挂载
1)在RamDisk为initramfs时
start_kernel
()->vfs_caches_init()->mnt_init()->init_rootfs()->init_mount_tree()注册了类型为
new_abc
·
2012-06-23 09:00
image
command
REST
null
basic
makefile
linux 内核启动调试
DEBUG_LL2在需要的地方增加函数外部声明及引用/****************************************/在bootingthekernel 之后Kernel 最先执行的是
start_kernel
zhangxizhicn
·
2012-06-20 18:00
工作
linux
struct
list
command
recursion
Linux 多核启动过程
http://tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/smpboot.html Linux kernel启动的过程概览 init/main.c:
start_kernel
peng_wp
·
2012-06-12 19:00
linux
多核
启动过程
linux中断响应和处理过程分析
内核启动时在
start_kernel
函数(init/main.c)中调用trap_init
wantianpei
·
2012-06-01 17:00
linux
vector
Module
action
button
arm-linux启动过程
本文针对armlinux,从kernel的第一条指令开始分析,一直分析到进入
start_kernel
()函数.我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照
f22jay
·
2012-05-30 10:00
arm-linux 启动解析
本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入
start_kernel
()函数.
alada007
·
2012-05-18 21:00
thread
list
function
存储
domain
alignment
x86系统引导(2)
系统引导过程中很多都是汇编写的,我们就不分析那些了,从
start_kernel
函数开始。源码如下:/* *Activatethefirstprocessor.
tianxiawuzhei
·
2012-05-15 20:00
linux
struct
image
command
hook
X86
网络设备初始化
在内核引导时,会执行
start_kernel
对一些子系统做初始化,部分显示于上图。
start_kernel
终止前会调用kernel_init内核线程,由其负责初始化的后续工作。
我是*李世民*
·
2012-05-14 10:00
Android培训班(108)
start_kernel
函数5
tick_init()这个函数主要作用是初始化时钟事件管理器的回调函数,比如当时钟设备添加时处理。在内核里定义了时钟事件管理器,主要用来管理所有需要周期性地执行任务的设备。boot_cpu_init()这个函数主要作用是设置当前引导系统的CPU在物理上存在,在逻辑上可以使用,并且初始化准备好。在多CPU的系统里,内核需要管理多个CPU,那么就需要知道系统有多少个CPU,在内核里使用cpu_pres
caimouse
·
2012-05-13 11:00
android
linux
command
任务
终端
编译器
Android培训班(107)
start_kernel
函数4
cgroup_init_early()这个函数主要作用是控制组进行早期的初始化。什么叫控制组(controlgroups)呢?简单地说,控制组就是定义一组进程具有相同资源的占有程度。比如可以指定一组进程使用CPU为30%,磁盘IO为40%,网络带宽为50%。因此通过控制组就可以把所有进程分配不同的资源。可以参考这个文档(http://docs.redhat.com/docs/en-US/Red_H
caimouse
·
2012-05-08 21:00
android
IO
网络
Class
文档
磁盘
Android培训班(106)
start_kernel
函数3
unwind_init()这个函数主要作用是提供调试和错误的初始化。由于内核是基于C语言开发的系统,而C语言是基于栈的函数调用语言,那么当函数出错时,软件开发工程师就逼切地想知道是从那里调用这个函数出错的,也就是想获取函数调用的路径,以便确认这条路径里是否考虑到的情况,如果没有考虑周到,说明就有错误出现了。如果系统提供这种查看函数调用栈的关系,那么会大大方便软件开发工程师对软件修改,提高质量。调用
caimouse
·
2012-05-05 22:00
c
android
System
语言
Android培训班(105)
start_kernel
函数2
如果仔细地阅读完初始化函数
start_kernel
,就会发现里面还有调用smp_processor_id()函数,这两个函数都是获取多处理器的ID,为什么会需要两个函数呢?
caimouse
·
2012-05-04 20:00
android
制造
物流
通讯
Android培训班(104)
start_kernel
函数1
这个入口的函数是
start_kernel
函数,它主要更进一步地初始化系统相关的内容,以便系统进入一种服务状态,提供一种虚拟机的服务,提供各种API调用的服务。
caimouse
·
2012-04-28 20:00
android
虚拟机
汇编
command
语言
X86
linux中断三个数据结构
内核启动-------调用
start_kernel
()函数------调用setup_arch(&command_line)函数-----------调用early_trap_init()函数,实现异常向量表
shiyi_2012
·
2012-04-20 15:00
数据结构
linux
struct
vector
action
nested
x86从
start_kernel
开始的中断初始化
以下主要看了linux3.2中,从
start_kernel
()开始的一些跟中断有关的初始化代码,并做了一点点简单的分析。
shyodx
·
2012-04-13 21:00
timer
vector
struct
System
Descriptor
X86
Linux内存分析(3) -- create_mapping
在
start_kernel
对内存的初始化中,会调用arch_setup对平台进行初始化。
longyue0917
·
2012-04-03 22:00
c
linux
struct
cache
平台
Linux
start_kernel
Linuxstart_kernel转自: http://www.cnitblog.com/zouzheng/archive/2008/08/04/47574.html先Mark下。如果以为到了c代码可以松一口气的话,就大错特措了,linux的c也不比汇编好懂多少,相反到掩盖了汇编的一些和机器相关的部分,有时候更难懂。其实作为编写操作系统的c代码,只不过是汇编的另一种写法,和机器代码的联系是很紧密的
happy08god
·
2012-03-31 14:00
Linux内核中的PID散列表实例
1、PID散列表 PID散列表是在系统启动过程中通过pidhash_init函数(被
start_kernel
函数所调用)所创建的。 PI
npy_lp
·
2012-03-27 12:00
struct
ubuntu
table
System
linux内核
Numbers
Linux内存分析(1) -- 高端内存初试化
第一节
Start_kernel
之前要分析内存,先从uboot开始,关于uboot的TAG属性传递,可以参考第九章第一节。
longyue0917
·
2012-03-26 22:00
linux
算法
struct
list
makefile
代码分析
arm linux 从入口到
start_kernel
代码详细分析
内核的人口是stext,这个是在arch/arm/kernel/vmlinux.lds.s定义 而符号stext是在arch/arm/kernel/head.S中定义的其主线大致为:1、确定processortype通过cp15协处理器的c0寄存器来获取processorid的指令,跳转到__lookup_processor_type__lookup_processor_type和数主要是根据从c
kenliulang
·
2012-03-17 23:49
id
ARM
machine
处理器
Processor
Linux内核源代码分析-第四章 系统初始化-2
4.2初始化Linux内核在内核成功装入内存(如果需要就解压缩)以及一些关键硬件,例如已经在低层设置过的内存管理器(MMU,请参见第8章)之后,内核将跳转到
start_kernel
(19802行)。
xqtesting
·
2012-03-17 11:33
工作
字符串
函数
源代码
编译器
内核驱动初始化顺序 ---- __define_initcall
内核驱动初始化顺序:内核第一个C函数main.c/
start_kernel
()--->rest_init()--->kernel_thread(kernel_init,NULL,CLONE_FS|CLONE_SIGHAND
OLillian
·
2012-03-01 14:00
Linux虚拟文件系统(内核初始化<一>)
Linux虚拟文件系统在内核初始化的
start_kernel
()函数中主要调用两个函数来实现。
bullbat
·
2012-02-09 15:00
linux
list
cache
struct
Allocation
filesystems
ARMlinux kernel 启动之
start_kernel
(二)
了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的
start_kernel
函数了。
Tommy_wxie
·
2012-02-07 11:00
thread
linux
struct
command
tags
locking
start_kernel
相关
start_kernel
()中调用了一系列初始化函数,以完成kernel本身的设置。这些动作有的是公共的,有的则是需要配置的才会执行的。
ancin
·
2012-01-14 14:00
linux
archLinux
ARM linxu启动过程分析(四)
Linux内核启动第三阶段
start_kernel
:内核从现在开始就进入C语言部分,内核启动第三阶段从init/main.c文件中的
start_kernel
()函数开始,到该函数结束。
Tommy_wxie
·
2012-01-14 11:00
thread
timer
struct
Module
assembly
null
Linux 学习笔记1 --- kernel初始化以及module_init(x)解析
setup.c kernel/\arch\parisc\kernel start_parisc // init arm main .c kernel/init/
start_kernel
shadow_dance
·
2012-01-13 22:00
thread
linux
Module
null
basic
Linux内存管理之slab机制(初始化)
一、内核启动早期初始化
start_kernel
()->mm_init()->kmem_cache_init()执行流程:1,初始化静态initkmem_list3三链;2,初始化cache_cache
bullbat
·
2012-01-09 20:00
linux
struct
list
cache
buffer
alignment
Linux设备驱动子系统的构建过程
从系统加电开始,首先是一系列初始化过程,这些过程一般由汇编语言代码完成,在成功初始化一些必要的设备之后,程序会执行第一个C函数
start_kernel
。
uyiwfn
·
2012-01-03 09:00
linux物理内存管理区初始化
Linux物理内存管理区在
start_kernel
函数中进行初始化,此时启动分配器已经建立,所以可以从bootmem中分配需要的内存。
bullbat
·
2012-01-01 20:00
linux
struct
null
Build
each
Allocation
linux内核分析之系统调用
在内核入口函数
start_kernel
中调用trap_init实现系统调用的初始化工作void__inittrap_init(void) { ... set_system_trap_gate(SYSCALL_VECTOR
bullbat
·
2011-12-25 17:00
thread
vector
汇编
table
System
linux内核
kernel 点滴(添加中)
2:platform初始化路径:init/main.c
start_kernel
》rest_init 》kernel_init 》do_basic_setup》driver_init
zchill
·
2011-12-14 14:00
IO
REST
basic
resources
linux源码阅读(精品)
start_kernel
在 /linux/init/main.c中定义: asmlinkage void __init start
L_yangliu
·
2011-12-09 19:00
printk实现分析(源码)
不过内核用的打印函数printk完全是和stdin或stdout无关的,因为一开始到
start_kernel
函数刚开始进入内核就可以用printk函数了,而建立stdin和stdout是在init函数中实现的
L_yangliu
·
2011-12-09 13:00
struct
Semaphore
null
buffer
任务调度
output
内核窥秘之一:
start_kernel
()运行过程记录
本文系itspy原创,复制/转载请尽量标明原出处http://blog.csdn.net/yyplc/article/details/7030983,谢谢!解开linux内核的神秘面纱,它是怎么运行起来的呢?它是怎么做到的?做了什么,怎么做,流程如何等等,均需要一个清晰的过程(因为要给我们一个说法~!),如何更好的亲密、深入的了解,接触它,找到一个很好的突破点是很关键的---那就是‘从头开始’(从
yyplc
·
2011-12-01 14:00
c
linux
command
table
interface
linux内核
Linux内核初始化高端内存的过程(代码分析)
Linux内核初始化高端内存的过程 内核在
start_kernel
()函数中调用了mem_init()来做所有与内存初始化相关的工作。
arethe
·
2011-11-28 17:00
工作
struct
活动
each
代码分析
linux内核
start_kernel
函数之前的汇编分析
在分析这段代码之前,我们必须先找到汇编代码的入口位置,也就是Bootloader启动linux时所跳转到的地址。内核一般被压缩后保存到FLASH上的,在Bootloader启动Linux之前必须先解压缩内核,关于内核解压缩部分请参照arch/arm/boot/compressed这里面的代码,这里就不细将了。 在进入Linux汇编代码之前,Bootloader的执行影响CPU的状态,其状态一般为
dianhuiren
·
2011-11-21 18:00
Linux内核
start_kernel
()函数
asmlinkagevoid__initstart_kernel(void) { char*command_line; externstructkernel_param__start___param[],__stop___param[]; smp_setup_processor_id(); //空函数 /* *Needtorunasearlyaspossible,toinitializethe
A26483298
·
2011-11-11 14:00
linux
struct
cache
command
bugs
linux内核
中断之中断向量表IDT的初始化
是在
start_kernel
()中:512trap_init(); 535 /*initsomelinksbeforeinit_ISA_irqs()*/ 536 early_irq_init(
SunnyBeiKe
·
2011-11-11 11:00
内核启动过程
Linux内核启动流程arch/arm/kernel/head-armv.S该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到
start_kernel
间的初始化代码,主要作用是检查
dianhuiren
·
2011-10-21 01:00
thread
timer
exception
struct
cache
action
Linux 内核中的per_cpu变量实现
在init/main.c里面有一个setup_per_cpu_areas,会在
start_kernel
中调用。
yarsen
·
2011-10-08 16:00
linux
linux内核从
start_kernel
到init
在init/main.c文件中有个函数叫
start_kernel
,它是用来启动内核的主函数,我想大家都知道这个函数啦,而在该函数的最后将调用一个函数叫rest_init(),它执行完,内核就起来了,asmlinkagevoid
yarsen
·
2011-10-03 14:00
linux内核启动过程
执行体系结构相关的设置代码:如果需要,解压缩并移动内核代码本身初始化硬件这可能包括底层内存管理的设置将控制权转交给函数
start_kernel
()
start_kernel
()去执行以下事情(以及其他事情
yarsen
·
2011-10-03 14:00
linux
网络
REST
任务
linux内核
3.4 初始化内存管理------《深入Linux内核架构》笔记
内存的初始化是从全局启动例程
start_kernel
开始的。
daniel_ice
·
2011-09-29 16:00
算法
struct
list
活动
Build
linux内核
linux启动流程分析---汇编部分
当进入linux内核后,arch/arm/kernel/head.S是内核最先执行的一个文件,包括从内核入口ENTRY(stext)到
start_kernel
之间的初始化代码,下面以我所使用的平台s3c2410
meakhella
·
2011-09-26 00:55
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
其他