본문/내용
1. Task 1
Task 1에서는 NachOS 운영체제의 KThread와 Kernel에 대한 분석을 수행해야 한다. KThread는 NachOS에서 사용하는 사용자 스레드를 구현하는 기법으로, 스레드의 생성과 관리, 그리고 스케줄링에 대한 다양한 기능을 제공한다. NachOS는 교육 목적으로 설계된 운영체제로, 학습자가 스레드 운영, 메모리 관리, 동기화 등의 기본 개념을 이해할 수 있도록 돕는다. KThread는 NachOS의 핵심 구성 요소 중 하나로, 여러 스레드를 동시에 실행할 수 있도록 해준다. 이를 통해 멀티태스킹 환경을 구축하고, CPU의 효율적인 활용을 가능하게 한다. KThread는 각 스레드가 고유의 스택, 프로그램 카운터, 레지스터 상태를 유지하도록 설계되어 있으며, 이러한 구조 덕분에 KThread는 서로 독립적으로 실행될 수 있다. KThread의 생성은 간단한 API 호출을 통해 이루어지며, 사용자 프로그램이 필요할 때 새로운 스레드를 쉽게 생성할 수 있다. 이 과정에서 새로운 KThread에 대한 데이터를 구조체 형태로 할당하고, 초기화 작업을 수행한 후 스케줄러에게 이를 등록해야 한다. KThread의 스케줄링은 NachOS의 중요한 측면으로, 스레드 간의 공정한 실행을 보장해야 한다…