[MicroC/OS-II] CPU Scheduling with Non-Preemptive에 이어서 살펴보겠습니다. 2. Preemptive (선점방식) Preemptive은 한 Process가 실행 중일때 다른 Process가 CPU를 사용할 수 있습니다. 2가지의 예를 살펴보겠습니다. ㄱ) Round Robin 이름 그대로 뱅뱅 돈다고 생각하시면 됩니다. 이전 예제와 같은 Process와 실행 시간이 다음과 같이 있습니다. Preemptive 방식인 Round Robin에는 한가지가 더 추가됩니다 바로 time quantum 입니다. time quantum이 지나면 다른 process에 CPU를 주게됩니다. 위의 예제에 time quantum = 2의 시간을 주고 결과를 살펴보았습니다. 평균 응답 시간..
[MicroC/OS-II] Task에 관련된 함수들에서 Task에 관한 함수들을 살펴볼 때 CPU Scheduling을 멈춘다, 시작한다 라는 언급을 했었습니다. 이번엔 그 CPU Scheduling에 대해서 알아보겠습니다. CPU Scheduling CPU Scheduling은 말 그대로 Process를 실행하는데 있어 Scheduling을 하는 것입니다. 다음의 그림을 보겠습니다. Process가 여러개 있을때 CPU는 어느 Process를 Running 해야 할까요?? 이런 문제의 답을 CPU Scheduling 이라합니다. CPU Scheduling의 형태에는 2가지의 형태가 있습니다. 그 중 하나인 Non-Preemptive에 대해서 살펴보겠습니다. 1. Non-Preemptive (비 선점방식..
Task에 관한 다른 함수들을 보시려면 다음의 게시물을 보시면 됩니다.[MicroC/OS-II] Task에 관련된 함수들 OS_TCBInit OS_TCBInit에 대해서 간단하게 살펴보겠습니다. 우선 OS_TCBInit은 Free TCB를 가져와 초기화 해준다 생각하시면 됩니다. 코드를 살펴보겠습니다. 긴 코드이지만 우선 전체를 보겠습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980INT8U OS_TCBInit(INT8U prio, OS_STK *ptos, OS_STK *pbos..
- Total
- Today
- Yesterday