티스토리 뷰
- 개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다.
0x06. Nachos 컴파일 및 실행결과
크로스 컴파일러의 준비가 끝났으므로 이제 MIPS 기반의 Nachos를 컴파일 할 수 있다. nachos4[1].0-modified.tar 파일을 다운받아 사용했다.
tar 명령어를 통해 압축을 풀면 아래와 같은 디렉토리 내용을 확인 할 수 있다.
< 그림 6.01 Nachos 4.0 설치를 위한 세팅 >
우리는 리눅스 환경에서 컴파일 할 것이므로 ports/x86.linux 파일을 Makefile.dep로 심볼릭링크를 걸어준다.
# ln -s ports/x86.linux Makefile.dep
< 그림 6.02 리눅스 환경에서의 컴파일을 위한 심볼릭 링크 >
Nachos는 threads 디렉토리의 Nachos와 userprog 디렉토리의 Nachos 두 가지가 존재한다. 첫 번째로 threads 디렉토리로 이동후 make depend 명령어를 통해 Makefile.dep를 참조, 디렉토리를 갱신한다.
# make depend
< 그림 6.03 threads 디렉토리에서 make depend 명령어 실행 >
이제 make 명령어를 통해 nachos 파일을 컴파일 한다.
# make
< 그림 6.04 threads 디렉토리에서 make 명령어 실행 >
nachos 라는 파일이 생성되었다. 실행시키면 <그림 6.05>와 같은 메시지가 출력된다.
< 그림 6.05 nachos 컴파일 완료, 실행결과 >
nachos는 bin 디렉토리의 coff2noff 라는 프로그램을 같이 배포하고 있다. 일반적으로 리눅스는 COFF(Common object file format) 형식으로 실행되는 반면, nachos에서는 NOFF(Nachos object file format)을 독자적으로 사용한다. 이를 위해 coff2noff를 같이 배포한다.
nachos 디렉토리에서 make 명령어로 coff2noff 파일을 생성할 수 있다.
# make
< 그림 6.06 coff2noff를 컴파일 >
< 그림 6.07 생성된 coff2noff 파일 >
threads 디렉토리의 nachos를 제외한 userprog 디렉토리에서 또 다른 nachos를 제공한다. 해당 디렉토리로 가서 make depend 명령어를 사용한다.
# make depend
< 그림 6.08 userprog의 nachos 컴파일을 위한 디렉토리 갱신 >
명령어가 끝나면 make 명령어를 사용해 nachos를 컴파일한다. <그림 6.09>에서는 이미 컴파일 완료 후 스크린 샷을 찍어 에러 메시지가 출력되었다.
# make
< 그림 6.09 userprog의 nachos 컴파일 >
< 그림 6.10 생성된 nachos 파일 >
< 그림 6.11 userprog의 nachos 실행결과 >
userprog의 nachos를 실행하면 echo 프로그램이 실행된다.
'컴퓨터공학' 카테고리의 다른 글
밥먹고하자02 : 공공기관 Mashup 서비스의 적용 분야 및 서비스/해결문제 정의 (0) | 2014.07.01 |
---|---|
밥먹고하자01 : Mobile Mashup의 사례 (0) | 2014.07.01 |
Nachos Project 06 : main() 함수 분석 (0) | 2014.06.06 |
Nachos Project 04 : 하위버전 gcc 설치 (0) | 2014.06.04 |
Nachos Project 03 : 하위버전 binutils 설치 (0) | 2014.06.02 |
Nachos Project 02 : Redhat 9.0 Linux 설치 (0) | 2014.05.10 |
Nachos Project 01 : Nachos 시스템 소개 (0) | 2014.05.09 |