개요(Overview)
오늘은 네트워크 운영체제와 프리미티브라는 주제에 대하여 다뤄보도록 하겠습니다.
본격적으로 네트워크 운영체제에 대해 알아보기 전 아래의 그림을 살펴보도록 하겠습니다.

위 그림은 네트워크를 통해 상호 연결된 전형적인 컴퓨터 네트워크 구조를 표현한 그림입니다. 위 그림에서 각각의 컴퓨터들은 호스트(host)라고도 말하며 네트워크를 통해 상호 연결된 상태입니다.
각각의 호스트들은 이러한 구조를 통해 네트워크를 사용하려는 사용자에게 적절한 서비스를 제공할 수 있으며 이 과정에서 상호간에 통신이 원활하게 이루어질 수 있도록 통신 프로세서(processor)로 연결되어 있습니다. 그리고 각각의 호스트 컴퓨터 시스템에서 운영체제와 사용자 프로세스를 포함하는 하나의 구성요소 그룹을 통신 서브 시스템이라고 합니다.
각각의 호스트 즉, 컴퓨터들은 통신 서브 시스템을 단위로 상호 연결되어 있으며 실제 연결에는 동축 케이블, 마이크로파선, 광섬유 등의 기술이 적용됩니다.
또한 궁극적으로 네트워크 시스템을 구축하기 위한 인프라를 제공하는 업체를 "인터넷 서비스 제공자" 또는 "ISP (Internet Service Provider)"라고 부르며 한국의 경우 SKT, KT, LG U+ 와 같은 기업에 이에 해당합니다.
통신 프로세서는 네트워크 상에서 서로 연결된 호스트 사이에 통신이 원활하게 이루어질 수 역할을 수행하고 있으며, 호스트 컴퓨터가 쉽게 사용할 수 있는 인터페이스를 정의하여 이를 기반으로 다양한 작업을 처리할 수 있도록 지원하고 있습니다.
각 호스트 컴퓨터들은 응용 프로세스를 지원하는 운영 체제를 포함하고 있으며, 이번 포스팅에서는 이러한 환경에서 ‘컴퓨터 네트워크’를 제어할 수 있는 운영체제에 대하여 다룰 예정입니다.
네트워크 운영체제는 아래와 같은 기능을 지원할 수 있습니다.
① 원거리 호스트를 위한 터미널 접근을 지원.
② 호스트(=컴퓨터)들 사이에서의 파일 전송을 처리.
③ 사용자들 간의 통신을 처리(e.g. 전자 우편)
컴퓨터 네트워크의 주된 목적 중 하나는 ‘자원의 공유’ 입니다. 즉, 호스트 A에 있는 자원을 호스트 B에서도 사용할 수 있도록 하는 것입니다. 그러나 다음과 같은 요인들로 인해 이러한 목적이 충분히 실현되지 못할 수 있습니다.
- 네트워크를 이용하기 위해 사용자들이 ‘네트워크’라는 개념에 대해서 이해해야 하며, 각각의 호스트의 운영체제에 대해서도 잘 알고 있어야 한다.
- 한 네트워크는 다른 여러 제조사에서 만들어진 호스트 컴퓨터를 가질 수 있으며, 따라서 이들 호스트 기기에 적재된 운영체제는 서로 다를 수 있다.
- 자원에 대한 가치는 각각의 호스트에 의해 처리된다. 어떤 특별한 호스트에 있는 자원에 접근하길 바라는 사용자들은 먼저 그 호스트를 유지하기 위한 가치를 설정해야 한다. (=권한 설정)
- 여러 가지 호스트와 그들의 자원에 대한 문서화는 어렵고, 경제적인 측면에서 비합리적이어서 약속된 하나의 정보를 얻어내기 어렵다.
위와 같은 문제들은 사용자에게 호스트를 명확하게 정의하는 통합된 하나의 운영체제 이용을 통해 해결될 수 있습니다. 즉 서로 다른 호스트 간의 네트워크를 구축하기 위한 관리를 담당하는 하나의 컨트롤 타워를 만들어 해결할 수 있다는 뜻입니다.
따라서, 네트워크를 이용하는 사용자들은 하나의 약속된 체계를 통해 제어되는 통합된 운영체제 즉 네트워크 운영체제를 사용하여 문제를 해결할 수 있습니다.
1.1. 네트워크의 유형
네트워크는 1개 이상의 호스트 장치로 이루어진 시스템을 칭하는 용어입니다. 이러한 장치들 사이의 ‘연결’은 다양한 통신 기술에 의해 실현될 수 있는데, 이러한 시스템의 목적과 그 구조에 따라서 다음과 같이 세가지 유형으로 분류할 수 있습니다.
1) 자원 공유 네트워크
이 유형의 네트워크는 호스트 장치가 다양한 장치들을 사용할 수 있도록 하는 것에 초점을 맞추었습니다. 아래의 그림을 살펴보면, 가운데의 ‘호스트(Host)’ 컴퓨터를 중심으로 다양한 주변기기를 사용할 수 있도록 연결된 것을 확인할 수 있습니다.

