1、计算机系统的主要部件
(1)、计算机系统就是由CPU来做核心进行运行的系统。典型的计算机系统有:PC机(台式机+笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器如电饭锅、空调)。
(2)、计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机系统运行时需要的主要核心部件都是3个东西:CPU + 外部存储器(Flash/硬盘)+ 内部存储器(DDR SDRAM/SRAM)。
2、PC机的启动过程
(1)、典型的PC机部署:BIOS程序部署在PC机主板上(随主板出厂时已经预制了),操作系统部署在硬盘上,内存在掉电时无作用,CPU在掉电时不工作。
(2)、启动过程:PC机上电后先执行BIOS程序(实际上PC的BIOS就是NorFlash),BIOS程序负责初始化DDR内存,负责初始化硬盘,然后从硬盘上将操作系统OS镜像读取到DDR中,然后跳转到DDR中去执行操作系统OS直到启动(OS启动后BIOS就无用了)
3、典型嵌入式Linux系统启动过程
(1)、嵌入式系统的部署和启动都是参考PC机的。只是设备上有一些差别
(2)、典型嵌入式系统的部署:uboot程序部署在Flash(能作为启动设备的Flash)上,操作系统OS部署在Flash(嵌入式系统中用Flash代替了硬盘)上,内存在掉电时无作用,CPU在掉电时不工作。
(3)、启动过程:嵌入式系统上电后先执行uboot,然后uboot负责初始化DDR、初始化Flash,然后将操作系统OS从Flash中读取到DDR中,然后启动OS(OS启动后uboot就无用了)。
总结:嵌入式系统和PC机的启动过程几乎没有两样,只是BIOS换成了uboot(bootloader中的一种),硬盘换成了Flash。
4、Android系统启动过程
(1)、Android系统的启动与Linux系统几乎一样。前边完全一样,只是在内核启动后加载根文件系统后不一样了。
(2)、可以认为启动分为两个阶段:第一个阶段是uboot到OS启动;第二个阶段是OS启动后到根文件系统rootfs加载到命令行执行。
5、uboot作用
(1)、用来启动操作系统内核
(2)、负责部署整个计算机系统
(3)、操作Flash等板子硬件驱动。
(4)、提供一个命令行界面供人来操作。
原文:https://www.cnblogs.com/jiangtongxue/p/11081315.html