I keep seeing "bootstrapping" mentioned in discussions of application development. It seems both widespread and important, but I've yet to come across even a poor explanation of what bootstrapping actually is; rather, it seems as though everyone is just supposed to know what it means. I don't, though. Near as I can figure, it has something to do with initialization tasks required of an application upon launch, but I could be completely wrong about that. Can anyone help me to understand this idea?
当前回答
参见维基百科关于引导的文章。
有一个部分和链接解释了它在计算中的含义。它在这个领域有四种不同的用途。
这里有一些引用,但要更深入的解释和其他含义,请参考上面的链接。
"...是一种技术,通过一种简单的计算机程序激活一个更复杂的程序系统。” “自举一词的另一种用法是使用编译器来编译自己,首先用现有语言编写一种新编程语言的编译器的一小部分,然后用新语言编写更多的新编译器程序。”
其他回答
参见维基百科关于引导的文章。
有一个部分和链接解释了它在计算中的含义。它在这个领域有四种不同的用途。
这里有一些引用,但要更深入的解释和其他含义,请参考上面的链接。
"...是一种技术,通过一种简单的计算机程序激活一个更复杂的程序系统。” “自举一词的另一种用法是使用编译器来编译自己,首先用现有语言编写一种新编程语言的编译器的一小部分,然后用新语言编写更多的新编译器程序。”
Boot strapping the dictionary meaning is to start up with minimum resources. In the Context of an OS the OS should be able to swiftly load once the Power On Self Test (POST) determines that its safe to wake up the CPU. The boot strap code will be run from the BIOS. BIOS is a small sized ROM. Generally it is a jump instruction to the set of instructions which will load the Operating system to the RAM. The destination of the Jump is the Boot sector in the Hard Disk. Once the bios program checks it is a valid Boot sector which contains the starting address of the stored OS, ie whether it is a valid MBR (Master Boot Record) or not. If its a valid MBR the OS will be copied to the memory (RAM)from there on the OS takes care of Memory and Process management.
亚历克斯,这和你的电脑启动时做的差不多。('Booting' a computer实际上来自于单词bootstrapping)
最初,运行BIOS中的小程序。它包含足够的机器代码来加载和运行一个更大、更复杂的程序。
第二个程序可能是类似于NTLDR(在Windows中)或LILO(在Linux中)的程序,然后执行并能够加载,然后运行操作系统的其余部分。
在一些web框架中有一个引导的例子。你调用index.php (bootstrapper),然后它加载框架的助手、模型、配置,然后加载控制器并将控制权传递给它。
正如您所看到的,这是一个启动大进程的简单文件。
恕我冒昧,没有比第一个编译器是如何编写的更好的解释了?
现在,操作系统加载是最常见的过程,称为引导