10 计算机结构

冯诺依曼体系结构

冯·诺依曼体系结构,也被称为普林斯顿结构,是一种计算机架构,其核心特点包括将程序指令存储和数据存储合并在一起的存储器结构,程序指令和数据的宽度相同,通常都是16位或32位

我们常见的计算机,笔记本等大部分都遵守冯诺依曼体系

在这里插入图片描述

截至目前,我们所认识的计算机都是由一个个硬件组成:
存储器: 指的是内存
输入设备: 键盘,摄像头,话筒,磁盘,网卡…
输出设备: 显示器,音响,磁盘,网卡…
CPU: 运算器,算术运算,逻辑运算
控制器: CPU是可以响应外部事件,协调外部就绪事件,如拷贝数据到内存

为什么在中间要加一个存储器,也就是内存的结构。不直接访问cpu
因为cpu里寄存器之类,拿数据是最快的,到内存,磁盘,光盘,磁带等效率都是递减。如果直接访问cpu,需要存储4gb等较大数据就需要很大的寄存器,成本很贵。用内存作为中间介质,cpu需要数据访问内存,从外部读取数据放到内存,不直接访问cpu,节省了很多成本。

输入input,输出output,通过内存这两个就是IO

强调
存储器指内存
不考虑缓存情况,cpu只对内存进行读写,不能访问外设
外设要输入输出数据,也只能写入内存或从内存中读取
一句话,所有设备都只能直接和内存打交道

对冯诺依曼体系的理解,不能停留在概念上,要深入到软件数据流理解,从登上qq开始和朋友聊天,数据的流动过程,从键盘输入设备到内存,然后输出到网卡发送过去,朋友断网卡收到数据,通过内存到输出设备显示出来

操作系统(Operator System)

概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(函数库,shell程序等)

OS的目的

与硬件交互,管理所有的软硬件资源
为用户程序提供一个稳定、安全、简单的执行环境

定位

操作系统的定位是一款纯正搞管理的软件

如何理解管理

  • 管理的例子
  • 描述被管理的对象
  • 组织被管理对象

在这里插入图片描述

操作系统的管理是对被管理对象的数据的管理,管理和被管理者可以不直接沟通,拿到被管理者的数据支持管理决策,然后执行才是最重要的。就比如学校的校长决策,实现对学生的管理,入学毕业等,只需要修改学生的相关数据,不需要直接和学生沟通。这就形成了先描述,再组织。先描述学生数据的结构,然后组织信息的增删查改,就完成了管理

和下面的银行结构类似
在这里插入图片描述
在这里插入图片描述

行长就是操作系统,如何管理银行系统,首先是各种硬件设备,有各自的管理者来管理,这就是各种驱动程序直接管理。操作系统需要对内存、驱动、进程、文件等进行管理,不需要直接和软硬件打交道,和它们的对应管理沟通。对外提供了各种接口,也就是系统接口的函数调用,但这些很不方便。操作系统假设对所有人都不信任 ,因为人直接操作困难也很容易出错。所以和银行柜台前面的引导员一样,形成了shell外壳程序和图形化界面,供用户很方便的操作,告诉需求,程序来让操作系统执行,对于程序员,封装了各种库和编程语言。客户在银行存钱,实际上是对数据的修改,最后也是先描述,后组织,对每个客户的数据和仓库数据进行描述,然后组织数据的结构执行,操作系统也一样,对每个硬件和软件的行为归根到底都是对数据的管理

总结

计算机管理硬件
描述:用struct结构体
组织:用链表或其他高效的数据结构

系统调用和库函数

在开发家都,操作系统对外表现为一个整体,会开放自己的一些接口,供上层开发使用,这部分就是系统调用
系统调用功能基础,要求也高,所以适度封装,有了库,有利于进行二次开发

承上启下

进程管理是怎么管理,也是先描述,然后组织

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

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

相关文章

在Centos7中用Docker部署gitlab-ce

一、介绍 GitLab Community Edition (GitLab CE) 是一个开源的版本控制系统和协作平台,用于管理和追踪软件开发项目。它提供了一套完整的工具和功能,包括代码托管、版本控制、问题跟踪、持续集成、持续交付和协作功能,使团队能够更加高效地进…

动态规划|【路径问题】|931.下降路径最小和

目录 题目 题目解析 思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 931. 下降路径最小和 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开…

【Vue3】Props的使用详解

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

概率基础——多元正态分布

概率基础——多元正态分布 介绍 多元正态分布是统计学中一种重要的多维概率分布,描述了多个随机变量的联合分布。在多元正态分布中,每个随机变量都服从正态分布,且不同随机变量之间可能存在相关性。本文将以二元标准正态分布为例&#xff0…

多线程JUC 第2季 中断线程

一 中断线程 1.1 中断概念 1.在java中,没有提供一种立即停止一条线程。但却给了停止线程的协商机制-中断。 中断是一种协商机制。中断的过程完全需要程序员自己实现。也即,如果要中断一个线程,你需要手动调用该线程的interrupt()方法&…

录制用户操作实现自动化任务

先上视频!! 流程自动化工具-录制操作绘制流程 这个想法之前就有了,趁着周末时间给它撸出来。 实现思路 从之前的文章自动化桌面未来展望中已经验证了录制绘制流程图的可行性。基于DOM录制页面操作轨迹的思路监听页面点击、输入事件即可&…

无人机镜头稳定的原理和相关算法

