Linux 学习之路 -- 进程篇 -- 背景介绍

目录

1、冯诺依曼体系架构

2.操作系统


1、冯诺依曼体系架构

再开始学习进程之前我们要先了解一下计算机的体系结构,这里我们以最经典的冯诺依曼体系结构为例,简单介绍一下一下计算机的体系结构,方便我们对进程的理解。

这里的中央处理器就是,我们平常所称的cpu,这里的运算器就是做运算的,控制器就是做决策的。这里我们的输出设备就包括话筒、键盘、鼠标等等,输出设备包括声卡、网卡、磁盘、打印机。这里的存储器其实就是我们所说的内存(没有电就会丢失数据)。这里的设备是连接的(马努的是让数据在设备之间流动),我们通过总线把他们连接起来。

这里我们让数据进行流动,其实就是把数据进行拷贝,这里我们的拷贝的速度,其实就决定计算机的运算效率,这里我们存储器的存在就是为了加快计算机的运算速度。那它是如何提高计算机的效率呢?下面我简单介绍一下。

我们先了解一下存储金字塔的概念

这里存储金字塔的规则就是距离cpu越近的存储单元,效率越高,造价也就越贵,单体的容量就越小,离cpu越远的存储单元,效率就越低,造价就便宜,单体容量就大 (其实内存条的价格比硬盘要贵就是这个原理)。

回到原来的问题上,我们可以先假设没有内存的存在,其实我们输入输出设备的读写节奏相对于cpu的处理速度来说是很慢的,如果我们把他们直接相连,cpu会长期处于闲置状态,这就造成了浪费,所以我们在他们中间加一个设备,把输入输出设备的数据先预先加载到内存(其实就是预先加载跟缓存),在cpu 再从内存获取数据,而内存的读取拷贝跟cpu的处理速度差异相对较小,这样的效率就能得到较大的提升,同时也能降低成本。

这里cpu 是直接和 内存直接相连的,而程序是在外设设备上的,如果想运行程序,就必须把程序从外设设备加载到内存里面,cpu 再从内存中获取数据,这也就是为什么我们经常说的先把程序加载到内存的原因。

这里举个例子(两个人聊天)


2.操作系统

下面我们介绍一下操作系统,操作系统其实就是管理软硬件资源的的一个软件。下面我们先引入一张图来帮助我们进行理解。

1.这里我们先介绍硬件驱动,这里的各种硬件以冯诺依曼结构进行排布,这里的硬件驱动,就是硬件开发商的写出的对应驱动底层硬件的程序(包括对硬件的描述,方法),这里我们驱动提供方法给上层的操作系统进行调用,在我们插入鼠标时,过一会才会有反应就是在加载驱动程序。

2.这里的操作系统就相当于学校里的管理者,而底层硬件就  相当于学生,属于被管理者。举个例子,我们学校对学生是对”学生的数据“进行管理,而不是对学生本人进行管理,通常一张表进行学生数据(身高、体重等)的存储,学校的管理者就通过对文档进行管理,就可对整个学校进行进行管理。这里我们就可以把操作系统比作管理者,我们把存储学生数据的表用结构体进行描述,我们再用链表把他们连起来,这样就可以通过对链表(其他数据结构)的增删查改的数据的管理。这个过程就是计算机的建模过程,我们可以用“先描述,再组织”六个字来概括。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】入门C++(上)

简单唠几句 从今天开始我们就要进入C的学习了 众所周知,C是在C语言的基础上应运而生的,其容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式,为我们在编程上提供了很大的便捷 在接下来的这几篇C入门的博…

设计方案-定时任务接口数据存储及更新策略

