理解

来源:互联网 发布:婚纱照电子相册软件 编辑:程序博客网 时间:2024/05/24 06:29
(1)我写了一个高级语言的操作系统比如说,然后高级语言运行被转换为机器语言,用编译器实现,其实操作系统也包含驱动程序还包含在操作系统上构建的应用,不管你都有
多少东西,统称操作系统。编译器先将高级语言编译为汇编语言(对高级语言进行词法分析,然后根据“编译的规则“将高级语言都编译为一条条汇编语言),再由汇编器将汇编语言都换为机器语言。


(2)回到那个先有鸡还是先有蛋的问题。首先是先有硬件(计算机),然后有了“”机器“”后,人开始操作机器,开始没有软件人都是手工操作机器,但是这样太费力,能否人只需操作一个按钮,触发一下机器,剩下的事都交给机器来做。这就涉及一个理论,所有东西的开始,都要有一个触发,触发后机器可以把这个活干完结束,也可以自己一直干,并且可以开启其它活开始干,但是机器比如说 计算机是需要 “”“电”来支持运转的,如果断电了,那一切都over了。


(3)实际情况时 因为有很多事是独立工作的,用户不能只触发一个按钮,就可以将自己所有的工作都干完对机器来说,所以用户想出了一种办法,把要自己需要手工操作的按钮,换为一系列0,1状态来表示,并且他们规定8位是一组,(前提是机器架构也是按照0,1这样去设计操作的,所以你这样操作机器才会认识)。所以不同厂家的的cpu的“0,1架构”序列一般都是不一样的,所以同一个操作系统如果想部署到 多个厂家的cpu上,可能需要 开发“中间件”的支持。但是现在好像是一般的cpu 都按照一定的架构去设计的,有一个标准,不同厂家的cpu比如说都是x86架构的,大家生产出来的指令集应该都是相同的。比如移动端是 arm架构。现在的cpu在升级,比如从i5到i7,应该只是说速度运算提高了,其他指令集可能增多了,但是整体架构是没变的。所以好多软件都可以使用。


(4)编译将高级语言编译为0101后,比如说是存储在寄存器中,然后cpu开始执行指令,而这一切都是电路来实现的。所以一直说的机器都是 cpu 内存 硬盘 主板这些,而构成实际的就是晶体管、各种 组成的数字电路。数字电路只是一种叫法,他其实就是一种电路。


(5)驱动程序也是这个概念,驱动程序 其实也是一种 中间件的 思想。


(7)那android 到底是什么呢,android是一种操作系统 毋庸置疑的,他也有驱动程序、应用程序,android天生支持的cpu架构是arm架构的,所以要想把android部署到x86的机器上,抱歉不可以。但是现在是不是也有“中间件”的技术可以将android 经过中间件处理后,部署到windows系统中。


(8)windows中,应用程序应该如何开发的。因为微软提供了 应用程序框架 其实就是win32 api,所有基于微软的。


(9)C++是一种语言,用来描述你的设计思维。但是电脑的细节太多。如果什么都自己写,几乎不可能干什么事。所以C++提倡代码重用,所以有了各种库。MFC就是其中一种库。
如果说C++是汉语。那么MFC就是某几个有名文人的诗词。你可以引用这些诗词来写文章。


(10)C++是一种高级语言,比如说他是汉语,但是c++的汉语 可以完全一一对应住 机器语言吗,那就不一定了。比如说 机器语言出了一个新词,如fuck,但是呢c++中还没有对应的语言 “草”。所以此时要升级编译器而不是语言,语言就这么多了 汉字比如说,但是汉子是可以造词的,不同的汉子搭配起来就是 就可以代表“fuck”了,但是编译器(翻译官)要升级,他要知道你这个新词应该翻译成什么。
(11)所以说所有的高级语言,只要定义了语法、词(词其实也可以再造字),然后其实可以代表所有的机器语言。只是说编译器(翻译官)支持多少翻译量,翻译过得语言才是机器识别的语言。但是有很多解释型的语言,比如说java,java虚拟机其实是实际的编译器,编译为实际的机器目标语言。
(12)c++程序编译后的程序,不一定
M(13)那android呢,android也是内核 上层应用软件,其实也是系统调用的意思,也就是前台语言可以直接调用 系统调用 或者用自己语言实现的库来来调系统调用,系统调用不是win32等api,win32API可能一个api 对应多个系统调用,语言可以可以用APi来开发,也可以直接调用系统调用。
(14)android 内核 上面是(davilk虚拟机),davilk由 三部分组成 与底层内核交互层Protable (可以屏蔽底层不同的平台)(jni+内核api),jni是标准的调用内核系统调用的方式。2虚拟机机层,3类库层,2层和三层也有一个中层,3层就是各种“类库”,比如java.lang就是,并且android除了jse的类库(其实不一定实现了100%),因为davilk是跟据之前apache harmory项目去改的,harmary就是一个jdk的翻版,因为当时就是抵制jdk不开源而开发的,所以当时他拿不到jdk的源码实现方式,但是它的思想是 类库跟jdk实现一致,但是里面的是方式(代码),是有所不同的,即可以让用jdk 类库开发的代码,用他一样可以运行。现在android也是这个思想,android的虚拟机就是根据harmory改的。所以现在用jdk开发的android应用,可以直接放到davik中去运行
(15)
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 神将世界孙权技能 神将世界孙权厉害吗 孙权手下大将 孙权墓 孙仲谋 孙仲谋是谁 三国志战略版孙权 孙村 孟州孙村 济南孙村招聘 孙杰 孙松 孙松个人资料 孙林 蜈支洲岛孙林是哪里人 蜈支洲岛老板孙林简介 蜈支洲岛岛主孙林 孙果 孙果果事件 孙果果案件 孙果果 孙格 孙桓 孙桥采草莓 蔡健雅 孙欣 此间的少年 孙欣 孙武 孙武和孙膑 孙武孙膑 孙武简介 孙武祖父 孙武彦 孙武作品 孙膑孙武 孙膑和孙武 孙武子 孙武练兵 孙武文化园 孙武子演兵 孙武列传