理解冯.诺依曼体系结构(操作系统和进程)

news2025/1/10 16:24:34

在这里插入图片描述

文章目录

  • 一.冯诺依曼体系结构
  • 二.冯诺依曼体系结构与木桶效应
  • 三.操作系统与进程
    • 操作系统
    • Linux系统中的进程

一.冯诺依曼体系结构

在这里插入图片描述

  • 冯诺依曼体系结构特性:
    • 冯诺依曼体系结构中的存储器指的是内存——一种硬件级别的缓存空间(介于IO设备与CPU之间,只有数据存储和读写功能,并且具有较高的数据读写速度独立单元)(内存中存储二进制数据)
    • CPU和IO设备之间不能直接进行数据传输,CPU和IO设备之间的数据传输必须经过内存
    • 描述事物属性的数据运算指令(两者本质都是二进制数据)都会被加载到内存中
  • 冯诺依曼体系结构的优势:
    • CPU和IO设备的分离使得计算机的设计和使用变得十分灵活(成本也大幅度降低),无须再根据特定的IO设备和特定的运算指令来设计CPU周围的主板电路,运算指令相关描述型数据被统一加载到内存中形成一个个程序,使得同一个内存+CPU机构可以用于适配各种IO设备来实现各种功能
    • 同时,冯诺依曼体系结构可以充分地发挥CPU的计算性能

二.冯诺依曼体系结构与木桶效应

  • 冯诺依曼体系的精髓在于内存
  • 在冯诺依曼体系结构横空出世之前,在特化的CPU主板上,CPU需要直接从输入设备读取数据,对数据进行运算后需要直接向输出设备写入数据:在这里插入图片描述
  • 受限于设计成本,IO设备的数据读写速度很慢,然而CPU计算速度非常快,在某个数据计算项目中,CPU会经常在快速完成计算后会处于闲置状态,因此即便CPU十分强大,整个计算机体系的效率也会被IO设备的读写效率所限制,这就是体系结构中的木桶效应:
    • 在一个紧密联系的体系中,各个部分结构都可能面临的一个共同问题,即构成体系的各个部分结构往往是优劣不齐的,而劣势部分往往决定整个体系的水平:在这里插入图片描述
  • 内存的出现很好地解决了上述问题.冯诺依曼体系结构的计算机,一旦开始运行,IO设备(包括一些外存设备)就可以随时向内存中写入或读取二进制数据,形成一个个待执行的运算项目(程序),在某些时刻和特定的指令下,CPU向内存拿取数据执行运算,这种体系结构高效的原因在于:
    • 内存与IO设备进行数据交互的过程是时刻都可以进行的(只要计算机在运行),当CPU需要从内存中拿取数据执行运算时,内存中已经加载了很多的数据(即冯诺依曼体系充分利用了各运算操作之间的时间间隔来完成数据的加载)
    • 内存本身是专门为数据存储和读写设计的硬件单元(物理上与CPU关联紧密),与CPU的数据交换效率比较高.

三.操作系统与进程

操作系统

  • 冯诺依曼体系结构的计算机具有如下特点:
    • 一套内存+CPU结构可以用于适配各种IO设备(实现功能前只需将指令集和数据加载到内存中即可),因此一个计算机体系中可能会存在多种IO设备,此时就需要对这些IO设备进行管理(硬件管理)
    • 计算机运行时,内存中会加载进大量运算程序(数据和指令集(本质也是数据)),此时这些程序也需要被管理起来(软件管理)
  • 冯诺依曼体系计算机的复杂性催生出了操作系统,操作系统是专门进行硬件和软件管理的一系列特殊的数据和指令集,操作系统作为一个特殊的软件,在冯诺依曼体系计算机运行时第一个被加载到内存中。
  • 操作系统与计算机体系:在这里插入图片描述
    在这里插入图片描述
  • 操作系是用C语言实现的,它对硬软件资源进行管理之前要对各个硬件软件对象进行描述和组织(这是所有管理行为的前提),所谓描述就是定义描述被管理对象的结构体,再将描述被管理对象的结构体组织进各个数据结构中.
  • 操作系统对硬件的管理实质是管理其驱动程序,因此可以认为操作系统实质上管理的对象都是程序
  • 操作系统对计算机进行管理的本质是对由描述硬软件资源对象的结构体构成的数据结构进行增删查改的操作
    在这里插入图片描述
  • PCB --> process control block(进程控制块)

Linux系统中的进程

  • 当一个程序(二进制数据)被加载进Linux系统中后,Linux系统会自动创建描述该程序的task_struct结构体(进程控制块)并将其组织进各种内核数据结构中;
    • 内存中的task_struct结构体和==其对应的程序(二进制数据)==就构成了Linux系统中的一个进程(二者缺一不可)
  • Linux中的进程控制块在这里插入图片描述
  • Linux进程控制块中的内容在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/770677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重排链表问题

给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。…

基础语言模型LLaMA

LLaMA包含从7B到65B参数的基础语言模型集合。Meta在数万亿个tokens上训练了模型,LLaMA-13B在大多数基准测试中优于GPT-3(175B)。 来自:LLaMA: Open and Efficient Foundation Language Models 目录 背景概述方法预训练数据架构Op…

会员管理系统如何深度绑定用户?会员系统必备哪些功能?

在以消费者为主导的企业(商家)范围内,实行会员制管理能够更好的提升客户的忠诚度,减少客户的流失。完整、精确的会员管理系统,更能提升企业(商家)的实际效益。 蚓链会员管理系统(专业版) 便是这…

VMware扩展磁盘提示:在部分链上无法执行所调用的函数。请打开父虚拟磁盘

