白话微机:9.解释SoC和Linux

 一. 前言(回顾世界观)

        在“微机世界”,普通的城市(单片机)里,又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有路,这些叫做“数据总线”,交通系统则统称为总线;这里也有行政部门,比如公安局之类的,又有个名字叫“寄存器”;有中央政府,政府又叫做“中央处理器(CPU)”,这里也会发生的一些自然灾害(内部中断)和人为活动(外部中断), I/O接口是城市(单片机)的城门和检查站,串行接口是连接城市与乡村的小路

        随着科学技术的进步,诞生了一种现代化城市诞生:RTOS(实时多任务操作系统),它有一个高效的城市管理系统:一整套完善的任务管理、调度和资源管理机制,能够同时处理多个紧急任务,并根据任务的优先级和需求进行合理的调度和分配资源。除此以外,还诞生了一种专门的高科技工业园区——DSP数字信号处理器),这个园区专注于处理和改造一种特殊的资源——“信号”。这个工业园区配置有高效的专用机械,能够快速、精确地处理来自各地(输入设备)的原始信号材料,这些原始信号就是未经加工的天然资源,比如矿石或原油,它们需经过这个园区内的精炼和加工,才能转化为有用的材料或产品。

        在科技更加发达的时代,诞生的一座可变式城市——FPGA(现场可编程门阵列),在这座城市里,所有设施都是由许多可变换形态的机器人组成的,在同一块土地上这些“变形金刚”能够接受特定的设计蓝图(配置文件),然后自己重组内部结构(逻辑门和布线),从而组成住宅区、商业区、工业区等不同功能的区域,并且随意更改。

二. SoC(高科技小岛)

        回顾了上述MCU、DSP、FPGA、RTOS等设定后,接下来要介绍的这座城市是SoC(System on Chip,片上系统),类似于《海王》中的未淹没前的“亚特兰蒂斯”,一个极度集成的“高科技小岛”,其中所有的基础设施、行政部门、居民区和工业园区都被高效地集成在一块小小的土地(芯片)上。这座超级城市不仅包含了中央政府(CPU)、城市管理系统(RTOS)、高科技工业园区(DSP)、可变式城市区域(FPGA),还将这些不同的区域和功能紧密地整合在一起,实现了空前的效率和功能密度。

