I. 태스크 동기화의 필요성 공유 데이터 병행 접근 시 데이터 불일치를 초래하므로 데이터 일관성 유지 위해 태스크 동기화 필요 II. 태스크 동기화 방안 구분 방안 설명 H/W 측면 test and set – “lock” 공유 Boolean 변수 compare and swap – value==expected 경우 swap Semaphore – P(), V() 연산 기반 원자적 수행 Bus-Locking – ARMv6
I. 동시 수행의 위험, 자원 경합의 의미 가. 자원 경합의 정의 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도하여 일관성 보장이 어려운 상태 나. 자원 경합의 특징 특징 설명 예측 불가 – 발생 현상, 빈도 등 예측이 전혀 불가능 비 균등 – 성능 변화가 불균등하여 일관성이 없음 분석 난해 – 연관 요인에 의해 원인분석
I. 다중 프로세스 상호 간 통신, IPC 가. IPC (Inter Process Communication)의 개념 공유 메모리가 없는 독립된 프로세스 간 동기화 및 데이터 교환을 위한 상호통신 기법 나. IPC의 필요성 동기화 문제 해결 – 다중 프로세스 환경에서 여러 사용자가 동시 쓰기 시 데이터 무결성 보장 가능 프로세스간 데이터 교환 – 작은 데이터의 경우 메시지 큐 방식