[카테고리:] CA/운영체제

태스크(프로세스) 동기화 방안

I. 태스크 동기화의 필요성 공유 데이터 병행 접근 시 데이터 불일치를 초래하므로 데이터 일관성 유지 위해 태스크 동기화 필요   II. 태스크 동기화 방안 구분 방안 설명 H/W 측면 test and set – “lock” 공유 Boolean 변수 compare and swap – value==expected 경우 swap Semaphore – P(), V() 연산 기반 원자적 수행 Bus-Locking – ARMv6

경쟁 조건/자원 경합 (Race Condition)

I. 동시 수행의 위험, 자원 경합의 의미 가. 자원 경합의 정의 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도하여 일관성 보장이 어려운 상태 나. 자원 경합의 특징 특징 설명 예측 불가 – 발생 현상, 빈도 등 예측이 전혀 불가능 비 균등 – 성능 변화가 불균등하여 일관성이 없음 분석 난해 – 연관 요인에 의해 원인분석

스핀락 (Spin Lock)

I. 동기화 기법, 스핀락의 개념 가. 스핀락의 개념 프로세스가 사용하려는 lock을 타 프로세스 사용 시 명령어 루프를 실행하며 대기하는 locking 매커니즘 나. 스핀락의 특징 SMP 시스템 – SMP 시스템 위한 락으로 단일 프로세스에서는 사용 안함 Busy Waiting – 바쁜 대기의 한 종류의 동기화 기법 Spinning – 공유 자원에 대해 두 개 이상의 프로세스가 권한 획득

은행가 (Banker’s) 알고리즘

I. 교착상태 대표 회피 알고리즘, 은행가 알고리즘 가. 은행가 알고리즘의 개념 자원의 상태를 감시하고 프로세스는 사전에 자신의 작업에 필요한 자원 수를 제시하는 교착상태 회피 알고리즘 나. 은행가 알고리즘의 자료구조 자료구조 설명 Max – 프로세스 별 최대 자원의 요구 Available – 사용 가능 자원의 수 Need – 프로세스 별 남아있는 자원 수 Allocation – 현재 프로세스

세마포어와 모니터

I. 세마포어와 모니터 세마포어 모니터 세마포어 변수(s) 및 두 개의 연산(P, V)으로 임계영역에 접근하는 잠금장치에 대한 이론적 기반 Concurrent-Pascal, Module-2/3, JAVA 등 프로그래밍언어 수준에서 세마포어 처럼 상호배제 기능 제공   II. 세마포어와 모니터의 상호관계 가. 세마포어와 모니터 개념적 상관관계 세마포어는 모니터에 이론적 기반을 제공하고, 모니터는 타이밍 문제점을 보완하여 동시성 제어 위한 상호작용 지원 나. 세마포어와

교착상태 (Deadlock)

I. 멀티 프로세스 환경의 무한 자원대기, 교착상태 가. 교착상태(Deadlock)의 개념 멀티 프로세스 환경에서 두 개 이상의 프로세스가 아무리 기다려도 자원을 사용할 수 없는 무한 대기 상태 나. 교착상태 발생 원인 원인 설명 상호배제 (Mutual Exclusion) – 자원 배타 점유, 타 프로세스 사용 차단 점유와 대기 (Block & Wait) – 특정 자원 할당 점유 후 다른 자원을

우선순위 역전 현상

I. 실시간 스케줄링 문제, 우선순위 역전 현상의 개요 가. 우선순위 역전 현상의 정의 우선순위가 높은 task가 준비 상태로 바뀌었지만 더 낮은 task가 CPU를 점유하고 있어 실행되지 못하는 현상 나. 우선순위 역전의 원인 스케줄링과 동기화 사이 상호작용 결과로 발생 스케줄링 규칙에서 실행되어야 하는 스레드와 동기화에서 실행되어야 하는 스레드가 서로 다른 경우, 우선 순위 역전 발생  

계수형 세마포어 (Counting Semaphore)

I. 멀티 프로세스 환경의 리소스풀, 계수형 세마포어의 개념 0과 1의 값을 가지는 이진형 세마포어와 달리, 풀에 있는 자원의 수와 같은 값으로 초기화 되는 세마포어 동기화 기법   II. 계수형 세마포어의 동작 매커니즘 및 사례 가. 계수형 세마포어 동작 매커니즘 구분 세부 내용 동작 개념도 매커 니즘 ① 세마포어는 Pool 자원 수와 같은 값으로 초기화 ②

세마포어 (Semaphore)

I. Busy waiting, 세마포어의 개요 가. 세마포어(Semaphore)의 정의 운영체제나 프로그램 내에서 공유 자원에 대한 접근을 제어하기 위해 사용되는 신호 나. 세마포어의 개념도 최초의 s값은 1, P(s)를 먼저 수행하는 프로세스가 s=0 변경, Critical Section에 진입, 먼저 들어갔던 프로세스가 V(s)를 수행하면 s=1로 변경, P(s)에서 대기하고 있던 프로세스가 진행 s=1 이면, Critical Section 실행 중 프로세스 없음 의미

임계 영역 (Critical Section)

I. 공유 자원 동기화 오브젝트, 임계 영역 가. 임계 영역의 개념 병렬 컴퓨팅에서 둘 이상의 스레드가 동시에 접근해서는 안되는 공유 자원에 접근하는 코드의 일부 나. 임계 영역의 특징 유저레벨 동기화 방법 중 유인하게 커널 객체 사용 안함 내부 구조가 단순하여 동기화 처리 속도 빠름 동일한 프로세스 내에서만 사용   II. 후발 스레드의 임계 영역 진입