이러한 네트워크는 연결의 규모가 비교적 국지적인 규모에서 구축된 것이 특징입니다.
자원 공유 네트워크 시스템에서 자원을 공유하는 방식은 다음과 같을 수 있습니다.
- 원거리 파일 접근
- 호스트 간의 파일 전송
- 여러 호스트들에 구축된 데이터베이스를 통한 데이터 처리 (분산형 데이터 베이스)
- 원거리 인쇄 작업 (네트워크 프린팅)
이 시스템에서 통신은 일반적으로 ‘하나의 호스트’와 다른 호스트에서의 자원 관리자 처리 사이에 통신이 일어납니다.
2) 분산 계산 네트워크
분산 계산 네트워크는 여러 대의 컴퓨터나 장치들이 협력하여 작업을 수행하는 네트워크 시스템을 의미합니다. 이 시스템의 주요한 특징은 다음과 같습니다.
- 다중 작업을 여러 대의 호스트 컴퓨터들이 나누어 병행 처리할 수 있습니다.
- 특정 자원들을 그 자원을 가장 많이 사용하는 사용자들 부근에 위치시키고, 이러한 자원들을 직접 관리하는 호스트 컴퓨터들을 서로 연결하여 구성합니다.
- 응용 프로그램이나 데이터베이스들은 네트워크 전체에 분산되어 있는 것이 특징입니다.
- 네트워크를 구성하는 노드들은 서로 독립적으로 작동하면서도 공동의 목표를 달성하기 위해 프로그래밍되어 있습니다.
- 노드들은 메시지를 서로 교환하고 있으며, 들어온 메시지에 반응하고 처리합니다.
분산 계산 네트워크 시스템은 아래의 그림과 같이 회사에서 제어 공정을 관리하기 위한 실시간 처리 통제 시스템에 활용될 수 있습니다. 또한, 데이터 베이스 등도 서로 다른 컴퓨터에 구축 즉, 분산시킬 수 있으며 이를 통해 병렬로 작업을 처리해낼 수 있습니다.

3) 원거리 통신 네트워크
원거리 통신 네트워크, 또는 광역 통신망(WAN: Wide Area Network)은 넓은 지리적 거리와 장소를 넘나드는 통신 네트워크입니다. 이 네트워크 기술의 주요한 특징은 다음과 같습니다:
- 도시, 국가, 대륙 간 등 넓은 지역을 커버할 수 있습니다.
- LAN에 비해 상대적으로 속도가 느리고 통신 과정에서 오류의 발생 확률이 높습니다.
- 주로 전용 회선을 사용하여 구성됩니다.

