소개글
Nachos 프로젝트 설치 과정 및 코드 분석입니다.ubuntu에서 설치하였고, 스크린샷 모두 있습니다.
버전별로 코드가 분석되어있고, 그대로 제출하셔도 되고 참고용으로도 좋을것같습니다.
A+받은 과제 입니다. 즐공!
목차
1. Nachos 시스템 소개- Nachos 구성 요소
- Nachos 디렉토리의 구성
- Nachos에 관한 문서들 링크
2. 작업 환경
3. Cross-Compiler 설치 과정
- Cross-Compiler 란?
4. Nachos compile 과정
5. Nachos application compile 과정
6. Nachos 실행 및 결과
7. main() 함수 분석 내용
- ThreadedKernel, UserProgKernel 두 class는 어떤 관련이 있는가?
- thread/nachos, userprog/nachos 두 실행 파일을 실행할 때의 main 함수가 수행하는 작업의 차이점은 무엇인가?(main.h, main.cc)
- 위의 두 실행 파일에서 사용할 수 있는 option들에는 어떠한 것들이 있는가?
8. 결론 및 고찰
9. 참고 문헌
본문내용
(1) Nachos 시스템 소개Computer Software는 일반적으로 System programs(컴퓨터 하드웨어 및 각종 정보를 효율적으로 사용할 수 있도록 지원하기 위한 프로그램의 집합체로서 사용하게 편리한 서비스를 제공 한다) 과 application programs(OS 위에서 사용자가 직접 사용하게 되는 소프트웨어)
2 종류의 프로그램으로 분류 할 수 있습니다. OS는 System programs 중 핵심이 되는 프로그램으로서, 하드웨어를 효율적으로 관리해 주는 프로그램들로 구성되어 있다. 운영 체제는 데이터를 입력하여 결과를 만들어 내는 일을 직접 수행하지는 않지만, Application programs이 실행될 수 있도록 도와주는 역할을 한다. 즉, 사용자의 요구를 하드웨어에 전달하여 컴퓨터를 보다 편리하고 효율적으로 사용할 수 있도록 사용자와 하드웨어를 연결해 준다 즉 OS는 사용자 프로그램 과 하드웨어 사이의 링크 같은 것입니다.
OS는 구성 요소의 주 topic에 따라 OS를 분할 할 수 있습니다.
1. 프로세스 관리 : Application 과 System program의 생성과 삭제를 하고 Application과 System program 간의 연결, 스케줄 관리, 동기화 등을 도와줍니다.
2. 메인 메모리 관리 : 모든 Application Program은 메인 메모리 의 공간을 필요로 합니다 .또한 OS는 특정 애플리케이션 을 위해 메모리 할당과 해제를 하는 역할을 합니다.
3. 보조 스토리지 관리 : 스토리지 할당 디스크 스케줄링 및 여유 공간 관리를 합니다.
4. File 시스템 관리 : 사용자가 만든 파일 이나 디렉토리를 삭제 하고 조작 할 수 있습니다.
5. Networking : 네트워크를 통해 다른 동일한 메모리 와 클럭을 공유 하지 않는 프로세스와 연결 할 수 있습니다.
Nachos는 이러한 OS를 배우기 위한 교육용 프로그램입니다.
Nachos는 위에 적혀진 OS 구성되는 요소들을 내장해서 완전히 동작 시킬 수는 없지만 OS에 내장된 중요한 기능들을 실제 하드웨어 위에서 동작시키지 않고 Linux나 Solaris 등의 다른 운영 체제에서 하나의 응용 프로그램으로 실행 합니다.
참고 자료
Operating System Concepts 8th Edition / 홍릉과학출판사 / 2013http://homes.cs.washington.edu/~tom/nachos/
http://en.wikipedia.org/wiki/Not_Another_Completely_Heuristic_Operating_System
http://dcslab.snu.ac.kr/courses/os2004/install.pdf
http://www.youtube.com/watch?v=epT7eFJLxls
www.jlc.tcu.edu.tw/OS/932/project/nachosinstall.htm
https://www.cs.drexel.edu/~jjohnson/wi03/cs370/lectures/lec17.html
http://blog.naver.com/maples80/140014321686
http://linuxnewborns.blogspot.kr/2011/09/installing-nachos-inside-ubuntu.html
http://operatingsystems-fime.blogspot.kr/2011/08/how-to-compile-nachos40-on-ubuntu.html