半导体设备操作系统是如何完成开机到操作系统之前的工作的?
浅谈半导体设备开机流程和主引导分区(MBR)
一、 半导体设备主机操作系统开机流程:
半导体设备,如果缺少工业主机里面的操作系统,就和我们的普通小型个人计算机一样,作为没有执行软件的硬件,除了会电人,是没法让设备执行工作的。
伴随着半导体设备发展的进程,同时也是我们的工业主机的操作系统发展的历程。根据不同年代生产的设备,对于的操作系统可能主流有DOS、Unix、Linux,还有一些小众定制的,如Vxworks 等。比如 Electroglas 的EG2001探针台使用Dos操作系统,TEL UF200全系列探针台使用Vxworks, SP1 KLA6200/6420 、ESI 9350 和 p5000 、Endura 5500 等设备使用Unix 操作系统,其它如光刻机等使用定制化操作系统。
对于半导体设备,工业主机的操作系统这个软件,会控制所有的硬件,并提供内核功能。这样我们的工业主机就能够认识硬盘内的文件系统,进一步读取硬盘内的软件文件,执行该软件来完成各项软件的主引导程序。
那么,我们的半导体设备,如探针台、ESI9350Trim 修调设备、Eudura5500PVD设备、NIKON I7-I14光刻机等设备,是如何通过其对于主机认识各自的操作系统软件,读取对应的设备硬盘文件,并执行的?
我们知道开机时,半导体设备还没有任何软件系统,那它要如何读取操作系统文件?
一般来说,在主机的主板上,都有BIOS和CMOS两个东西。CMOS是记录各项主机硬件参数且嵌入在主板上面的储存器,BOIS是一个写入主板上的一个韧体(即写入到硬件上的一个软件程序) 。这个BISO就是在开机时,主机系统会主动执行的第一个程序。
接下来, BIOS会主动分析我们各自对应半导体设备主机里面有哪些存储设备,以硬盘为例,BIOS会依据用户的设置去取得能够开机的硬盘,并且到该硬盘去读取第一个扇区的MBR位置。MBR这个仅仅有446bytes 的硬盘容量里面会放置基本的引导加载程序。此时,BOIS任务完成,接下来就是MBR内的引导加载程序的工作了。
这个引导加载程序的目的是在加载(load)内核文件,由于引导加载程序是操作系统在安装时提供的,所以它会识别硬盘内的文件系统格式,因此能够读取内核文件。接下来就是内核文件的工作,引导加载程序工作完成。
简单来说,半导体设备整个开机流程到操作系统之前的动作应该是这样的:
1. BIOS : 开机主动执行一个韧体,会识别第一个可开机的设备;
2.MBR:第一个可开机设备的第一个扇区内的主引导区块,内含引导加载程序,用来识别硬盘;
3.引导加载程序(Boot load): 可读取内核文件来执行的软件
4.内核文件,开始操作系统的功能
从上面可以看出,BIOS与MBR都是硬件本身会支持的功能,至于Boot loader 则是操作系统安装在MBR上的一套软件。由于MBR仅有446bytes ,因此这个引导加载程序是非常小而完美的。
这个Boot loader 主要任务有哪些?
1. 提供菜单:用户可选择不同开机选项,这也是多重引导的重要功能;
2. 载入内核文件:直接指向可开机程序,来开始操作系统;
3. 转交其它loader ,将引导加载功能转交其它LOADER 负责
对于第三点的理解,需要我们理解,硬盘虽然只有一个MRB,但boot loader加载引导程序是可以安装在MRB之外的,还可以安装在每个分区的引导扇区(Boot Sector)。
二、 半导体设备老旧主机操作系统无法识别替换的硬盘问题:
如果当您需要为您的半导体设备更换备份、拷贝硬盘时,可能会碰到硬盘无法被您的半导体设备主机无法识别问题,这里面就涉及到可能是您的半导设备老旧主机的BIOS或者其他问题,导致BIOS无法判断该硬盘的容量等信息,无法启动。
因为在进入硬盘启动时候,由于kernel 与initrd 文件都是通过BIOS 的INT13通道读取的,如果您的kernel 与initrd放置在Bios无法判断的扇区中,就无法被系统加载。
对于这种,BIOS无法读取硬盘内的kernel 与initrd 文件,您的硬盘无法被老旧主机识别,欢迎联系我们,我们为您提供专业的定制化老旧主机硬盘替换和文件拷贝、硬盘识别等专业解决方案。