이 시스템은 오늘날 가장 많은 사람들이 쉽게 접하는 네트워크 시스템 중 하나이며 가정에서 공유기 등을 통해 전용회선으로 인터넷에 접속해 유튜브, 블로그, 넷플릭스 등 수많은 인터넷 서비스를 소비할 수 있도록 하고 있습니다.
1.1.1. WAN(Wide Area Network)의 주요 기술
오늘날 네트워크 기술은 단순히 국지적인 호스트 컴퓨터 사이가 아닌 국가를 넘나드는 규모의 통신을 하기 위해 다양한 기술이 적용되었습니다. 이처럼 LAN의 규모보다 훨씬 커진 스케일에서도 통신이 가능하도록 네트워크 기술에는 다음과 같은 세 가지 기술이 적용되었습니다.
- 전용 회선 방식 (Dedicated Line)
- 회선 교환 방식 (Circuit Switching)
- 패킷 교환 방식 (Packet Switching)
이러한 기술들은 네트워크를 이루는 호스트 기기 간에 데이터의 교환을 위해 설계되었으며 각각의 특징은 다음과 같습니다.
1) 전용 회선 방식 (Dedicated Line)
전용 회선은 특정 사용자나 기업에게 독점적으로 할당되는 통신 회선입니다.
- 고정 대역폭 제공
- 포인트 투 포인트 연결
- 높은 보안성
- 서비스 품질 보장 (SLA)
- 데이터 패킷화
- 고정 대역폭을 통한 데이터 전송
- 데이터 수신 및 재조립
- 전용 회선은 안정적인 속도와 최소한의 지연 시간을 제공하며, 외부 침입 위험이 낮음.
2) 회선 교환 방식 (Circuit Switching)
회선 교환은 데이터 전송 전에 통신 경로를 미리 설정하는 방식입니다.
과거에 인터넷 보급이 시작될 무렵 전화선을 통한 인터넷도 이 기술이 적용되었습니다.
- 데이터 전송 전 회선 수립
- 독점적 회선 사용
- 데이터 전송 후 회선 자원 회수
- 대용량 고속 데이터 처리에 우수
- 대역폭 낭비, 높은 통신 비용
- 회선 교환은 전화망에서 주로 사용되며, 안정적인 연결을 제공.
3) 패킷 교환 방식 (Packet Switching)
패킷 교환은 데이터를 작은 단위(패킷)로 나누어 전송하는 방식입니다.
오늘날 네트워크를 통한 데이터 교환에 가장 많이 적용되는 기술입니다.
- 데이터를 패킷으로 분할
- 각 패킷별 최적 경로 수립
- 트래픽 및 에러 제어
- 데이터그램 패킷 교환 (비연결형)
- 가상 회로 패킷 교환 (연결 지향)
- 회선 효율성 증대
- 지연 발생 가능, 패킷 헤더 오버헤드
패킷 교환은 인터넷망에서 주로 사용되며, 네트워크 자원을 효율적으로 활용할 수 있도록 설계되었습니다.
위와 같은 네트워크 기술들은 각각의 장단점을 가지고 있어, 네트워크의 목적과 요구사항에 따라 적절한 방식을 선택하여 사용하는 것이 일반적입니다.
1.1.2. X.25
1975년 국제적인 노력으로 인해 당시 개발중인 많은 네트워크 기술을 하나로 통합하고 이를 통해 누구나 쉽게 사용할 수 있는 인터페이스, 즉 표준 사용자 인터페이스를 결정하기 위한 노력이 수반되었습니다.
이로 인하여CCITT Consultative Committee on International Telegraphy and Telephony, 국제전신전화 자문위원회)의 탄생이라는 결실을 맺을 수 있게 되었는데요.
1976년에 X.25라는 기술이 채택되면서 이후 개발된 수많은 표준 기술들이 X.25 기술을 기반으로 하여 성장하게 되었습니다. 이외에도 후속 기술로 X.29, X.75와 같은 기술 표준이 등장하게 되었으며 오늘날 패킷 스위칭 기술의 표준으로 정립된 기술이 X.25 입니다.
이러한 표준의 등장으로 인해 PDN(public data networks) 기술이 탄생하게 되었으며, 이러한 네트워크는 전화 네트워크와 같이 처리되며 오늘날 이동식 휴대전화 등에서 인터넷을 사용하는데 적용되는 기술입니다.
PDN의 주요한 특징은 아래와 같습니다.
- PDN은 지리적으로 분산된 위치에 있는 사용자와 애플리케이션을 연결할 수 있습니다. [광범위한 연결성]
- 여러 사용자가 동일한 네트워크 인프라를 공유합니다. 이는 비용 효율성을 높이지만 성능 변동을 야기할 수 있습니다. [공유 인프라]
- Public Subnet과 유사하게, PDN은 인터넷 게이트웨이(IGW)를 통해 외부 인터넷과 연결됩니다. [인터넷 접근성]
- 외부에서 접근이 가능한 네트워크 영역으로, 리소스들은 공인 IP를 가질 수 있습니다. [공개 접근]
- Private Network에 비해 보안 수준이 낮을 수 있어, 추가적인 보안 조치가 필요할 수 있습니다. [보안 고려사항]
- 다양한 사용자와 애플리케이션의 요구사항을 수용할 수 있는 유연한 구조를 가집니다. [유연성]
- 데이터 통신을 위해 표준화된 프로토콜을 사용하여 상호 운용성을 보장합니다. [표준화된 프로토콜]
이러한 특징들로 인하여 PDN은 다양한 조직과 개인 사용자들이 데이터를 효과적으로 공유하고 통신하도록 사용되고 있습니다.
1. 2. 네트워크 운영체제와 프리미티브
분산 시스템 소프트웨어는 자원들이 분산되어 있는 환경 속에서 수행되는 소프트웨어로 이에 핵심이 되는 운영체제는 네트워크 운영체제(NOS, Network Operating System)과 분산 운영 체제(DOS, Distributed Operating System)으로 구분할 수 있습니다.
일반적으로 네트워크 운영체제(NOS)는 기종의 차이가 크고 지역적으로 널리 분산된 네트워크 시스템에서 사용되며, 미니 혹은 마이크로 컴퓨터들의 지역 네트워크(LAN)에서는 분산 운영 체제가 사용되고 있습니다.
이러한 NOS는 아래와 같이 표현할 수 있습니다.

