博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内核启动过程
阅读量:6892 次
发布时间:2019-06-27

本文共 513 字,大约阅读时间需要 1 分钟。

hot3.png

                 以x86体系结构的计算机为例

         

第一步是BIOS从启动设备中导入主引导记录(MBR),接下来MBR中的代码查看分区表并从活动分区读取GRUB,LILO或SYSLINUX等引导装入程序(Bootloader),之后引导装入程序会加载压缩后的内核映像并将控制权传递给内核。内核获得控制权后,会将自身解压并投入运行。

x86的cpu有两种操作模式:实模式和保护模式。在实模式下,用户仅可以使用1MB内存,并且没有任何的保护。保护模式复杂很多,使用可以使用更多的高级功能。cpu必须在中途将实模式切换到保护模式。切换是单向的,不可逆的。

内核初始化的第一步是执行实模式下的汇编代码,之后切换到保护模式,执行init/main.c文件中的start_kernel()函数。start_kernel()首先会初始化cpu子系统,之后让内存和进程管理系统就位,接下来启动外部总线和I/O设备,最后一步是激活init进程,它是所有Linux进程的父进程。init进程执行启动必要的内核服务的用户空间脚本,并且最终派生出控制台终端程序和显示登录提示。

转载于:https://my.oschina.net/u/854744/blog/418290

你可能感兴趣的文章
XenServer 用户管理 简介。
查看>>
[swift]-AFNetworking网络封装
查看>>
solr 简单的分布式布署
查看>>
如何建立多Master的SaltStack环境
查看>>
RHEL / CentOS Bash命令自动完成功能
查看>>
window 查询端口详细情况
查看>>
关于发送邮件日志显示450
查看>>
How to install pam_mysql in CentOS or Red Hat
查看>>
java8之lambda表达式(方法引用)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
各类消息队列MQ比较
查看>>
Php设计模式(三):行为型模式 part 2
查看>>
截取中文字符串
查看>>
NoSQL 数据库
查看>>
TrueCrypt介绍及入门使用讲解【翻译】
查看>>
转向安防技术
查看>>
Zabbix邮件报警设置方法
查看>>
ftp 下载文件
查看>>