免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1547 | 回复: 2
打印 上一主题 下一主题

[内核入门] 胡说八道 (8086初学者) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-25 00:50 |只看该作者 |倒序浏览
本帖最后由 hanyudeye 于 2013-05-25 00:50 编辑

-------------------------  -
-        青菜炒萝卜      
-                       

- 1.洗青菜                 --p1
- 2.洗萝卜                   --p2       
- 3.开煤气                   --p3       
- 4.炒 青菜和萝卜   --p4 -               
-                          目录 -          -               
------------------------------------------
-                p1
1.端水盆
2.洗第一棵青菜        -
-3.洗第二棵青菜
-洗好青菜放一边
-----------------------------------------
                 p2.
.........洗萝卜...        -


------------------------------------------
瞎说的
程序就像我们做事情一样,一步一步的.每一步分成两块,'洗' 和 '青菜' ,'洗'是 动词 ,谓词的一种,就是 '干 什么事'的'干','青菜'是'名词',是对象。在我看来,世界上就两种东西,一个是物,一个是对物的操作,物是有一个状态的,你一去操作他,他就变化成别的状态了。

现在假设cpu就是看的懂那青菜炒萝卜的‘菜谱’的东西,内存就是那个‘菜谱’,那么cpu 就一步一步做贝,干吗那么复杂。但是既然他那么复杂了,我们做事情也得复杂了。就像家里只有一扇门的,我们打开一扇门就行了。但是有三扇门才能进房的话,我们必须开三扇门,做事的复杂跟物的复杂性有关系的。
cpu 一步一步地炒青菜,但应该做哪一步呢?洗萝卜还是开煤气。cpu里有一个IP(指令指针/程序计数器,名字多得很),这东西有什么吊用呢?因为我们把程序放在一块内存里,cpu一条一条地读了,执行。读什么呢,洗青菜,洗就洗呗,cpu下一步做什么呢?洗萝卜,但我凭什么洗呀(cpu说)。我们复读机放磁带的时候,那个磁头也是一个一个读音乐数据的,但是转盘还得转啊,转到哪才能读哪个声音。cpu那个容量小,读了执行了就把数据都扔了。(自己随便想吧,我这脑袋就只能这样了)
然后同理也要有一个数据指针指向数据(386里是什么eax,ebx,ecx..)妈的,我洗青菜关指针什么事啊,我洗的是对象。指针确实没什么用,他就是一个东西的附属物。就像我们是一个独立的个体,但有了指针我们有了附属了,我们变复杂了,我们有了一个电话号码,别人通过电话号码能间接的找到我们,还有我们有家庭住址一样,我们变的复杂了。好了,指针就是这没吊用的东西,但指针也是一个东西。

