- 博客(98)
- 收藏
- 关注
原创 2024/02/15
1.抢占式调度:高优先级的任务优先执行,并且可以打断低优先级的任务执行。在FreeRTOSConfig.h中开启configUSE_PREEMPTION宏,将宏设置为1,关闭(将宏设置为0)2.时间片轮转:相同优先级的任务,拥有相同的时间片(1ms),当时间片被耗尽,就退出当前任务。保证代码执行的公平性。时间片轮转默认被设置了。
2024-02-15 09:41:02
130
原创 2024/02/12
使用STM32Cubemx创建一个工程并且给出每一步的含义选择芯片型号:芯片型号为STM32F051K8 选择芯片型号并且开始工程 开启调试功能: debug serial wire 配置时钟: 时钟相对于是人的心跳,没有这个时钟那么STM32就无法正常进行工作。 时钟树的配置:单片机的时钟主要就是决定了单片机的运行速度。 工程管理: a) 工程名字;b) IDE MDK-ARM; c) copy only the necessary library files; d) generate p
2024-02-12 20:30:19
123
原创 2024/02/06
TCP提供面向连接的,可靠的数据传输服务传输过程中,数据无误、数据无丢失、数据无失序、数据无重复TCP会给每个数据包编上编号,该编号称之为序列号每个序列号都需要应答包应答,如果没有应答,则会将上面的包重复发送直到正确为止数据传输效率低,耗费资源多数据收发是不同步的为了提高效率,TCP会将多个较小,并且发送间隔短的数据包,沾成一个包发送,该现象称为沾包现象该沾包算法称之为Nagle算法。
2024-02-06 19:51:41
295
原创 2024/02/05
双向链表是在单向链表的基础上进行扩展,每个节点除了包含一个指向下一个节点的指针外,还包含一个指向前一个节点的指针。这样可以实现双向的遍历和操作。
2024-02-05 17:33:08
159
原创 2024/02/03
无名管道,顾名思义就是没有名字的管道,是一个特殊的文件,并且存储在内存上,不在文件系统中展示无名管道打开后,会返回两个文件描述符,分别是读端和写端,当一个无名管道文件的两端全部被关闭后,管道文件在内存上消失由于无名管道在文件系统中没有真实的名字存在,所以不能使用open函数来打开,需要使用特殊的api进行打开无名管道只能适用于亲缘进程间的通信,需要在fork之前将管道文件打开,创建子进程后,子进程继承一份管道的文件描述符才能使用该管道优点:适合亲缘进程间的通信,可以完成自己跟自己的通信。
2024-02-03 09:51:35
464
原创 网络 / day06 作业
1> 创建一个工人信息库,包含工号(主键)、姓名、年龄、薪资。2> 添加三条工人信息(可以完整信息,也可以非完整信息)3> 修改某一个工人的薪资(确定的一个)4> 展示出工资在10000到20000之间的所有工人信息5> 删除掉指定姓名工人的信息6> 工厂倒闭,删除整个工人信息库。
2023-12-21 19:32:18
586
原创 IO / 进程和线程的总结
进程是资源分配的最小单位,系统会给每个进程分配4G的虚拟内存,其中0--3G是用户空间,3--4G是内核空间。正在执行的程序叫做进程,进程是动态的,有进程的创建、就绪、运行、阻塞、消亡等待,有一定的生命周期。线程几乎不占用资源,仅仅只需要开销有关线程结构体的资源,大概在8K左右。多个线程共享进程的资源,不会在创建线程时,分配独立的空间。一个进程可以拥有多个线程,至少拥有一个线程,称为主线程。多个进程的用户空间是相互独立的,但是,内核空间是共享的。多个进程在运行时,调度原则:时间片轮询,上下文切换。
2023-12-13 19:42:20
419
原创 IO / 标准IO 和 文件IO 的总结
使用库函数实现,将内核提供的IO函数接口进行了再次封装,因为有缓冲区,所以效率比文件IO高。使用系统调用,内核提供的函数,每次进行IO操作,进程都会从用户空间向内核空间进行一次切换。我将标准IO和文件IO有关概念、api总结在一张表格了,方便查找使用。文件IO直接进行系统调用,用文件描述符进行对文件操作。//返回的结果就是文件的大小。返回值:当前文件指针的光标到开头位置的字节总数。对文件进行操作,使用的是文件指针来进行。标准IO = 文件IO + 缓冲区。
2023-12-13 19:00:06
961
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人