15k 16 分钟

# 算法分类 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破 O (nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 # 算法比较 稳定排序算法:会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录 R 和 S,且在原本的列表中 R 出现在 S 之前,在排序过的列表中 R 也将会是在 S 之前。 # 算法实现分析 # 1、冒泡排序(Bubble Sort) 冒泡排序(英语:Bubble...
1.7k 2 分钟

# 简述 首次适应算法(first-fit) :从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。 最佳适应算法(best-fit) :从全部空闲区中找出能满足作业要求的,且大小最小的空闲分区,这种方法能使碎片尽量小。 最差适应算法(worst-fit) :它从全部空闲区中找出能满足作业要求的、且大小最大的空闲分区,从而使链表中的节点大小趋于均匀。 # 例子 # 文字描述 下面先来看一个实例: Given five memory partitions of 100 KB, 500 KB, 200 KB, 300 KB, and 600...
1.7k 2 分钟

下面用三个篇章解释 # 视频篇 # 漫画篇 图片提取自 TDK 株式会社 # 文字篇 1、电感器与电感 电感器(inductor)是一种电路元件;电感器一词在口语上也会被简称为电感,但如需严谨表达为实体物件的情况,仍宜称为电感器 电感(Inductance)是闭合回路的一种属性,即当通过闭合回路的电流改变时,会出现电动势来抵抗电流的改变 2、自感和互感 ・自感:当电感这种属性现象出现在自身回路中,那么这种电感称为自感(self-inductance),是闭合回路自己本身的属性 通常自感是以字母 “L”...
2.9k 3 分钟

下面用三个篇章解释 # 视频篇 # 漫画篇 图片提取自 TDK 株式会社 # 文字篇 1、电容器与电容 电容器(英文:capacitor,又称为...
2.1k 2 分钟

下面用三个篇章解释 # 视频篇 # 漫画篇 图片取自网络 # 文字篇 电阻,作为最基础的无源器件之一,在电子电路中的应用十分广泛。 1、电阻器与欧姆定律 电阻器(Resistor),泛指所有用以产生电阻的电子或电机配件。电阻器的运作跟随欧姆定律,其电阻值定义为其电压与电流相除所得的比值。 其中 ・I 是流过导体的电流,单位是安培(A)。 ・V 是导体两端的电位差,单位是伏特(V)。 ・R 是导体的电阻,单位是欧姆(Ω)。 2、电阻单位和转换 采用国际单位制,电阻的单位为欧姆(Ω,Ohm)。电阻的倒数为电导 G,单位为西门子(S)。 其还有其他转换单位:千欧 (KΩ) 、兆欧...
6.5k 7 分钟

前言:git 用的好,删库不用跑,记一下踩过的坑 # vim 命令 # vim 插入模式命令 命令 说明 i 实现的是在光标之前的插入 I 大写的 i 实现在光标所在行的最前面插入 a 实现在光标后插入 A 实现在光标所在行的行尾插入 o 实现在光标所在行的上方插入新行 O 是现在光标坐在行的下方插入新行 # git 中 vim 的命令 命令 说明 :w 保存编辑后的文件内容,但不退出 vim 编辑器。这个命令的作用是把内存缓冲区中的数据写到启动 vim...
4.6k 5 分钟

# 事件位(或标志)与事件组 事件位:用于指示事件是否发生;事件位通常称为事件标志。 事件组:是一组事件位;事件组中的各个事件位由位号引用(即每一 bit 代表某个事件) # 事件组和事件位数据类型 事件组由 EventGroupHandle_t 类型的变量引用 如果 configUSE_16_BIT_TICKS 设置为 1 ,则事件组中存储的位数(或标志)为 8;如果 configUSE_16_BIT_TICKS 设置为 0 ,则为 24;对 configUSE_16_BIT_TICKS 的依赖性是由于在内部实现中用于线程本地存储的数据类型任务。 configUSE_16_BIT_TICKS...
5.2k 5 分钟

# 临界区简述 临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性;当有线程进入临界区时,其他线程或是进程必须等待。总的概括来说就是在执行该程序片段区间,不允许其他东西干扰到。 像我们在 MCU 上面跑实时操作系统,一般都是单核单进程的,而一个进程可以拥有多个线程;FreeRTOS 是主要以抢占式任务调度为主(通过 PendSV 中断),以时间片轮转调度任务为辅(通过 SysTick 系统节拍器中断)的实时操作系统,并且可支持同等优先级切换,具体配置可以看 FreeRTOS 篇章之 FreeRTOSConfig.h 分析...
3.7k 4 分钟

# 与二值量区别及应用 互斥量是一种特殊的二值信号量,用于控制在两个或多个任务间访问共享资源。 访问一个被多任务共享,或是被任务与中断共享的资源时,需要采用 “互斥”...
18k 19 分钟

# 采用二值信号量同步 二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断同步。这样就可以让中断事件处理量大的工作在同步任务中完成,中断服务例程 (ISR) 中只是快速处理少部份工作。 如果某个中断处理要求特别紧急,其延迟处理任务的优先级可以设为最高,以保证延迟处理任务随时都抢占系统中的其它任务。 在这种中断同步的情形下,信号量可以看作是一个深度为 1 的队列。这个队列由于最多只能保存一个数据单元,所以其非空则满(所谓 “二值” 即二进制,只有 0 / 1)。延迟处理任务调用 xSemaphoreTake()...