VMware扩展磁盘提示:在部分链上无法执行所调用的函数。请打开父虚拟磁盘 在为VMware中的虚拟机扩展磁盘时提示:在部分链上无法执行所调用的函数。请打开父虚拟磁盘。 出现这个问题是因为你先前创建过快照,但是快照删除时候,残余文…

JAVA集成国密SM3

JAVA集成国密SM3加密、验签 一、pom配置二、加密代码集成2.1、目录结构2.2、源码2.3、测试 三、验签代码集成2.1、目录结构2.2、源码2.3、测试 四、相关链接 国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM3杂凑算法 SM3 消息摘要。…

怎么学习Java数据库连接(JDBC)? - 易智编译EaseEditing

学习Java数据库连接(JDBC)是掌握Java与数据库交互的关键步骤。以下是学习Java JDBC的一些建议: 先掌握Java基础: 在学习JDBC之前,确保你已经掌握了Java的基本语法、面向对象编程和其他核心概念。这将有助于更好地理解…

干货分享:商城系统开发方式

商城系统是一种为了满足电子商务需求而开发的系统,它能够实现在线购物、支付、订单管理等功能。在当今互联网时代,商城系统的开发方式多种多样。那么,商城系统开发方式有哪些呢? 1、完全独立自主开发 完全独立自主开发是指企业根…

FactoryBean源码解析

文章目录 一、简介二、FactoryBean 接口的方法三、FactoryBean 与 BeanFactory 的区别四、源码解析五、实际应用 一、简介 FactoryBean 是 Spring 框架中的一个接口,用来创建特定类型的 Bean 对象。实现FactoryBean 接口就可以自定义 Bean 对象的创建过程。Factory…

深入浅出如何通过API瞬间搭建亿万商品外贸代购系统PHP系统

什么是淘宝代购 淘宝代购是近年兴起的一种购物模式,是帮国外客户购买中国商品。主要是通过万邦 科技的外贸代购系统,把淘宝、天猫等电商平台的全站商品通过API 接入到你的网站 上,瞬间就可以架设一个有数亿产品的大型网上商城,而…

【Leetcode】687.最长同值路径

一、题目 1、题目描述 给定一个二叉树的 root ,返回 最长的路径的长度 ,这个路径中的 每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。 两个节点之间的路径长度 由它们之间的边数表示。 示例1: 输入:root = [5,4,5,1,1,5] 输出:2示例2: 输入:root …

IT技术岗的面试技巧分享

我们在找工作时,需要结合自己的现状,针对意向企业做好充分准备。作为程序员,你有哪些面试IT技术岗的技巧?你可以从一下几个方向谈谈你的想法和观点。 方向一:分享你面试IT公司的小技巧 1、事先和邀约人了解公司的基本情况,比如公司的行业,规模,研发人员占比等 2、事先和…

甲板上的战舰(力扣)递归 JAVA

给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 ‘X’ 或者是一个空位 ‘.’ ,返回在甲板 board 上放置的 战舰 的数量。 战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k&#xf…

华为OD机试真题 Java 实现【最左侧冗余覆盖子串】【2023Q2 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、思路 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

C++-----vector

本期我们来学习C中的vector,因为有string的基础,所以我们会讲解的快一点 目录 vector介绍 vector常用接口 构造函数 sort 迭代器 size,max_size,capacity,empty reserve和resize front和back data insert和…

VUE- 选取本地图片,自定义裁切图片比例 vue-cropper

裁切图片,按照比例裁切,分步骤 1:el-upload选择本地图片(分选择本地和上传两步骤) 2:在on-change回调方法中拿到el-upload选中的图片,显示在vueCropper上()。 2.1&…

为什么互联网网络攻击总是在瞄准金融行业

自从网络时代开始,金融行业一直是最容易被攻击的几个行业之一,它占火伞云相关跟踪攻击尝试的28%,仅次于游戏行业。随着网络犯罪的增长,金融服务业将继续成为网络攻击者的重点目标。 攻击者出于多种原因瞄准金融领域,但…

STM32—CAN通信

文章目录 一、CAN通信简介1.1 CAN简介1.2 CAN协议特点1.3 CAN通信的帧类型1.4 数据帧结构1.5 CAN的位时序1.6 CAN的仲裁功能 二、STM32F1的CAN2.1 bxCAN简介2.2 bxCAN工作模式2.2.1 初始化模式2.2.2 正常模式2.2.3 睡眠模式2.2.4 静默模式2.2.5 环回模式 2.3 位时序和波特率 三…

Spring(一):Spring 的创建和使用

目录 Spring 是什么? 什么是容器? 什么是 IoC? 什么是 IoC? IoC的优点是啥呢? 理解 IoC DI 概念说明 Spring 的创建 创建 Spring 项目 1. 创建⼀个普通 Maven 项⽬。 2. 添加 Spring 框架⽀持(s…

谈一谈,Spring Boot 中的 starter 到底是什么 ?

1. 为什么要用Starter? 现在我们就来回忆一下,在还没有Spring-boot框架的时候,我们使用Spring 开发项目,如果需要某一个框架,例如mybatis,我们的步骤一般都是:到maven仓库去找需要引入的mybatis jar包&am…

【UE5 多人联机教程】01-创建主界面

目录 工程地址 步骤 参考链接 工程地址 GitHub - UE4-Maple/C_MP_Lobby: 多人大厅教程项目 步骤 1. 先新建一个工程 2. 将下载的工程中的Plugins目录拷贝到自己新建的工程下 3. 打开工程,新建一个游戏实例 这里命名为“GI_Main” 在项目设置中设置游戏实例类为…