
뮤텍스와 세마포어가 필요한 이유? : 여러 프로세스가 임계 구역(Critical Section)의 접근하는 것을 제한하기 위해서이다. 동시에 접근시 문제가 발생하기 때문에, 데이터를 한 번에 하나의 프로세스만 접근할 수 있는 동기화 방식을 취한다. = 뮤텍스와 세마포어 임계구역이란? 여러 프로세스가 데이터를 공유하며 수행될 때, 각 프로세스에서 공유 데이터을 접근하는 프로그램 코드 블록 뮤텍스(Mutex) : 임계 구역을 가진 스레드들의 실행시간이 서로 겹치지 않고 각각 단독으로 실행(Mutual Exclution)되게 하는 기술 Key 에 해당하는 어떤 오브젝트가 있으며 이 오브젝트를 소유한 프로세스/스레드만이 공유자원에 접근할 수 있다. 다중 프로세스들의 공유 리소스에 대한 접근을 조율하기 위해 동기..

페이징과 세그멘테이션을 쓰는 이유? 다중 프로그래밍 시스템에서 다수의 프로세스를 수용하기 위해 주기억장치를 동적으로 분할하는 메모리 관리작업 필요 메모리 관리: 연속적 메모리 할당 / 불연속적 메모리 할당 연속적 메모리 할당: 프로그램 전체가 메모리에 연속적으로 할당 고정 분할 기법 주기억장치가 고정된 파티션으로 분할 현재사용X (내부 단편화 발생 : 고정크기에 비해 작은 메모리 사용) 장점: 구현이 간단하고 운영체제에 오버헤드가 거의 없음 단점: 내부 단편화, 최대 활성 프로세스 수가 고정됨 동적 분할 기법 파티션들이 동적 생성되면서 자신의 크기와 같은 파티션에 적재 (외부 단편화 발생: 메모리할당 해제시 빈공간 발생) 장점: 내부 단편화 없고 주기억장치 효율적 사용 가능 단점: 외부 단편화, 처리기 ..