Deadlock 분석 — 4 조건·Wait-for Graph·Lock Ordering·Timeout
Coffman의 네 조건과 wait-for graph 분석, lock ordering, timeout, hierarchical locking을 살펴봅니다.
Tech articles, book reviews, and presentations.
페이지 46 / 73
Coffman의 네 조건과 wait-for graph 분석, lock ordering, timeout, hierarchical locking을 살펴봅니다.
FromISR API 내부 구조와 pxHigherPriorityTaskWoken, yield 결정, deferred work 패턴을 정리합니다.
FreeRTOS Event Group — 24-bit flag, AND·OR semantics, clear-on-exit, multi-task sync.
FreeRTOS Queue 코드 — pcWriteTo·pcReadFrom·uxMessagesWaiting + xTasksWaitingToSend/Receive.
PI의 대안. 각 mutex에 정적 ceiling — take 즉시 boost. Deadlock 방지.
FreeRTOS PI 코드 분석 — vTaskPriorityInherit, vTaskPriorityDisinherit, chain handling.
고우선 task가 저우선 task 때문에 막힘. 1997 화성 탐사선 reset의 원인.
Mutex = Semaphore + pxMutexHolder + uxBasePriority. Recursive variant는 lock-count.
FreeRTOS semaphore = Queue wrapper. Counter + priority-sorted wait list.
3 가지 구현 — cpsid/BASEPRI mask, taskENTER_CRITICAL, SMP spinlock. Hold time이 latency 결정.