操作系统如何加载?

操作系统如何加载?

  • 一、问题所在
  • 二、引导块
  • 三、总结

一、问题所在

操作系统管理着其它应用程序,将其它程序从外存装入内存,然后让其运行、输出等。
而操作系统本身也是一个程序,那它自身又是如何被加载到内存并运行起来的呐?

二、引导块

1)自举程序
计算机启动时需要运行一个初始化程序(自举程序),它初始化CPU、寄存器、设备控制器和内存等,接着启动操作系统。
为此,该自举程序应该找到磁盘上的操作系统内核,装入内存,并转到起始地址,CPU执行起始地址的命令,从而开始操作系统的运行。
2)自举程序与ROM
我们将一小部分自举程序保留在ROM(ROM部分很小,大约400KB)上,这是为了ROM不依赖自举程序的扩展,等自举程序启动起来时,缺哪些部分就从外存调入内存,然后完成自举,从而运行操作系统。

三、总结

内存出厂之前,将自举程序的启动部分装入ROM部分,PC寄存器的指针指向ROM处。计算机一通电,CPU就根据PC寄存器去读取ROM始址的命令并运行,然后加载自举程序的完整部分并运行
在此过程中,自举程序将OS需要启动计算机的那部分程序加载到RAM部分,并将PC寄存器的指针指向RAM中OS启动的始址。
当CPU执行完自举程序后,则根据PC寄存器来执行OS启动命令,并将OS内核装入并与运行。从而操作系统就在电脑上运行起来了,通过中断机制来交替OS内核与应用程序的执行,管理着一切应用程序。

你可能感兴趣的:(操作系统,os,操作系统)