进程(0)——计算机的中的软硬件【Linux】
进程(0)——计算机的中的软硬件【Linux】
- 一.硬件:
- 1.1 冯诺依曼结构:
- 1.2 存储金字塔
- 1.2.1输入设备和存储器:
- 1.2.2输出设备和存储器:
- 二.软件:
- 2.1 操作系统
- 2.1.1 如何理解管理:
博主自己进行到了进程中的学习。
进程算是linux学习中内容比较多的一个部分。
所以估计会多写几篇博客当作进程的一个系列
这里先从计算机最基础的软件和硬件开始讲起
一.硬件:
讲到计算机的硬件,现在的计算机都是建立在冯诺依曼结构的基础上建立的。
所以我们需要来了解一下什么是冯诺依曼结构
1.1 冯诺依曼结构:

这里的分别对应:
存储器:内存
输入设备:键盘,摄像头,磁盘,网卡等
输出设备: 输出设备:显示器,播放器
有的设备既可以输入又可以输出
这两个都是cpu的组成部分:
运算器:进行计算任务
控制器:对计算过程进行一定的控制
上面的各个组成部分全都是独立的硬件个体
所以它们必须同过媒介来连接起来
而媒介就是线:
1.总线 2.io总线
1.2 存储金字塔

从这个图片上面我们能得到一个信息:
从上到下容量越大速度越慢
同时我们的能发现:
上面从属于cpu的部分和下面从属于硬盘的部分中间:
有一个内存部分
这里就能体现了内存的不一般的地位,这里让我们看一下冯诺依曼结构

这里能看到存储器处于中间的媒介地位。
这里我们就要引入木桶原理:
相比大家都知道木桶原理,所以不解释了
因为cpu和输出还有输入设备差距过大。
所以引入了一个速度相对于两者都不怎么大的内存来进行调度。
尽量防止cpu和外存的速度差距过大,从而产生大量的效率浪费
1.2.1输入设备和存储器:
这里的输入设备就用硬盘来举例把。
我们知道,硬盘和cpu的速度差距很大。
那差距到底有多大。


这里我们能很明显的感受到cpu计算速度和硬盘的读写速度差距巨大。
这个时候如果cpu想要对硬盘中的数据进行计算,可能等硬盘读取完的时间,cpu的温度早就转凉了。
所以内存这个处于两者速度之间的角色就发挥了重要作用。
硬盘先把数据读取到内存,然后cpu可以计算内存中的数据。
同时还可以进行并行执行,在cpu计算其他数据的时候,内存还可以从硬盘中进行读取数据。
这样可以解除了cpu与外盘的数据的交互。防止效率的浪费,可以让cpu更加专注于数据的计算当中。
1.2.2输出设备和存储器:
输出设备和cpu还有内存也是和上面同理,这里就就略了。
同样也是解除了cpu与输出设备的数据交互,提高cpu的输出效率。
(不代表控制器和输入输出设备失去联系,数据虽然没有联系,但是信号处理方面有联系)
所以内存在冯诺依曼结构的计算机中不光是媒介,更可以说是核心
二.软件:
为什么我们要先讲硬件,我们了解了冯诺依曼的结构后
我们就可以知道
任何一款软件都是必须先要被内存进行读取后才能运行
因为这是结构规定的。
软件都是建立在硬件上的。
了解了硬件后
那各个硬件要进行统合,或者用户想要把数据输入给硬件,让硬件进行操作
说通俗一点,就是想要计算机硬件给用户进行服务,那该怎么办。
接下来那就是交给了最大的软件——操作系统(os)
2.1 操作系统
操作系统可以说统筹管理了各个硬件,同时给软件提供了环境。
那我们就从管理入手,看看操作系统是如何管理硬件的。
2.1.1 如何理解管理:
操作系统通过管理好底层的软硬件资源,为【用户】提供一个良好的执行环境
这里用户有各种人群。
难保用户中有那种电脑小白,对计算机系统进行乱搞,而计算机系统对硬件进行管理,但是硬件中存有大量的数据或功能。
那可以想象如果用户乱来,后果将不堪设想

