[운영체제] [운영체제] 핀토스(pintos)프로젝트 설치 및 소스코드 분석 보고서
닫기
  • 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
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[운영체제] [운영체제] 핀토스(pintos)프로젝트 설치 및 소스코드 분석 보고서에 대한 보고서 자료입니다.

목차

Part 1. PRELIMINARIES(사전 설계 내용)
# 프로젝트 개요 및 기초 작업
1. Argument Passing
2. System Call

Part 2. JOIN(구현 결과)
# thread.* 수정
1. Argument Passing
2. System Call

Part 3. RATIONALE(장단점 분석)
1. 결과화면
2. Test Program 수행결과
3. 설계한 디자인의 장․단점

본문내용

te) exec child 9 of 10: "child-syn-wrt 8"
child-syn-wrt : exit(2)
child-syn-wrt : exit(3)
(syn-write) exec child 10 of 10: "child-syn-wrt 9"
child-syn-wrt : exit(4)
((null)) open "stuff": FAILED
child-syn-wrt : exit(1)
Page fault at 0x804a333: not present error reading page in user context.
syn-write: dying due to interrupt 0x0e (#PF Page-Fault Exception).
Interrupt 0x0e (#PF Page-Fault Exception) at eip=0x804a333
cr2=0804a333 error=00000004
eax=00000000 ebx=bfffff8c ecx=0804be40 edx=bfffff8c
esi=00000000 edi=00000000 esp=bfffff30 ebp=bfffff38
cs=001b ds=0023 es=0023 ss=0023
child-syn-wrt : exit(8)
child-syn-wrt : exit(9)
child-syn-wrt : exit(7)
Execution of 'syn-write' complete.
명령줄 : pintos -v -k -T 60 --bochs --fs-disk=2 -p tests/filesys/base/syn-write -a syn-write -p tests/filesys/base/child-syn-wrt -a child-syn-wrt -- -q -f run syn-write
(78) 프로그램: syn-remove
Boot complete.
Putting 'syn-write' into the file system...
Putting 'child-syn-wrt' into the file system...
Executing 'syn-write':
(syn-write) begin
(syn-write) create "stuff"
(syn-write) exec child 1 of 10: "child-syn-wrt 0"
(syn-write) exec child 2 of 10: "child-syn-wrt 1"
(syn-write) exec child 3 of 10: "child-syn-wrt 2"
(syn-write) exec child 4 of 10: "child-syn-wrt 3"
(syn-write) exec child 5 of 10: "child-syn-wrt 4"
((null)) open "stuff": FAILED
child-syn-wrt : exit(1)
(syn-write) exec child 6 of 10: "child-syn-wrt 5"
(syn-write) exec child 7 of 10: "child-syn-wrt 6"
(syn-write) exec child 8 of 10: "child-syn-wrt 7"
load: child-syn-wrt: open failed
child-syn-wrt : exit(1)
(syn-write) exec child 9 of 10: "child-syn-wrt 8"
child-syn-wrt : exit(2)
child-syn-wrt : exit(3)
(syn-write) exec child 10 of 10: "child-syn-wrt 9"
child-syn-wrt : exit(4)
((null)) open "stuff": FAILED
child-syn-wrt : exit(1)
Page fault at 0x804a333: not present error reading page in user context.
syn-write: dying due to interrupt 0x0e (#PF Page-Fault Exception).
Interrupt 0x0e (#PF Page-Fault Exception) at eip=0x804a333
cr2=0804a333 error=00000004
eax=00000000 ebx=bfffff8c ecx=0804be40 edx=bfffff8c
esi=00000000 edi=00000000 esp=bfffff30 ebp=bfffff38
cs=001b ds=0023 es=0023 ss=0023
child-syn-wrt : exit(8)
child-syn-wrt : exit(9)
child-syn-wrt : exit(7)
Execution of 'syn-write' complete.
명령줄 : pintos -v -k -T 60 --bochs --fs-disk=2 -p tests/filesys/base/syn-write -a syn-write -p tests/filesys/base/child-syn-wrt -a child-syn-wrt -- -q -f run syn-write
총 78개 중 30개 Fail(모든 파일에 대한 소스를 분석하진 못했지만 process_wait 미 구현으로 인해 발생하는 에러가 상당히 많은 것 같다.)
- 설계한 프로젝트의 장 단점 분석
구현 할 이번 프로젝트에 대해서는 사전에 충분히 회의를 거친 후 시작하였다. 이번 프로젝트를 수행하면서 스택이 가리키는 VM주소, 실제메모리의 주소가 달라, 이를 변환하고 알맞게 참조하는데 주의했다. 이후 교수님께서 올려주신 소스가 있었으나 이미 구현을 해 놓았기 때문에 직접 만든 코드를 사용 하였다. 처음 구현 시에는 이해를 확실히 하지 못하고 직접 포인터 위치를 참조하게 해서 page fault가 일어나는 경우가 빈번했다. System call에서는 argument로 넘겨주는 포인터 들이 올바른지를 최대한 확인했으며, 실제 argument가 잘못 들어오는 경우 오류를 반환, pintos 운영체제의 실행에 지장을 주지 않게 코드를 작성 하였다. 마지막으로 wait를 100% 구현하지 못하여 make check의 실행을 직접 하지 못한 점이 아쉽고. 구현을 다 하지 못함으로 인해 테스트에 많은 에러가 발생한 것 같다.

키워드

  • 가격4,000
  • 페이지수50페이지
  • 등록일2009.02.09
  • 저작시기2009.2
  • 파일형식한글(hwp)
  • 자료번호#550285
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니