三、Linux(通用城市管理系统)

        Linux可以被看作是一个高度发展、灵活和强大的城市管理系统(操作系统)。它不是一个物理的地方,而是确保所有城市(计算机系统)的基础设施和服务能够高效、顺畅地运行的一套规则、工具和服务。

        Linux提供了一个平台,让中央政府(CPU)、行政部门(寄存器)、城市管理系统(RTOS,在这里Linux本身就是一个广泛使用的操作系统,支持实时调度)、居民(数据)、居民住所(存储器)、城市交通系统(总线)等各个组成部分能夜协同工作。它是一个极其灵活的系统,允许使用者根据需要自定义和优化城市(计算机系统)的不同方面。

      1.简单介绍一下RTOS和Linux二者的区别?

        RTOS和Linux都可被视为城市管理系统(操作系统)但它们在管理风格和专长上有所不同。

       RTOS,即实时操作系统,就像一个专为紧急和高优先级的任务设计的城市管理系统。这个系统的特点是能够快速且预测性地响应外界事件,即“实时性”。在这个城市里,行政效率非常高,如果发生紧急事件(实时任务),城市管理系统能够确保快速响应,不会让任何紧急任务等待太久。这对于那些需要精确时间控制的行业非常重要,比如工业自动化、航空航天或医疗设备。在微机世界的比喻中,RTOS的城市有着非常严格的时间管理规定,以保证所有紧急任务都能按时完成。

       Linux,虽然也能执行实时任务(通过实时Linux补丁),但它更像是一个通用城市管理系统,适用于各种不同的需求和环境。Linux系统强调的是通用性、多功能性和可扩展性。它能够管理城市(计算机系统)中的各种活动,从住宅到商业,从休闲娱乐到工业生产,无所不包。Linux通过其可配置的内核和大量的应用软件,为使用者提供了非常灵活的定制选项。在微机世界,Linux的城市不是专门为紧急任务设计,而是能够处理各种常规和非常规任务,旨在为居民(程序和数据)提供一个稳定和多样化的活动环境。

        Linux的另一个特点是开源性,这意味着城市的设计蓝图(源代码)是公开的,任何人都可以参与城市规划和发展,这导致了一个充满创新和快速适应新技术的环境。反观RTOS,它可能是专有的,也可能是开源的,但通常较小且专注于特定的应用领域。

        综上所述,主要区别如下:

        在城市比喻中,Linux可以被视为一个大都市,重视的是灵活性、功能性和普遍可用性。而RTOS(实时操作系统)则更像是为具体任务设计的精密仪器控制室或紧急服务中心,重点在于实时性和可靠性。RTOS需要确保任务在严格的时间限制内完成,因此它的设计更专注于减少任务响应时间和处理时间的可预测性。

  1. 内核实时性

    Linux内核虽然可以配置为“实时”(通过PREEMPT_RT补丁),但它的主要设计目标是通用性和多功能性,适合大范围的应用场景,不像RTOS那样天生就具备实时性。
  2. 调度和任务管理

    RTOS设计用来确保关键任务能够得到及时处理,即使系统资源有限。RTOS的调度器通常是基于优先级的,能够保证高优先级的任务获得即时响应。相比之下,Linux则更注重公平和资源共享,适用于复杂的计算任务和多任务处理,而不是严格的实时响应。
  3. 系统资源和功能

    Linux作为一个功能丰富的操作系统,提供了广泛的网络、多媒体、文件系统等支持。而RTOS通常更轻量,只包含必要的功能和服务,以减少系统调用的延迟和提高效率。

        2.Linux架构由哪些方面构成?

  1. 内核(Kernel)- 城市管理核心: Linux内核就像城市的行政中心,负责管理和调度资源(比如CPU时间、内存空间)、处理安全事务、维护秩序(管理进程、文件系统)等。它是操作系统与硬件之间的接口,确保系统的稳定运行。

  2. Shell - 市民服务中心: Shell是用户与操作系统内核交流的桥梁,如同城市中的市民服务中心,提供了一个让居民(用户)能够通过命令或者图形界面与城市管理核心(内核)沟通的方式。用户可以通过Shell启动程序、管理文件系统中的文件,或者配置系统的行为。

  3. 文件系统(File System)- 城市档案库: Linux的文件系统管理着所有的数据和资源,就像城市的档案库和仓库。它负责存储、组织、检索文件和目录,保证数据的安全性和可访问性。文件系统是确保数据有序管理的关键结构。

  4. 应用程序 - 市场和服务: 应用程序代表着城市里的各种商店、服务和娱乐设施。它们直接为城市居民(用户)提供服务,从文本编辑和网页浏览到复杂的数据分析和游戏娱乐等。

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

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

相关文章

鸿蒙开发实战:【音频组件】

简介 音频组件用于实现音频相关的功能,包括音频播放,录制,音量管理和设备管理。 图 1 音频组件架构图 基本概念 采样 采样是指将连续时域上的模拟信号按照一定的时间间隔采样,获取到离散时域上离散信号的过程。 采样率 采样…

数据仓库的设计开发应用(一)

目录 一、数据仓库设计的特点二、数据仓库系统开发过程三、数据仓库系统的规划 一、数据仓库设计的特点 1、“数据驱动” 的设计 数据仓库是从已有数据出发的设计方法,即从数据源抽取数据,经转换形成面向主题,支持决策的数据集合。 以全面了…

MapReduce的原理分析

1.概述 MapReduce的思想核心是“分而治之,先分再合”,适用于大量复杂任务处理场景(大规模数据处理场景)。 MapReduce分两个阶段: map阶段(分):如果任何可以拆分并且没有依赖,那么就把复杂的任务拆分成小任务,拆分成小任务之后&a…

【云原生-kubernetes系列】--kubernetes日志收集

1、ELK架构 1.1、部署ES集群 https://mirrors.tuna.tsinghua.edu.cn/elasticstack/apt/7.x/pool/main/e/elasticsearch/ 1、下载软件包 rootes-server1:~# wget https://mirrors.tuna.tsinghua.edu.cn/elasticstack/apt/7.x/pool/main/e/elasticsearch/elasticsearch-7.12.0-…

QMI8658芯片I2C驱动开发指南

这个芯片纯国产挺好用的,电路很好设计,我这垃圾焊功,纯手焊,,居然能用。 第一部分 硬件连接 画的很简陋,看看就可以了,这里I2C总线需要接10K上拉没有画出来,这个需要注意一下。 …

【XR806开发板试用】基于WEBSOCKET实现人机交互(控制开关灯)以及开发问题记录

一、开发板编译、功能介绍 根据官方文档编译烧录成功后,我们修改下官方例子,进行开发来实现websocket。 整体流程:开发板先自动寻找指定的wifi并且连接,连接成功后,通过websocket来与服务端连接,连接成功后…

idea项目mapper.xml中的SQL语句黄色下划线去除