这里我们能看到用户操作接口的下方,有一个系统调用接口
这是因为操作系统为了保证自己的数据安全,也为了保证给用户提供服务,选择了不相信任何用户
但同时要给用户服务,所以操作系统以接口(函数)的方式给用户提供调用操作系统的入口,来获取系统内部数据
用封装的接口的话,就可以有效的防止出现用户操作不当而丢失数据或者影响操作系统的情况了
操作系统基层是用C语言实现的,系统通过自己写的调用接口,去执行调用操作系统的操作,所有访问操作系统的行为,都只能通过系统调用完成
调用系统的的各个接口称为:system call
然后通过接口调用操作系统对操作系统进行控制
操作系统通过对应的驱动程序来控制硬件
从而实现了对硬件的操作。
相关文章:
进程(0)——计算机的中的软硬件【Linux】
进程(0)——计算机的中的软硬件【Linux】 一.硬件:1.1 冯诺依曼结构:1.2 存储金字塔1.2.1输入设备和存储器:1.2.2输出设备和存储器: 二.软件:2.1 操作系统2.1.1 如何理解管理: 博主自…...
Python中if not使用教程
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 python中判断变量是否为None三种写法: 1、if x is None 2、if not x 3、if not x is None 理解成 if not (x is None) 结果是和1相反的 python中None、fals…...
Jmeter性能测试 —— jmeter之使用ServerAgent监控服务器
ServerAgent 性能测试时我们关注的重要指标是:并发用户数,TPS,请求成功率,响应时间,服务器的CPU,memory, I/O disk等。Jmeter的聚合报告可以查看并发数、吞吐量、请求成功率、响应时间等&#…...
C# Winform编程(7)文件处理技术
文件处理技术 System.IO命名空间System.IO命名空间常用的类System.IO命名空间常用的枚举 File类的常用方法File类的常用静态方法FileInfo类的常用方法File类和FileInfo类的区别文件夹类Directory的常用方法文件流类FileStream文件的读写读写二进制流读写内存流 System.IO命名空…...
前端工作方式要换了?HTMX简介:无需JavaScript的动态HTML
HTMX允许你使用扩展的HTML语法代替 JavaScript 来实现交互性。HTMX 在标记中直接为你提供HTTP 交互,并支持许多其他交互需求,无需求助于 JavaScript。这是一个有趣的想法,可能最终会影响到web前端的工作方式。让我们看看如何使用HTMX以及它的…...
动手学深度学习—使用块的网络VGG(代码详解)
目录 1. VGG块2. VGG网络3. 训练模型 1. VGG块 经典卷积神经网络的基本组成部分是下面的这个序列: 1.带填充以保持分辨率的卷积层; 2.非线性激活函数,如ReLU; 3.汇聚层,如最大汇聚层。 定义网络块,便于我…...
性能优化:JIT即时编译与AOT提前编译
优质博文:IT-BLOG-CN 一、简介 JIT与AOT的区别: 两种不同的编译方式,主要区别在于是否处于运行时进行编译。 JIT:Just-in-time动态(即时)编译,边运行边编译:在程序运行时,根据算法计算出热点代码…...
抖音同城榜:探索城市新潮流
随着科技的飞速发展,短视频已经成为了人们日常生活中不可或缺的一部分。作为短视频领域的佼佼者,抖音一直致力于为用户带来更丰富、更有趣的短视频内容。抖音同城榜应运而生,成为了最新、最热门的话题聚集地,吸引了大量潮流达人和…...
云表|低代码开发崛起:重新定义企业级应用开发
低代码开发这个概念在近年来越来越受到人们的关注,市场对于低代码的需求也日益增长。据Gartner预测,到2025年,75%的大型企业将使用至少四种低代码/无代码开发工具,用于IT应用开发和公民开发计划。 那么,为什…...
【算法题】2906. 构造乘积矩阵
题目: 给你一个下标从 0 开始、大小为 n * m 的二维整数矩阵 grid ,定义一个下标从 0 开始、大小为 n * m 的的二维矩阵 p。如果满足以下条件,则称 p 为 grid 的 乘积矩阵 : 对于每个元素 p[i][j] ,它的值等于除了 g…...
机器学习基础之《回归与聚类算法(4)—逻辑回归与二分类(分类算法)》
一、什么是逻辑回归 1、逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广…...
UWB安全数据通讯STS-加密、身份认证
DW3000系列才能支持UWB安全数据通讯,DW1000不支持 IEEE 802.15.4a没有数据通讯安全保护机制,IEEE 802.15.4z中指定的扩展得到增强(在PHY/RF级别):增添了一个重要特性“扰频时间戳序列(STS)”&a…...
vue3中去除eslint严格模式
vue3中去除eslint严格模式 1、全局搜索:extends 2、一般在package.json或者vue.config.js中,直接删除掉vue/standard,重启项目。(在package.json文件中,编译不允许有注释,所以直接删掉)...
Win10如何彻底关闭wsappx进程?
Win10如何彻底关闭wsappx进程?在Win10电脑中,用户看到了wsappx进程占用了大量的系统资源,所以想结束wsappx进程,提升电脑的运行速度。但是,用户们不知道彻底关闭掉wsappx进程的方法,那么接下来小编就给大家…...
docker 安装 sftpgo
sftpgo 简介 sftpgo 是一个功能齐全且高度可配置的 SFTP 服务器,具有可选的 HTTP/S、FTP/S 和 WebDAV 支持。支持多种存储后端:本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google 云存储、Azure Blob 存储、SFTP。 官…...
threejs (一) 创建一个场景
引入 npm install three import * as THREE from three;const scene new THREE.Scene();或者使用bootCDN复制对应的版本连接 <script src"https://cdn.bootcdn.net/ajax/libs/three.js/0.156.1/three.js"></script>基础知识 场景、相机、渲染器 通过…...
二分查找,求方程多解
1.暴力遍历: 解为两位小数,故0.001的范围肯定可以包含(零点存在) 2.均分为区间长度为1的小区间(由于两解,距离不小于1),一个区间最多一个解 1.防止两边端点都为解 2&…...
代码随想录算法训练营第二十九天 | 回溯算法总结
代码随想录算法训练营第二十九天 | 回溯算法总结 1. 组合问题 1.1 组合问题 在77. 组合中,我们开始用回溯法解决第一道题目:组合问题。 回溯算法跟k层for循环同样是暴力解法,为什么用回溯呢?回溯法的魅力,用递…...
运算方法和运算电路
一、逻辑门电路 1、逻辑门电路基础总结 2、异或运算妙用 3、逻辑常用公式 二、加法器(重点) 1、标志位的生成原理 2、加法器总结 三、多路门选择器,三态门...
计算机网络篇之TCP滑动窗口
文章目录 前言概述 前言 在网络数据传输时,若传输的原始数据包比较大,会将数据包分解成多个数据包进行发送。需要对数据包确认后,才能发送下一个数据包。在等待确认包的这个过程浪费了大量的时间,不过还好TCP引入了滑动窗口的概念…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
