본문 바로가기
728x90
반응형
SMALL

동기화2

[OS] 동기화(세마포어) 세마포어(Semaphores) 1) 세마포어 개요 1. 세마포어 : 동기화를 위한 도구 - 음이 아닌 정수 값을 갖는 플래그 변수(S) 사용 - 다익스트라(Dijkstra)가 상호 배제를 극복하기 위해 제안 - 세마포어의 예 : 열차 진행을 알리는 차단기 2. 세마포어 연산 ㄱ: 세마포어 변수(S) a) 카운팅 세마포어(Counting Semaphore) - S의 크기 : 총 사용 가능한 자원의 개수 - S는 자원의 개수로 초기화됨 - S의 범위는 한정되어 있지 않음 b) 이진 세마포어(Binary Semaphore, mutex) - S는 0 또는 1 만 가질 수 있음. (초기값은 1) - 시스템에서 상호 배제를 제공하기 때문에 mutex라고도 불림 ㄴ: 세마포어(S)는 두 개의 표준 원자적 연산인 P(.. 2022. 8. 16.
[OS] 병행프로세스와 상호배제 병행 프로세스란? 1. 병행 프로세스 개념 프로세스들이 독립적으로 작업을 수행하거나 다른 프로세스와 협력하며 특정 기능 수행. 상호작용 필요 (제한된 자원을 공유하기 위해 프로세스는 서로 동기화되어야 함) 비동기 병행 프로세스(비동기) : 다른 프로세스들의 진행상태를 전혀 모르고 독립적으로 수행하면서 다수의 프로세스들이 동시에 존재하며 공유자원에 접근할 수 있는 프로세스. => 동기화 알고리즘 필요 2. 병행 프로세스 과제 공유자원을 서로 배타적으로 사용 병행 프로세스 사이에는 협력이나 동기화가 이루어져야 한다. 두 프로세스 사이에는 데이터 교환을 위한 통신이 이루어져야 한다. 프로세스는 동시에 실행되는 프로세스의 속도와 관계없이 일정한 실행 결과가 보장되어야 한다. 교착상태를 해결하고 병행 프로세스의 .. 2022. 8. 12.
728x90
반응형