• 【Linux】系统进程的概念


    一、冯诺依曼体系结构

             

             我们常见的计算机比如常见的笔记本,服务器大部分遵循冯诺依曼体系结构。

             电脑由一个个硬件组成,硬件接受到的数据传入给存储器,存储器交给CPU进行计算,计算后的结果返回给存储器,然后再由存储器把数据传给输出设备。

    输入设备:键盘,摄像头,话筒,磁盘,网卡...

    输出设备:显示器,音响,磁盘,网卡...

    存储器:内存。

    CPU:运算器进行算术运算、逻辑运算。

            那么这里就问题来了,为什么不直接让CPU与输入输出设备进行交互,要在中间加一个内存呢?

            首先我们要知道每个硬件对数据的反应速度是不同的,由高到低为 CPU && 寄存器 > 内存 > 磁盘/SSD > 光盘 > 磁盘

            然后要知道木桶效应,一个桶能装多少水,不是由最长的一块板来决定的,是根据最短的一块板来决定的。

           CPU运算速度快,外部设备的速度慢,一边接受数据,一边计算,这样会照成整体效率变低,加一个内存,把接受到的数据到一定程度后再送给CPU计算然后返回,能有效的提高效率。且这种结构效率高,成本低。

    PS:

    1.CPU读取数据(数据+代码),都是要从内存中读取。站在数据的角度,我们认为CPU不和外设直接打交道。

    2.CPU要处理数据,需要先将外设中的数据,加载到内存。站在数据的角度,外设直接和内存打交道。

            这里我们就知道了程序要运行,就必须加载到内存中,这是其体系结构决定的。

    二、操作系统

            操作系统很复杂,是单一的一门学科,学习C++编写程序,暂时不用了解太深,但是要注意我们自己写的程序也都是操作系统在管理。

            操作系统本质其实就是一个对软硬件资源做管理的软件

            操作系统是分层次的,平时我们用户使用操作系统的时候,使用的是操作系统专门给外部调用的接口,而内部很多核心的东西是自己再进行管理,不会让用户接触。

            这是为了用户提供一个稳定,安全,简单的执行环境。

    那么操作系统如何管理数据呢?

          1.先描述 ( 使用struct结构体 )

          2.再组织 ( 使用数据结构排序结构体 )        

    PS:这里使用的是struc来描述数据,而不是class,因为Linux或Windows其大多数核心内容是C语言加汇编写的。

    三、进程 

    <
  • 相关阅读:
    JVM垃圾回收算法
    IntelliJ IDEA的快速配置详细使用
    机器学习-K近邻(KNN)算法详解
    JAVA虚拟机体系结构
    前端的小组件
    河南双创蓝皮书发布:科技创新持续发力,​中创助推中部地区发展!
    Android --- 异步操作
    六边形架构
    【测试人生】UE4大世界游戏寻路效果自动化测试
    将web前端项目部署到github,在hbuilderx中部署github中的项目、对Github加速
  • 原文地址:https://blog.csdn.net/weixin_45423515/article/details/126808641