May 08, 2022
동기화: 프로세스들이 서로 동작을 맞추고 정보를 공유하는 것(프로세스끼리 통신하면서 작업 언제 끝나는지, 누가 먼저 작업할지 등등 알려줌)
동기화 지원 X = 대기가 없다 = 데이터 받는 쪽은 바쁜 대기 사용해서 데이터 도착했는지 여부를 직접 확인 / 전역변수, 파일
통신하는 관계
프로세스끼리의 통신 (IPC, Inter-Process Communication)
다른 컴퓨터끼리 통신 by 소켓(파이프처럼 write, read 연산)
프로시저 호출: 한 컴퓨터 내에 있는 함수 호출
원격 프로시저 호출(RPC, Remote Procedure Calls): 다른 컴퓨터의 함수 호출
통신 방향
임계구역 critical section: 공유 자원의 접근 순서에 따라 실행 결과가 달라지는 프로그램의 영역
임계구역의 해결을 위해서는 다음 3가지를 모두 만족해야함
한정 대기 bounded waiting: 무한 대기는 안됨. 즉 어떤 프로세스든지 임계구역 안으로 들어갈 수 있어야 한다.
해결 방법(잠금, 잠금 해제, 동기화)
뮤텍스 mutex (mutual exclusion): 공유 자원 사용 전에 설정하고, 사용한 후에 해제하는 잠금
모니터: 세마포어를 자동으로 처리하도록 만듦. 공유 자원은 숨기고, 공유 자원에 접근 위한 인터페이스만 제공 → 자원 보호하면서 프로세스간에 동기화
파일 기술자 (FD)