zoukankan      html  css  js  c++  java
  • Linux内核分析— —计算机是如何工作的(20135213林涵锦)

    实验部分

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

    使用

    1. gcc –S –o main.s main.c -m32

    命令编译成汇编代码,

    1. int g(int x)
    2. {
    3.   return x + 6;
    4. }
    5.  
    6. int f(int x)
    7. {
    8.   return g(x);
    9. }
    10.  
    11. int main(void)
    12. {
    13.   return f(13) +2;
    14. }

    1. 实验截图

    复制代码到实验楼

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

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

               

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

     

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

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

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

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

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

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

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

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

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

    注:

    姓名:林涵锦 

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

  • 相关阅读:
    Python-cookie,session
    Django_models下划线__正反查询,对象正反查询
    Python利用PIL生成随机验证码图片
    简单实用的分页类-python
    Django_Form验证(三)字段,字段的参数,widgets种类
    Django_Form验证(二),ajax验证
    Django_Form验证(一)
    Django提交文件的方式
    在linux下安装python3.6.6
    celery学习
  • 原文地址:https://www.cnblogs.com/20135213lhj/p/5225247.html
Copyright © 2011-2022 走看看