1. 객관식
- 통신 방식 중 동기화를 지원하는 단방향 통신 방식은?
→ ② 파이프 - 서로 다른 컴퓨터에 있는 프로세스 간 통신에 사용하는 방식은?
→ ④ 소켓 - 통신 기기 중 반양방향(half duplex) 통신에 해당하는 것은?
→ ① 무전기 - 파일 관련 함수에서 파일에 접근할 수 있는 권한을 주는 함수는?
→ ① open() - 파일 관련 함수에서 파일에 접근할 수 있는 권한을 돌려주는 함수는?
→ ② close() - 인터넷에서 하나의 포트를 여러 프로세스가 공유할 수 있도록 만든 장치는?
→ ② 소켓 - 소켓 관련 함수에서 데이터를 보내는 함수는?
→ ④ send() - 2개 이상의 프로세스가 공유 자원을 병행해서 읽거나 쓰는 상황은?
→ ③ 경쟁 조건 - 동시에 접근해서는 안 되는 공유 영역은?
→ ④ 임계구역 - 임계구역을 보호하기 위해 사용하는 가장 기본적인 방법은?
→ ① 잠금(lock) - 임계구역 보호 조건과 거리가 먼 것은?
→ ④ 우선순위 상속 - 임계구역 보호 조건 중 하나의 프로세스만 들어가야 한다는 것은?
→ ① 상호 배제 - 임계구역 보호 조건 중 다른 프로세스 진행을 방해하지 않는 것은?
→ ③ 진행의 융통성 - 임계구역 보호 조건 중 무한히 기다리는 프로세스가 없어야 한다는 것은?
→ ② 한정 대기 - 임계구역 보호를 위해 하드웨어 도움으로 실행되는 코드는?
→ ① 검사와 지정(Test-and-Set) - 임계구역 보호 도구 중 P(), V()를 사용하고 여러 자원에 적용 가능한 것은?
→ ④ 세마포어 - 공유 자원을 숨기고 접근 인터페이스만 제공하여 보호·동기화를 처리하는 방식은?
→ ② 모니터 - 세마포어에서 내부 변수 RS라 했을 때, 초기화 코드에 가까운 것은?
→ ① RS = n - 세마포어에서 2개의 공유 자원에 대해 3개의 스레드가 작업하는 경우 올바른 초기화 함수는?
→ ② Semaphore(2)
2. 빈칸 채우기
- 공유 메모리나 공유 파일, 파이프, 소켓 중 동기화를 지원하며 부모-자식 간 단방향 통신에 사용하는 방식은 (파이프)다.
- 공유 메모리나 공유 파일, 파이프, 소켓 중 동기화를 지원하지 않는 것은 (공유 메모리)다.
- (모르스 부호)는 대표적인 단방향(simplex) 통신 기기다.
- (무전기)는 대표적인 반양방향(half duplex) 통신 기기다.
- (open()) 함수는 파일 접근 권한을 부여한다.
- (close()) 함수는 파일 접근 권한을 회수한다.
- (send()) 함수는 데이터를 보낼 때 사용한다.
- 파이프 관련 함수에서 (read())는 데이터를 받을 때 사용한다.
- (포트 번호)란 한 컴퓨터 내 서로 다른 프로세스를 구분하기 위한 주소다.
- 소켓 관련 함수에서 (recv())는 데이터를 읽어오는 함수다.
- (임계구역)은 동시에 접근해서는 안 되는 공유 영역이다.
- (동기화)은 프로세스가 임계구역 사용 후 다른 프로세스에 사용을 알리는 것이다.
- (잠금)은 임계구역을 보호하기 위한 기본 방법이다.
- 임계구역 보호 조건은 (상호 배제, 진행의 융통성, 한정 대기)다.
- (상호 배제)는 임계구역에 하나의 프로세스만 들어가야 한다는 조건이다.
- (진행의 융통성)은 다른 프로세스 진행을 방해하지 않는 조건이다.
- (한정 대기)는 무한 대기가 없어야 한다는 조건이다.
- (검사와 지정)은 하드웨어 도움을 받아 임계구역 보호에 사용하는 코드다.
- 임계구역 보호 도구 중 (세마포어)는 P(), V()를 사용하고 여러 자원에 적용 가능하다.
- 임계구역 보호 도구 중 (모니터)는 lock/unlock, 동기화를 자동 처리한다.
- 세마포어에서 2개의 공유 자원에 대해 3개의 프로세스가 작업하는 경우 올바른 초기화 함수는 (Semaphore(2))다.
🔹 서술형
- 프로세스 간 통신
프로세스들이 데이터를 주고받기 위한 기법으로, 공유 메모리·파이프·소켓 등이 있다. 같은 시스템 내 통신은 파이프, 다른 컴퓨터 간 통신은 소켓을 주로 사용한다. - 임계구역과 조건
임계구역은 둘 이상의 프로세스가 동시에 접근하면 문제를 일으키는 공유 자원 영역이다. 이를 해결하기 위한 조건은 상호 배제, 진행의 융통성, 한정 대기이다. - 코드 문제점
주어진 코드에서는 busy-waiting(바쁜 대기) 현상이 발생한다. P1과 P2가 동시에 lock 값을 확인하는 경우 상호 배제 조건이 깨져 임계구역 동시 진입이 가능하다. - 세마포어 내부 코드
세마포어는 정수 변수와 P(wait), V(signal) 연산으로 구성된다. P는 자원이 없을 경우 대기, V는 자원을 해제하며, 원자적 실행을 보장한다. - 모니터의 배경과 특징
세마포어의 복잡성을 줄이고 효율적으로 동기화를 구현하기 위해 고안됨. 공유 자원은 모니터 내부에 숨기고 접근 인터페이스만 제공, lock/unlock과 동기화를 자동으로 처리한다.
출처 : 조성호 , 『IT CookBook, 쉽게 배우는 운영체제(2판)』한빛아카데미(2023).
'COMPUTER SCIENCE > OS' 카테고리의 다른 글
| [쉽게 배우는 운영체제 2판] 6장 연습문제 (0) | 2025.04.16 |
|---|---|
| [쉽게 배우는 운영체제 2판] 6. 교착 상태 (0) | 2025.04.16 |
| [쉽게 배우는 운영체제 2판] 5. 프로세스 동기화 (0) | 2025.04.16 |
| [쉽게 배우는 운영체제 2판] 4장 연습문제 (0) | 2025.04.16 |
| [쉽게 배우는 운영체제 2판] 4. CPU 스케줄링 (0) | 2025.04.16 |