일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 아두이노 spi
- lcd12864
- avr 테트리스
- 아두이노 테트리스
- IC 74595
- 상호배제
- 우분투 ssh 루트
- 세마포어
- avr 키트
- 라즈베리파이 os 설치
- 임베디드 테트리스
- atmega128 강좌
- avr spi
- 아트매가
- 74595
- 라즈베리파이 라즈비안
- arm 테트리스
- 우분투 ssh root 접근
- 우분투
- AVR
- atmega 128 강좌
- 우분투 ssh 설치
- atmega테트리스
- avr 강좌
- avr 공부
- 아트매가128
- 자작 3d 프린터 corexy
- core xy
- 운영체제
- lcd 테트리스
Archives
- Today
- Total
김원빈 개발 블로그
세마포어 본문
1. 세마포어
세마포어
- 시그널을 위해 사용되는 특수 변수들.
연산
- 세마포어 초기화 : 세마포어는 음이 아닌 값으로 초기화된다.
- semWait 연산 : 세마포어 값을 감소시킨다. 만일 값이 음수가 되면 semWait을 호출한 프로세스는 블록된다.
- semSignal 연산 : 세마포어 값을 증가시킨다. 만약 값이 양수가 아니면, swmWait연산에 의해 블록된 프로세스들을 깨운다.
지적점
일반적으로 프로세스가 세마포어를 감소시키기 전까지는 프로세스가 블록될지 아닐지 알 수 없다.
프로세스가 세마포어를 증가시키고 블록되어 있던 프로세스를 깨우면 이 두 프로세스 모두 수행 가능 상태가 된다. 단일 처리기 시스템에서 누가 먼저 수행될 지 알 수 없다.
세마포어에 시그널을 보낼 때 우리는 다른 프로세스가 대기 중인지 여부를 알 필요가 없다. 즉 블록되어 있는 프로세스의 개수는 0 또는 1일 수 있다.
'시험공부 > 운영체제' 카테고리의 다른 글
자원 할당 그래프 (0) | 2018.11.27 |
---|---|
모니터 (0) | 2018.11.27 |
상호배제 기계 명령어 접근 방법의 특성 (0) | 2018.11.27 |
상호 배제 요구조건 (0) | 2018.11.27 |
병행성 용어 정리 (0) | 2018.11.27 |