세마포어

CS 지식/운영체제

[CS] 상호 배제

상호 배제 (Mutual Exclusion)상호 배제는 공유 불가능한 자원의 동시 사용을 피하기 위해 사용되는 알고리즘입니다.이는 임계 구역으로 불리는 코드 영역에 의해 구현되며, 하나의 프로세스가 공유 자원을 사용할 때 다른 프로세스의 접근을 막을 수 있도록 합니다. 상호 배제는 멀티 프로세스나 멀티 스레드의 동기화에 사용됩니다.또한, 이는 교착 상태의 4가지 필요 조건 중 하나로서 교착 상태와 기아 상태가 발생할 수 있습니다.교착 상태 (Deadlock) : 무한 대기기아 상태 (Starvation) : 우선순위가 낮아 자원을 계속 할당받지 못하는 상태 임계 구역 (Critical Section)임계 구역은 공유 자원에 접근하는 프로세스 내부의 코드 영역입니다.어떤 프로세스가 이 영역을 수행 중일 때..

CS 지식/운영체제

[CS] IPC 통신

IPC IPC(Inter Process Communication)는 프로세스 간의 통신을 일컫는 말입니다. 프로세스가 통신 가능하다는 것은 서로 다른 프로세스가 데이터를 주고받을 수 있다는 것입니다. 즉, 이는 동시에 접근 가능한 메모리, 다른 말로는 서로 공유하는 메모리가 있다는 것을 뜻합니다. IPC의 종류 1. 익명 파이프 (Anonymous PIPE) 익명 파이프는 두 개의 프로세스를 연결하는데 하나의 프로세스는 데이터를 쓰기만 하고, 다른 하나는 데이터를 읽기만 할 수 있기 때문에 한쪽 방향으로만 통신이 가능한 반이중 통신이라고도 부릅니다. 따라서, 양쪽으로 모두 송/수신을 하고 싶으면 2개의 파이프를 만들어야 합니다. 간단하게 사용할 수 있는 장점이 있고 단순한 데이터 흐름을 가질 땐 파이프를..

damon-911
'세마포어' 태그의 글 목록