zoukankan      html  css  js  c++  java
  • linux内核分析 第一周

    计算机是如何工作的

    • 冯·诺依曼理论的要点是:

        数字计算机的数制采用二进制;计算机应该按照程序顺序执行。
      
    • 冯·诺依曼体系结构

      根据冯·诺依曼体系结构构成的计算机,必须具有如下功能:把需要的程序和数据送至计算机中。必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。能够按照要求将处理结果输出给用户。

      为了完成上述的功能,计算机必须具备五大基本组成部件,包括:输人数据和程序的输入设备、记忆程序和数据的存储器、完成数据加工处理的运算器、控制程序执行的控制器、输出处理结果的输出设备。

    通过汇编一个简单的C程序,分析汇编代码

    • 实验截图

    • 汇编代码

        g:
        pushl	%ebp
        movl	%esp, %ebp
        movl	8(%ebp), %eax
        addl	$1, %eax
        popl	%ebp
        ret
        f:
        pushl	%ebp
        movl	%esp, %ebp
        subl	$4, %esp
        movl	8(%ebp), %eax
        movl	%eax, (%esp)
        call	g
        leave
        ret
        main:
        pushl	%ebp
        movl	%esp, %ebp
        subl	$4, %esp
        movl	$12, (%esp)
        call	f
        addl	$2, %eax
        leave
        ret
      
    • 堆栈变化截图

    总结

    计算机通过堆栈的变化存储和处理代码段的数据,实现代码段指令的功能,从而进一步实现计算机整体的功能。冯·诺依曼体系结构的计算机的软件和硬件方面存在一定的“间隔”,同一个操作需要不同的操作码来区别不同的意义,这么在一定程度上限制了计算机的发展。
    

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

  • 相关阅读:
    模板代码生成器 Template Code Creater
    Oracle编程入门经典 第2章 SQLPlus和基本查询
    Oracle编程入门经典 第5章 体系结构
    数据仓库
    C++ WINDOWS API 第1章 Windows 应用程序开发入门
    C++ WINDOWS API 第2章 Windows API概要
    Oracle编程入门经典 第7章 表
    单交换机VLAN虚拟局域网划分
    Oracle日志文件被误删除
    Oracle编程入门经典 第4章 新9i示例模式
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/5223682.html
Copyright © 2011-2022 走看看