KAIST CS330의 Pintos 프로젝트에 오신 것을 환영합니다. 이번 학기에는 KAIST CS330 수업에 맞게 특별히 수정된 Pintos 버전을 사용합니다.
기존의 기본(바닐라) Pintos와 요구사항이 다소 다르므로, 반드시 이 매뉴얼의 지침을 먼저 따르셔야 합니다.
또한, 여러분이 이전에 진행했던 Pintos 프로젝트를 참고할 수는 있지만, 일부 요구사항은 업데이트된 내용에 따라 반드시 다시 구현해야 합니다.
이러한 변경 사항들로 인해 조교진은 매뉴얼도 함께 수정하였습니다. 최대한 수정된 버전과 매뉴얼을 동기화하려고 했지만, 일부 동기화되지 않은 부분이 있을 수 있습니다. 그런 부분을 발견하면 조교진에게 꼭 알려주시기 바랍니다.
반드시 ‘법적 및 윤리적 이슈’ 섹션을 읽어야 합니다.
pintos-kaist
는 x86-64 아키텍처용으로 설계된 간단한 운영체제 프레임워크입니다. 이 프로젝트는 스탠퍼드 대학교의 Pintos 프로젝트를 기반으로 포크(fork)되었습니다.
Pintos는 커널 스레드, 사용자 프로그램 로딩 및 실행, 파일 시스템을 지원하지만, 이 모든 기능을 매우 단순한 방식으로 구현하고 있습니다.
이번 Pintos 프로젝트에서는 여러분과 팀이 이 세 가지 영역 모두에서 지원을 강화하게 됩니다. 또한 가상 메모리 구현도 추가할 예정입니다.
이론적으로 Pintos는 일반 x86-64 PC에서도 실행할 수 있습니다. 그러나 KAIST CS330 학생 모두에게 Pintos 실행을 위한 전용 PC를 제공하는 것은 현실적으로 어렵기 때문에, 우리는 시스템 시뮬레이터(QEMU)를 사용하여 Pintos 프로젝트를 실행할 것입니다.
QEMU는 x86-64 CPU와 주변 장치를 충분히 정확하게 시뮬레이션하는 프로그램으로, 운영체제와 소프트웨어를 별다른 수정 없이 실행할 수 있게 해줍니다.
이 프로젝트는 쉽지 않습니다. CS330은 많은 시간을 요구하는 과목으로 잘 알려져 있으며, 이는 타당한 평가입니다.
우리는 불필요한 부담을 줄이기 위해 많은 지원 자료를 제공할 예정이지만, 여전히 많은 노력이 필요한 과제들이 기다리고 있습니다.
여러분의 피드백을 환영합니다. 과제에서 불필요한 부담을 줄이고 핵심적인 내용에 집중할 수 있도록 제안이 있다면 언제든 알려주세요.
이 챕터는 Pintos 작업을 시작하는 방법을 설명합니다.
어떤 프로젝트 작업을 시작하기 전에 반드시 이 챕터 전체를 읽어야 합니다.
관리자 모드로 PowerShell을 실행하고 아래 명령어를 수행한다