Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

운영체제 6주차 정리 - 1 본문

2-1/운영체제

운영체제 6주차 정리 - 1

김브래 2023. 4. 7. 15:03

스케줄링 및 IPC - IPC


프로세스 간 통신의 개념


정의

IPC : Inter-Process Communication

 

프로세스간 데이터를 공유하기 위한 방법

 

운영체제는 프로세스의 관리 및 각각의 동작을 보호
- 프로세스는 자신의 할당메모리 영역 외에는 접근 불가

- 타프로세스의 영역을 독단적으로 접근할 수 없음

 

프로세스간 통신을 위해 운영체제는 몇가지 자원을 제공
- 예: 시그널, 인터럽트, 공유 파일, 파이프, 공유메모리, 메시지큐 등

 

프로세스간 통신(IPC)

프로세스 내부 데이터 통신
- 프로세스 내 스레드간 통신 – 스레드는 전역 변수나 파일을 이용하여 데이터를 공유

 

프로세스 간 데이터 통신
- 같은 컴퓨터(동일 호스트)에 있는 프로세스간 통신
- 공용 파일 또는 운영체제가 제공하는 자원을 이용

 

네트워크를 이용한 데이터 통신
- 여러 컴퓨터가 네트워크로 연결되어 있을 때 통신
- 소켓을 이용한 데이터 공유


IPC 기법


종류

- 시그널

- 인터럽트

- 공유 파일

- 파이프

- 공유메모리

- 메시지큐

 

시그널(Signal)

운영체제는 프로세스를 관리하기 위한 시그널을 정의


시그널을 수신한 프로세스는 그에 맞는 행위를 수행
- 예1: 9(SIGKILL)는 프로세스를 강제 종료
- 예2: 14(SIGALRM)은 잠들어있는 프로세스를 깨움

인터럽트

이벤트 발생에 따른 처리를 위한 방식


프로세스가 동작 중 인터럽트가 발생하면 해당 기능을 수행

공유 파일

서로 다른 프로세스가 동일한 파일을 공유하여 사용하는 방식

 

프로세스 처리 성능은 기록 장치의 읽기/쓰기 속도에 영향을 받음

파이프

A 프로세스의 출력을 B프로세스의 입력으로 처리

 

실습 예: 특정프로그램의 출력 결과를 입력을 받아서 출력

공유메모리

운영체제에서 별도로 할당해준 공유 영역을 활용

 

각 응용프로그램을 해당 영역을 포인터로 접근

 

공유메모리 확인 명령: ipcs

메시지큐

큐(Queue) 방식으로 데이터를 접근

 

큐는 행위에 따라 En-queue와 De-queue로 분류
- En-queue는 큐에 데이터를 삽입
- De-Queue는 큐에서 데이터를 추출

공유메모리 실습

관련 명령어: ipcs, ipcmk, ipcrm
- Ipcs : IPC관련 운영체제내 상태를 확인
- Ipcmk : IPC관련 자원 생성
- Ipcrm : IPC관련 자원 삭제


방향성에 따른 분류


단방향 통신

- 한쪽 방향으로만 데이터를 전송할 수 있는 구조
- 대표적 예: 파이프(PIPE) 기법이 있음


양방향 통신

- 데이터를 동시에 양쪽 방향으로 전송할 수 있는 구조
- 대표적 예: 소켓 통신


반양방향 통신

- 양쪽 방향으로 전송이지만 동시 전송은 불가
- 특정 시점에 한쪽 방향으로만 전송할 수 있는 구조
- 대표적 예: 메시지 큐, 공유메모리


동시성에 따른 분류


대기가 있는 통신

동기화를 지원하는 통신 방식

 

데이터를 받는 쪽은 데이터가 도착할 때까지 자동 대기 상태(블록킹, Blocking)

 

대기가 없는 통신

동기화를 지원하지 않는 통신 방식

 

다른 작업을 하는 중에 데이터가 수신되면 처리
- 인터럽트(Interrupt, 이벤트) 처리 방식
- 폴링(Polling) 처리 방식

'2-1 > 운영체제' 카테고리의 다른 글

운영체제 7주차 정리 - 1  (0) 2023.04.10
운영체제 6주차 정리 - 2  (0) 2023.04.07
운영체제 5주차 정리 - 3  (0) 2023.03.30
운영체제 5주차 정리 - 2  (0) 2023.03.30
운영체제 5주차 정리 - 1  (0) 2023.03.30