x86 운영체제에서 TSS의 갯수?
글쓴이: rlj1202 / 작성시간: 화, 2017/10/24 - 10:58오후
QEMU와 NASM만을 가지고 인터넷의 블로그를 뒤지며 32비트 운영체제를 배우고 있습니다.
지금은 태스크 스위칭에 대해서 알아보고 있는데 풀리지 않는 궁금증이 있어 질문 드립니다.
일단 많은 블로그에서 태스크 스위칭의 예시를 보여줄 때 두개의 TSS를 만든 뒤 해당 세그먼트의 디스크립터를 만들고 GDT에 등록을 합니다. 그리고 해당 디스크립터 셀럭터로 점프를 하면 해당 태스크가 실행됩니다.
저희가 사용하는 윈도우나 리눅스 같은 운영체제는 굉장히 많은 프로세스들이 실행되는데, (리눅스 같은 경우 프로세스, 쓰레드 모두 태스크 단위로 처리하되 구현은 CPU단위가 아닌 소프트웨어 단위에서 구현한다고 하는군요.) 제가 궁금한 점은 운영체제에서 미리 충분한 양의 TSS 세그먼트들을 만들어 놓고 새로운 프로세스가 실행되어야 하면 빈 세그먼트를 이용하게 되는건가요, 아니면 새로운 프로세스를 만들어야 할 때 공간을 새로 할당하는건가요? 아니면 제한된 TSS 갯수만을 가지고 멀티태스킹을 구현하게 되나요?
Forums:
댓글 달기