강의지원 게시판

[OS] Nachos 개발환경 구축 및 과제 일정 공지

O S
작성자
ASL @ KAU ASL @ KAU
작성일
2015-04-26 21:14
조회
2944

Nachos 환경 구축 및 과제 제출 방법

  1. Nachos 다운로드 (본 글의 첨부파일로 다운 받으시기 바랍니다. -일부 코드 추가)
  2. 압축 해제
  3. 압축 해제한 nachos/bin을 $PATH에 추가
  4. nachos/proj1에서 make로 프로젝트 빌드
  5. $ nachos 로 nachos 명령 실행시, 아래와 비슷한 결과가 출력되면 기본 환경 구축이 완료된 것임.
    nachos 5.0j initializing... config interrupt timer user check grader

    *** thread 0 looped 0 times ***

    *** thread 1 looped 0 times ***

    :
  6. nachos/threads 에 있는 PriorityScheduler.java, ThreadQueue.java 등을 수정하여 우선순위 기반 스케쥴러 작성
    + KThread.java, Condition2.java, Alarm.java는 원래 과제로 작성해야 하는 내용이지만, 우선순위 기반 스케쥴링에 크게 상관 없으므로 조교가 코드를 제공하였습니다. 만약 조교가 제공한 코드가 원하는 기능을 수행하지 못 할 경우, 본인이 직접 수정하거나, 다른 사이트를 참고해도 좋습니다.

    참고 사이트 : http://blog.naver.com/ajunhyuk
  7. nachos가 여러분이 작성한 우선순위 기반 스케쥴러를 사용하기 위해서는 nachos.conf를 수정해야 합니다.
    nachos/proj1/nachos.conf를 수정해야합니다.

    9번째 라인의 ThreadedKernel.Scheduler = nachos.threads.PriorityScheduler로 수정합니다.
  8. 우선순위 기반 스케쥴링이 동작하는지 확인하려면 autograder를 통하여 지정된 시나리오를 돌리게 해야 합니다.
    nachos/ag/PrioritySchedGrader.java 등의 이름으로 지정된 시나리오에 대해 테스트를 수행시킬 코드를 작성합니다.

    BasicTestGrader를 기반으로 작성합니다.
  9. autograder로 지정된 시나리오를 잘 통과하는지 확인하려면, nachos/proj1에서
    $ make ag

    $ nachos -- nachos.ag.AutoGrader

    (상황에 따라 AutoGrader 대신 여러분이 작성한 자바 클래스 이름을 쓰시면 됩니다.)
  10. 과제 제출 시, nachos/proj1에서 make clean 한 뒤, nachos 디렉터리째 tar.gz나 tar.bz 혹은 zip으로 압축하여 메일로 제출하시면 됩니다.

위의 과정 그대로 조교가 테스트 해 보고 작성한 것이나, 혹시 빼먹은 것이 있을 수도 있습니다.
꼭 해야 하는데 빼먹은 부분이 있다면, 조교 전화나(카톡 안봄) 메일로 제보해주시면, 업데이트해 드리도록 하겠습니다.

+ 제보하는 내용의 심각성에 따라, 중요하다 생각 할 경우, 추가점수를 제공하도록 하겠습니다.

과제 제출 공지

제출 : 보고서 (조교 / 연구실로 직접 제출), 소스코드 (메일로 전송)
마감 : 화요일반, 목요일반 상관 없이 5월 7일 14:00 (딜레이 받지 않음)


보고서 작성

워드 / 한글 등으로 작성해도 됨
표지 추가나 다른 과목 과제 보고서 양식을 사용해도 되나, 아래 내용들은 꼭 포함시킬 것.

  1. 문제제기
  2. 분석 및 알고리즘
    (알고리즘 설명 과정에 본인이 작성했던 코드를 포함해서 설명해야 할 경우, 그 부분만 첨부할 것)
  3. 코드
    (굳이 첨부하지 않아도 되며, 알고리즘 설명과 함께 꼭 첨부해야 할 경우, 중요한 부분만 위에서 쓸 것)
  4. 테스트 시나리오 및 결과
    이번 과제에서 요구한 것이(우선순위 기반 스케쥴링) 잘 작동하는 것을 보이기 위해 어떤 상황에서 어떤 결과를 내야 하는지 설명하고, 결과를 보일 것.
  5. 결론 및 고찰
    (느낀 점이 아님. 본인이 한 구현 방법이 어떤 장단점을 가졌는지 등에 대하여 분석하는 것임.)

코드 제출

위 10번대로 압축하여, aslkau@gmail.com으로 제출할 것.
메일 제목 : [OS] nachos_2013307001 (학번 자리에 본인 학번 기입)

첨부 파일 : nachos_2013307001.tar.gz (학번 자리에 본인 학번, 확장자는 본인이 편한 것으로)

위에 설명한 대로, make clean하지 않을 경우, gmail로 전송이 되지 않을 수 있음.

위 형식을 지키지 않을 시 5% 감점하겠음.

채점 기준

  • 코드 카피 적발시, 무조건 0점 처리 (미제출과 같음)
  • 완벽하게 구현하지 못 할 경우, 본인이 할 수 있는 범위까지 작성할 것.