下载此文档

Init进程启动.doc


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
asmlinkagevoid__initstart_kernel(void){.......................................... rest_init();}oinlinevoid__init_refokrest_init(void) __releases(kernel_lock){ intpid; rcu_scheduler_starting(); /* *Weneedtospawninitfirstsothatitobtainspid1,however *theinittaskwillendupwantingtocreatekthreads,which,if *wescheduleitbeforewecreatekthreadd,willOOPS. */ kernel_thread(kernel_init,NULL,CLONE_FS|CLONE_SIGHAND); numa_default_policy(); pid=kernel_thread(kthreadd,NULL,CLONE_FS|CLONE_FILES); rcu_read_lock(); kthreadd_task=find_task_by_pid_ns(pid,&init_pid_ns); rcu_read_unlock(); complete(&kthreadd_done); unlock_kernel(); /* *Thebootidlethreadmustexecuteschedule() *atleastoncetogetthingsmoving: */ init_idle_bootup_task(current); preempt_enable_no_resched(); schedule(); preempt_disable(); /*Callintocpu_idlewithpreemptdisabled*/ cpu_idle();}staticint__initkernel_init(void*unused){ /* *Waituntilkthreaddisallset-up. */ pletion(&kthreadd_done); lock_kernel(); do_basic_setup();.................................................. init_post(); return0;}oinlineintinit_post(void) __releases(kernel_lock){ /*needtofinishallasync__initcodebeforefreeingthememory*/ async_synchronize_full(); free_initmem(); unlock_kernel(); mark_rodata_ro(); system_state=SYSTEM_RUNNING; numa_default_policy(); current->signal->flags|=SIGNAL_UNKILLABLE; if(mand){ run_init_process(mand); printk(KERN_WARNING"Failedtoexecute%s\n", mand); } /* *eeds. * *TheBourneshellcanbeusedinsteadofinitifweare *tryingtorecoverareallybrokenmachine. */ if(mand){ run_init_process(mand); printk(KERN_WARNING"Failedtoexecute%" "defaults...\n",mand); } run_init_process("/sbin/init"); run_init_process("/etc/init"); run_init_process("/bin/init"); run_init_process("/bin/sh"); panic("=optiontokernel." "SeeLinuxDocumentation/.");}staticvoidrun_init_process(char*init_filename){ argv_init[0]=init_filename; kernel_execve(init_filename,argv_init,envp_init);}system\core\init\(intargc,char

Init进程启动 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小73 KB
  • 时间2019-05-13