반응형
xSemaphoreTake(), xSemaphoreGive() (뮤텍스 또는 세마포어)
특정 자원을 보호하기 위해 세마포어 또는 뮤텍스를 사용하여 태스크 간 동기화를 위한 수단이다.
※ 동기화란?
2024.05.21 - [소프트웨어 공학 용어 정리] - [SW 용어] 동기화(Synchronization), 임계 영역(Critical Section)
세마포어는 하나의 태스크만 자원에 접근할 수 있도록 하고, 뮤텍스는 자원에 대한 독점적 접근을 보장한다.
여러 태스크가 공유 자원에 접근할 때, 태스크 간 경합을 방지하기 위해 사용된다.
사용방법에 대한 자세한 설명은 아래와 같다.
2024.09.14 - [임베디드 관련/FreeRTOS] - [FreeRTOS] 이진 세마포어, 뮤텍스 사용법 및 비교
다른 임계구역 설정인 taskENTER_CRITICAL()과 차이점은?
1. taskENTER_CRITICAL()이 전역적으로 인터럽트를 차단한다.
2. 뮤텍스나 세마포어는 태스크 간의 자원 접근을 제어하여 인터럽트를 차단하지 않고 자원을 보호한다.
2024.09.10 - [분류 전체보기] - [FreeRTOS] 임계구역 설정
반응형
'임베디드 관련 > FreeRTOS' 카테고리의 다른 글
[FreeRTOS] 이진 세마포어, 뮤텍스 사용법 및 비교 (0) | 2024.09.14 |
---|---|
[FreeRTOS] ISR 내에서 임계구역 설정 (0) | 2024.09.13 |
[FreeRTOS] Task 전환 제어 (0) | 2024.09.11 |
[FreeRTOS] 인터럽트 비활성화 및 활성화하는 방법 (0) | 2024.09.10 |
[FreeRTOS] Critical Section(임계 영역), 공유자원 보호하기 (0) | 2024.06.10 |
댓글