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

[운영체제]세마포어(semapore) 구현

푸우
개인인증판매자스토어
최초 등록일
2008.01.30
최종 저작일
2007.05
9페이지/한글파일 한컴오피스
가격 2,000원 할인쿠폰받기
다운로드
장바구니

소개글

운영체제 과목수강중에 나왔던 레포트인

세마포어구현에 관한 레포트입니다.

프로그램에 대한 자세한 주석을 달아놓아서

레포트로 참고하시기에

많은 도움이 되실거라 생각합니다.

유용하게 사용하세요..^^

컴파일 실행환경

[문제]다음 Linux C 프로그램을 읽고 아래 물음에 답하시오.
(1) 이 프로그램에서 사용된 세마포어 관련 시스템 호출들을 찾아내어, 그 목적 및 사용 방법에 대해 설명하시오.

(2) 이 프로그램의 목적 및 실행과정을 단계적으로 말해 보시오.
(3) 이 프로그램을 실행한 결과를 나타내보시오(필요한 header file이 있으면 정의하여 사용하시오).
(4) 이 프로그램을 수정하여 critical section을 가진 두 개 이상의 프로세스가 병행하여 실행되게 하여 그 결과를 나타내보시오.

본문내용

[문제]다음 Linux C 프로그램을 읽고 아래 물음에 답하시오.
(1) 이 프로그램에서 사용된 세마포어 관련 시스템 호출들을 찾아내어, 그 목적 및 사용 방법에 대해 설명하시오.
<semget>
▶ 목 적 : 세마포어의 생성혹은 기존에 만들어져 있는 세마포어에 접근하기위해서 사용

▶ 사용방법 :
# include <sys/types.h>
# include <sys/ipc.h>
# include <sys/sem.h>
int semget ( key_t key, int nsems, int semflg )

① key_t key : 세마포어의 유일한 키값을 위해서 사용하는 int 형의 키값이다. 우리는 이 key 값을 이용해서 유일한 세마포어를 생성하거나 접근할수 있게 된다.
② nsems : 세마포어가 만들어질수 있는 크기이다. 이값은 최초 세마포어를 생성하는 생성자의 경우에 크기가 필요하다(보통 1). 그외에 세마포어에 접근해서 사용하는 소비자의 경우에는 세마포어를 만들지 않고 단지 접근만 할뿐임으로 크기는 0이 된다.
③ semflg : 새로 생성되거나 기존의 세마포어에 접근하거나 하는것은 semflg 를 통해서 제어할수 있다. 다음은 semflg 의 아규먼트이다.

IPC_CREAT
만약 커널에 해당 key 값으로 존재하는 세마포어가 없다면, 새로 생성 한다.
IPC_EXCL
IPC_CREAT와 함께 사용하며, 해당 key 값으로 세마포어가 이미 존재한다면 실패값을 리턴한다.


만약 IPC_CREAT 만 사용할경우 해당 key 값으로 존재하는 세마포어가 없다면, 새로 생성하고, 이미 존재한다면 존재하는 세마포어의 id 를 넘겨준다. IPC_EXCL을 사용하면 key 값으로 존재하는 세마포어가 없을경우 새로 생성되고, 이미 존재한다면 존재하는 id 값을 돌려주지 않고 실패값(-1)을 되돌려주고, errno 를 설정한다.

이상의 내용을 정리하면 semget 은 아래와 같이 사용할수 있을것이다. 만약 최초 생성이라면
sem_num = 1;
그렇지 않고 만들어진 세마포어에 접근하는 것이라면
sem_num = 0;
sem_id = semget(12345, sem_num, IPC_CREAT|0660)) == -1)
{
perror("semget error : ");
return -1;
}

semget 은 성공할경우 int 형의 세마포어 지사자를 되돌려주며, 모든 세마포어에 대한 접근은 이 세마포어 지시자를 사용하게 된다.

위의 코드는 key 12345 를 이용해서 세마포어를 생성하며 퍼미

참고 자료

Operating System, Nutt, Thrid Edition
푸우
판매자 유형Bronze개인인증

주의사항

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

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

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