阅读Linux0.11——head.s

最近经过反馈,博主得知了自己在输出自己的知识方面做的非常不好。经过认真的反思,好吧主要是思考别人是怎么做的,以及结合我的特点,得出如下结论:
1、认为每一个听众或者读者都是零基础,要直白的讲出想要讲给别人的知识。虽然这句话听起来像是废话,但是挺不容易的。举个栗子,拿Linux来说,我接触这个已经三四年时间,很多知识我觉得是很理所当然的,比如讲编程的时候我没必要一字一句讲的清清楚楚。解释一些API的功能,甚至都不用说功能,我只要告诉你这个函数是可以解决你的问题,我觉得就可以了,剩下的你需要的全部信息都在man手册里。然而事实是,这个办法根本行不通,所以我要深入去剖析自己心里的理所当然。

2、技术的东西并不代表着枯燥。博主一直固执的认为自己是一个很有趣的人,所以我希望我的博文,至少从语言上保持必要的趣味性。

Anyway,在这篇博文中,博主努力说明这几点:本文说了一个什么问题?我为什么要说这个问题?这个问题是怎么解决的?

说明:为了保持本文的简洁性,代码并不像之前解释C程序一样一句一句详细解释。本文的重点是,解释清楚这个知识点的来龙去脉,关于程序部分,博主只是尽可能详细写出代码的功能以及自己阅读的感受,希望可以帮助到你。

本文分为三个部分:
1、铺垫部分:其他的的知识科普
2、引题部分:什么是head.s
3、正文部分:head.s是怎么工作的

前面的一篇博文分析了引导程序的代码,下面我们来看看head的代码,这个程序是运行在保护模式下的程序,所以汇编的格式和前面的引导程序格式不一样。这个格式是AT&T格式,而引导程序使用intel汇编写的。
有人会问为什么要用intel汇编写?这里我想说的是,我倒是想用强大的JAVA写呢,问题是这个时候计算机要什么没什么,跑不起来啊。除了bios给你的一些中断之外,其他的什么也没有,别说一个java的编译器了,就连java源程序都是存储在磁盘上,加载不到内存中。这是一个很尴尬的事,什么也不能用,所以我们第一件事必须脱离这个尴尬至极的境地。当当当当,引导程序就是这么来的。
在引导程序的结尾部分,控制权被交给了head这个程序,所以我想看看head这个程序是怎么工作的,就是这么简单。

一、其他知识科普

二、什么是head.s

三、head.s是怎么工作的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值