问题描述 当我们使用idea开发java项目时,经常会与数据库打交道,一般在使用mybatis的时候需要写一大堆的mapper.xml以及SQL语句,每当写完SQL语句的时候总是有黄色下划线,看着很不舒服。 解决方案: 修改idea的配置 Edi…

实验01 ASP.NET网站的建立及运行

【实验目的】 (1)能熟悉ASP.NET的开发环境Visual Studio Community 2019(VSC 2019)。 (2)能通过解决方案管理网站,会在解决方案中创建网站。 (3)会设置IIS 10中的网站…

Node.js(1)

跨平台的node.js运行环境,使开发者可以搭建服务器端的js应用程序 它可以编写服务器端程序; 编写数据接口;提供网页资源浏览功能 前端工程化:开发集成的所有工具和技术 与浏览器环境的区别 node.js环境中没有DOM和BOM fs模块-读…

Linux下安装多个nodejs并映射Jenkins

背景 需要Jenkins中切换多个Node,比如nodejs16和nodesjs18,所以在宿主机按照好这两个版本,然后再映射到Jenkins容器中 步骤 1.下载地址 https://nodejs.org/dist/ 放到 cd /opt/soft/2.解压 tar -xzvf node-v16.20.0-linux-x64.tar.gz tar -xzvf n…

SSM SpringBoot vue智能手机参数分析平台

SSM SpringBoot vue智能手机参数分析平台 系统功能 首页 图片轮播 新闻资讯 手机信息 手机百科 登录注册 个人中心 后台管理 登录注册 个人中心 手机百科管理 用户管理 手机对比管理 配置管理 新闻资讯管理 手机信息管理 对比信息管理 我的收藏管理 开发环境和技术 开发语言…

Kafka配置SASL_PLAINTEXT权限。常用操作命令,创建用户,topic授权

查看已经创建的topic ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --list 创建topic 创建分区和副本数为1的topic ./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic acltest --partitions 1 --replication-factor 1 创建kafka用户 …

迷宫寻路[天梯赛 -- 栈]

文章目录 题目描述思路AC代码 题目描述 输入样例 8 8 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 4 4 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 -1 -1输出样例 1,1 2,1 3,1 4,1 5,1 5,2 5…

修复ElementUI中el-select与el-option无法通过v-model实现数据双向绑定的问题

1. 问题描述 需求:在使用ElementUI时,通过el-select和el-option标签实现下拉列表功能,当el-option中的选项被选中时,被选中的选项可以正确回显到已选择的列表中。 对于上面的下拉列表,当我们选中“超级管理员”的选项…

Tomcat的使用

1. Tomcat 1.1 Tomcat 是什么 Tomcat 就是基于 Java 实现的一个开源免费, 也是被广泛使用的 HTTP 服务器 1.2 下载安装 Tomcat官网选择其中的 zip 压缩包, 下载后解压缩即可,解压缩的目录最好不要带 “中文” 或者 特殊符号 进入 webapps 目录,每个文件夹都对应…

vue3项目随笔1

1,Eslint Prettier 报错情况: 解决办法: (1)下载Prettier - code formatter (2)配置setting.json文件 文件 -> 首选项 -> 设置 -> 用户 -> Eslint "editor.defaultFormatter":…

【Hadoop】Hadoop概述与核心组件

目录 Hadoop概述Hadoop 发展历史Hadoop 三大发行版本1.Apache Hadoop(常用)2.Cloudera Hadoop3.Hortonworks Hadoop优势优势总结——4高(高可靠、高扩展、高效、高容错) Hadoop组成1.HDFS管理者:NameNode(n…

【计算机网络_传输层】UDP和TCP协议

文章目录 1. 重新理解端口号端口号划分netstat指令pidof 2. UDP协议2.1 UDP协议端格式2.2 UDP的特点2.3 UDP的注意事项2.4 基于UDP的应用层协议 3. TCP协议(传输控制协议)3.1 TCP协议的格式和报头字段3.2 如何解包和分用3.3 理解TCP协议报头3.4 TCP协议的…

解决electron打包vue-element-admin项目页面无法跳转的问题

解决electron打包vue-element-admin项目页面无法跳转的问题 说明之前通过这个教程已经打包成功,但是发现进行账号密码登录后页面无法跳转的问题。现在已经解决,所以记录一下。 1、检查路由模式是否为hash模式,如果不是改成hash模式。 new Ro…

【DL经典回顾】激活函数大汇总(十五)(LogSoftmax附代码和详细公式)

激活函数大汇总(十五)(LogSoftmax附代码和详细公式) 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里,激活函数扮演着不可或缺的…