当前位置: 首页 > news >正文

2.5|iot|第1章嵌入式系统概论|操作系统概述|嵌入式操作系统

目录

第1章: 嵌入式系统概论

1.嵌入式系统发展史 

2.嵌入式系统定义*

3.嵌入式系统特点*

4.嵌入式处理器的特点

5.嵌入式处理分类

6.嵌入式系统的应用领域及嵌入式系统的发展趋势

第8章:Linux内核配置

1.内核概述

2.内核代码结构


第1章: 嵌入式系统概论

1.嵌入式系统发展史 

嵌入式计算机的真正发展是微处理器问世之后: Intel4004、Intel8080、6800、68000、Z80 、Z8000;

为灵活兼容出现了系统化、模块化的单板机:Intel iSBC、Zilog MCB、Intel Multibus 、MultibusII;

80年代出现各种总线,微电子工艺的发展,出现了单片机:微处理器+I/O接口+A/D+D/A+UART+RAM+ROM。

90年代在分布控制、柔性控制、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展:

2.嵌入式系统定义*

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成,用于实现对其他设备的控制、监视或管理等目标。

3.嵌入式系统特点*

1.面向用户、面向产品、面向特定应用,大多工作在为特定用户群设计的系统中;

2.功耗低、体积小、集成度高,嵌入式系统设计趋于小型化;

3.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统;

4.高效率地设计,量体裁衣,去除冗余;

5.具有较长的生命周期;

6.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘等载体中。由于嵌入式系统的运算速度和存储容量仍然存在一定程度的限制,同时由于大部分嵌入式系统必须具有较高的实时性,因此对程序的质量,特别是可靠性,有着较高的要求;

7.嵌入式系统本身不具备自举开发能力。

4.嵌入式处理器的特点