위 그림에서 NOS는 하나의 컴퓨터 시스템을 포함하는데, 이 컴퓨터 시스템은 자체적인 OS를 가질 수 있으며 이를 LOS라고 합니다.
이러한 구조를 채택한 이유는 분산 운영체제는 기본적으로 서로 다른 환경을 가진 컴퓨터 시스템 사이에서도 원활히 통신할 수 있도록 하는 것이 주된 목적이기 때문에 기종에 상관없이, 즉 이기종(hetrogeneous) 컴퓨터 사이에서도 통신 및 제어할 수 있도록 이와 같은 방식이 채택되었습니다.
하지만, 이러한 구조로 인해 NOS는 기존의 운영체제 즉 LOS 위에 존재하게 되므로 각 노드의 자율성은 최대로 보장될 수 있지만, 자원의 공유가 제한될 수 있으며 자원을 분산하여 관리할 때 사용자에게 투명성(transparency)를 보장하기 어려울 수 있습니다.
이와 관련하여 Fordisk, Schantz, Thomas는 다음과 같이 NOS에 대해 정의하였습니다.
“네트워크 운영체제(NOS, Network Operating System)은 소프트웨어의 집합이고 독립적인 컴퓨터의 집합 즉 컴퓨터 네트워크에 연결된 장치를 편리하고 효율적인 방법으로 서로 사용될 수 있도록 허용하는 프로토콜을 의미한다.”
따라서, 네트워크 운영체제는 다음과 같은 기능을 제공합니다.
- 사용자에게 네트워크 호스트의 여러 자원의 접근에 허용한다.
- 접근을 통제하여 권한을 가진 단일 사용자에게만 특별한 자원에 접근할 수 있도록 한다.
- 네트워크와 호스트 컴퓨터 사이 간의 차이는 사용자에게 명확히 한다.
- 원거리에 있는 자원의 이용을 LAN에서의 자원 이용과 차이가 없도록 한다.
- 네트워크를 사용할 때 유일한 계정에 대한 필요 절차를 제공해야 한다.
- 온라인으로 최신 네트워크 스펙에 대한 문서를 제공해야 한다.
- 단일 컴퓨터보다 훨씬 더 신뢰성이 있는 서비스를 제공해야 한다.
네트워크 운영체제에서 호스트들 사이에 프로그램과 데이터의 이동을 중개하고 제어하는 일련의 활동을 이동(migration)이라고 하는데, 이를 유지시키기 위한 것을 ‘프리미티브’라고 합니다.
프리미티브는 계층 구조 프로토콜에서 계층 간 서비스를 제공하는 기본적인 동작 단위이며, 복잡한 통신 과정을 단순화하고 표준화 하여 효율적인 네트워크 통신을 가능하게 하는 역할을 담당합니다.
네트워크 운영체제에서 사용되는 프리미티브는 다음과 같습니다.
1) 사용자 통신 프리미티브
사용자 간의 통신, 사용자와 시스템, 시스템과 사용자 통신, 상태 시험을 유지하기 위한 프리미티브입니다.
이 프리미티브는 사용자들간에 서로 전자우편을 보내고 전화 통화하는 것처럼 통신하는 것을 의미합니다. 예를 들면, 규모가 큰 대형 회의 등에서 적용될 수 있습니다.
2) 작업 이동(Migration) 프리미티브
이 프리미티브는 복잡한 작업을 여러 단계로 나누어 다른 호스트(컴퓨터)에서 수행합니다.
여러 단계로 나뉜 작업의 실행을 전체적으로 관리하고 조정합니다.
필요에 따라 작업을 다른 호스트로 이동시킬 수 있고, 네트워크 내의 여러 호스트에 작업을 분산시켜 전체적인 부하를 균형 있게 유지합니다.
특정 작업을 처리하는 데 더 적합한 호스트로 해당 작업을 이동시켜 효율성을 높일수도 있습니다.
이러한 방식은 분산 시스템의 효율성을 높이고, 리소스를 최적화하며, 전체 시스템의 성능을 향상시키는 데 도움이 될 수 있습니다. 중앙 네트워크 통제 메커니즘 등에서 사용됩니다.
3) 데이터 이동 프리미티브
이 프리미티브는 분산 시스템에서의 원거리 데이터 접근과 관련된 것입니다.
이 프리미티브는 다음과 같은 주요 특징이 있습니다.
- 원거리 데이터 접근 지원
- 호스트 간 경계를 넘어 데이터 유지
- 다른 문자 코드 간 번역 필요
- 원거리 호스트에 요청 후 항목 반환
- 전체 파일 검색 후 로컬 접근
- 직접 변형시에는 데이터를 있는 그대로 전송
- 데이터 변형시에는 새 호스트에 적합하게 데이터 재구성
이러한 프리미티브는 분산 시스템에서 효율적인 데이터 접근과 전송을 위해 사용되며, 시스템 간 호환성과 성능 최적화를 고려하여 설계되었습니다.
4) 제어 프리미티브
제어 프리미티브는 서브 네트워크 통제를 강제하거나 통신 자원들 간의 할당을 처리하고 네트워크와 호스트 사이의 상호 작용을 제어하는데 사용되는 프리미티브입니다.
참고 자료
- 김완규, 고정국, 진광윤, 최신형, 하성권, 허덕행 | 핵심 운영 체제론 | 두양사
'CS BASIC > 운영체제(Operation System)' 카테고리의 다른 글
[운영체제] 네트워크 위상(Topology)과 분산 시스템 (0) | 2025.01.07 |
---|---|
[운영체제] 교착 상태(Dead Lock)의 관리 기법 (1) | 2024.12.31 |
[운영체제] 교착 상태(Dead Lock)와 필요 조건 (0) | 2024.12.30 |
[운영체제] 세마포어(Semaphore) (1) | 2024.12.24 |
[운영체제] 병행 프로세스와 Dekker 알고리즘 (0) | 2024.12.23 |