计算机系统基础:程序的表达、转换与链接笔记

南京大学袁春风老师的《计算机系统基础》国家精品课程做的笔记~

主要关注的是一个程序如何执行的部分


动态链接库本质也是一个程序,能够被程序加载的程序。

系统中动态链接库都只存一份,即DLL被更改,则系统全局中用到的都被更改了。能被其他进程加载的程序,自己没有内存空间,依附在别的程序中(即这个DLL做的事情就是当前进程做的事情)。

用“系统思维”分析问题

在现实世界成立的,在计算机计算世界中不一定成立。

 

计算机要执行程序需要哪些结构

最早的通用电子计算机的诞生/冯·诺伊曼结构的基本思想/现代计算机结构模型/存储程序工作方式/指令和数据的概念

 

形式上指令和数据没有区别,都是01序列,但是计算机应能区分数据还是指令。每条指令由操作码和地址码两部分组成,操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序,当程序被启动后,计算机会自动取出一条条的指令执行。

 

CPU:中央处理器

PC:程序计数器

MAR:存储器地址寄存器

ALU:算术逻辑部件

IR:指令寄存器

MDR:存储器数据寄存器

GRPs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)

老师给出了一个很清晰的例子解释计算机是如何工作的:(存储程序的方式)

 

程序是如何生成与执行的?

最早的程序开发过程/汇编语言开发过程/用高级语言开发程序/Hello程序的启动和执行过程/不同层次语言之间的等价关系

用机器语言编写程序,记录在纸带或卡片上。(是否穿孔,相当于二进制,所有信息都是0/1序列)

汇编语言:

  用助记符表示操作码

  用标号表示位置

  用助记符表示寄存器

 

简单理解就是:机器语言是最终要执行的二进制代码,汇编语言就是为了给机器语言增加一点可读性(内容是与机器语言一一对应的),但是汇编语言理解起来还是很费事啦,为了方便程序员们编写,所以就有了高级语言。需要运行的时候高级语言通过编译器的解释、编译然后最终还是要转化成机器语言执行。

 

转载于:https://www.cnblogs.com/lyeeer/p/11088152.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值