注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

韬光养晦

路漫漫其修远兮,吾将上下而求索

 
 
 

日志

 
 

letter 2  

2007-10-25 11:46:17|  分类: MSE learning |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

lanvis,

   软件执行机理的基础是操作系统,然后是编译原理。编译原理要解决的问题是把源程序转换成二进制执行代码,它的执行自然要满足和符合操作系统的规范。因此编译器要尽量去发现和利用操作系统的特征来使得编译出来的代码具有好的适应性和好的执行性能。有了这个基础后,然后单从软件角度,分析和掌握面向过程的编程解决了什么问题,它是如何解决的。随着软件的发展,又出现了什么新问题。同样,面向对象的编程解决了面向过程的什么问题,它是如何解决的。思考这些问题,要从二进制代码执行的层面来考虑,也即要考虑编译器是如何实现的。对继承和多态,编译器是如何实现它们的。同样,随着软件的发展,面向对象又遇到了什么问题,面向组件是如何来解决它们的。目前SOAP、XML, WEBSERVICE是面向组件的通识标准,也称之为面向服务。这个通识标准建立起来后,就标志软件技术成熟了,也就是说软件的构架确定下来了。因此掌握软件技术就是掌握这些本质的内容。数据库有两个方面的内容,一个是数据模型(数据的表示和操作),数据模型确定下来后,数据库系统(软件)实现数据的存储和数据的操作。其中的核心概念是事务。要知道,Godd是以数据模型,格雷是以事务概念获得图灵奖的,由此说明这两个东西产生的深远影响。另外就是标准问题,SQL是数据操作语言标准,ODBC和JDBC是编程接口标准。因此掌握数据库就是要掌握这些内容。软件技术的学习就是要追根问底,问到机器的二进制执行过程。软件只有两个东西:代码和数据。它们在内存中都有一个生命期(从出现、存在、到消失),代码访问和操作数据,是主体。数据是被动体,受代码的支配。最初的计算机上的程序只有一个,简单。后来多了,它们共享一个地球(CPU和内存以及其它设备),而且通常发生联系,因此就出现一个管理的问题。管理就是要让它们和谐共处,都满足它们的要求(正确性要求,执行性能要求)。由此引出了一系列的概念,比如进程、线程、访问锁,端口,虚拟地址空间等等。

PhD.Yang 2007.10.13

  评论这张
 
阅读(107)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018