Linux操作系统基础
目录
计算机存储结构
冯.诺依曼结构
操作系统
在前几期我们学写了linux中常见的一些指令,本期我们将正式进行linux操作系统的学习。
计算机存储结构
要学习linux操作系统,我们就得先进行计算机存储结构的学习,要进行计算机存储结构的学习,我们就得先学习冯.诺依曼结构。
冯.诺依曼结构
讲述冯诺依曼结构之前,我们得先了解冯.诺依曼这个人。冯.诺依曼是谁,以下内容出自百度百科:

那么冯诺依曼结构又是怎样被提出的呢?
冯.诺依曼图示如下:

在冯诺依曼结构中,计算机由四部分组成:输入设备,输出设备,存储器,中央处理器。
输入设备:键盘,麦克风,摄像头,磁盘,网卡,显卡等都可以看做输入设备。
输出设备:显示器,磁盘,网卡,显卡等等都可以看做输出设备。
输入设备和输出设备我们统称为外设。
存储器:存储器图示如下:

总结:因为上层的存储器越靠近中央处理器,技术成本高所以价格相对比较昂贵,下层的技术成本低,所以价格相对便宜一点。
中央处理器(CPU):由运算器和控制器组成,运算器主要完成各种计算,加减乘除,与或非等等,控制处理器主要处理中断等操作。
那么在冯诺依曼结构中,最重要的一个部分是什么呢?
因为计算机主要的处理操作其实主要就是CPU对数据的操作,对数据的操作肯定需要时间,既然牵扯到了时间,那么必然得去讨论效率。输入设备是可以处理数据的,我们完全可以直接将输入设备处理完之后的数据传给CPU,然后让CPU去做处理,那么为什么我们还要去要用存储器去处理数据呢?大家可以理解为这是一个木桶效应,输入设备对数据的处理效率是很低的,CPU对数据的处理效率是非常高的,但是计算机对数据的处理效率不是由最快的部分决定的,而是由最低的部分决定的,所以我们就引入了存储器,因为存储器对数据的处理效率是适中的。数据在体系机构中处理流程就是,数据由输入设备传入到存储器中,然后存储器将数据传给CPU,CPU将数据处理完之后又将数据传给存储器,最终存储器把数据刷新到输出设备上。所以问题的答案就出来了,冯诺依曼结构中,最重要的部分就是存储器。
操作系统
什么是操作系统,我们先给出定义:
操作系统:操作系统本身是一款软件。是一款专门针对软硬件资源进行管理的软件。
那么操作系统如何对软硬件资源进行管理呢?
大家想象这样一个场景,在日常生活中,无非就是两类人,管理者和被管理者。在大学,管理者就是校长,被管理者就是学生,一般情况下,管理者和被管理者时不会直接碰面的,在大学校长估计也就见两次,开学典礼和毕业典礼,额,我们学校中途换了校长,所以我可能就只见了一次校长。因为管理者和被管理者不会经常碰面,那么当校长下达决策时,学生是怎样知道的呢?此时就得有一个角色来执行管理者的决策,比如说校长下达了一个公告(决策),那么此时辅导员就负责将这个公告传达给学生(辅导员执行决策,学生被决策)。
所以,站在操作系统的角度也是一样的,操作系统就像是一个管理者,硬件资源就相当于是被管理者,操作系统和硬件资源是不会直接碰面的,那么此时操作系统如何来管理硬件呢,其实大家都听过这个东西,叫做驱动程序,每一个硬件资源都会有对应的驱动程序,当操作系统下达决策时,驱动程序就像是一个辅导员会执行对应的决策,进而完成操作系统对硬件资源的管理。到此,我们便解决了操作系统如何进行硬件资源的管理的问题。
既然管理者可以对被管理者实现管理,在大学中,校长究竟是对学生的什么进行管理呢?其实本质上就是对学生自身的属性进行管理,学生的姓名,性别,年龄,成绩信息都是学生对应的属性,但是如果对这些属性进行单个管理是很难的,所以我们一般会采用结构体(类)的形式将学生的属性信息封装起来,然后供校长进行管理。
学校中的学生的信息是非常多的,所以一般情况下我们会把学生的结构体存储在一个数据结构中进行管理,一般情况下都是树形结构。
所以我们得出了一个结论:
操作系统要对资源进行管理时,要先获取资源的相关属性,然后将资源的属性封装在一个结构体里,然后对这些资源进行管理。
以上便是操作系统基础的大体介绍。
本期内容到此结束^_^
相关文章:
Linux操作系统基础
目录 计算机存储结构 冯.诺依曼结构 操作系统 在前几期我们学写了linux中常见的一些指令,本期我们将正式进行linux操作系统的学习。 计算机存储结构 要学习linux操作系统,我们就得先进行计算机存储结构的学习,要进行计算机存储结构的学…...
docker 批量更改镜像标签
docker 批量更改镜像标签 批量更改镜像标签批量删除镜像 批量更改镜像标签 docker images | grep "registry.aliyuncs.com\/google_containers" | sed s/registry.aliyuncs.com\/google_containers/registry.k8s.io/ | awk {print "docker tag "$3" …...
js 校验 大于等于0小于等于100
如果你想要在JavaScript中校验一个数值是否在0到100之间(包括0和100),你可以使用以下的函数: function validateRange(value) {return value > 0 && value < 100; }你可以使用这个函数来检查一个值是否在指定的范围…...
前端面试题-webpack
1.webpack是什么? 模块打包工具,用于将前端资源,如JavaScript、css、图片等打包成可以在浏览器运行的静态资源。可以将多个模块打包成一个或多个bundle。 主要功能: 模块化:可以将多个模块打包成一个或多个bundle&…...
What is `WebMvcConfigurer` does?
WebMvcConfigurer 用于自定义和扩展SpringMVC的功能配置。 比如:可以配置如视图解析器、静态资源处理、消息转换器、拦截器等MVC相关的组件。 实现 WebMvcConfigurer 接口,并使用 Configuration 注解标记,使其成为一个配置类 Configuration …...
安全强化学习笔记
这里写自定义目录标题 参考资料 Safe Reinforcement Learning环境算法CPO 2017 ICMLPCPO 2019 ICLRFOCOPS 2020 NIPSCRPO 2021 ICMLCUP 2022 NIPS TRPO 如何看懂TRPO里所有的数学推导细节? - 小小何先生的回答 - 知乎 参考资料 Safe Reinforcement Learning 安全/约束强化学…...
POI-tl 知识整理:整理1 -> 利用模板向word中写入数据
1 文本传值 Testpublic void testText() throws Exception {XWPFTemplate template XWPFTemplate.compile("D:\\Idea-projects\\POI_word\\templates.docx");Map<String, Object> map new HashMap<>();map.put("title", "Hi, girl"…...
PDF结构详解
文章目录 介绍前言高保真的文件什么是PDF?PDF的一些优点版本摘要谁在使用PDF?有用的免费软件谁应该阅读 构建一个简单PDF文件基本PDF语法File StructureDocument ContentPage Content 构建简单PDF文件头目录,交叉引用表和文件尾主要对象图形内…...
Three.js 镜面反射Reflector 为MeshStandardMaterial增加Reflector能力
效果效果官方案例 区别:官方的案例更像一个镜子 没有纹理等属性 也没有透明度修改 根据源码进行修改为 MeshStandardMaterial实现反射 使用案例 createReflector() {const plane this.helper.create.plane(2, 2);this.helper.add(plane.mesh);plane.mesh.rotat…...
UE4使用技巧
打开蓝图编辑器时不是打开一个新窗口,而是作为主窗口 适用于全部的打开新窗口的操作 蓝图编译时自动保存 开始游戏后立即捕获鼠标...
行为型设计模式—职责链模式
职责链模式:从名字可以拆分为 职责 和 链。即能为请求创建一条由多个处理器组成的链路,每个处理器各自负责自己的职责,相互之间没有耦合,完成自己任务后请求对象即传递到链路的下一个处理器进行处理。 如果在写好的执行函数里加上…...
EndNote快速上手
前言:用EndNote主要就是为了方便管理文章引用的文献,所以本篇就是针对EndNote在文章中引用文献需要的技巧,然后本文用的是EndNoteX9。 EndNote快速上手 创建文献资料库创建文献分组导入文献手动输入文件导入在线搜索 修改文献信息去重文献删除…...
GRE隧道(初级VPN)配置步骤
一、拓朴图: 要求:1、PC1 和 PC2 能访问充当互联网接口地址的ISP环回口地址8.8.8.8 2、PC1 和 PC2 走GRE隧道互通 二、配置步骤: 1、配置IP 2、R1、R2 配置nat,代理内网地址通过G0/0/0口上外网 acl 2000rule permit source a…...
自然语言处理笔记
文章目录 情感词典中文分词单词向量化技术Word2vecGloVefastText 关键词提取算法 情感词典 英文的情感词典有:LIWC, SentiWordNet等 中文的情感词典有:NTUSD, 正文褒贬词典TSING, 知网HowNet等 中文分词 中文分词的工具有:jieba(核心算法是…...
广东省第三届职业技能大赛“网络安全项目”B模块任务书
广东省第三届职业技能大赛“网络安全项目”B模块任务书 PS: 关注鱼影安全第一部分 网络安全事件响应任务 1:应急响应 第二部分 数字取证调查任务 2 :操作系统取证任务 3: 网络数据包分析取证任务 4: 计算机单机取证 第三部分 应用…...
如何利用API接口获取电商平台数据?
作为产品经理,我们需要了解电商平台的数据情况,以便更好地制定产品策略和优化用户体验。而利用API接口获取电商平台数据是一种高效、便捷的方式。本文将从以下几个方面介绍如何利用API接口获取电商平台数据。 一、了解API接口 首先,我们需要…...
C语言天花板——指针(经典题目)
指针我们已经学习的差不多了,今天我来给大家分享几个经典的题目,来让我们相互学习🏎️🏎️🏎️ int main() {int a[4] { 1, 2, 3, 4 };int* ptr1 (int*)(&a 1);int* ptr2 (int*)((int)a 1);printf("%x,%…...
进程上下文的概念和切换简单通俗的解释
进程上下文是进程执行活动全过程的静态描述。我们把已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为进程上文,把正在执行的指令和数据在寄存器与堆栈中的内容称为进程正文,把待执行的指令和数据在寄存器与堆栈中的内容称为进程下文。 实际上li…...
python学习笔记10(选择结构2、循环结构1)
(一)选择结构2 1、if……else……语句 #(1)基本格式 numbereval(input("请输入您的6位中奖号码:")) if number123456:print("恭喜您,中奖了") else:print("未中奖")#&…...
IPv6过渡技术---手动隧道
IPv6隧道 隧道(Tunnel)是一种封装技术。利用一种网络协议来传输另一种网络协议,即利用一种网络传输协议,将其他协议产生的数据报文封装在自身的报文中,然后在网络中传输。 隧道是一个虚拟的点对点的连接。一个Tunnel提供了一条使封装的数据报文能够传输的通路,并且在一个…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
