FreeRTOS Posix原理 1. FreeRTOS源码原理 FreeRTOS可以创建不同优先级的task,RTOS负责管理这些任务。同时提供了队列、信号等功能,这些功能能够使task再不满足条件时挂起,当运行条件满足时触发运行。 RTOS依据不同的优先级,创建不同任务链表,相同优先级的任务挂在 ...
分类:
其他好文 时间:
2020-06-22 01:02:14
阅读次数:
129
Java 中的 Semaphore 是一种新的同步类,它是一个计数信号。从概念上讲,从 概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release()添加一个许可,从而可能释放一个 正在阻塞的获取者。但是,不使用实际的许可对象, ...
分类:
编程语言 时间:
2020-06-20 19:21:10
阅读次数:
68
所谓lock-free和wait-free算法是指对于共享的数据并非对其加锁来控制访问,而是多个线程并行的访问。通过该算法可以达到对共享对象并发的读写而不会破坏对象本身。所谓lock-free是指对于线程不加锁,让系统执行所有的步骤。lock-free提到的不加锁是指不使用类似于互斥锁或者信号量之类 ...
分类:
其他好文 时间:
2020-06-19 14:21:43
阅读次数:
61
上一次定的目标只有2、5、6完成了,要是目标能全部完成,就不叫目标了,哈哈哈,我是懒癌重症病人。今年二月、五月接手了公司两个项目,学到挺多东西的,下班回家挺不想看代码的,没怎么动。 今年的目标我打算现实一点。 1.继续在FreeRTOS上做应用(智能花盆)。 2.搭建环境、使用、学习K210,接触嵌 ...
分类:
其他好文 时间:
2020-06-19 12:04:23
阅读次数:
40
一、Cortex-M的定位 二、内存管理单元 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。 在多用户、多进程的操作系统中,MMU使得各个用户进程都有独立的地址空间。 任何微控制器都存在一个程序能够产生的地址集和,被称为虚拟地址范围。 以32位机为例,虚拟 ...
分类:
系统相关 时间:
2020-06-17 12:52:35
阅读次数:
62
进程间通信 见天写了一段爬虫代码,通过信号量控制进程数量,代码如下: #!/usr/bin/python3 # -*- encoding: utf-8 -*- import requests from bs4 import BeautifulSoup from multiprocessing imp ...
分类:
系统相关 时间:
2020-06-16 00:34:08
阅读次数:
70
核心类:Semaphore,通过int数值来控制线程个数。 * 通过观察构造函数 public Semaphore(int initialCount, int maximumCount);: * initialCount: 可以同时授予的信号量的初始请求数。 * maximumCount: 可以同时 ...
分类:
其他好文 时间:
2020-06-14 23:55:19
阅读次数:
102
一、软件体系结构与设计过程 软件体系结构(软件架构):{构建,连接件,约束}。 构件:组成系统的具有一定独立功能的不同粒度的程序模块等。 连接件:将不同的构件连接起来,表示构件间的相互作用,如信号量的传递、功能和方法的调用。 约束:对象连接时的规则。 软件设计过程: 概要设计: 完成软件的总体结构设 ...
分类:
数据库 时间:
2020-06-14 10:38:39
阅读次数:
88
为了避免多个线程对同一个数据进行读写,我们要将各个线程进行同步。所谓同步,就是指在一个线程访问数据未结束的时候,其他线程不得对同一数据进行访问。 同步最常用的方法是锁。 二元信号量 binary semaphore 是最简单的一种锁,只有两种状态:占用和非占用。她适合只能被唯一一个线程独占访问的资源 ...
分类:
编程语言 时间:
2020-06-14 10:28:03
阅读次数:
57
案例: 哲学家问题,生产者和消费者问题 ###临界资源 临界资源指的是一 些虽作为共享资源却又无法同时被多个线程共同 访问的共享资源。当有进程在使用临界资源时,其他进程必须依据 操作系统的同步机制等待占用进程释放该共享资源才可重新竞争使 用共享资源。 ###进程间的同步 ◆空闲让进:资源无占用,允许 ...
分类:
系统相关 时间:
2020-06-13 00:49:55
阅读次数:
89