• 캠퍼스북
  • LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

nachos

*재*
최초 등록일
2008.12.06
최종 저작일
2007.07
36페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니

소개글

컴퓨터 Nachos Project Assignment #2 레포트
오픈소스인 리눅스 관련 레포트

목차

1.과제 개요

2.기존 루틴 분석

3.Thread::Join() 구현

4.Preemptive priority scheduling 구현

5.Synchronization 실험 문제

본문내용

Ⅲ. Thread::Join() 구현

- C의 wait()와 유사한 기능
• wait() : wait()시스템 콜을 호출하면 부모 프로세스는 자식 프로세스가 종료할 때까지
기다린다. 이 함수는 종료된 자식 PID(Process ID)를 돌려준다.
프로세스는 특정 작업을 수행하는 자식 프로세스를 만든 후, 이 프로세스가 종료 됐는지 검사하기 위해 wait()계열의 시스템 콜을 호출할 수 있다. 이 프로세스가 자식프로세스가 종료됐으면, 부모 프로세스는 종료 코드로 그 작업이 성공적으로 수행되었는지 알 수 있다.

• 주요 자료구조 분석
각 thread들은 constructor에 joinable flag를 이용하여 해당 thread가 joinable 하는지 여부를 선언하도록 하였다. 만일 joinable이 false인 경우에 Join()을 호출하게 되면 assertion failed 오류가 발생하게 된다.
본 프로젝트에서의 joined 및 finished 2개의 Semaphore를 이용하였다. 처음에는 이 두 semaphore를 모두 0으로 설정한 후 thread가 종료하는 경우 finished를 증가하고, joined에 대하여 joiner가 Join()을 호출하기를 기다렸다가 종료한다. 이때 joiner를 기다리지 않으면 thread가 사라지는 경우를 방지하기 위해서이다. joiner는 마찬가지로 finished semaphore를 기다렸다가, 해당 thread가 종료되면 joined semaphore를 이용하여 해당 thread에게 join을 수행하였음을 알려주고 thread가 소멸되어도 좋다는 사실을 알려준다.
이 경우 joiner가 Join()을 호출하지 않아도 되긴 하지만, 해당 프로세스는 Sleep상태로 운영체제가 종료할 때까지 남게 되는 부작용이 생긴다.

• 구현 루틴 설명
join에 대해서 구현할 때 고려해야 할 사항 세 가지에 대해서 구현 루틴을 분석해보자.

첫 번째는 thread가 Join을 부르지 않는 경우이고, 두 번째는 정상적으로 Join을 호출하여 joiner가 joined된 thread의 종료를 기다리는 경우이다. 세 번째는 이미 종료한 thread에 대해 Join을 호출하는 경우이다.
joinable인자를 주는 생성자를 따로 만들었으므로, joinable한 thread에 대해서 생각할 수 있다. 또한 그 생성자 내에서 finished와 joined 두개의 세마포어를 만들게 된다.
(1)Thread::Finish()에 있는
if(joinable){
finished->V();
joined -> P();
}

(2)Thread::Join()에 있는
if(joinable){
finished->P();
joined -> V();
}
부분을 보아가면서 설명하겠다.

참고 자료

없음

이 자료와 함께 구매한 자료

*재*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

더보기
최근 본 자료더보기
탑툰 이벤트
nachos
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업