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提供了一条使封装的数据报文能够传输的通路,并且在一个…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
