欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

Linux内核分析— —计算机是如何工作的(20135213林涵锦)

发布时间:2023/12/13 linux 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux内核分析— —计算机是如何工作的(20135213林涵锦) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

实验部分

(以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同)

使用

  • gcc –S –o main.s main.c -m32
  • 命令编译成汇编代码,

  • int g(int x)
  • {
  •   return x + 6;
  • }
  •  
  • int f(int x)
  • {
  •   return g(x);
  • }
  •  
  • int main(void)
  • {
  •   return f(13) +2;
  • }
  •  

    1. 实验截图

    复制代码到实验楼

    编译,打开main.s(打开前忘记截图,改完后截的图)

    删完冗余部分,剩下的汇编代码

               

    2.分析汇编代码的工作过程中堆栈的变化

     

    3.总结部分需要阐明自己对“计算机是如何工作的”理解。

    首先是了解计算机的工作模型://图以及解说源自百度

    (冯·诺依曼体系结构:把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。数字计算机的数制采用二进制;计算机应该按照程序顺序执行。)

    按老师给的图也挺好理解://图及解说源自云课堂截图

    IP:寄存器,总是指向内存的代码段。                       内存:保存数据和指令。

    CPU:CPU从IP指向的内存地址取指令执行,执行之后IP自加一,然后继续执行。

    然后我们可以大概了解计算机是如何工作的:

    先在内存中运行第一条指令,然后根据其指令的内容及要求,从存储器中取出相应的数据在CPU中执行,最后根据地址将结果返回到内存之中。

    重复这样的步骤直到停止指令出现或完成所有指令。

     

     

    注:

    姓名:林涵锦 

     《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 

    转载于:https://www.cnblogs.com/20135213lhj/p/5225247.html

    总结

    以上是生活随笔为你收集整理的Linux内核分析— —计算机是如何工作的(20135213林涵锦)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。