Linux操作系统分析课程总结

一、学习收获

1. 存储程序计算机

   目前现代计算机基本都是采用的冯洛伊曼架构,我觉得其精髓之处就在于存储程序的思想。存储程序思想简单来说就是:把程序的指令代码可以看做是一种特殊数据,也存储在存储器上。乍一看好像没什么了不起的,第一次知道这个名词时,我的反应是这不是一种很自然的想法吗?相信很多人都有这种的想法。但其实是因为我们在知道这个概念之前,就经过了一定的编程训练,所以我们早已在潜移默化中接受了这种存储程序的思想。仔细想想,确实能发现这种思想的高深之处,程序本来是一个动态的过程,通过存储程序思想,我们将其转化成是静态的数据,这便成了现代计算机的原型。

2. 函数调用堆栈

   函数调用堆栈框架是另外一个重要的概念。在第一次学习编程语言时,我们都会学习一些编程语言的基本语法概念,比如:数据类型,分支语句,循环语句,函数等等。其中诸如数据类型,基本语句等很好理解,但我对函数调用的实现很久都只停留在应用层面。还记得本科老师也讲过函数调用时栈帧的变化过程,但当时怎么也没听懂,现在想来,我觉得是因为当时对栈这个数据的理解不够透彻所导致的(当时应该还没有上数据结构这门课)。所幸在上这门课时,我已经对栈的理解足够深刻,再加上孟老师具体到对每条汇编指令的细致讲解,整个过程就显得十分亲切自然了。

   我们知道函数调用的过程是:调用指定函数 -> 跳转到指定函数 -> 执行指定函数的函数体 -> 执行结束后函数返回调用点继续向下执行,其中在执行被调用函数时,可能发生递归调用,但总之所有的函数调用都是遵循 LIFO 的原则,这正好是栈这种数据结构的特性。于是就不难想象函数调用框架需要用堆栈实现了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值