이전 글에서 Task의 생성과 구조에 대해서 알아봤으니, 이번 글에서는 “그렇다면 생성된 여러 개의 Task 들 간의 실행 흐름을 어떻게 전환하는가?” 에 대해서 알아보자. 커널은 어떻게 Task를 전환하여 Real-Time의 특성을 만족시킬까?ㅤ기본적으로 Cortex-M의 CPU는 싱글코어이기 때문에 한 번에 하나의 명령어만 실행할 수 있다. 그러니 만약 여러 Task를 한 번에 또는 특정한 Task를 먼저 실행하려고 한다면 CPU를 효율적으로 사용해줘야 한다. 이걸 어떻게 할까?ㅤ아래쪽에 PendSV 예외가 발생했을 때 어떻게 Context-Switch가 발생하는 지에 대해 기똥차게 설명해뒀다. 필요하면 해당 부분만 샥 훑어버리자. 혹시 Exception과 관련된 내용들이 궁금하다면, 이 글을 먼저 ..