티스토리 뷰

반응형

  • 개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다.


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/가 있다.




반응형
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

최근에 올라온 글
최근에 달린 댓글
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함
Total
Today
Yesterday