Deadlock1 Arduino, FreeRTOS, semaphore, mutex 개요 RTOS 동기화 RTOS에서 태스크 동기화(task synchronization)는 한마디로 특정 자원을 여려 태스크가 공유해 사용할 때 발생하는 교착상태(deadlock)를 해소하는 방법을 의미합니다. 교착상태는 하나의 자원을 여러 태스크가 서로 사용하겠다고 또는 어떤 이유에서 인지 태스크가 반환하지 못하는 경우에 발생해서 관련된 태스크들이 동작을 멈추는 현상으로 RTOS가 가지는 문제 중 하나입니다. 예를 들어 아두이노에서 Serial.pintln()을 두 개의 태스크가 서로 사용하려 하면 둘 중에 하나의 태스크만 사용할 수 있거나, 둘 다 사용하지 못하는 경우가 발생합니다. 이와 같은 문제를 해결하는 방법이 동기화이고 FreeRTOS는 세마포어(semaphore)와 뮤텍스(mutex)를 사용합니다... 2021. 10. 23. 이전 1 다음