티스토리 뷰
- 개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다.
0x01. Nachos 시스템 소개
나초스(Nachos)는 Not Another Completely Heuristic Operating System의 약자로서 U.C.Berkeley 대학의 Tom Anderson 교수가 운영체제 실습을 위해 만든 Operating System 이다.
Nachos가 실제 운영체제와 다른 점은, 실제 운영체제가 하드웨어 기반에서 동작한다는 반면에 Nachos는 유닉스나 리눅스의 응용프로그램의 형태, MIPS 또는 I386 machine 등의 하드웨어 위에서 구동된다. 교육 목적으로 작성되어 내부 구조가 단순하고 체계적으로 구성되어 있어 소스 코드를 이해하는 것이 비교적 용이할 뿐만 아니라, 실제 운영체제가 하는 것처럼 인터럽트, 가상메모리, 입출력장치 등을 시뮬레이션 할 수 있다.
< 그림 1.01 Nachos 구조 >
Nachos는 C++로 만들어졌으며 코드를 이해하고 수정하기 위해서 C++언어를 알아야 한다. 복잡한 구조의 C++ 언어를 사용한 것이 아니어서 컴퓨터와 프로그래밍2 시간에 배운 C++ 관련 지식으로도 무리 없이 메인함수 분석을 할 수 있다.
Nachos를 컴파일하기 위해서는 gcc가 필요하며, Nachos가 수행시키는 응용 프로그램이 MIPS 코드로 컴파일 되어 있어야 하므로 cross-compiler가 필요하다. 따라서 compiler를 설치한 후, 응용 프로그램을 MIPS 이진 코드로 만들어 Nachos에서 수행시킨다.
후에 Java로 짜여진 Nachos도 업데이트 되었으며 이는 JVM을 사용하여 쓰레드를 돌리는 것으로 확인되었다.
공식 홈페이지는 http://homes.cs.washington.edu/~tom/nachos/가 있다.
'컴퓨터공학' 카테고리의 다른 글
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 |
운영체제 05 : 시스템 프로그램 (System Programs) (0) | 2014.04.29 |
운영체제 04 : 시스템 콜 (시스템 호출, System Call) (0) | 2014.04.28 |
운영체제 03 : 운영체제 서비스, 사용자 인터페이스 (0) | 2014.04.27 |
운영체제 02 : 운영체제 과목 전체 개요 - 2 (2) | 2014.04.22 |