无人机的镜头稳定主要基于两个关键技术:镜头平衡技术和实时电子稳像。无人机镜头稳定的原理和相关算法主要是通过镜头平衡技术和实时电子稳像技术来保持摄像镜头的稳定性,从而拍摄出清晰、稳定的画面。无人机镜头稳定的原理主要是通过传感器和算法来实现…

Ocr之PaddleOcr模型训练

目录 一、系统环境 1 镜像拉取ppocr 进行部署 2 安装paddlepaddle 二、训练前的准备 1 下载源码 2 预模型下载 3 修改模型训练文件yml 4 编排训练集 5 执行脚本进行训练 6 需要修改文件夹名称 三、开始训练 1 执行训练命令 2 对第一次评估进行解释 3 引言 五、总…

NestJS使用模板引擎ejs

模板引擎​ 模板引擎是一种用于生成动态内容的工具,它通过将预定义的模板与特定数据结合,来生成最终的输出。​ 在NodeJS开发中,我们会使用模板引擎来渲染一些常用的页面,比如渲染代表404的Not Found 页面,502的Bad …

【【C语言简单小题学习-1】】

实现九九乘法表 // 输出乘法口诀表 int main() {int i 0;int j 0;for (i 1; i < 9; i){for (j 1; j < i;j)printf("%d*%d%d ", i , j, i*j);printf("\n"); }return 0; }猜数字的游戏设计 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdi…

源码视角,vue3为什么推荐用ref,而不是reactive

ref 和 reactive 是 Vue3 中实现响应式数据的核心 API。ref 用于包装基本数据类型&#xff0c;而 reactive 用于处理对象和数组。尽管 reactive 似乎更适合处理对象&#xff0c;但 Vue3 官方文档更推荐使用 ref。 我的想法&#xff0c;ref就是比reactive好用&#xff0c;官方也…

Java 中对包含关系的判断

本文将为您详细讲解 Java 中对包含关系的判断&#xff0c;包括数组、字符串等&#xff0c;并提供相应的代码例子。 1. 数组包含关系判断 在 Java 中&#xff0c;数组包含关系判断通常使用循环来实现。以下是几种常见的判断方法&#xff1a; 示例 1&#xff1a;使用 for…

Unity曲柄滑块四杆机构运动计算

一、运动效果 二、机构的介绍 曲柄长度&#xff1a;a&#xff0c;线段AB长度 连杆长度&#xff1a;b&#xff0c;线段BC长度 偏心距离&#xff1a;e&#xff0c;滑块轨迹与曲柄中心点A的垂直距离 三、已知点A点B和e的值&#xff0c;计算C点的位置 1、计算s的值 var h math.…

通过多进程并发方式(fork)实现服务器(注意要回收子进程)

以下内容为视频学习记录。 1、父进程accept后返回的文件描述符为cfd以及用于创建连接的lfd; 调用fork()创建子进程后&#xff0c;子进程继承cfd,lfd&#xff0c;通过该cfd与连接过来的客户端通信,lfd对子进程来说没用&#xff0c;可以直接close(lfd); 对于父进程来说&#x…

Vue中的计算属性和方法有什么区别?

Vue.js是一款流行的JavaScript前端框架&#xff0c;提供了丰富的功能和便捷的开发方式。在Vue中&#xff0c;计算属性和方法是常用的两种方式来处理数据和逻辑。但它们之间存在一些区别&#xff0c;本文将详细介绍Vue中计算属性和方法的区别&#xff0c;并通过示例代码加深理解…

183896-00-6,Biotin-C3-PEG3-C3-NH2,可以选择性降解靶蛋白

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;183896-00-6&#xff0c;Biotin-C3-PEG3-C3-NH2&#xff0c;Biotin-C3-PEG3-C3-amine&#xff0c;生物素-C3-PEG3-C3-胺 一、基本信息 【产品简介】&#xff1a;Biotin-PEG3-C3-NH2是一种PROTAC linker&#xff0c;…

Python推导式大全与实战:精通列表、字典、集合和生成器推导式【第115篇—python:推导式】

Python推导式大全与实战&#xff1a;精通列表、字典、集合和生成器推导式 Python语言以其简洁、优雅的语法而闻名&#xff0c;其中推导式是其独特之处之一。推导式是一种在一行代码中构建数据结构的强大方式&#xff0c;它涵盖了列表、字典、集合和生成器。本篇博客将全面介绍…

YOLOv8实例分割实战:ONNX模型转换及TensorRT部署

课程链接&#xff1a;https://edu.csdn.net/course/detail/39320 PyTorch版的YOLOv8支持高性能的实时实例分割。 TensorRT是针对英伟达GPU的加速工具。 ONNX &#xff08;Open Neural Network Exchange&#xff09; 作为一个开放的网络模型中间表示&#xff08;IR&#xff0…

spring boot 修复 Spring Framework URL解析不当漏洞(CVE-2024-22243)

漏洞描述 当应用程序使用UriComponentsBuilder来解析外部提供的URL&#xff08;如通过查询参数&#xff09;并对解析的URL的主机执行验证检查时可能容易受到Open重定向攻击和SSRF攻击&#xff0c;导致网络钓鱼和内部网络探测等。 受影响产品或系统 6.1.0 < Spring Framew…

Vue项目的快速搭建

Vue项目的快速搭建 一、下载并安装node.js二、安装Vue脚手架三、创建vue项目四、项目启动五、VS Code下载安装 一、下载并安装node.js 首先确保已经安装了Node.js。如果没有安装&#xff0c;可以去官网&#xff08;https://nodejs.org/&#xff09;下载并安装最新版本的Node.j…