Chinaunix首页 | 论坛 | 博客
  • 博客访问: 261579
  • 博文数量: 88
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2018-10-15 14:13
个人简介

搭建一个和linux开发者知识共享和学习的平台

文章分类

全部博文(88)

文章存档

2024年(2)

2023年(24)

2022年(27)

2019年(8)

2018年(27)

分类: LINUX

2018-10-23 10:36:52

linux系统上电初始化代码主要是:
1. 4个汇编程序 bootsect.S setup.S head.S entry.S
2. init目录下的main.c文件。


main.c下主要函数是start_kernel。主要关注以下几个方面
1.中断系统及调度系统。
2.文件系统的初始化。
3.设备管理系统的初始化。
4.网络协议的初始化。

rest_init函数调用kernel_thread创建一个内核线程init(linux的内核线程是没有虚拟存储空间的进程,它运行在内核中,直接使用物理地址空间),init线程在do_basic_setup函数中调用和网络有关的初始化函数sock_init(为网络创建执行环境,并为协议栈申请内存空间),do_initcalls函数调用__initcall_start和__initcall_end。

阅读(1650) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~