728x90
13.1 분산 운영체제의 개요
13.1.1 분산 시스템
- 분산 시스템의 정의
- 현대의 분산 시스템은 복수의 컴퓨터가 각각의 프로세서를 가지고 네트워크로 연결됨
- 사용할 수 있는 자원의 구분
- 로컬 자원 : 자신의 컴퓨터에 속한 자원
- 원격 자원 : 네트워크로 연결된 컴퓨터에 속한 자원
- 원격 자원을 로컬 자원처럼 쉽게 사용할 수 있는 방법을 제공해야 함
- 서버/클라이언트 모델
- 서버 : 자원을 제공하는 쪽
- 클라이언트 : 자월을 이용하는 쪽
- 분산 시스템의 장점
- 자원 공유 : 각 컴퓨터의 자원을 네트워크로 연결된 컴퓨터가 공유
- 성능 향상 : 여러 대의 프로세서에 작업을 분할하여 병렬적으로 동시 수행
- 신뢰성 향상 : 한 대가 고장나더라도 다른 컴퓨터가 작업을 계속 수헹
- 통신의 편리성 : 단일 시스템 내부에서 동자갛는 서비스와 같은 서븨스 제공
- 네트워크의 구성 형태 및 고려사항
- 구성 형태 : 트리형, 스타형, 링형, 버스형 등
- 고려사항 : 망 구축비용, 통신비용, 신뢰성 등
13.1.2 분산 운영체제
- 분산 운영체제
- 분산 시스템을 관리하기 위한 운영체제
- 투명성 제공 : 로컬 자원과 원격 자원의 구분을 없애 줌
- 데이터 이주 : 원격 데이터를 로컬로 전송해 와서 사용하는 방식
- 계산 이주 : 원격 프로시저 호출을 통해 계산을 원격지에서 처리하고 결과를 전송받는 방식
- 프로세스 이주 : 프로세스 자체를 원격지로 이주시키는 방식
13.2 분산 파일 시스템
- 분산 파일 시스템의 개요
- 원격 파일을 로컬 파일처럼 사용하게 해 줌
- 일반적인 사용자는 원격 파일과 로컬 파일을 구별할 필요가 없음
- UNIX에서는 마운트(mount)를 이용하여 파일 시스템을 사용할 수 있으며, 네트워크로 연결된 파일 시스템도 사용 가능함
- 네트워크 사용이 많아지면 성능이 떨어질 수 있으므로 캐시를 사용함
13.3 분산 메모리
13.3.1 원격 메모리
- 원격 메모리
- 가상 메모리는 로컬 메모리와 보조기억장치를 합친 형태로 제공됨
- 원격 메모리는 API를 사용하여 클라이언트/서버 형태로 구성됨
13.3.2 분산 공유 메모리
분산 공유 메모리
- 물리적으로 분리된 메모리들이 하나의 주소공간으로 접근하게 해 줌
- 장점
- 노드의 개수가 늘어나도 잘 확장됨
- 프로그래머는 실제로 메모리를 공유하기 위해 할 일들에 신경 쓸 필요가 없음
- 복잡하고 큰 데이터 처리에 유리함
- 멀티프로세서 시스템에 비해 저렴하게 구현 가능
- 큰 가상 메모리 공간 제공
- 단점
- 접근속도가 느림
- 공유 메모리에 동시에 둘 이상이 접근할 때 보호 메커니즘 필요
- 성능이 떨어질 수 있음
- 프로그래머가 분산 공유 메모리를 직접 제어하는 것이 쉽지 않음
13.4 원격 프로시저 호출
- 원격 프로시저 호출(Remote Procedure Call : RPC)
- 프로세스가 네트워크로 연결된 다른 컴퓨터에 있는 프로시저를 실행시키는 일
- 마치 같은 컴퓨터에 있는 것처럼 이용할 수 있게 함
- 프로세스가 네트워크로 연결된 다른 컴퓨터에 있는 프로시저를 실행시키는 일
13.4.1 원격 프로시저 호출의 동작
- RPC의 동작
- RPC를 사용하려는 클라이언트는 같은 주소공간에 있는 프로시저를 일단 호출함
- 호출된 프로시저는 전달받은 매개변수를 메시지로 포장하여, 네트워크를 이용하여 대기하고 있는 특정 서버의 프로세스에 전달하고 결과를 기다림
- 메시지를 받은 프로세스는 이를 해당 프로시저에 전달하여 실행시킴
- 실행결과는 다시 메시지로 포장되어 결과를 기다리고 있는 프로시저에 전달됨
- 메시지를 해석하여 원격 프로시저의 실행결과를 얻어 내고, 이를 리턴함
13.4.2 원격 프로시저 호출의 구현
- RPC 구현의 고려사항
- RPC의 사용과 로컬 프로시저의 사용이 이상적으로는 구별되지 않아야 함
- 서로 다른 주소공간에 속하기 때문에 메모리 주소를 리턴하는 참조 호출은 의미가 없음
- RPC의 수신자는 호출된 곳과 유사한 환경에서 실행해야 함
참고 문헌 : 김진욱·이인복. 운영체제 워크북. 한국방송통신대학교출판문화원, 2023.
728x90
'전산 > 운영체제' 카테고리의 다른 글
운영체제 - 제 15장 운영체제 사례 (0) | 2024.06.01 |
---|---|
운영체제 - 제 14장 운영체제 보안 (0) | 2024.06.01 |
운영체제 - 제 12장 저장장치 및 파일 관리 (0) | 2024.05.31 |
운영체제 - 제 11장 장치관리 (0) | 2024.05.29 |
운영체제 - 제 10장 페이지 교체 알고리즘 (0) | 2024.05.25 |