(1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。  

(2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。  

(3)可扩展的处理器结构能最迅速地开发出满足应用的最高性能的嵌入式微处理器。  

(4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,有的需要功耗只有mw。

 5.嵌入式处理分类

5.1嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都有了增强。 

5.2嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。

微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。

5.3嵌入式DSP处理器 (EDSP-Embedded Digital Signal Processor) DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。

推动嵌入式DSP处理器发展的另一个因素是嵌入式系统的智能化:

各种带有智能逻辑的消费类产品

生物信息识别终端

带有加解密算法的键盘

ADSL接入

实时语音压解系统

实时图像压解系统

虚拟现实显示              

这类智能化算法一般运算量都较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处。

5.4嵌入式片上系统(SoC-System on Chip)整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。

SoC可以分为通用和专用两类:      

通用系列包括Infineon的TriCore、FreescaIe的M-core、某些ARM系列器件、EchelcIn和Freescale联合研制的Neuron芯片等。      

专用SoC一般专用于某个或某类系统中,不为一般用户所知。具有代表性的产品是Philips的SmartxA,它将xA单片机内核和支持超过2 048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载Java或C语言的专用的SoC可用于公众互联网如Internet安全方面。

6.嵌入式系统的应用领域及嵌入式系统的发展趋势

计算机应用的普及、互联网技术的实用以及纳米微电子技术的突破,正有力地推动着21世纪工业生产、商业活动、 科学实验和家庭生活等领域自动化和信息化进程。全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,为嵌入式产品造就了崭新而巨大的商机。除了沟通信息高速公路的交换机、路由器和 Modem,嵌入式系统还可以构建CIMS(Computer Integrated Manufacturing Systems)所需的DCS(Distributed Control System)和机器人以及规模较大的家用汽车电子系统。最有产量效益和时代特征的嵌入式产品应数因特网上的信息家电,如Web可视电话、Web游戏机、Web PDA(俗称电子商务、商务通)、WAP电话手机以及多媒体产 品,如STB(电视机顶盒)、DVD播放机、硬盘播放器、电子阅读机等。 以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景、注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战。这主要包括:支持日趋增长的功能密度、灵活的网络连接、轻便的移动应用和多媒体的信息处理。此外,当然还须对付更加激烈的市场竞争。


第8章:Linux内核配置

1.内核概述

操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括内核、设备驱动程序、启动引导程序、命令shell或者其他用户界面、基本的文件管理工具和系统工具

系统其实包含了操作系统和所有运行在它之上的应用程序。

内核是操作系统的内在核心。系统其他部分必须依靠内核这部分软件提供的服务,像管理硬件设备,分配系统资源等等。

内核也被称作是超级管理者或者是操作系统核心。通常一个内核由负责响应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。对于提供保护机制的现代系统来说,内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。这种系统态和被保护起来的内存空间,统称为内核空间。相对的,应用程序在用户空间执行。它们只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,不能直接访问硬件,还有其他一些使用限制。

当内核运行的时候,系统以内核态进入内核空间;相反,普通用户程序以用户态进入用户空间。

应用程序通过系统调用内核通信来运行,如下图所示:

应用程序通常调用库函数(如C库函数),再通过系统调用界面让内核代其完成各种不同任务。

\bullet许多库函数提供的功能并没有单独的系统调用可以替代,在那些较为复杂的函数中,调用内核的操作通常只是整个工作的一个步骤。

Eg: prinf()函数提供了数据的缓存和格式化等操作,也只是在执行的末期通过write()系统调用把处理后的最终数据写在终端上。

\bullet有一些库函数和系统调用函数是一一对应的关系。

Eg: open()库函数,除了调用open()系统调用,其他什么也不做。 一些C库函数,像strcpy(),根本就不需要调用系统级的操作。

当一个应用程序请求执行一条系统调用,我们在说内核正在代其执行。如果进一步解释,在这种情况下,应用程序被称为通过系统调用在内核空间运行,而内核被称为运行于进程上下文中。这种交互关系——应用程序通过系统调用用陷入内核——是应用程序完成其工作的基本行为方式

上下文代表着内核活动的范围。

可将处理器在任何指定时间点的活动范围概括为下列三者之一:

1.运行于内核空间,处于进程上下文,代表某个特定的进程执行。

2.运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

3.运行于用户空间,执行用户进程。

例如,当CPU空闲时,内核就运行一个空闲进程,处于进程上下文,但运行于内核空间。

2.内核代码结构

大概了解:

  

(2023年 2月18日 17:07首次发布) 

相关文章:

2.5|iot|第1章嵌入式系统概论|操作系统概述|嵌入式操作系统

目录 第1章: 嵌入式系统概论 1.嵌入式系统发展史 2.嵌入式系统定义* 3.嵌入式系统特点* 4.嵌入式处理器的特点 5.嵌入式处理分类 6.嵌入式系统的应用领域及嵌入式系统的发展趋势 第8章:Linux内核配置 1.内核概述 2.内核代码结构 第1章&#xf…...

一文教会你使用ChatGPT画图

引言 当今,ChatGPT在各行各业都有着广泛的应用,其自然语言处理技术也日益成熟。ChatGPT是一种被广泛使用的技术,除了能够生成文本,ChatGPT还可以用于绘图,这为绘图技术的学习和应用带来了新的可能性。本文将介绍如何利用ChatGPT轻松绘制各种形状,为对绘图技术感兴趣的读…...

Java资料分享

随着Java开发的薪资越来越高,越来越多人开始学习 Java 。在众多编程语言中,Java学习难度还是偏高的,逻辑性也比较强,但是为什么还有那么多人要学Java呢?Java语言是目前流行的互联网等企业的开发语言,是市面…...

yum/vim工具的使用

yum 我们生活在互联网发达的时代,手机电脑也成为了我们生活的必须品,在你的脑海中是否有着这样的记忆碎片,在一个明媚的早上你下定决心准备发奋学习,“卸载”了你手机上的所有娱乐软件,一心向学!可是到了下…...

内网渗透(三十九)之横向移动篇-pass the ticket 票据传递攻击(PTT)横向攻击

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

Unity性能优化之纹理格式终极篇

知识早班车:1、当n大于1时,2的n次幂一定能被4整除;证明:2^n 2^2*2^(n-1) 4*2^(n-1)2、4的倍数不一定都是2的次幂;证明:4*3 12;12不是2的次幂3、Pixel(像素)是组成图片…...

【Spark分布式内存计算框架——Spark SQL】9. Dataset(下)RDD、DF与DS转换与面试题

5.3 RDD、DF与DS转换 实际项目开发中,常常需要对RDD、DataFrame及Dataset之间相互转换,其中要点就是Schema约束结构信息。 1)、RDD转换DataFrame或者Dataset 转换DataFrame时,定义Schema信息,两种方式转换为Dataset时…...

Windows 环境下,cmake工程导入OpenCV库

目录 1、下载 OpenCV 库 2、配置环境变量 3、CmakeLists.txt 配置 1、下载 OpenCV 库 OpenCV官方下载地址:download | OpenCV 4.6.0 下载完毕后解压,便可以得到下面的文件 2、配置环境变量 我们需要添加两个环境变量,一个是 OpenCVConfi…...

微服务架构设计模式-(16)重构

绞杀者应用程序 由微服务组成的应用程序,将新功能作为服务,并逐步从单体应用中提取服务来实现。好处 尽早并频繁的体现价值 快速开发交付,使用 与之相对的是“一步到位”重构,这时间长,且期间有新的功能加入&#xff…...

数据结构:归并排序和堆排序

归并排序 归并排序(merge sort)是利用“归并”操作的一种排序方法。从有序表的讨论中得知,将两个有序表“归并”为一个有序表,无论是顺序表还是链表,归并操作都可以在线性时间复杂度内实现。归并排序的基本操作是将两个位置相邻的有序记录子序列R[i…m]R[m1…n]归并为一个有序…...

基于easyexcel的MySQL百万级别数据的excel导出功能

前言最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。原始需求:用户在UI界面上点击全部导出按钮…...

js-DOM02

1.DOM查询 - 通过具体的元素节点来查询 - 元素.getElementsByTagName() - 通过标签名查询当前元素的指定后代元素 - 元素.childNodes - 获取当前元素的所有子节点 - 会获取到空白的文本子节点 …...

作为一名开发工程师,我对 ChatGPT 的一些看法

ChatGPT 又又火了。 ChatGPT 第一次爆火是2022年12月的时候,我从一些球友的讨论中知道了这个 AI 程序。 今年2月,ChatGPT 的热火更加猛烈,这时我才意识到,原来上次的热火只是我们互联网圈子内部火了,这次是真真正正的破圈了,为大众所熟悉了。 这个 AI 程序是一个智能问…...

Flask中基于Token的身份认证

Flask提供了多种身份认证方式,其中基于Token的身份认证是其中一种常用方式。基于Token的身份认证通常是在用户登录之后,为用户生成一个Token,然后在每次请求时用户将该Token作为请求头部中的一个参数进行传递,服务器端在接收到请求…...

波奇学数据结构:时间复杂度和空间复杂度

数据结构:计算机存储,组织数据方式。数据之间存在多种特定关系。时间复杂度:程序基本操作(循环等)执行的次数大O渐进法表示法用最高阶的项来表示,且常数变为1。F(n)3*n^22n1//F(n)为…...

移动OA办公系统为企业带来便捷办公

移动OA系统是指企业员工同手机等移动设备来使用OA办公系统,在外出差的员工只需要通过OA系统的手机APP就可以接收相关的新信息。PC办公与移动OA办公的相结合,构建用户单位随时随地办公的一体化环境。 相比PC办公,移动OA办公给企业带来更多的便…...

什么是Type-c口?Type-c口有什么优势?

什么是Type-C接口 Type-C接口有哪些好处坏处 说起“Type-C”,相信大家都不会陌生,因为最近拿它大做文章的厂商着实不少,但要具体说清楚Type-C是什么,估计不少人只能说出“可以正反插”“USB的一种”之类的大概。其实,T…...

Go开发者常犯的错误,及使用技巧 (1)

代码规范 命名不规范 变量名要有意义,不能随便取a,b,c 如果只是纯粹的算法题,这样问题不大。但工程上的代码可读性要求较高,不能随意命名变量名,例如: for _, v : range userList {// ... }如果for语句块简短还好&…...

Servlet 作业

一、填空题1. Servlet 中使用Session 对象的步骤为:调用HttpServletRequest.getSession()的得到Session对象,查看Session对象,在会话中保存数据。2. http 全称是_HyperText Transfer Protocol3. 用户可以有多种方式请求Servlet,如…...

Hive高阶函数:explode函数、Lateral View侧视图、聚合函数、增强聚合

Hive高阶函数 文章目录Hive高阶函数explode函数Lateral View侧视图原理语法聚合函数增强聚合grouping setsCUBEROLL UPexplode函数 explode接收map、array类型的数据作为输入,然后把输入数据中的每个元素拆开变成一行数据,一个元素一行。explode执行效果…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

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>…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...