嵌入式系统设计师考试笔记之操作系统基础复习笔记一
目录
1、嵌入式软件基础
(1)嵌入式软件的特点:
(2)嵌入式软件分类:
(3)无操作系统的嵌入式软件的两种实现方式:
(4)有操作系统的三大优点:
(5)设备驱动层(也叫板级支持包 BSP:包含了嵌入式系统中所有与硬件相关的代码)
(6)板级支持包 BSP的基本思想
(7)一般来说。BSP主要包括两个方面的内容:
(8)关于引导加载程序 BoorLoader
(9)设备驱动程序
(10)关于分层结构
(11)嵌入式中间件
2、嵌入式操作系统概述
(1)内核
(2)嵌入式操作系统分类
1、嵌入式软件基础
(1)嵌入式软件的特点:
A、规模较小。
B、开发难度大。
C、实时性和可靠性要求高。
D、要求固化存储。
(2)嵌入式软件分类:
A、系统软件:控制和管理嵌入式系统资源,如嵌入式操作系统、驱动程序、中间件等。
B、应用软件:定义嵌入式设备的主要功能和用途,负载与用户进行交互。
C、支撑软件:辅助软件开发的工具软件。
(3)无操作系统的嵌入式软件的两种实现方式:
A、循环轮转
优点:简单、直观、开销小、可预测。
缺点:过于简单,所有代码顺序执行,无法处理异步事件,缺乏并行处理能力。
B、前后台系统(在循环轮转的基础上增加了中断处理功能)
前台(事件处理级):中断服务程序,负载处理异步事件。
后台(任务级):一个无限循环,负载资源分配、任务管理和系统调度。
(4)有操作系统的三大优点:
A、提高系统的可靠性。
B、提高了系统的开发效率,降低了开发成本,缩短了开发周期。
C、有利于系统的扩展与移植。
(5)设备驱动层(也叫板级支持包 BSP:包含了嵌入式系统中所有与硬件相关的代码)
大多数的嵌入式硬件设备都需要某种类型软件的初始化和管理。这部分工作由设备驱动层来完成的,它负责直接与硬件大交道,对硬件进行管理和控制,为上层软件提供所需的驱动支持,类似PC系统中的BIOS和驱动程序。
(6)板级支持包 BSP的基本思想
把嵌入式操作系统与具体的硬件平台隔离开来。在BSP当中,把所有与硬件相关的代码都封装起来,并向上提供一个虚拟的硬件平台,而操作系统就运行在这个虚拟的硬件平台上。它使用一组定义好的编程接口来与BSP进行交互,并通过BSP来访问真正的硬件。
(7)一般来说。BSP主要包括两个方面的内容:
A、引导加载程序 BootLoader。
B、设备驱动程序。
(8)关于引导加载程序 BoorLoader
引导加载程序是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之前运行的一段小程序,它的实现高度依赖于具体的硬件平台,主要的基本功能如下:
A、片级初始化:纯硬件初始化过程,把微处理器从上电的默认状态设置成系统要求的工作状态。
B、板级初始化:同时有软件和硬件在内的初始化过程,设置各种硬件的寄存器和设置某些软件的数据结构和参数。
C、加载内核:将操作系统和应用程序的映象从Flash存储器复制到系统内存当中,然后跳转到系统内核的第一条指令处继续执行。
补充:PC 系统的引导加载过程。
PC系统的引导加载程序由两部分代码组成――BIOS 和MBR中的引导程序。BIOS在完成硬件检测和资源配置后,将硬盘主引导记录MBR中的引导程序读到系统的内存当中,然后将控制权交给它,由它负责把操作系统的内核映象从硬盘读入到内存,然后跳转到内核入口去运行,即启动操作系统。
(9)设备驱动程序
在一个嵌入式系统中,操作系统可能有也可能无,但是设备驱动程序是必不可少的。设备驱动程序,就是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供良好的访问接口。大多数设备驱动程序都具备下面的基本功能:启动、关闭、停用、启用、读操作、写操作。这些功能一般用函数的形式来实现,这些函数之间的组织结构主要有两种:分层结构和混合结构。
(10)关于分层结构
A、硬件接口:直接操作和控制硬件。
B、调用接口:不直接跟硬件大交道,为上层软件提供服务和函数接口。
C、优点:把所有与硬件相关的细节都封装在硬件接口中,在硬件需要升级,需要更新设备驱动序的时候,只需要改动硬件接口中的函数即可,而上层调用接口中的函数不用做任何修改。
D、混合结构:在设备驱动程序当中,没有明确的层次关系,上层接口和硬件接口混在一起,相调用。
(11)嵌入式中间件
它是在操作系统内核、设备驱动程序和应用软件之外的所有系统软件,其基本思路是:把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,从而为运行在它上面的那些应用软件提供一个灵活、安全。移植性好、相互通信、协同工作的平台。
2、嵌入式操作系统概述
(1)内核
内核是指操作系统中的一个组件,它包含了 OS的主要功能,即OS的各种特性及其相互之间的依赖关系,这些功能主要包括:
A、任务管理:对系统中运行的软件进行描述和管理,并完成处理器资源分配和调度。
B、存储管理:提高内存的利用率,方便用户使用,提供足够的存储空间。
C、设备管理:方便设备的使用,提高 CPU和 I/O设备的利用率。
D、文件管理:解决文件资源存储、共享、保密和保护等问题。
注:不同嵌入式操作系统的内核设计各不相同,取决于系统设计和实际需求。
(2)嵌入式操作系统分类
A、按系统类型:商业系统、专用系统、开源系统。
B、按响应时间:硬实时系统、软实时系统。
C、按软件结构:单体结构(uCOS)、分层结构(MS-DOS)、微内核结构(Vxworks)。
嵌入式系统设计师考试笔记之操作系统基础复习笔记二:
嵌入式系统设计师考试笔记之操作系统基础复习笔记二-CSDN博客
相关文章:

嵌入式系统设计师考试笔记之操作系统基础复习笔记一
目录 1、嵌入式软件基础 (1)嵌入式软件的特点: (2)嵌入式软件分类: (3)无操作系统的嵌入式软件的两种实现方式: (4)有操作系统的三大优点&am…...

Unity开发之观察者模式(事件中心)
观察者模式是一种对象行为模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。在观察者模式中,主体是通知的发布者,它发出通知时并不需要知道谁是它的观察者&#…...

16、window11+visual studio 2022+cuda+ffmpeg进行拉流和解码(RTX3050)
基本思想:需要一个window11 下的gpu的编码和解码代码,逐开发使用,先上个图 几乎0延迟的,使用笔记本的显卡 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\extras\demo_suite>deviceQuery.exe deviceQuery.exe Starting...CUDA Device Query (Runtime API…...

【C++笔记】如何用检查TCP或UDP端口是否被占用
一、检查步骤 使用socket函数创建socket_fd套接字。使用sockaddr_in结构体配置协议和端口号。使用bind函数尝试与端口进行绑定,成功返回0表示未被占用,失败返回-1表示已被占用。 二、步骤详解 2.1 socket函数 socket 函数是用于创建套接字的函数&…...

“华为杯”研究生数学建模竞赛2015年-【华为杯】D题:面向节能的单/多列车优化决策问题
目录 摘 要: 一、问题重述 二、模型假设 三、符号说明 四、问题一求解...

『第三章』雨燕栖息地:Swift 开发环境
在本篇博文中,您将学到如下内容: 1. Swift 开发平台2. Swift 集成开发环境 Xcode?3. 原型试验场:Playground4. 另一种尝试:iPad 上的 Swift Playgrounds5. Swift 交互实验室:Swift REPL总结 咫尺春三月,寻常百姓家。为…...

elasticsearch-5.6.15集群部署,如何部署x-pack并添加安全认证
目录 一、环境 1、JDK、映射、域名、三墙 2、三台服务器创建用户、并为用户授权 二、配置elasticsearch-5.6.15实例 1、官网获取elasticsearch-5.6.15.tar.gz,拉取到三台服务器 2、elas环境准备 3、修改elasticsearch.yml配置 4、修改软、硬件线程数 5、修改…...

C++ list 模拟实现
目录 1. 基本结构的实现 2. list() 3. void push_back(const T& val) 4. 非 const 迭代器 4.1 基本结构 4.2 构造函数 4.3 T& operator*() 4.4 __list_iterator& operator() 4.5 bool operator!(const __list_iterator& it) 4.6 T* operator->…...

Elasticsearch:使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation (三)
这是继之前文章: Elasticsearch:使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation (一) Elasticsearch:使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation (二&…...

主流电商平台价格如何高频监测
双十一来临在即,除了商家很兴奋,品牌和消费者同样持续关注,除了关注不同平台的产品上架情况,价格也是这些渠道参与者最为关注的,品牌需要通过掌握各店铺的价格情况,了解市场情况以及各经销商的渠道治理现状…...

Spring关于注解的使用
目录 一、使用注解开发的前提 1.1 配置注解扫描路径 二、使用注解创建对象 2.1 Controller(控制器储存) 2.2 Service(服务储存) 2.3 Repository(仓库储存) 2.4 Component(组件储存) …...

图像处理入门 1(Introduction to image processing)
如何获得一张照片 (How to obtain a photo)? 每次看到一些光学设备的规格介绍的时候,一些专用名词,例如:等效焦距,曝光模式 等 让你一头雾水。爱学习的你一定十分好奇他们是什么意思。每次看到…...

中国大模型开源创新与合作的新篇章 | 2023 CCF中国开源大会
2023年10月21日至22日,由中国计算机学会(CCF)和开放原子开源基金会联合主办的CCF中国开源大会(CCF ChinaOSC)在湖南省长沙市北辰国际会议中心成功召开。此次大会以“开源联合,聚力共赢”为主题,…...

vue项目切换页面白屏的解决方案
问题描述 1、页面切换后白屏,同时切换回上一个页面同样白屏 2、刷新后正常显示 3、有警告:Component inside <Transition> renders non-element root node that cannot be animated 解决方法 <Transition>中的组件呈现不能动画化的非元素根…...

5G vs 4G
5G与4G的关键性能指标对比 指标名称流量密度连接密度空口时延移动性能效指标用户体验速率频谱效率峰值速率4G 参考值0.1 M b i t / s / m 2 Mbit/s/m^2 Mbit/s/m2 1 ∗ 1 0 5 / k m 2 1*10^5/km^2 1∗105/km210ms350km/h1倍10Mbit/s1倍1Gbit/s5G 参考值10 M b i t / s / m 2 M…...

【JavaEE重点知识归纳】第11节:认识异常
目录 一:异常的概念和体系结构 1.概念 2.体系结构 3.异常分类 二:异常的处理 1.防御式编程 2.异常的抛出 3.异常的捕获 4.异常的处理流程 三:自定义异常 一:异常的概念和体系结构 1.概念 (1)在…...

一键自助建站系统api版系统源码
自助建站系统,一建建站系统api版,自动建站 安装推荐php7.2或7.2以下都行 可使用虚拟主机或者服务器进行搭建。 分站进入网站后台 域名/admin 初始账号123456qq.com密码123456 找到后台的网站设置 将主站域名及你在主站的通信secretId和通信secretKey填进去。 即可正常使用 通信…...

全国三维数字化创新设计大赛湖北赛区省赛成功举办
须弥芥子,数字如海。10月14日—15日,2023 年数字科技文化节——第16届全国三维数字化创新设计大赛湖北赛区省赛暨产教联合体大会在武汉软件工程职业学院成功举行。 (大赛全体专家领导合影) 全国三维数字化创新设计大赛组委会副秘…...

OpenCV #以图搜图:均值哈希算法(Average Hash Algorithm)原理与实验
1. 介绍 均值哈希算法(Average Hash Algorithm) 是哈希算法的一种,主要用来做相似图片的搜索工作。 2. 原理 均值哈希算法(aHash)首先将原图像缩小成一个固定大小的像素图像,然后将图像转换为灰度图像&am…...

博通BCM575系列RDMA网卡驱动bnxt_re分析(一)
简介 整个BCM系列驱动分成以太网部分(bnxt_en.ko)和RDMA部分(bnxt_re.ko), 两个模块之间通过内核的auxiliary_bus进行管理.我们主要分析下bnxt_re驱动. 代码结构 这个驱动的核心是 qplib_fp.c, 这个文件主要包含了驱动的数据路径, 包括Post Send, Post Recv, Poll CQ流程的实…...

集合总结-
Collection 常用方法 package com.test01;import java.util.ArrayList; import java.util.Collection; /*添加元素---boolean add(E e);移除元素---boolean remove(Object c);判断元素是否存在---boolean contains(Object c);*/ public class S {public static void main(Str…...

【知识串联】概率论中的值和量(随机变量/数字特征/参数估计)【考研向】【按概率论学习章节总结】
就我的概率论学习经验来看,这两个概念极易混淆,并且极为重点,然而,在概率论的前几章学习中,如果只是计算,对这方面的辨析不清并没有问题。然而,到了后面的参数估计部分,却可能出现问…...

上游服务不可用了,下游服务如何应对?
上游服务不可用了,下游服务如何应对? 引言 在系统中,上游服务和下游服务是两个关键概念。上游服务通常指的是提供某种功能或数据的服务端,它接收来自下游服务的请求,并根据请求进行处理和响应。下游服务通常指的是发…...

WebGL笔记:矩阵的变换之平移的实现
矩阵的变换 变换 变换有三种状态:平移、旋转、缩放。当我们变换一个图形时,实际上就是在移动这个图形的所有顶点。解释 webgl 要绘图的话,它是先定顶点的,就比如说我要画个三角形,那它会先把这三角形的三个顶点定出来…...

XTU-OJ 1187-Candy
WCB某天买了非常多的糖果并把它们分成N份,依次分别有1,2,3…,N个糖果。他想拿出其中的3份分给他的室友, 为了不让室友们闹意见,必须让这三份的糖果总数恰好能被三人均分。请问他一共有多少种不同的组合方案数ÿ…...

基于 nodejs+vue城市轨道交通线路查询系统mysql
目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...

电商时代,VR全景如何解决实体店难做没流量?
近日,电商和实体经济的对立成为了热门话题,尽管电商的兴起确实对线下实体店造成了一定的冲击,但实体店也不是没有办法挽救。VR全景助力线下实体店打造线上店铺,打通流量全域布局,还能实现打开产品、查看产品内部细节等…...

操作系统-浅谈CPU与内存
目录 计算机的基本组成CPU内存虚拟内存内存分段内存分页 CPU与内存的交互过程高速缓存cache 所有图片均来自:小林coding 计算机的基本组成 计算机由软件和硬件组成 硬件由CPU(中央处理器)存储器(内存外存)外部设备组成。 软件由应用软件和系…...

K8s 部署 CNI 网络组件+k8s 多master集群部署+负载均衡
------------------------------ 部署 CNI 网络组件 ------------------------------ ---------- 部署 flannel ---------- K8S 中 Pod 网络通信: ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容器是不会跨宿主机的)共享同一…...

若依微服务上传图片文件代理配置
在使用若依微服务文件上传时候,文件上传成功会上传到D:/ruoyi/uploadPath目录下。默认使用9300端口进行访问图片文件,现在我想把它代理到80端口应该怎么做呢? 配置前:http://localhost:9300/statics/2023/09/24/test.jpg 配置后:http://localhost/statics/2023/09/24/test…...