上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 107 下一页
摘要: 什么是函数重载 函数重载: 是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数或类型或顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。 函数重载是C++在C语言基础上进行的改进,解决了C语言同名函数无法服务不同类型的参数的问题,在C中 阅读全文
posted @ 2023-12-23 17:12 流水灯 阅读(611) 评论(0) 推荐(0)
摘要: 内存映射可实现用户程序对设备驱动内存的直接存取 示例代码: 驱动层 #include <linux/init.h> #include <linux/module.h> #include <linux/miscdevice.h> #include <linux/fs.h> #include <linu 阅读全文
posted @ 2023-12-17 22:37 流水灯 阅读(240) 评论(0) 推荐(0)
摘要: 前言 多个进程访问共享内存,需要互斥,由于linux没有进程互斥锁,用信号量替代。 共享内存的实现依赖于内存映射技术。无论是通过 shm_open + mmap 还是 shmget + shmat,最终都是将一块物理内存映射到多个进程的地址空间,从而实现进程间的数据共享。 POSIX 进程间通信 P 阅读全文
posted @ 2023-12-17 18:03 流水灯 阅读(794) 评论(0) 推荐(0)
摘要: 什么是协程 协程(Coroutines)是一种比线程更加轻量级的存在,协程可以理解为一个特殊的函数,这个函数可以在某个地方挂起去执行别的函数,并且可以返回挂起处继续执行。一个线程内可以由多个协程来交互运行,但是多个协程的运行是绝对串行的,也就是说同一时刻只有一个协程在运行,当一个协程运行时,其它的协 阅读全文
posted @ 2023-12-16 22:04 流水灯 阅读(909) 评论(0) 推荐(0)
摘要: 1、在链接脚本,输出段data内新增一个输入段 2、设置代码的段属性为data段,而不是text 阅读全文
posted @ 2023-11-19 23:09 流水灯 阅读(97) 评论(0) 推荐(0)
摘要: 最少剩余可用任务栈 函数 uxTaskGetStackHighWaterMark() 可用于获取任务的最少剩余可用栈 #if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) UBaseType_t uxTaskGetStackHighWaterMark( T 阅读全文
posted @ 2023-11-16 23:15 流水灯 阅读(995) 评论(0) 推荐(0)
摘要: 基本概念 操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。 统计方法 FreeRTOS操作系统是使用任务的累计运行时间来统计每一个任务自系统开始运行到当前时刻的CPU占用时 阅读全文
posted @ 2023-11-16 22:43 流水灯 阅读(1826) 评论(0) 推荐(0)
摘要: 运行队列 Linux采用的是每个CPU都有自己的运行队列,这样做的好处:(1)每个CPU在自己的运行队列上选择任务降低了竞争;(2)某个任务位于一个CPU的运行队列上,经过多次调度后,内核趋于选择相同的CPU执行该任务,那么上次任务运行的变量很可能仍然在这个CPU缓存上,提高运行效率。 __sche 阅读全文
posted @ 2023-11-05 20:44 流水灯 阅读(770) 评论(0) 推荐(0)
摘要: https://blog.csdn.net/weixin_45030965/article/details/126372601 阅读全文
posted @ 2023-11-05 17:26 流水灯 阅读(64) 评论(0) 推荐(0)
摘要: 如下为唤醒进程的API,执行内容如下: 给待唤醒进程选择一个合适的CPU 将待唤醒进程放入选定CPU的运行队列,每个CPU都有一个运行队列 判断当前进程是否应该被待唤醒进程抢占,如果应该,置位当前进程的 TIF_NEED_RESCHED 标志 int wake_up_process(struct t 阅读全文
posted @ 2023-10-21 21:38 流水灯 阅读(1124) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 107 下一页