美文网首页
操作系统(二) -- 程序执行

操作系统(二) -- 程序执行

作者: OakesYa | 来源:发表于2020-09-23 22:51 被阅读0次

本文参考图灵机简介内存是如何存储数据的

图灵机

图灵机是cpu的一般示例,可以通过读取上面的数据和指令来完成计算等操作。大家可以去看下上面的图灵机简介。

冯诺依曼模型

冯诺依曼模型

冯诺依曼模型分为输入设备,输出设备,内存,中央处理器(CPU),总线。

  • CPU
    CPU负责控制和运算,按照CPU每次计算字节数的不同分为32位CPU和64位CPU。这里的32和64称为CPU位宽。
    CPU里面有寄存器,控制单元和逻辑运算单元。控制单元控制CPU工作类型,算数逻辑单用于数学运算。寄存器是CPU内部用于存储的模块,为了弥补CPU与内存通信较慢的问题,分为通用寄存器,特殊寄存器,指令寄存器。

  • 内存



    内存是一个存储程序和数据的二进制位的线性存储区域。最小存储单位是字节,每个字节对应于一个内存地址。由数个IC组成,IC内部有VCC,GND电源引脚,D0-D7八个数据引脚,所以一次输入1个字节数据,A0-A9十个地址信号引脚,可以指定1024个地址,所以一个IC表示1024 * 1byte = 1KB。

  • 总线
    总线主要分为控制总线,数据总线,内存总线。地址总线专门用来指定CPU将要操作的内存地址,数据总线用来读写内存数据,控制总线用来发送和接收关键信号,比如中断,设备复位等信号。

  • I/O输入输出设备
    输入输出就是我们常见的键盘,鼠标,显示器等外设,通过IO流与计算机进行交互。

程序执行

我们以JAVA程序int a = 1+2为例来看下程序执行。
1:首先JVM将常量1和2放到JVM中的方法区的常量池中(JDK1.7),1.8改到了堆里面,1存放到地址0x100,2存放到地址0x102;
2:JVM生成汇编指令,load 0x100 -> R1,load 0x102 -> R2,add R1 R2 R3,set R3 -> 0x104
3:构建的指令依然使用32位或者64位二进制数据表示,然后由CPU完成指令的解析,并执行。

相关文章

  • 操作系统(二) -- 程序执行

    本文参考图灵机简介[https://zhuanlan.zhihu.com/p/143834012]、内存是如何存储...

  • Anroid内核——启动篇

    Linux启动过程 开机并执行bootloader程序(引导程序); 操作系统内核初始化(执行内核程序,初始化各种...

  • 2、操作系统运行环境与运行机制1(操作系统笔记)

    一、回顾:操作系统的主要工作 程序的执行启动程序、执行程序以及程序结束的工作 完成与体系结构相关的工作 完成应用程...

  • Linux: 进程通信介绍(一)

    进程与通信 进程可以理解为操作系统的可执行程序,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,随着进程...

  • Linux 内核剖析

    操作系统的运行机制 在操作系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或...

  • 1操作系统概述

    1.1操作系统概述 操作系统定义 ■ 没有公认的精确定义 ■ 操作系统是一个控制程序 一个系统软件 控制程序执行过...

  • 单线程---多线程

    一、从操作系统角度 操作系统处理任务, 调度单位是进程和线程。 1.进程: 表示一个程序的执行活动 (打开程序、读...

  • Python进程、线程、协程学习笔记,希望对你有帮助

    一、从操作系统角度 操作系统处理任务, 调度单位是进程和线程。 1.进程: 表示一个程序的执行活动 (打开程序、读...

  • 单线程---多线程

    一、从操作系统角度 操作系统处理任务, 调度单位是进程和线程。 1.进程: 表示一个程序的执行活动 (打开程序、读...

  • 从源程序到可执行文件(物语4)

    我们用C语言编写最简单的程序后,这个程序还是不能在操作系统上执行,需要经过翻译,编译和链接之后才能独立在操作系统...

网友评论

      本文标题:操作系统(二) -- 程序执行

      本文链接:https://www.haomeiwen.com/subject/tcgcyktx.html