计算机的理解(个人知识架构的形成)__有同感,很投机,常参观
计算机的理解(个人知识架构的形成)http://blog.****.net/ktigerhero3/article/details/49494471
现代计算机系统错综复杂,学习的时候如何将所有的知识联系在一起,形成自己的知识结构呢?
只有不断学习,不断总结。
只有总结出来的东西才是自己的东西,那么先搭个知识结构框架,以后慢慢往里面填东西。
下面提出一些问题,以后慢慢加深对这些问题的理解,吾生也有涯 而知也无涯~
计算机方面的知识可包括硬件部分和软件部分知识,硬件决定软件所应用的平台。
1.计算机硬件有哪些知识?
1.1常用硬件设备有哪些?
1.2这些硬件设备内部由什么东西组成?
1.3在这些设备上的软件是怎么运行的?
2.计算机软件有哪些知识?他们之间的联系是什么?
2.1总结一下我现在所学:
计算机组成,操作系统,计算机网络,编译原理,数据结构,汇编语言,C语言,C++,JAVA,Javasript
2.2软件内部的联系
一个程序在操作系统是如何执行的?流程和细节是什么?
比如1)为什么可以在控制台输出hello world?输出hello world 这个事件从输入开始到屏幕输出整个电脑干了什么?软件是如何和硬件设备交互的?操作系统干了什么?编译器干了什么?编程语言在其中扮演什么样的角色?程序执行的时候是什么状态?
3.3用语言来构筑计算机的世界
对计算机的基础知识有了深刻的理解后,也许更应该关注如何编程,做出有价值的东西,就比如造房子,造出来给自己住,编程也是造房子,如何造房子呢?
计算机组成,操作系统,计算机网络,编译原理这些都是造房子的原理,
有了这些基础,造的房子就不会那么容易倒。
C语言,C++,JAVA是造房子的工具,学得好可以更快的造出房子,更不容易倒。
数据结构就是造房子的设计,有了这个造的房子质量更好,更美观。
3.计算机软件体系结构
《程序员的自我修养》中提到
“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”
可以按上层调用下层的接口这种层级关系来抽象计算机系统。
按照这个体系结构,我可以使用课程名称对知识进行大致的归类
1)硬件(hardware)
包括计算机组成,微机原理等知识
2)操作系统
包括操作系统等知识
3)应用软件
应用软件有浏览器,qq等。包括网站开发(JAVA,Javascrip等),应用程序开发(C/C++)等。这里面主要涉及了不同的语言,计算机网络等知识。
他们之间如何联系呢?都需要语言这门工具,
各种语言之间的联系:
硬件设备由二级制机器码控制,汇编语言通过汇编语言编译器(x86汇编、ARM汇编)翻译成二进制代码,c语言通过C语言编译器(GCC、Visual C++)翻译成汇编语言,操作系统一般由c语言编写而成。
to be continue…