programming/pintos
-
핀토스 설치하기programming/pintos 2018. 12. 31. 16:17
스탠포드 대학교에서는 핀토스 프로젝트를 학교 서버에서 돌리게 한다. 서버 대신 로컬에서 돌리려면 몇 가지 코드를 수정할 필요가 있다. 또, 핀토스는 가상 환경을 만들기 위한 에뮬레이터로 Bochs와 QEMU를 모두 지원하는데, 스탠포드의 공식 핀토스 설명서는 주로 Bochs를 기준으로 하는 반면 서강대 과제는 QEMU를 이용한다. 일반적으로 QEMU가 속도가 훨씬 빠르다고 알려져 있기 때문에 나는 QEMU를 사용한다. 실행할 때마다 에뮬레이터를 지정할 게 아니라면, 핀토스 소스 코드를 고쳐서 디폴트 에뮬레이터를 QEMU로 설정하는게 편하다. 핀토스 코드를 다운 받아서 적절한 위치에 압축을 푼다. 다음 커맨드로 QEMU를 설치한다. sudo apt install qemu 아무 디렉터리에서나 핀토스를 실행하..
-
핀토스 코드 비교 정리programming/pintos 2018. 12. 31. 00:17
내가 들은 운영체제 수업에서는 스탠포트 컴퓨터과학과에서 공식적으로 배포하는 핀토스 대신 일부 수정한 버전을 쓴다. 스탠포드의 원본 코드(이하 "스탠포드 핀토스")와 내가 배포 받은 수정 코드("서강대 핀토스")의 차이점을 비교한다. 스탠포드 핀토스는 2018년 12월 30일에 다운로드 받았고, 서강대 핀토스는 2018년 12월 30일 현재 링크가 살아있음이 확인된다. 일일히 수작업으로 할 수는 없어서, 다음과 같은 파이썬 코드를 돌렸다. import subprocess import os from collections import deque DIR1 = "/home/taegyung/Downloads/pintos" DIR2 = "/home/taegyung/Downloads/pintos_modified" q ..
-
핀토스 다시 하기programming/pintos 2018. 12. 28. 22:13
다시, 핀토스 작년 운영체제 수업에서 과제로 핀토스 프로젝트를 진행했다. 간단한 운영체제를 구현하는 프로젝트였다. 아무 것도 없는 백지에서 시작하는 것은 아니었고, 어느 정도의 뼈대 소스코드와 무엇을 구현해야하는 지를 알려주는 지시는 주어졌다. 어셈블리도 전혀 모르는 상태였고, 운영체제를 처음 공부하는 학기이다 보니 수업 진도를 따라가기도 벅찼다. 핀토스 프로젝트는 상당히 고달픈 과제였고, 결국은 내 힘으로 완성하지 못했다. 그로부터 일년이 지났고, 그 뒤로 컴퓨터 아키텍처 수업도 두 개를 더 들었다. 운영체제 수업과 여기저기 겹치는 부분이 많은 수업들이었다. 반복해서 배우고 더 배우다 보니, 스레드와 프로세스, 가상 메모리, 파일 시스템 등 핀토스에서 요구하는 구현 요소에 관해 좀 더 이해할 수 있었다..