소개
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 작업을 시작하는 방법을 설명합니다.
어떤 프로젝트 작업을 시작하기 전에 반드시 이 챕터 전체를 읽어야 합니다.
WSL 설치
관리자 모드로 PowerShell을 실행하고 아래 명령어를 수행한다
wsl --install
CSS
복사
ubuntu 설치
화면 하단에 이렇게 나왔죠?
Enter new UNIX username:
Plain Text
복사
여기서 리눅스용 사용자 이름을 직접 입력해 주시면 됩니다. 예를 들어:
Enter new UNIX username: jay
Plain Text
복사
그다음에:
Enter new UNIX password:
Plain Text
복사
비밀번호 입력 → 확인용 비밀번호 한 번 더 입력
이후 흐름 요약
1.
사용자 이름 입력 (jay 등)
2.
비밀번호 입력 (2번)
3.
아래와 같이 리눅스 프롬프트가 보이면 완료:
이제 WSL2 기반 Ubuntu가 완전히 준비된 상태입니다!
다음에 할 일: 개발 환경 구성 (Pintos용)
1.
기본 도구 설치:
sudo apt update
sudo apt install -y build-essential qemu gdb git python3 gcc-multilib
Bash
복사
2.
Pintos 코드 clone:
git clone https://github.com/kaist-cp/pintos.git
cd pintos
Bash
복사
3.
VSCode 연동 원하면:
•
VSCode → Ctrl + Shift + P → Remote-WSL: New Window
•
폴더 열기: pintos 디렉토리 선택