1. What is pintos?

우선 pintos는 80x86 아키텍처로 구성된 간단한 운영체제이다. 

스탠포드 대학에서 교육용으로 만들어졌으며 kernel thread(커널 스레드), loading and running user programs(유저 프로그램을 로딩하고 실행하것), file system(파일 시스템)을 지원하고 있다.

추가적으로 virtual memory (가상메모리)구현도 추가할 수 있다.


pintos는 기본적으로 IBM-compatible PC에서 실행되도록 구현되어있기 때문에 80x86 CPU에서 실행될 수 있다. 

만일 SPARC machine과 같은 다른 환경에서 실행 할 경우에는 "Cross-compiler" 툴을 사용하여 컴파일 해줘야 한다.


Pintos Project 공식 Document : http://web.stanford.edu/class/cs140/projects/pintos/pintos.html


2. Install Ubuntu

pintos를 실행하기 위해 Ubuntu 등 리눅스 환경을 설치한다.

나는 기본적으로 Ubuntu를 사용하지만 다른 OS환경의 사용자들은 VM을 이용해서 설치하면 된다.


*필수 유틸리티를 설치 해줘야 한다.

$ sudo apt-get install g++ xorg-dev ncurses-dev vim


3. Install Pintos

이제 본격적으로 pintos를 설치하는 작업을 한다.

3-1. pintos 코드 다운 및 압축풀기

$ wget http://www.stanford.edu/class/cs140/projects/pintos/pintos.tar.gz

$ tar xzf pintos.tar.gz

pintos 파일 압축을 해제하면 "pintos/src"파일이 생성되고, 그 안에 pintos 소스가 존재한다.


3-2. bashrc 환경설정 변경

$ vi ~/.bashrc 

맨 아래에 export PATH="$PATH:/home/usr/pintos/src/utils" 추가

(usr는 자신의 컴퓨터의 username을 적어주면 된다.)


$ source ~/.bashrc

(원래 .bashrc 파일을 수정하면 터미널을 껏다 켜야 하지만 이 명령어를 사용하면 바로 수정사항이 적용된다.)


4. Install Simulator


4-1.  Bochs 다운로드하기

pintos는 Bochs나 QEMU와 같은 simulator를 사용하여 실행한다.

Document에서는 Bochs를 이용해서 설명하기 때문에 Bochs를 사용한다.

Bochs 다운은 여기서 할 수 있다.

http://bochs.sourceforge.net 


bochs-2.6.7.tar.gz (이 버전에서는 gdb 컴파일이 안된다.)

 -> bochs-2.2.6.tar.gz로 사용!


4-2. pintos 내부 스크립트 이용해 bochs 설치하기

pintos/src/misc에서


ex) sudo env SRCDIR=/home/usr/Downlaods/ PINTOSDIR=/home/usr/pintos/ DSTDIR=/usr/local ./bochs-2.2.6-build.sh

 SRCDIR= 다운로드한 bochs tar.gz 파일이 있는 디렉토리

 PINTOSDIR= pintos 루트 디렉토리


* pwd 명령어를 이용해 디렉토리 경로 확인 가능


4-3 pintods-gdb 세팅

 $ vim pintos/src/utils/pintos-gdb

#Path to GDB macros file. 경로 수정!

GDBMACROS=/home/user/pinots/src/misc/gdb-macros


4-4. Test

핀토스가 제대로 작동하는지 테스트를 한다.

$ cd pintos/src/threads

$ make    //build 디렉토리 생성 

$ cd build

$ pintos run alarm-multiple

+ Recent posts