생각자리
[12장] 네트워크와 분산 시스템 본문
쉽게 배우는 운영체제 (조성호 著, 한빛아카데미) 참고하여 작성했습니다
통신 방향
단방향 통신 : (예) 모스부호, 라디오, TV 방송 ...
양방향 통신 : (예) 일반적인 전화기
반양방향 통신 : (예) 무전기
네트워크 구성 방식
강결합 시스템
- 네트워크로 연결된 모든 컴퓨터의 프로세서가 하나의 메모리를 공유하는 방식
- 모든 컴퓨터는 메모리를 공유하면서 같은 운영체제 사용
- 속도가 빠름
- 프로세서들이 하나의 공유 메모리를 사용하여 통신하기 때문에 공유 메모리를 서로 사용하려고 경쟁하며,
이러한 경쟁을 결합 교환 방법으로 해결
약결합 시스템
- 둘 이상의 독립된 시스템을 연결한 것
- 자신만의 운영체제, 메모리, 프로세서, 입출력장치를 가지고 독립적으로 운영되다가 필요할 때
통신선을 이용하여 메시지 전달이나 원격 프로시저 호출(RPC)로 통신 - 컴퓨터들이 서로 독립적으로 작동하기 때문에 하나의 시스템에 장애가 발생해도 다른 시스템에 영향을 미치지 않음
프로토콜 (protocol)
다른 기기 간에 통신을 하기 위해 정한 약속
우리말로는 통신 규약이라고함
프로토콜이 지켜지지 않거나 순서가 바뀌면 통화가 되지 않음
HTTP, FTP, TCP/IP ... 등 네트워크와 관련된 단어 끝자락은 P(protocol) 로 끝나는 것이 많다.
LAN (Local Area Network)
가까운 거리에 연결된 네트워크 ↔ WAN (Wide Area Network) 국가 전체 또는 국가 단위로 연결된 네트워크
LAN 토폴리지 (topology)
LAN 구조 (LAN 기술에 대한 사양)
스타형 : 중간에 네트워크를 관장하는 시스템을 두고 방사형으로 기기를 연결
링형 : 모든 기기를 원형으로 연결
버스형 : 중앙의 버스에 독립적으로 기기를 붙여 네트워크를 구성
원격 프로시저 호출 (RPC, Remote Procedure Call)
- 분산 시스템과 단일 시스템의 가장 큰 차이는 프로세스 간 통신이다.
단일 시스템에서 프로세스들은 공유 메모리로 입출력하여 서로 통신 가능하나, 분산 시스템은 공유 메모리가 없다 -
분산 시스템에서 프로세스 간 통신은 클라이언트와 서버의 요청·응답 형태로 구현하는 대표적인 예이다
-
한 컴퓨터에서 실행하는 프로세스를 다른 컴퓨터에서 실행하는 프로세스의 프로시저(또는 함수)가
호출할 수 있게 하는 것으로, 클라이언트/서버 모델을 전제로 함 -
클라이언트에 있는 프로세스가 서버에 있는 프로시저를 호출하면 클라이언트에 있는 프로세스는
중단하고 서버에 있는 호출된 프로시저 실행 -
함수의 반환 값이 네트워크 이용하여 클라이언트로 전송
분산 시스템
네트워크상에 분산되어 있는 컴퓨터가 작업을 처리하고 그 내용이나 결과를 서로 교환함
장점
네트워크로 연결된 기기가 여러 자원을 공유할 수 있음
작업 분배를 통해 여러 기기가 작업을 나누어 처리할 수 있음
데이터나 처리를 분산함으로써 연산 속도를 향상할 수 있음
장애가 발생해도 시스템을 복구할 수 있음
구조
저렴한 노드 여러 개를 운영체제 하나가 제어할 수 있도록 구현, 강력한 시스템 구성
네트워크로 연결된 여러 노드에 프로그램 하나를 분산하여 실행하면서 마치하나의 프로그램처럼 동작
여러 사용자가 자원 공유하여 대규모 작업 지원하므로 다양한 사용자에게 서비스 가능
각 프로세서는 초소형 프로세서부터 워크스테이션, 소형컴퓨터, 대형컴퓨터까지 다양함
사용되는 운영체제
1. 네트워크 운영체제
- 각 컴퓨터가 독자적인 운영체제를 가진 채 사용자 프로그램을 통해 분산 시스템이 구현된 것
- 낮은 수준의 분산 시스템 운영체제
- 기기마다 운영체제가 다름
- 지역적으로 널리 분산된 대규모 네트워크에서 사용하기 때문에 사용자가
기기 및 운영체제의 종류와 사용법을 알고 있어야함
2. 분산 운영체제
- 시스템 내에 하나의 운영체제가 존재하고, 전체 네트워크를 통틀어서 단일 운영체제로 운영
- 전체 시스템을 일관성 있게 설계할 수 있음
클라이언트 / 서버 시스템
구조
(대표적인 클라이언트 : 웹 브라우저)
- 클라이언트가 웹 브라우저에 서버 주소를 입력
- 웹 브라우저는 HTTP를 이용하여 서버에 있는 HTML을 요청
- 서버는 클라이언트의 요청을 처리한 후 결과를 클라이언트에 전달
- 결과가 클라이언트에 도착하면 웹 브라우저가 그 내용을 화면에 출력
데몬
멈추지 않고 계속 작동하는 프로그램
웹 시스템에서 사용하는 데몬은 HTTP 데몬 또는 웹 데몬이라고 함
웹 데몬으로 많이 사용되는 소프트웨어는 IIS, 아파치 톰캣 등
네트워크 운영 체제 (NOS, Network Operating System)
주요 기능
- 자원 공유 : 네트워크에 연결된 서버와 클라이언트 간 하드디스크나 프린터 등 자원
- 액세스 권한 부여 : 사용자는 원격 사이트의 자원 사용할 수 있도록 액세스가 가능해야 함
(호스트 컴퓨터의 하드웨어 사항을 몰라도 되지만, 원격 시스템의 명령은 알아야함) -
파일 전송 : 한 컴퓨터에서 다른 컴퓨터로 데이터 전송
-
데이터 보호 : 사용자별 적합한 권한(읽기 권한, 쓰기 권한 등) 설정하고
데이터 관리·보호하여 서버에 접근하는 클라이언트 사용자가 서버를 사용할 권한이 있는지 인증 -
관리 제어 : 각 클라이언트의 네트워크 이용 정보와 네트워크에서 발생할 수 있는
여러 가지 문제를 해결하고 조절하는 관리 기능 제공
운용 방법
피투피(P2P) 방법의 장단점
클라이언트/서버 장단점
분산 운영체제 (DOS, Distributed Operating System)
'CS > Operating System' 카테고리의 다른 글
[11장] 파일 시스템 (0) | 2022.06.12 |
---|---|
[10장] 입출력 시스템과 저장장치 (0) | 2022.06.12 |
[9장] 가상 메모리 관리 (0) | 2022.06.11 |
[8장] 가상 메모리 기초 (0) | 2022.06.08 |
[7장] 물리 메모리 관리 (0) | 2022.05.23 |