hello程序的运行过程-从计算机系统角度
hello程序的運(yùn)行過(guò)程-從計(jì)算機(jī)系統(tǒng)角度
1、gcc編譯器驅(qū)動(dòng)程序讀取源程序文件hello.c,并將它翻譯成一個(gè)可執(zhí)行目標(biāo)文件hello。翻譯過(guò)程分為四個(gè)階段:預(yù)處理階段,編譯階段,匯編階段,鏈接階段。
2、初始時(shí),shell程序執(zhí)行它的指令,等待我們輸入一個(gè)命令。當(dāng)我們?cè)阪I盤(pán)上輸入字符串“./hello”后,shell程序?qū)⒆址x入CPU的寄存器中,再把它存放到主存中。
3、當(dāng)我們敲回車(chē)鍵時(shí),結(jié)束命令的輸入,然后shell程序執(zhí)行一系列指令來(lái)加載可執(zhí)行的hello文件,這些指令將hello目標(biāo)文件中的代碼和數(shù)據(jù)從磁盤(pán)復(fù)制到主存。(數(shù)據(jù)通過(guò)DMA直接存儲(chǔ)器存取計(jì)算,直接從磁盤(pán)到達(dá)內(nèi)存)。
?
?4、一旦目標(biāo)文件hello中的代碼和數(shù)據(jù)都加載到主存中,處理器就開(kāi)始執(zhí)行main程序中的機(jī)器語(yǔ)言指令,將輸出結(jié)果從主存復(fù)制到寄存器中,然后再?gòu)募拇嫫髦袕?fù)制到顯示設(shè)備,最終顯示到屏幕上。
?
轉(zhuǎn)載于:https://www.cnblogs.com/dingxiaoqiang/p/7672686.html
總結(jié)
以上是生活随笔為你收集整理的hello程序的运行过程-从计算机系统角度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: UDP学习总结
- 下一篇: 拖拽功能-jquery