[OS 개발 17] 태스크 스위칭과 보호 (2) - CALL 스위칭
1. CALL 스위칭으로 변경하기 앞서 포스팅에서 현재 태스크에서 다음 태스크로 넘어갈 때, jmp나 Call을 사용한다고 했습니다. 이번에는 앞에서 봤던 코드를 활용하여 CALL 방식으로 프로세스를 불러들이도록 하겠습니다. 따라서 코드를 변경해야 하는데, 지난 코드에서 일부만 수정해 보았습니다. jmp TSS2Selector:0 --> CALL TSSSelector:0 ; CALL 명령으로 태스크 스위칭 한다. jmp $ --> iret ; 이전 태스크로 다시 돌아간다. 2. CALL 스위칭 CALL과 jmp의 가장 큰 차이는 jmp는 다음 태스크를 실행 후, 다시 돌아올 때에도 jmp를 통해 돌아오는 반면, CALL 명령은 iret 명령을 통해 돌아온다는 점입니다. 그리고 CALL 명령은 EFLAGS..