好,现在还是‘洗青菜’,做哪一步,‘洗青菜’,ip指针指着‘洗青菜’这条指令,数据指针指着‘青菜’。就像我们看着菜谱,看到啊‘,好,青菜在哪,我来洗。
我往下洗,妈的怎么洗呢,怎么跳到后面了,后面是洗青菜的详细过程。跳就跳后面吧,比如我们的菜谱是一本书,我们得翻到p1页呀,我先把目录折一个角,然后跳到后面看怎么洗青菜的,这个折角就是再弄出一个复杂的东西保存目录的状态呀,这就是我们为什么要复杂化。386用了个堆栈的东西作为保存前面的状态的东西。我们现在要保存哪些状态呢(’洗青菜‘嘛,我们要保存’洗青菜‘的指令的位置啊,还要保存’青菜‘对象的,一定要用堆栈吗,当然可以不用。我们洗青菜吗,要到后面看详细过程,我们可以把状态保存在一个地方,比如记载在书的最后一页,然后去看怎么洗菜,洗完菜要返回去做下一件事,我们得翻倒最后看下一件事在哪里,这是一个死的过程。我没想明白,大家自个想吧。

好了,现在堆栈也有了,那分段是什么呢?先是8086的分段,我们程序不能只做一件事呀,叫别的程序也来做把。那我现在不洗青菜了,先暂停,先叫小刚这个程序来唱首歌。但程序是由做什么来的,程序里的地址是完全的地址,哪边做什么已经固定住了,就像我’洗青菜‘已经占着一块内存了,下次还是只能占那快内存,是绝对地址嘛,指着的那东西是固定的。8086分段就是那么来的,把地址分成了两块,------+-------段地址 + 偏移地址,现在’洗青菜‘找指令的时候 就得两个地址加起来,(不会表达了)

8086里一个程序能够改变另一个程序的内存数据的,就像我在洗青菜,小刚在唱歌,我能把小刚的唱片给扔了,要扔也得他扔啊,我管的着么。现在突然有操作系统了,他说,你们别炒了,你们自己做自己的事,不能那个互相干扰,怎么弄呢?’小明‘,你说你要多少内存(做多少事,说出来,还有小刚,你要多少内存,说出来。(细节不清楚)。现在就有80386的选择子保护,’你们谁要是敢干扰对方,我就便你。‘操作系统说。这里假如操作系统给了你一个很大的内存界限,你还是能弄掉别人的数据的。怎么寻址的,好像 (选择子) + (偏移)。这里有很多指针指来指去,但是你已经不知道自己的内存地址是什么了,你的段地址已经被选择子指到一个内存值中去了

我是一个房子的主人,我是操作系统,我是背景人。小明在洗菜,他准备烧一顿丰盛的晚饭,小刚在唱歌,他们在两个不同的房间里,中间有墙壁隔开。先来说说什么是jb分页。分页也是一大堆指针指来指去,就是为了找一个页表,页头。现在我是操作系统,这东西我管,小明你要做饭,我先看看有多少内存,然后看看你有多大,把分成一块一块地该如何分,如果你挺大的,就在磁盘里把你分成一块一块(这里细节不知道,操作磁盘每个扇区是512B吧,而分页是4k,可能不用分的)然后再设置好多指针啊,还有什么磁盘里的一块一块地址保存到表里,内存分配了多少一块一块的,也把分配的指针分配到表里,然后加载几块到内存让你先做起来,我一开使就能操作磁盘的,现在还会,没有退步,我把剩下的多少块存在磁盘里。这大概是分页吧??过了

我是操作系统,软件对外输入输出都是同过我,外面输入也是通过我。什么是中断呢?外面有快递过来了,是给我的或所管理的软件的,这就是输入。他TMD放下就走,我不知道啊,那么我得经常打开门看看,‘草’,送过来也不跟我说。我经常开门看,就是好像轮询的方式。这个耗资源。中断呢,就是他把东西送来了,还蹿了两脚门,喊我出去拿东西,这就是中断,不但有东西,还有行为。这就像是windos的消息机制,(妈的,我死读书,一直没懂),外面输入的行为哪儿来的呢,因为每个外面的输入都有个中断号,一堆的转换后到做事情那边去了(糊弄糊弄了,自己想把)

小明在洗菜,小刚在唱歌,妈的可我只有一个cpu呀,只能做一件事呀,那么小明先洗一颗青菜,然后暂停,小刚你唱一首歌。暂停这东西,就要保存一些东西。小明洗菜内部到能保存到堆栈的,可那两家伙互不侵犯呀(男女授受不清),保存到小明的堆栈,万一小明退出了呢??我这里逻辑全是错误的。!!!外部要切换任务,比如说想听歌(小刚,来一首歌),内部操作系统也要切换程序(小刚,你唱一会,小明洗会菜),完全是什么原因要多出来个TR(任务寄存器呢??),方便吗??还有那么复杂的任务状态表。

后记:没上过大学,在一家软件公司实习大半年了(两个人的公司),一直死读书,纠结那些形式的东西,看不进特烦恼,现在出来了,失业大半年了。
哪位大大能指我条道,我想学会编程,教教我。我也没什么理想,想的就是像做开源软件一样,做做玩玩,不想整天上班上班!我的需求不高,有些东西既然不是必需,那干嘛还要他呢? 我的qq是:1191552161,我现在就这想法,不知行不行的通,哪位大大帮帮我!

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
2 [报告]
发表于 2013-05-25 14:45 |只看该作者
本帖最后由 amarant 于 2013-05-25 14:46 编辑

lz应该还很年轻吧?如果真希望学习一点东西,可以从最基础的知识学起。能大概弄明白操作系统工作原理很容易,但要具体到了细节上就有很多困难。
对于你所写的这些,如果想更深入理解的话,可以多读书,或者直接看看代码。
你说想学会编程,编程也有很多方面的,自己想明白一个方向去钻研吧。
至于你说“想的就是像做开源软件一样,做做玩玩,不想整天上班上班!我的需求不高”,恕我冒昧,这已经是非常高的要求了。做软件这一行,大部分人都不是做做玩玩的,都是非常辛苦的,而且很多时间是比较枯燥的。

论坛徽章:
0
3 [报告]
发表于 2013-05-25 20:23 |只看该作者
回复 3# amarant
谢谢斑竹指教。
我现在年纪不小了,工作6年了,平时很散漫,显得幼稚了。
没实实在在编过程,只是在一个小软件公司自学过,算个门外汗吧。

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP