• 计算机体系结构和操作系统


    这篇文章的主要内容是冯诺依曼计算机体系结构操作系统的理解

    目录

     一.冯诺依曼计算机体系结构

    二.操作系统的理解


    一.冯诺依曼计算机体系结构

    如图是冯诺依曼计算机体系结构,计算机本质就是对数据进行处理的机器,图中,数据从输入设备交给内存,内存再交给CPU进行快速运算,再通过内存将数据交给输出设备。在数据层面上,CPU不会直接和输入输出设备直接交互,因为会拖慢CPU的运行速度,所以CPU和外设中间会有内存来充当一个巨大的缓存,从而做到运算速率最优化。

    举例:如何理解程序运行之前,必须加载到内存?

    我们写的程序=代码+数据 是为了对数据进行快速数据处理,都要将数据交给CPU来处理,要想让CPU进行处理,前提是必须进入内存当中。我们的可执行文件(.exe)只不过是编译好的二进制文件,在磁盘中保存,要想让CPU执行代码处理数据,必须将.exe加载到内存当中,再和CUP进行数据上的交互。

    二.操作系统的理解

    计算机本质就是硬件和数据的一个集成。如何很好的管理和维系这些硬件和数据呢?这时候就需要操作系统来解决了。

    由图可知,操作系统向上提供系统调用接口,并使用shell外壳和库为用户提供便捷,让用户使用计算机进行开发。 操作系统向下是对硬件和数据(软件)的管理。一般一个用户想要访问底层硬件,必须贯穿整个层状结构。

    可执行程序运行的本质:调用系统接口将可执行程序加载到内存当中->进而使用CPU进行数据处理。

    系统调用和库:系统调用是操作系统为用户的使用对外暴露的部分接口,这部分接口在使用上功能比较基础,对用户要求较高,所以开发者将部分系统调用进行适度封装,从而形成库里面的一系列函数。这样更有利于用户进行二次开发。

    在我们学习的过程当中,计算机体系结构和操作系统的基础是非常重要的,当我们遇到不能理解的问题,都可以靠向计算机体系结构和操作系统,宏观的理解问题,任何访问硬件的操作都需要层状结构自上而下通过!!

  • 相关阅读:
    附录A 程序员工作面试的秘密
    PMP提分练习
    HTML的有序列表、无序列表、自定义列表
    JUC学习笔记——并发工具线程池
    初见物理引擎库Cannon.js:与Cesium的整合
    【lambda表达式】
    HTTP实现断点续传
    一个注解@Recover搞定丑陋的循环重试代码
    帆船运行员训练方法研究
    数据结构-栈结构扩展应用
  • 原文地址:https://blog.csdn.net/2301_76144863/article/details/133581209