前言 在没有使用ETL工具且不考虑多数据源的情况下,我们需要从别的系统获取数据时,一般会选择分页接口查询并存储。本文算是我对类似场景代码的提炼,旨在总结相关套路,提升自我对数据库和模块的设计能力。 ETL(英文 Extract-Trans…

微分方程数值解法_常微分方程篇

一阶常微分方程初值问题 问题的适定性 (well-posedness): (數學系的角度) • 存在性:问题有解 • 唯一性:解是唯一的 • 稳定性:这个唯一解连续地依赖于问题中所给的数据(即初值、边值等) 初值问题的求解 Euler 法 區別(極限) 入門 要點:極限、中值定理==>差分方程…

linux进程退出之exit与_exit

linux进程退出之exit与_exit _exitexit流程清理函数atexit()函数:on_exit()函数: _exit /* Terminate program execution with the low-order 8 bits of STATUS. */ /** status参数定义了进程的终止状态,父进程可以通过wait(&am…

leetcode刷题---链表

目录 1.删除链表的倒数第N个节点两两交换链表中的节点反转链表2 1.删除链表的倒数第N个节点 根据题目描述,第一个思路是存到数组中对数组进行操作,想到数组我们就可以想到下标和倒数第N个的关系,所以我们可以不额外开空间,可以直接…

vuex插件实现数据共享

vuex插件 vuex是管理多个vue通用的数据的插件.(状态管理工具,状态是数据) 我们对于多个vue文件之间的共同数据,是用props传递,或者对于一个vue实例对象,进行绑定,传参,也是多次传参,多个文件之间,比较麻烦. 但是我们vuex会创建一个公共对象,从这个公共对象上赋值,比较简单易…

appium辅助自动化工具-- Appium studio

这里我要给大家介绍一款appium辅助自动化测试工具appium studio,你没看错,不是android studio,也不是appium android studio,就是appium studio! 下载地址: Appium Studio | Digital.ai Continuous Test…

【应用笔记】LAT1413+快速开关蓝牙导致设备无广播

1. 问题背景 客户使用 BlueNRG-345MC 开发了一个 BLE 外设,和手机连接。在测试中发现,手机连接上外设之后,不断地在手机上点击蓝牙的开关按钮,造成设备不断地断开、重连;少则几次,多则几十次。点击之后&am…

【小贪】万字长文介绍因果推断和增益模型

文章目录 因果推断和增益模型1. 绪论2. 因果推断基础3. 主要增益模型3.1 Meta Learning3.1.1 S-Learner(One Model)3.1.2 T-Learner(Two Model)3.1.3 R-Learner3.1.4 X-Learner3.1.5 类别转换法(Class Transformation …

2024年noc指导教师认证测评参考试题题目5-6合集

[noc指导教师认证] 测评参考试题 说明:NOC教师指导认证考试题目是从题库里抽题,因此每位老师每次考试题目都不一样以下题目为测试考试时收集到的一些题目,作为辅助提供给各位老师,老师们可以记住题目及答案的具体内容 (选项顺序会变),以免考试时遇到。2024年的做的题目有的…

.Websalm勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复

导言: 在数字化时代,网络安全问题日益凸显,其中勒索病毒作为一种新型的电脑病毒,以其独特的传播方式和恶劣的性质,给广大用户带来了巨大的困扰。近期,Websalm勒索病毒成为了公众关注的焦点,其强…

【图轮】【 最小生成树】【 并集查找】1489. 找到最小生成树里的关键边和伪关键边

本文涉及知识点 图轮 最小生成树 并集查找 关键边 1489. 找到最小生成树里的关键边和伪关键边 给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 to…

【C++庖丁解牛】自平衡二叉搜索树--AVL树

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 前言1 AVL树的概念2. AVL…

【A-006】基于SSH的新闻发布系统(含论文)

【A-006】基于SSH的新闻发布系统(含论文) 开发环境: Jdk7(8)Tomcat7(8)MySQLIntelliJ IDEA(Eclipse) 数据库: MySQL 技术: SpringStruts2HiberanteJSPJquery 适用于: 课程设计,毕业设计&…

玩转Django分页器

一、Pagination 分页器编程步骤 View, 导入django.core.paginator.Paginator类,创建Paginator 对象时,输入qs对象,以及每页显示条数。 接收 URL, 从请求参数中读取page数值 ,通过 paginator.page(page_num) 返回请求页的page_obj…

ObjectiveC-05-复杂和特殊数据类型

这一节中会详细介绍下ObjectiveC中的复杂数据类型,这些类型不太是太归类。但非常有用,有的用于定义变量、有的则是专门用于方法的返回值。 常用的大概有如下这些: 以上这些特殊的数据类型都可用于变量、方法返回值、方法参数使用&#xff0c…

目标伪类选择器

E:target选择匹配E的所哟元素&#xff0c;且匹配元素被相关url指向 鼠标点击右边京东秒杀跳转到京东秒杀div&#xff0c;并变成黄色 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&…

HTML块级元素和内联元素(头部和布局)

目录 1.HTML块级和内联标签&#xff1a; 1.块级元素&#xff1a; 2.内联元素: 3.元素嵌套&#xff1a; 4.元素转换&#xff1a; 示例如下: 2.内联框架&#xff1a; 前言&#xff1a; 示例如下: 3.布局&#xff1a; 4.头部标签&#xff1a; 前言&#xff1a; 说明&…

Java获取当前时间

获取当前的时间 在Java中获取时间和日期使用Date类中的 toString方法 import java.util.Date;public class DateDemo {public static void main(String[] args) {Date date1new Date();System.out.println(date1.toString());} } 进一步格式化时间 SimpleDateFormat 是格式化…

Netty组件优化之FastThreadLocal

ThreadLocal:CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132995427 Netty中的FastThreadLocal是对Java中的FastThreadLocal的优化主要是为了解决ThreadLocal中线性查找 带来的性能下降同时实现快速查找和赋值 FastThreadLocal构建这里的index代表一个编号&#xff0c;从…