정보처리기사 필기 - 5과목 데이터 통신


5장 통신 프로토콜


178 통신 프로토콜의 개념


① 통신 프로토콜의 정의


통신 프로토콜(Communication Protocol)은 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약

· 통신을 제어하기 위한 표준 규칙과 절차의 집합으로 하드웨어와 소프트웨어, 문서를 모두 규정


② 통신 프로토콜의 기본 요소


· 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정

· 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정

· 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정


③ 통신 프로토콜의 기능


단편화와 재결합

송신 측에서 전송할 데이터를 전송에 알맞은 일정 크기의 작은 블록으로 자르는 작업을 단편화(Fragmentation)라 하고, 수신 측에서 단편화된 블록을 원래의 데이터로 모으는 것을 재결합(Reassembly)

· 단편화를 통해 세분화된 데이터 블록을 프로토콜 데이터 단위(PDU; Protocol Data Unit)

· 데이터를 단편화하여 전송하면 전송 시간 빠르고, 통신 중의 오류를 효과적으로 제어 가능

· 너무 작은 블록으로 단편화 할 경우 재결합시 처리 시간이 길어지고, 실제 데이터 외에 부수적인 데이터가 많아지므로 비효율적


캡슐화

캡슐화(Encapsulation)는 단편화된 데이터에 송·수신 주소, 오류 검출 코드, 프로토콜 기능을 구현하기 위한 프로토콜 제어 정보 등의 정보를 부가하는 것으로, 요약화라고도 함

· 대표적인 예가 데이터 링크 제어 프로토콜의 HDLC 프레임

· 정보 데이터를 오류 없이 정확하게 전송하기 위해 캡슐화 수행


흐름 제어

흐름 제어는 수신 측의 처리 능력에 따라 송신 측에서 송신 데이터의 전송량이나 전송 속도를 조절하는 기능

· 정지-대기, 슬라이딩 윈도우 방식 이용


오류 제어

오류 제어는 전송중에 발생하는 오류를 검출하고 정정하여 데이터나 제어 정보의 파손에 대비하는 기능


동기화

동기화(Synchronization)는 송·수신 측이 같은 상태를 유지하도록 타이밍을 맞추는 기능


순서 제어

순서 제어는 전송된 데이터 블록(PDU)에 전송 순서를 부여하는 기능으로, 연결 위주의 데이터 전송 방식에만 사용됨

· 송신 데이터들이 순서적으로 전송되도록 함으로써 흐름 제어 및 오류 제어를 용이하게 하는 기능


주소 지정

주소 지정은 데이터가 목적지까지 정확하게 전송될 수 있도록 목적지 이름, 주소, 경로를 부여하는 기능

· 목적지 이름은 전송할 데이터가 가리키는 곳, 주소는 목적지의 위치, 경로는 목적지에 도착할 수 있는 방법


다중화

다중화는 한 개의 통신 회선을 여러 가입자들이 동시에 사용하도록 하는 기능


경로 제어

경로 제어는 송·수신 측 간의 송신 경로 중에서 최적의 패킷 교환 경로를 설정하는 기능


전송 서비스

전송하려는 데이터가 사용하도록 하는 별도의 부가 서비스

· 우선순위 : 특정 메시지를 최대한 빠른 시간 안에 목적지로 전송하기 위하여 메시지 단위에 우선순위를 부여하여 우선순위가 높은 메시지가 먼저 도착하도록 함

· 서비스 등급 : 데이터의 요구에 따라 서비스 등급을 부여하여 서비스

· 보안성 : 액세스 제한 같은 보안 체제 구현



179 OSI 참조 모


① OSI 참조 모델의 개요


OSI 참조 모델은 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol)

· 개방형 시스템(Open System)간이 데이터 통신 시 필요한 장비 및 처리 방법 등을 7단계로 표준화하여 규정

· OSI 7계층 : 하위 계층(물리계층→데이터 링크 계층→네트워크 계층)→상위계층(전송계층→세션 계층→표현 계층→응용 계층)

7계층

응용 계층

응용 프로토콜

6계층

표현 계층

표현 프로토콜

5계층

세션 계층

세션 프로토콜

4계층

전송 계층

전송 프로토콜

3계층

네트워크 계층

네트워크 프로토콜

2계층

데이터 링크 계층

데이터 링크 프로토콜

1계층

물리 계층

물리 프로토콜


② OSI 참조 모델의 목적


· 서로 다른 시스템 간을 상호 접속하기 위한 개념 규정

· OSI 규격을 개발하기 위한 범위 정함

· 관련 규정의 적합성을 조절하기 위한 공통적 기반 제공


③ OSI 참조 모델의 기본 원칙


· 적절한 수의 계층으로 나누어 시스템의 복잡도를 최소화

· 서비스 접점의 경계를 두어 상호 자용이 적어질 수 있도록 함

· 프로세스나 기술적인 면에서 명백히 다른 기능을 처리하도록 계층 분리

· 비슷한 기능은 하나의 계층으로 모음

· 인접한 상·하위 계층 간에는 인터페이스 둠

· 한 계층을 수정할 때는 다른 계층에 영향을 주지 않도록 함


④ OSI 참조 모델에서의 데이터 단위


프로토콜 데이터 단위

프로토콜 데이터 단위(PDU;Protocol Data Unit)는 동일 계층 간에 교환되는 정보의 단위

· 물리 계층(1) : 비트

· 데이터 링크 계층(2) : 프레임

· 네트워크 계층(3) : 패킷

· 전송 계층(4) : 세그먼트

· 세선, 표현, 응용 계층(5,6,7) : 메시지


서비스 데이터 단위

서비스 데이터 단위(SDU; Service Data Unit)는 서비스 접근점(SAP)을 통해 상·하위 계층끼리 주고받는 정보의 단위


⑤ 물리 계층(Physical Layer)


물리 계층은 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의

· 물리적 전송 매체와 전송 신호 방식을 정의, RA-232C, X.21등의 표준이 있음


⑥ 데이터 링크 계층(Data Link Layer)


데이터 링크 계층은 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함

· 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름 제어 기능

· 프레임의 시작과 끝을 구분하기 위한 프레임 동기화 기능

· 오류의 검출과 회복을 위한 오류 제어 기능

· 프레임의 순서적 전송을 위한 순서 제어 기능

· HDLC, LAPB, LLC, LAPD, PPP 등의 표준이 있음


⑦ 네트워크 계층(Network Layer, 망 계층)


네트워크 계층은 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능

· 네트워크 연결을 설정, 유지 해제하는 기능

· 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행

· 관련 표준 : X.25, IP 등


⑧ 전송 계층(Transport Layer)


전송 계층은 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End)간에 투명한 데이터 전송을 가능하게 함

· OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스 담당

· 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능

· 주소 설정, 다중화, 오류 제어, 흐름 제어 수행

· TCP, UDP 등의 표준 있음


⑨ 세션 계층(Session Layer)


세션 계층은 송·수신 측 간의 관련성을 유지하고 대화 제어를 담당하는 계층

· 대화(회화) 구성 및 동기 제어, 데이터 교환 관리 기능

· 송·수신 측 간의 대화(회화) 동기를 위해 전송하는 정보의 일정한 부분에 체크점을 두어 정보의 수신 상태를 체크하며, 이때의 체크점을 동기점이라고 함

· 동기점은 오류가 있는 데이터의 회복을 위해 사용하는 것으로, 종류에는 소동기점과 대동기점이 있음


⑩ 표현 계층(Presentation Layer)


표현 계층은 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능

· 서로 다른 데이터 표현 형태를 갖는 시스템 간이 상호 접속을 위해 필요한 계층

· 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷) 변환, 문맥 관리 기능


⑪ 응용 계층(Application Layer)


응용 계층은 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스 제공

· 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 등의 서비스 제공



180 X.25


① X.25의 개요


X.25는 DTE(데이터 터미널 장치, Data Terminal Equipment),와 DCE(데이터 회선 종단장치, Data Circuit-terminating Equipment)간의 인터페이스를 제공하는 프로토콜로, 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 절차

· X.25는 ITU-T에서 제정한 국제 표준 프로토콜로, 우수한 호환성을 가짐

· 연결형 프로토콜로 흐름 제어, 오류 제어 등의 기능 있음

· 강력한 오류 체크 기능으로 신뢰성 높음

· 한 회선에서 장애가 발생하더라도 정상적인 경로를 선택하여 우회 전송 가능

· 디지털 전송을 기본으로 하므로 전송 품질이 우수

· 가상 회선 방식을 이용하여 하나의 물리적 회선에 다수의 논리 채널을 할당하므로 효율 높음

· X.25의 모든 패킷은 최소 3옥텟의 헤더 갖음

· 축적 교환 방식을 사용하므로, 전송을 위한 처리 지연 발생 가능


② X.25의 계층 구조

 물리 계층

 물리 계층은 단말장치(DTE)와 패킷 교환망(DCE) 간의 물리적 접속에 관한 인터페이스를 정의하는 계층으로 X.21 사용

 프레임 계층

 프레임 계층은 패킷의 원할한 전송을 위해 데이터 링크의 제어를 수행하는 계층으로 링크 계층이라고도 함

 · OSI 7계층의 데이터 링크 계층(2계층)에 해당

 · 전송 제어를 위해 HDLC 프로토콜의 변형인 LAPB 사용

 · 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 등 수행

 패킷 계층

 · OSI 7계층의 네트워크 계층(3계층)에 해당

 · 패킷 계층의 수행 절차 : 호 설정(Call Setup)→데이터 전송(Data Transfer)→호 해제(Call Cleaning)

 · 데이터 전송 시 오류 제어, 순서 제어, 흐름 제어, 다중화, 망 고장시 복구 등의 데이터 전송 제어 기능 수행

 · 호(Call)를 설정한 후 호 해제 시까지 가상 회선을 이용하여 통신 경로를 유지하므로, 패킷을 끝까지 안전하기 전송 가능


※ LAPB

· LAPB(Link Access Procedure on Balanced)는 HDLC의 원리를 이용한 비트 중심의 프로토콜로, X.25의 2계층에서 사용

· LAPB는 프레임의 순서 번호를 유지하므로 오류 발견 및 회복 용이함



181 TCP/IP


① TCP/IP의 개요


TCP/IP(Transmission Control Protocol/Internet Protocol)는 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜

· TCP/IP는 1960년대 말 ARPA에서 개발하여 ARPANET(1972)에서 사용하기 시작함

· TCP/IP는 UNIX의 기본 프로토콜로 사용되었고, 현재 인터넷 범용 프로토콜로 사용됨

· TCP/IP는 다음과 같은 기능을 수행하는 TCP 프로토콜과 IP 프로토콜이 결합된 것을 의미함

 TCP(Transmission Control Protocol)

 · OSI 7계층의 전송 계층(4)에 해당

 · 신뢰성 있는 연결형 서비스 제공

 · 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제고

 · 스트림(Stream) 전송 기능 제공

 · 헤더에는 순서 제어를 위한 긴급 포인터, 순서 번호와 오류 제어를 위한 체크섬등이 포함됨

 IP(Internet Protocol)

 · OSI 7계층의 네트워크 계층(3)에 해당

 · 데이터그램을 기반으로 하는 비연결형 서비스 제공

 · 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공

 · 헤더의 길이는 최소 20Byte에서 최대 60Byte임


② TCP/IP의 구조

OSI

TCP/IP

기능

응용 계층(7)
표현 계층(6)
세션 계층(5)

응용 계층

 · 응용 프로그램 간의 데이터 송·수신 제공

 · TELNET, FTP, SMTP, SNMP 등

전송 계층(4)

전송 계층

 · 호스트들 간의 신뢰성 있는 통신 제공

 · TCP, UDP

네트워크 계층(3)

인터넷 계층

 · 데이터 전송을 위한 주소 지정, 경로 설정을 제공

 · IP, ICMP, IGMP, ARP, RARP

데이터 링크 계층(2)
물리 계층(1)

네트워크 액세스 계층

 · 실제 데이터(프레임)을 송·수신하는 역할

 · Ethernet, IEEE 802, HDLC, X.25, RS-232C 등


③ 응용 계층의 주요 프로토콜

응용 계층 : 세션 계층(5), 표현 계층(6), 응용 계층(7)

 FTP(File Transfer Protocol)

 파일 전송 서비스

 SMTP(Simple Mail Transfer Protocol)

 전자 우편을 교환하는 서비스

 TELNET

 가상 터미널 서비스

 SNMP(Simple Network Management Protocol)

 간이 망 관리 프로토콜

 · TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용되는 표준 통신 규약

 DNS(Domain Name Service)

 도메인 네임을 IP 주소로 매핑(Mapping)하는 서비스


④ 전송 계층의 주요 프로토콜

전송 계층 : 전송 계층(4)

 TCP(Transmission Control Protocol)

 · 양방향 연결형 서비스 제공
 · 가상 회선 연결 형태의 서비스 제공
 · 스트림 위주의 전달(패킷 단위)
 · 신뢰성 있는 경로 확립하고 메시지 전송 감독함
 · 순서 제어, 오류 제어, 흐름 제어 기능
 · 패킷의 분실, 손상, 지연이나 순서가 틀린 것 등이 발생할 때 투명성이 보장되는 통신 제공
 · TCP를 사용하는 서비스 : FTP, SMTP, TELNET, HTTP 등

 UDP(User Datagram Protocol)

 · 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스 제공
 · TCP에 비해 상대적으로 단순한 헤더 구조를 가지므로, 오버헤드 적음
 · 고속의 안정성 있는 전송 매체를 사용하여 빠른 속도를 필요로 하는 경우, 동시에 여러 사용자에게 데이터를 전달할 경우, 정기적으로 반복해서 전송 할 경우에 사용
 · 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용됨
 · 헤더에는 Source Port Number, Destination Port Number, Length, Checksum이 포함됨

 RTCP(Real-Time Control Protocol)

 · RTP(Real-time Transport Protocol) 패킷의 전송 품질을 제어하기 위한 제어 프로토콜
 · 세선에 참여한 각 참여자들에게 주기적으로 제어 정보 전송
 · 하위 프로토콜은 데이터 패킷과 제어 패킷의 다중화를 제공
 · 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만을 제공
 · RTCP 패킷은 항상 32비트의 경계로 끝남


⑤ 인터넷 계층의 주요 프로토콜

 IP(Internet Protocol)

 · 전송할 데이터에 주소를 저장하고, 경로를 설정하는 기능 수행

 · 비연결형인 데이터그램 장식을 사용하는 것으로 신뢰성 보장되지 않음(패킷이 목적지에 성공적으로 도달하는 것을 보장하지 않는다는 의미)

 ICMP(Internet Control Message Control,

 인터넷 제어 메시지 프로토콜)

 IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 하며, 헤더는 8Byte로 구성됨

 IGMP(Internet Group Management Protocol,

 인터넷 그룹 관리 프로토콜)

 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티 캐스트 그룹 유지를 위해 사용됨

 ARP(Address Resolution Protocol,

 주소 분석 프로토콜

 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꿈

 논리 주소→물리주소

 RARP(Reverse Address Resolution Protocol)

 ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 함

 물리 주소→논리주소


⑥ 네트워크 액세스 계층의 주요 프로토콜

네트워크 액세스 계층 : 물리 계층(1), 데이터 링크 계층(2)

 Ethernet(IEEE 802.3)

 CSMA/CD 방식의 LAN

 IEEE802

 LAN을 위한 표준 프로토콜

 HDLC

 비트 위주의 데이터 링크 제어 프로토콜

 X.25

 패킷 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜

 RS-232C

 공중 전화 교환망(PSTN)을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜



출처 : 2017 시나공 정보처리기사 필기


'정보처리기사 > 데이터통신' 카테고리의 다른 글

데이터통신 오답노트  (0) 2017.02.27
4장 데이터 회선망  (0) 2017.02.15
3장 전송 제어 방식  (0) 2017.02.14
2장 데이터 통신 이론  (0) 2017.02.14
1장 데이터 통신의 기본  (0) 2017.02.14

정보처리기사 필기 - 5과목 데이터 통신


4장 데이터 회선망


165 전용 회선/교환 회선


전용 회선과 교환 회선은 송·수신 측 상호 간을 연결하는 경로 중에 교환기의 사용 여부에 따라 구분됨


① 전용 회선


전용 회선(Leased Line)은 송·수신 상호 간에 통신 회선이 항상 고정되어 있는 방식

· 전용 회선의 연결 방식에는 송·수신 측을 일 대 일 독립적으로 연결하는 포인트 투 포인트 방식과 하나의 공유된 통신 회선에 여러 대의 단말기들을 연결하는 멀티 드럽(멀티 포인트) 방식이 있음

· 전송 속도가 빠르고 전송 오류 적음

· 사용 방법 간편하고 업무 적용 쉬움

· 전송할 데이터의 양이 많고 회선의 사용 시간이 많을 때 효율적

· 고장 발생 시 유지·보수가 유리함

※ 포인트 투 포인트 / 멀티 드롭

포인트 투 포인트 방식은 점 대 점 방식, 직통 회선 방식이라고도 하며, 멀티 드롭(멀티 포인트) 방식은 다중 점 방식, 분기 회선 방식이라고도 함


② 교환 회선


교환 회선(Switched Line)은 교환기에 의해 송·수신 상호 간이 연결되는 방식

교환 회선의 특징

· 전용 회선에 비해 전송 속도가(4,800bps 이하) 느림

· 정보 보안을 위해 정보 누설과 파괴를 방지하는 조치 필요

· 회선을 공유하므로 효용도 높고, 통신 장치와 회선 비용을 줄일 수 있음

· 전송할 데이터의 양이 많지 않고, 회선 사용 시간이 적을 때 효율적


데이터 교환 방식

교환 회선에 사용되는 데이터 교환 방식

- 회선 교환 방식 : 송·수신 측 간의 통신 회선을 교환기에 의해서 물리적으로 접속시켜 주는 방식

- 축적 교환 방식 : 교환기의 임시 기억장치를 이용하는 방식

[그림 1] 데이터 교환 방식


※ 교환 기술의 성능 비교 요소

· 전파 지연 : 신호가 한 노드에서 다음 노드로 도달하는 데 걸리는 시간

· 전송 지연 : 데이터가 출발지에서 도착지까지 도달하는 데 걸리는 시간

· 노드 지연 : 한 노드가 데이터를 교환하기 위하여 필요한 시간

· 데이터 처리율 : 정해진 시간 동안 받아들이고 전송할 수 있는 데이터의 비율

- 노드는 컴퓨터나 단말장치 같은 종단 시스템에 연결된 교환기나 통신망 내부의 중계 교환기, 라우터 등을 의미



166 회선 구성 방식


① 회선 구성 방식의 개요


· 회선 구성 방식은 컴퓨터와 여러 대의 단말기들을 연결하는 방식

· 포인트 투 포인트 방식, 멀티 드롭 방식, 회선 다중 방식


② 포인트 투 포인트 방식


포인트 투 포인트(Poing-to-Point, 점 대 점) 방식은 중앙 컴퓨터와 단말기를 일 대 일 독립적으로 연결하여 언제든지 데이터 전송이 가능하게 한 방식

· 전용 회선 또는 교환 회선에서 이용

· 전송할 데이터의 양과 회선 사용 시간이 많을 때 효율적

· 고장 발생 시 유지 보수 쉬움

· 통신망을 성형(Star, 중앙의 중앙 컴퓨터와 이를 둘러싼 단말장치들을 포인트 투 포인트 방식으로 연결하는 중앙 집중식의 네트워크 구성 형태)으로 구성할 때 사용


③ 멀티 드롭(멀티 포인트) 방식


멀티 드롭(Multi-Drop)방식은 멀티 포인트(Multi-Point, 다중 점) 방식이라고도 하며, 여러 대의 단말기들을 한 개의 통신 회선에 연결하는 방식

· 통신 회선은 전용 회선 사용

· 제어용 컴퓨터가 주국이 되고 단말기가 종국이 됨

· 멀티 드롭에 사용하는 단말기는 주소 판단 기능과 데이터 블록을 일시 저장할 수 있는 버퍼 기억장치 있어야 함

· 전송할 데이터의 양과 회선 사용 시간이 적을 때 매우 효율적

· 회선을 공유하기 때문에 효용도가 높고 가격도 저렴

· 선로의 속도, 단말기에 의해 생기는 교통량, 하드웨어와 소프트웨어의 처리 능력에 따라 연결할 수 있는 단말기의 수가 달라짐

· 통신 회선 고장 시 고장 지점 이후의 단말기들이 모두 운영 불능에 빠지는 단점 있음

· 통신망을 버스형(Bus, 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 네트워크 형태)으로 구성할 때 사용

· 데이터 전송은 폴링(Polling)과 셀렉션(Selection)에 의해 수행됨


④ 회선 다중 방식


회선 다중(Line Multiplexing) 방식은 다중화 방식이라고도 하며, 여러 대의 단말기들을 다중화 장치를 이용하여 중앙 컴퓨터와 연결하는 방식

· 중앙 컴퓨터와 다중화 장치 사이는 대용량 회선으로 연결됨

· 대용량 통신 회선을 저속 단말기들이 공유함으로써, 전송 속도 및 효율을 높일 수 있음



167 데이터 교환 방식 - 회선 교환 방식


① 회선 교환 방식의 개요


· 회선 교환 방식(Circuit Switching)은 통신을 원하는 두 지점을 교환기를 이용하여 물리적으로 접속시키는 방식으로, 기존의 음석 전화망이 대표적. 회선 교환 방식은 크게 공간 분할 교환 방식과 시분할 교환 방식으로 나누어짐

· 데이터 전송 전에 먼저 물리적 통신 회선을 통한 연결 필요함

(회선 교환 방식의 통신 과정 : 호(링크)설정→데이터 전송→호(링크) 해제)

· 일단 접속이 되고 나면 그 통신 회선은 전용 회선에 의한 통신처럼 데이터가 전달됨(고정 대역 전송)

· 접속에는 긴 시간이 소요되나 일단 접속되면 전송 지연이 거의 없어 실시간 전송 가능

· 회선이 접속되더라도 수신 측이 준비되어 있지 않으면 데이터 전송 불가능

· 데이터 전송에 필요한 전체 시간이 축적 교환 방식에 비해 오래 걸림

· 접속된 두 지점이 회선을 독점하기 때문에 접속된 이외의 다른 단말기는 전달 지연을 가지게 됨

· 데이터가 전송되지 않은 동안에도 접속이 유지되기 때문에 데이터 전송이 연속적이지 않은 경우 통신 회선이 낭비됨

· 일정한 데이터 전송률을 제공하므로 동일한 전송 속도가 유지됨

· 전송된 데이터의 오류 제어나 흐름 제어는 사용자에 의해 수행됨


② 공간 분할 교환 방식


공간 분할 교환 방식(SDS; Space Division Switching)은 기계식 접점과 전자 교환기의 전자식 접점 등을 이용하여 교환을 수행하는 방식으로, 음성 전화용 교환기가 이에 속함

· 기존의 음성용 전화 회선망을 그대로 이용할 수 있어 간단한 저속 데이터 전송에 매우 효과적

· 본래가 음성용이므로 데이터 통신을 위해서는 융통성이 적고 오류율이 높음

· 연결 접속 시간이 길소 고속 전송 어려움

· 속도나 코드의 변환 어려움


1단 공간 분할 교환 방식

· 장치 대 장치 사이를 Cross Bar Matrix 형태의 공간으로 분할하는 방식

· 입력 회선이 m개, 출력 회선이 n개일 때, 교차점의 개수는 m×n

· 일단 연결이 되면 전송 지연 없고, 데이터 전송이 완결될 때까지는 연결 상태가 지속됨

· m×n개의 교차점 중에서 실제 이용되는 교차점은 n개 이므로, 비효율적

· 교차점의 수가 연결된 장치의 수에 비례하여 늘어나므로, 대규모 시스템은 구현하기 어려움

· 하나의 교차점이 고장나면 그 곳에 의존하는 두 장치들이 연결될 수 없음


다단 공간 분할 교환 방식

· 1단 교환 방식의 단점을 보완한 방식

· 교차점의 수를 줄일 수 있고, Cross Bar의 이용도가 높아짐

· 장치 대 장치를 여결하는 경로가 하나 이상 존재하므로, 신뢰도를 향상시킬 수 잇음

· 상대방이 통화중이 아니더라도 연결할 중간 회선이 없으면 연결되지 않을 수도 있음

· 제어 체계 복잡함


③ 시분할 교환 방식


시분할 교환 방식(TDS; Time Division Switching)은 전자 부품이 갖는 고속성과 디지털 교환 기술을 이용하여 다수의 디지털 신호를 시분할적으로 동작시켜 다주와하는 방식

· 데이터 전용 회선 교환 방식에 이용됨

· 시분할 교환 방식에는 TDM 버스 교환 방식, 타임 슬롯 교환 방식, 시간 다중화 교환 방식이 있음


※ 회선 교환 방식에서의 제어 신호

회선 교환 방식에서의 제어 신호는 네트워크를 관리하며, 호를 설정하고 유지하고 해제하는 기능을 수행

제어 신호의 종류

· 감시(관리) 제어 신호 : 상대방과 통화하는 데 필요한 자원을 이용할 수 있는지를 결정하고 알리는 데 사용되는 제어 신호로, 서비스 요청, 응답, 경보 및 휴지 상태 복귀 신호 등의 기능 수행

· 주소 제어 신호 : 상대방을 식별하고 경로를 배정하여 전화를 울리게 함

· 호 정보 제어 신호 : 호의 상태에 대한 정보를 송신자에게 제공하는 역할. 예를 들면, 수화기를 들었을 때의 신호음, 다이얼을 눌렀을 때의 연결음, 상대편이 통화중일 때의 통화중 신호음 등을 의미

· 망 관리 제어 신호 : 통신망의 전체적인 운영, 유지, 고장 수리 등을 위해 사용됨



168 데이터 교환 방식 - 축적 교환 방식


① 축적 교환 방식의 개요


축적 교환 방식은 송신 측에서 전송한 데이터를 송신 측 교환기에 저장시켰다가 이를 다시 적절한 통신 경로를 선택하여 수신 측 터미널에 전송하는 방식. 축적 교환 방식 : 메시지 교환 방식, 패킷 교환 방식

· 하나의 통신 회선을 여러 메시지가 공유 가능

· 메시지를 저장시켰다가 전송하므로 기억 장치 필요

· 전송 속도와 코드가 서로 다른 장치 간에도 통신 가능

· 초기 설계 비용 및 통신 비용 저렴

· 부가적인 내용을 추가하여 전송 가능

· 전송 속도나 코드의 변환 및 전송 오류 정정 가능


② 메시지 교환 방식


메시지 교환 방식(Message Switching)은 교환기가 일단 송신 측의 메시지를 받아서 저장한 후 전송 순서가 되면 수신 측으로 전송함

· 각 메시지마다 전송 경로를 결정하고, 수신 측 주소를 붙여서 전송

· 전송 메시지는 교환기의 기억장치에 일정 기간 동안 저장되어 추후 검색이 가능

· 전송 지연 시간이 매우 길며, 응답 시간이 느려 대화형 데이터 전송에 부적절

· 전송량이 폭주하는 경우에도 저장 기능을 이용하여 교환기의 혼란 상태를 피할 수 있음

· 송신 측과 수신 측이 동시에 운영 상태에 있지 않아도 됨

· 같은 내용의 메시지를 여러 곳에 전송 가능


③ 패킷 교환 방식의 개요


패킷 교환 방식(Packet Switching)은 메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식

· 패킷은 장애 발생 시의 재전송을 위해 패킷 교환기에 임시 저장되었다가 곧 전송되며 전송이 끝난 후 폐기됨

· 패킷 교환망은 OSI 참조 모델의 네트워크 계층에 해당함

· 패킷형 터미널을 위한 DTE와 DCE 사이의 접속 규정 : X.25

· 패킷망 상호 간의 접속을 위한 프로토콜 : X.75

· 하나의 통신 회선을 여러 사용자가 공유할 수 있으므로 회선 이용률 높음

· 수신 측에서 분할됨 패킷을 재조립해야 함

· 응답 시간이 빠르므로 대화형 응용이 가능

· 통신량의 제어를 통한 망의 안전성 높일 수 있음

· 전송 시 교환기, 통신 회선 등에 장애가 발생하여도 다른 정상적인 경로를 선택하여 우회 가능

· 음성 전송보다 데이터 전송에 더 적합함


④ 패킷 교환 방식의 종류

 가상 회선 방식

 · 단말기 상호 간에 논리적인 가상 통신 회선을 미리 설정하여 송신지와 수신지 사이의 연결을 확립한 후에 설정된 경로를 따라 패킷들을 순서적으로 운반하는 방식

 · 정보 전송 전에 제어 패킷에 의해 경로 설정됨

 · 통신이 이루어지는 컴퓨터 사이에 데이터 전송의 안정성과 신뢰성 보장됨

 · 모든 패킷은 같은 경로로 발생 순서대로 전송됨. 즉 패킷의 송·수신 순서가 같음

 · 통신 과정 : 호(Call) 설정(가상 회선의 설정)→데이터 전송(패킷의 전송)호(Call) 해제(가상 회선의 해제)

 · 모든 패킷이 전송되면 마지막으로 "Clear Request Packet"을 전송하여 이미 확립된 접속을 끝내고 원래 상태로의 복구를 요청함

 데이터 그램 방

 · 연결 경로를 설정하지 않고 인접한 노드들의 트래픽(전송량) 상황을 감안하여 각각의 패킷들을 순서에 상관없이 독립적으로 운반하는 방식

 · 패킷마다 전송 경로가 다르므로, 패킷은 목적지의 완전한 주소를 가져야 함

 · 네트워크의 상황에 따라 적절한 경로로 패킷을 전송하기 때문에 융통성이 좋음

 · 순서에 상관없이 여러 경로를 통해 도착한 패킷들은 수신 측에서 순서를 재정리함

 · 소수의 패킷으로 구성된 짧은 데이터 전송에 적합


⑤ 패킷 교환망(PSDN; Packet Switched Data Network)의 기능

 패킷 다중화

 물리적으로는 한 개의 통신 회선을 사용하면서도 패킷마다 논리 채널(가상 회선) 번호를 붙여 동시에 다수의 상대 터미널과 통신을 수행하도록 하는 기능

 경로 제어(Routing)

 출발지에서 목적지까지 이용 가능한 전송로를 찾아본 후에 가장 효율적인 전송로를 선택하는 기능

 논리 채널

 송·수신 측 단말기 사이에서 논리 채널(가상 회선)을 설정하는 기능

 순서 제어

 패킷을 여러 경로를 통해서 전송할 때 패킷의 순서가 송신 측에서 보낸 순서와 다르게 수신되는 것을 방지하기 위한 기능

 트래픽 제어(Traffic Control)

 · 망의 보호, 성능 유지, 망 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능

 · 교착상태(Dead Lock)의 방지, 흐름 제어 등을 수행

 오류 제어

 오류를 검출하고 정정하는 기능


※ 패킷 교환망의 구성

· NPT(비패킷 단말기) : 전송할 정보 메시지를 패킷 단위로 분할하는 기능이 없는 단말기

· PT(패킷형 단말기) : 패킷 분할 및 결합 기능을 갖추고 있는 단말기

· PSE(패킷 교환기) : 패킷의 축적 및 경로 설정 기능을 갖추고 있는 교환기

· 패킷 다중화 장치(PMX) : 비 패킷 단말기(NPT)에서 전송하는 정보 메시지를 패킷으로 분할하고, NPT에서 수신할 정보가 패킷 단위로 들어노는 것을 정보 메시지로 조립하여 전달하는 장치. 패킷 조립 및 분해 기능은 PMX내의 PAD(Packet Assembler/Diassembler)에 의해 이루어짐



169 경로 제어와 트래픽 제어


① 경로 제어의 개요


경로 제어(Routing)는 송·수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 설정하는 기능

· 최적 패킷 교환 경로란 어느 한 경로에 데이터의 양이 집중되는 것을 피하면서, 최저의 비용으로 최단 시간에 송신할 수 있는 경로

· 경로 설정은 경로 제어표(Routing Table, 목적지 주소와 비용, 이웃 라우터의 주소 저장됨)를 참조해서 이루어지며, 라우터에 의해 수행됨

※ 라우터 : 하나의 도메인에 속하는 네트워크와 네트워크를 연결하고, 데이터 전송의 최적 경로를 선택하는 기능을 하는 장치

· 경로 설정 요소 : 성능 기준, 경로의 결정 시간과 장소, 정보 발생지, 경로 정보의 갱신 시간


② 경로 설정 프로토콜


경로 설정 프로토콜(Routing Protocol)이랑 효율적인 경로 제어를 위해 네트워크 정보를 생성, 교환, 제어하는 프로토콜을 총칭


IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)

· 하나의 자율 시스템(AS, 하나의 도메인에 속하는 라우터들의 집합) 내의 라우팅에 사용되는 프로토콜

· RIP(Routing Information Protocol)

현재 가장 널리 사용되는 라우팅 프로토콜

소규모 동종의 네트워크(자율 시스템, AS) 내에서 효율적인 방법

최대 홉(Hoop, 데이터가 목적지까지 전달되는 과정에서 거치는 네트워크의 수)수를 15로 제한하므로 15이상의 경우는 도달할 수 없는 네트워크를 의미하는데 이것은 대규모 네트워크에서는 RIP를 사용할 수 없음을 의미

라우팅 정보를 30초마다 네트워크 내의 모든 라우터에 알리며, 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주

· OSPF(Open Shortest Path Firtst protocol)

대규모 네트워크에서 많이 사용되는 라우팅 프로토콜

- 라우팅 정보에 변화가 생길 경우, 변화된 정보만 네트워크 내의 모든 라우터에 알림


EGP(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)

· 자율 시스템(AS) 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜


BGP(Border Gateway Protocol)

· 자율 시스템(AS)간의 라우팅 프로토콜로, EGP의 단점을 보완하기 위해 만들어짐

· 초기에 BGP 라우터들이 연결될 때에는 전체 경로 제어표(라우팅 테이블)을 교환하고, 이후에는 변환된 정보만을 교환


③ 경로 설정 방식

 고정 경로 제어(Static Routing)

 = 착국 부호 방식

 · 네트워크 내의 모든 쌍에 대해서 경로를 미리 정해 놓은 방식

 · 네트워크의 상태 변화와 관계없이 경로를 설정하는 비적응 경로 배정(Nonadaptive Routing)

 · 통신망 설계자가 최적 경로를 미리 결정하여 경로 제어표를 구성해 놓으면, 송신 측 교환기가 경로 제어표를 참조하여 경로를 선택하고 패킷 전송

 적응 경로 제어(Adaptive Routing)

 통신망 내에서 시시각각으로 변하는 통화량에 따라 교환기 및 통신망의 상태 등에 의해 전송 경로를 동적으로 결정하는 방식

 범람 경로 제어(Flooding)

 · 네트워크 정보를 요구하지 않고, 송신처와 수신처 사이에 존재하는 모든 경로로 패킷을 전송하는 방식

 · 각 교환기에 도착하는 패킷을 다른 모든 교환기로 복사하여 전송하는 방식으로, 경로 제어표 필요 없음

 임의 경로 제어(Random Routing)

 인접하는 교환기 중 하나를 임의로 선택하여 전송하는 방식


④ 트래픽 제어 개요


· 트래픽 제어(Traffic Control)는 네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능

· 종류 : 흐름 제어, 폭주(혼합) 제어, 교착상태 방지 기법


⑤ 흐름 제어

흐름 제어(Flow Control)란 네트워크 내의 원활한 흐름을 위해 송·수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능

· 송신 측과 수신 측 간의 처리 속도 또는 버퍼 크기의 차이에 의해 생길 수 있는 수신 측 버퍼의 오버플로(Overflow)를 방지하기 위한 기능

※ 수신 측에서는 수신된 데이터를 버퍼에 저장한 후 순차적으로 처리해서 상위 계층으로 전달하는데,송신 측의 속도가 수신 측보다 빠르면

 정지-대기(Stop-and-Wait)

 · 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식

 · 한 번에 하나의 패킷만을 전송 가능

 슬라이딩 윈도우(Sliding Window)

 · 확인 신호, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식

 · 수신 측의 확인 신호를 받지 않더라도 미리 정해진 패킷의 수만큼 연속적으로 전송하는 방식으로, 한 번에 여러 개의 패킷을 전송할 수 있어 전송 효율 좋음

 · 송신 측은 수신 측으로부터 확인 신호(ACK) 없이도 보낼 수 있는 패킷의 최대치를 미리 약속받는데, 이 패킷의 최대키가 윈도우 크기(Window Size) 의미

 · 윈도우 크기는 상황에 따라 변함. 즉, 수신 측으로부터 이전에 송신한 패킷에 대한 긍정 수신 응답이 전달된 경우 윈도우 크기는 증가하고, 수신 측으로부터 이전에 송신한 패킷에 대한 부정 수신 응답이 전달된 경우 윈도우 크기는 감소


⑥ 폭주(혼잡) 제어


흐름 제어(Flow Control)가 송·수신 측 사이의 패킷 수를 제어하는 기능이라면 폭주(Congestion Control) 제어는 네트워크 내의 패킷 수를 조절하여 네트워크의 오버플로를 방지하는 기능

· 폭주 제어는 네트워크 내의 모든 단말장치들의 패킷 수를 제어

· 송신 측에서 전송한 데이터는 수신 측에 도착할 때까지 여러 개의 라우터를 거치는데, 데이터의 양이 라우터가 처리할 수 있는 양을 초과하면 초과된 데이터는 라우터가 처리하지 못함

· 송신 측에서는 라우터가 처리하지 못한 데이터를 손실 데이터로 간주하고 계속 재전송하게 되므로 네트워크는 더욱 혼잡해짐

· 이러한 상황은 송신 측의 전송 속도를 적절히 조절하여 예방할 수 있음 -> 폭주 제어


⑦ 교착상태 방지


교창상태(Dead Lock)란 교환기 내에 패킷들을 축적하는 기억공간이 꽉 차 있을 때 다음 패킷들이 기억공간에 들어가기 위해 무한정 기다리는 현상

· 패킷이 같은 목적지를 갖지 않도록 할당하고, 교착 상태 발생 시에는 교착상태에 있는 한 단말장치를 선택하여 패킷 버퍼를 폐기함



170 망(Network)의 구성 형태


① 망(Network)의 구성 형태


· 통신망(Communication Network)은 정보를 전달하기 위해서 통신 규약에 의해 연결한 통신 설비의 집합

· 통신망을 구성하는 장치들을 공간적으로 어떻게 배치하느냐, 즉 장치들의 물리적 위치에 따라 망의 구성 형태 나누어짐


② 성형(중앙 집중형)


성형(Star)은 중앙에 중앙 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식의 네트워크 구성 형태

· 포인트 투 포인트 방식으로 회선 연결

· 각 단말장치들은 중앙 컴퓨터를 통하여 데이터 교환

· 단말장치의 추가와 제거 쉬움

· 하나의 단말장치가 고장나더라도 다른 단말장치에는 영향을 주지 않지만, 중앙 컴퓨터가 고장나면 전체 통신망의 기능이 정지됨

· 중앙 집중식이므로 교환 노드의 수가 가장 적음


③ 링형(루프형)


링형(Ring)은 컴퓨터와 단말장치들을 서로 이웃하는 것끼리 포인트 투 포인트 방식으로 연결시킨 형태

· 분산 및 집중 제어 모두 가능

· 단말장치의 추가/제거 및 기밀 보호 어려움

· 각 단말장치에서 전송 지연 발생 가능

· 중계기의 수 증가

· 데이터는 단방향 또는 양방향으로 전송 가능, 단방향 링의 경우 컴퓨터, 단말장치, 통신 회선 중 어느 하나라도 고장나면 전체 통신망에 영향을 미침(양방향 링은 노드에 이상이 있을 경우 다른 방향으로 우회할 수 있으므로, 정상적인 노드들끼리는 통신 가능)


④ 버스형


버스형(Bus)은 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태

· 물리적 구조가 간단, 단말장치의 추가 제거 용이

· 단말장치가 고장나더라도 통신망 전체에 영향을 주지 않기 때문에 신뢰성 높일 수 있음

· 기밀 보장 어려움, 통신 회선이 길이에 제한 있음


⑤ 계층형(분산형)

계층형(Tree)은 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고, 이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로부터 다시 연결시키는 형태

· 분산 처리 시스템을 구성하는 방식


⑥ 망형


망형(Mesh)은 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태로, 노드의 연결성 높음

· 많은 단말장치로부터 많은 양의 통신을 필요로 하는 경우에 유리

· 보통 공중 데이터 통신망에서 사용되며, 통신 회선의 총 경로가 가장 길다

· 통신 회선 장애 시 다른 경로를 통하여 데이터 전송 가능

· 모든 노드를 망형으로 연결하려면 노드의 수가 n개일 때, n(n-1)/2개의 회선이 필요하고 노드당 n-1개의 포트가 필요함



171 LAN(근거리 통신망)


① LAN의 개요


LAN(근거리 통신망, Local Area Network)은 광대역 통신망과는 달리 학교, 회사, 연구소 등 한 건물이나 일정 지역 내에서 컴퓨터나 단말기들을 고속 전송 회선으로 연결하여 프로그램 파일 또는 주변 장치를 공유할 수 있도록 한 네트워크 형태

· 단일 기관의 소유, 제한된 지역 내의 통신

· 광대역 전송 매체의 사용으로 고속 통신 가능

· 공유 매체를 사용하므로 경로 선택 없이 매체에 연결된 모든 장치로 데이터 전송

· 오류 발생률 낮음

· 네트워크에 포함된 자원 공유

· 네트워크의 확장이나 재배치 쉬움

· 전송 매체로 꼬임선, 동축 케이블, 광섬유 케이블 등을 사용

· 망의 구성 형태에 따라서 성형, 버스형, 링형, 계층형으로 분류됨


② LAN의 이용 효과 및 장점


· 자원의 효율적인 백업

· 다른 기종 간의 통신에서 사무 처리의 능률화

· 파일 공유에 따른 처리의 효율화 및 통일된 관리

· 기기 자원의 공유에 따른 이용 효율의 향상과 경비 절감

· 분산 처리로 시스템 전체의 성능 향상


③ LAN의 표준안


LAN의 표준안은 IEEE 802 위원회에 의해 추진되었으며, OSI 참조 모델의 하위 두 개 계층인 물리 계층과 데이터 링크 계층을 대상으로 함

LAN의 계층 구조

IEEE 802 위원회에서 지정한 LAN의 계층 구조

· 물리계층

- OSI 7 계층의 물리 계층과 동일한 기능 제공

· 데이터 링크 계층

- OSI 7 계층의 데이터 링크 계층에 해당하는 일을 담당하며, 매체 접근 제어(MAC) 계층과 논리 링크 제어(LLC) 계층으로 분류됨

- 매체 접근 제어(MAC, Media Access Control) : 물리 네트워크(공유 매체)에 대한 접근 제어 담당

- 논리 링크 제어(LLC, Logical Link Control) : 매체 접근 제어(MAC)에 의해 확보된 채널을 사용하여 메시지를 전송할 때 필요한 연결 관리 절차와 ACK, NAK, 순서화, 오류 제어, 흐름 제어 담당


IEEE 802의 주요 표준 규격

IEEE 802 위원회에서 지정한 LAN의 표준 규격

표준 규격

내용

802.1

 전체의 구성, OSI 참조 모델과의 관계, 통신망 관리 등에 관한 규약

802.2

 논리 링크 제어(LLC) 계층에 관한 규약

802.3

 CSMA/CD 방식(LAN의 매체 접근제어 방식)의 매체 접근 제어 계층에 관한 규약

802.4

 토큰 버스 방식의 매체 접근 제어 계층에 관한 규약

802.5

 토큰 링 방식의 매체 접근 제어 계층에 관한 규약

802.6

 도시형 통신망(MAN)에 관한 규약

802.9

 종합 음성/데이터 네트워크에 관한 규약

802.11

 무선 LAN에 관한 규약


④ LAN의 확장형


· LAN의 구축 거리는 수 킬로미터 이내로 짧게 제한되며 단일 조직의 소유

· 그러나 정보화의 확산으로 일정 지역의 제한된 영역을 넘어 원거리 또는 다른 네트워크와의 데이터 교환이 필요해짐

· 네트워크의 구성 거리에 따라 LAN 구분

 MAN(Metropolitan Area Network)

 · 도시형 통신망이라고 하며, 약 50km 반경 이내의 도시, 번화가, 대단위 아파트 단지 등을 대상으로 구성하는 통신망

 · 단일 기관 내에서만 구성하는 LAN의 제약과 가까운 거리에 있는 시스템간에도 호스트 컴퓨터를 일일이 거치므로 비용 낭비 및 능률 저하가 발생하는 WAN(광역 통신망)의 단점을 해소하기 위한 통신망

 WAN(Wide Area Network)

 · 일반적으로 제3자에 의해 제공되고 운영되는 공중망(Public Network)

 · LAN이 여러 개 모여서 그들 간에 고속 전송이 가능한 전용 회선으로 연결

※ CO-LAN(공중 기억 통신망)

 CO-LAN(Central Office-LAN)은 대학, 병원 및 연구소 등 근거리 통신망이 플요하면서도 여건이 안 되는 기관 간에 인근 전화국의 데이터 교홤낭과 기존 통신망을 연동시켜 구성하는 통신망



172 매체 접근 제어(MAC)


① 매체 접근 제어(MAC)


· 매체 접근 제어(MAC; Media Access Control)는 LAN에서 하나의 통신 회선을 여러 단말장치들이 원할하게 공유할 수 있도록 해주는 통신 회선에 대한 접근 방식

· 매체 접근 방식 종류 : CSMA 방식, CSMA/CD 방식, 토큰 버스 방식, 토큰 링 방식


② CSMA 방식


CSMA 방식은 각 노드가 데이터 프레임을 송신하기 전에 통신 회선을 조사하여 사용중이면 대기하고, 그렇지 않으면 데이터 프레임을 송신하는 방식

· 동일 통신 회선을 통해 한 노드가 데이터 프레임을 송신하는 도중에 다른 노드에서 또 다른 데이터 프레임을 송신하면 데이터 프레임의 충돌 발생


③ CSMA/CD 방식


CSMA/CD 방식은 데이터 프레임 간의 충돌이 발생하는 것을 인정하고 이를 해소하기 위해 CSMA 방식에 충돌 검출 기능과 충돌 발생 시 재송신하는 기능 추가

※ CSMA/CD의 의미

CS(Carrier Sense) : 통신 회선이 사용중인지를 점검

MA(Multiple Access) : 통신 회선이 비어 있으면 누구든지 사용 가능

CD(Collision Detection) : 데이터 프레임을 전송하면서 충돌 여부 조사

· CSMA/CD 방식은 통신 회선이 사용중이면 일정 시간 동안 대기, 통신 회선 상에 데이터가 없을 때에만 데이터 송신, 송신 중에도 전송로의 상태를 계속 감시

· 송신 도중 충돌이 발생하면 송신을 중지하고, 모든 노드에 충돌을 알린 후 일정 시간이 지난 다음 데이터 재전송


특징

· 버스형 LAN에 가장 일반적으로 이용됨

· 전송량이 적을 때 매우 효율적이고 신뢰성 높음

· 알고리즘(처리 기법) 간단

· 노드 장애가 시스템 전체에 영향을 주지 않으며, 장애 처리 간단

· 충돌과 채널 경쟁을 위한 기법에는 non persistent, 1-persistent, p-persistent기법이 있으며, 이중 가장 효율적인 1-persistent 기법 주로 사용

· 일정 길이 이하의 데이터 송신할 경우 충돌 검출할 수 없음

· 전송량이 많아지면 충돌이 잦아져서 채널의 이용률이 떨어지고 전송 지연 시간이 급격히 증가함

· 충돌이 발생한 경우 다른 노드에서는 데이터 전송 불가

· 충돌이 발생한 경우 지연 시간 예측하기 어려움


※ 이더넷

이더넷(Ethernet)은 CSMA/CD 방식을 이용하는 LAN으로, 가장 많이 보급된 네트워크

· 이더넷 시스템의 규격

10 BASE T

 10은 전송 속도가 10Mbps, BASE는 베이스 밴드 방식, T는 전송 매체로 꼬임선 케이블을 사용함을 나타냄

10 BASE 2

 얇은 동축 케이블을 이용하며, 2는 한 세그먼트의 최장 거리가 약 200m임을 나타냄

10 BASE 5

 굵은 동축 케이블을 이용하며, 5는 한 세그먼트의 최장 거리가 500m임을 나타냄

10 BASE F

 F는 광섬유 케이블을 이용하는 이더넷임을 나타냄

· 고속 이더넷(Fast Ethernet) : 100 BASE T라고도 불리는 이더넷 고속 버전 CSMA/CD를 사용하며 100Mbps의 전송 속도 지원

· 기가비트 이더넷(Gigabit Etherent) : CSMA/CD를 사요하며, 1Gbps의 전송 속도를 지원하며 기존의 이더넷 및 고속 이더넷과 완벽한 호환성 지님


④ 토큰 버스 방식


토큰 버스(Token Bus) 방식은 버스형 LAN에서 사용하는 방식으로, 토큰이 논리적으로 형성된 링을 따라 각 노드들을 차례로 옮겨다니는 방식

· 토큰은 논리적인 링을 따라 순서대로 전달되며, 토큰을 점유한 노드는 정보를 전송할 수 있고, 전송을 끝낸 후 토큰을 다음 노드로 전달함


특징

· 각 노드가 공평한 송신 권한을 가지며, 전송 시간을 가변적으로 조절 가능

· 높은 부하, 즉 전송량이 많을 때에도 안정적이고, 액세스 시간 일정

· CSMA/CD보다 장치가 복잡하고 평균 대기 시간이 길다

· 일부 노드나 통신 회선에 장애가 발생하면 전체적인 장애가 될 수 있음


⑤ 토큰 링 방식


토큰 링(Token Ring) 방식은 링형 LAN에서 사용하는 방식으로, 물리적으로 연결된 링을 따라 순환하는 토큰을 이용하여 송신 권리 제어

· 토큰 상테에는 프리 토큰과 비지 토큰이 있는데, 송신할 데이터가 있는 노드는 링을 따라 순환하는 프리 토큰이 도착하면 토큰을 비지 상태로 변환시킨 후 데이터와 함께 전송


특징

· 각 노드가 공평한 송신 권한 갖음

· 네트워크에 연결된 노드의 수가 많을수록 토큰의 순회 시간이 길어지므로 네트워크 속도 저하될 수 있음



173 VAN(부가 가치 통신망)


① VAN(부가 가치 통신망)의 개념


· VAN(Value Added Network)은 공중 통신 사업자로부터 통신 회선을 임대하여 하나의 사설망을 구축하고 이를 통해 정보의 축적, 가공, 변환 처리 등 부가 가치를 첨가한 후 불특정 다수를 대상으로 서비스를 제공하는 통신망


② VAN의 계층 구조

[그림 2] VAN의 계층 구조


③ 전송 기능(기본 통신 계층)


· 사용자가 단순히 정보를 전송할 수 있도록 물리적 회선을 제공하는 VAN의 가장 기본적인 기능


④ 교환 기능(네트워크 계층)


· 가입된 사용자들을 서로 연결시켜 사용자 간의 정보 전송이 가능하도록 제공하는 서비스

· 패킷 교환 방식 이용


⑤ 통신 처리 기능(통신 처리 계층)


축적 교환 기능과 변환 기능을 이용하여 서로 다른 기종 간에 또는 다른 시간 대에 통신이 가능하도록 제공하는 서비스

축적

교환

기능

 전자 사서함

 상대방이 부재중이더라도 나중에 확인해 볼 수 있도록 정보 메시지를 축적하고 검색 서비스를 제공하는 기능

 데이터 교환

 데이터 축적 기능을 이용하여 송·수신자 사이의 데이터 교환을 수행하는 기능

 동보 통신

 한 단말기에서 여러 단말기로 같은 내용을 동시에 전송하는 기능

 정시 수집

 정해진 시간에 VAN이 송신자로부터 정보를 받는 기능

 정시 배달

 정해진 시간에 VAN에 축적되어 있는 정보를 수신자에게 송신하는 기능

변환

기능

 속도 변환

 축적 기능을 이용하여 속도가 빠른 컴퓨터로부터 데이터를 받아들여 축적한 후 상대방 단말기의 속도에 맞추어 보내는 기능

 프로토콜 변환

 서로 다른 네트워크 간에 또는 서로 다른 기종 간에 통신이 가능하므로 통신 절차를 변환하는 기능

 코드 변환

 송신 측과 수신 측이 사용하는 문자 코드 체계를 맞추는 기능

 데이터 형식(Format) 변환

 서로 다른 데이터 표현 형식을 일치시키는 기능

 미디어 변환

 텍스트, 음성, 영상 등을 상호 변환하는 기능


⑥ 정보 처리 기능(정보 처리 계층)


· 온라인 실시간 처리, 원격 일괄 처리, 시분할 시스템 등을 이용하여 급여 관리, 판매 관리 데이터 베이스 구축, 저보 검색, 소프트웨어 개발 등의 응용 소프트웨어를 처리하는 기능



174 ISDN(종합 정보 통신망)


① ISDN의 개요


ISDN(종합 정보 통신망, Integrated Service Digital Network)은 음성, 문자, 화상 등의 다양한 통신 서비스를 하나의 디지털 통신망을 근간으로 종합적으로 제공할 수 있도록 통합한 것

· 통신 방식 및 전송로가 모두 디지털 방식

· 단일 통신망으로 음성, 문자, 영상 등의 다양한 서비스를 종합적으로 제공

· 고속 통신 가능, 확장성과 재배치성 좋음

· 두 개 이상의 단말자이를 제어할 수 있기 때문에 동시에 복수 통신 가능

· 통신망의 중복 투자를 피할 수 있어 경제적

· OSI 참조 모델의 계층 구조를 따름

· 64Kbps 1회선 교환 서비스가 기본

· 통신망의 교환 접속 기능에는 회선 교환 방식과 패킷 교환 방식이 있음


② ISDN의 통신 서비스


ISDN에서 제공하는 서비스는 OSI 참조 모델 1~3 계층의 하위 계층 기능을 제공하는 베어러 서비스(Bearer Service)와 OSI 참조 모델 1~7 계층의 모든 기능을 제공하는 텔레 서비스(Tele Service), 그리고 부가 서비스로 구분됨

베어러 서비스(Bearer Service)

 · ISDN 사용자와 망 간의 인터페이스에서 단말장치가 전송하는 정보를 변형 없이 그대로 전달만 하는 서비스

 · 회선 교환, 패킷 교환 등 하위 계층의 기능만을 제공

 텔레 서비스(Tele Service)

 · 베어러 서비스를 기본으로 통신망, 단말장치 등에서 이용하는 고도의 기능을 부가하여 제공하는 서비스

 · 실제로 단말장치를 조작하고 통신하는 이용자 측에서 본 서비스

 · 상위 계층의 전화, 팩스, 텔레텍스, 비디오텍스, 텔렉스, 원격 회의 등의 서비스와 하위 계층의 정보 전송, 액세스 서비스 등을 모두 제공

 부가 서비스

 베어러 서비스나 텔레 서비스에 발신 번호 표시, 수신자 부담, 통화 대기 등의 기능을 부가하여 서비스 이용률을 높이는 서비스


③ ISDN의 구조


채널 종류

채널(Channel)이란 정보나 제어 신호를 운반하기 위한 통신 경로를 의미하는 것으로, 채널의 용도에 따라서 정보 채널과 신호 채너로 구분됨

채널

채널 속도

용도

 B(Bearer Channel)

64kbps

 · 디지털 정보용 채널

 · 사용자의 정보를 전송하기 위한 기본적인 사용자 채널

 · PCM화된 디지털 음성이나 회선 교환에 의한 제어 신호, 패킷 교환에 의한 정보의 전송에 이용

 D(Data Channel)

16kbps

64kbps

 · 디지털 신호용 채널

 · 서비스 제어를 위한 신호 메시지를 전달하는 역할

 · 16kbps 이하 저속 패킷 교환에 의한 정보 전송을 위해 이용

 H(Hybrid Channel)

H0

384kbps

 · 고속의 디지털 정보용 채널

 · B채널을 통해 제공하는 모든 방식의 정보를 고속(64kbps 이상)으로 전송

 · 고속 팩스나 화상 회의 등 고속·대용량 정보의 전송에 이용

H11

1,536kbps

H12

1,920kbps


사용자·망 인터페이스

사용자·망 인터페이스는 채널을 어떻게 조합하느냐에 따라 구분됨

 기본 속도 인터페이스(BRI; Basic Rate Interface)

 · 가정용 ISDN 구조

 · 2B+D, 즉 두 개의 B채널과 한 개의 D채널(16kps)로 구성

 · 물리적 속도 : 2B+D+오버헤드=2×64+16+48=192kbps

 1차군 속도 인터페이스(PRI; Primary Rate Interface)

 · 고속 대용량 통신이 필요한 대기업 또는 학교용 ISDN 구조

 · 23B+D(북미식) 또는 30B+D(유럽식), 3H0+D, 4H0+D등의 다양한 형태로 구성

 · D 채널은 64kbps 사용, 오버헤드로 8kbps 사용


④ 참조점


· 참조점(Referance Point)은 ISDN을 구성하는 각 요소 간의 인터페이스를 구분하는 기능을 하는 것으로, 기준점, 접속점, 분계점이라고도 함

· 참조점은 정보 통신망 상호 간을 연결할 때 시설, 운영 및 유지보수의 책임 한계를 구분하기 위한 접속점이 됨

 U(User)

 내부망과 외부망을 구분

 T(Terminal)

 사용자 영역과 네트워크 영역을 구분

 S(System)

 사용자 장비와 네트워크 장비를 구분

 R(Rate)

 비ISDN 단말기와 ISDN 장비를 구분


⑤ B-ISDN(광대역 종합 정보 통신망)


B-ISDN(광대역 종합 정보 통신망, BrodaBand-ISDN)은 광대역 전송 방식과 광대역 교환 방식을 통하여, 데이터, 음성, 영상 등 다양한 형태의 통신 서비스를 제공하는 광대역 ISDN

· 1.5~2Mbps 이상의 고속 전송과 고속 교환 기술 가능

· 전송 방식 : ATM(Asynchronous Transfer Mode, 비동기 전송 모드)

B-ISDN 참조 계층

 물리 계층(Physical Layer)

 ATM 셀 전송

 ATM 계층(Asynchronous Transfer Mode Layer)

 가입자 정보 유형에 따라 셀 헤더 생성, 가입자 채널 다중화

 ATM 적응 계층(ATM Adaptive Layer)

 가입자 정보의 유형에 따라 적절한 타입의 패킷 메시지 생성

※ ATM

ATM은 회선 교환과 패킷 교환의 장점을 결합한 교환 및 다중화 기술

· ATM은 모든 데이터를 셀로 변환시켜 비동기식 시분할 다중화 방식으로 전송

· 셀은 53Byte(5Byte:헤더, 48Byte:사용자 정보)의 작은 크기로 고정길이

· 고정 길이의 셀 단위로 전송하므로 전송 지연 시간을 예측할 수 있으며, 가변 길이의 패킷보다 처리가 간단하고 신뢰성은 더 높음



175 인터넷


① 인터넷의 개요


인터넷(Internet)이란 TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신

· 인터넷은 미 국방성의 ARPANET에서 시작됨

· 인터넷은 유닉스 운영체제을 기반으로 함

· 통신망과 컴퓨터가 있는 곳이라면 시간과 장소에 구애받지 않고 정보 교환 가능

· 인터넷에 견결된 모든 컴퓨터는 고유한 IP 주소 갖음

· 컴퓨터 또는 네트워크를 서로 연결하기 위해서는 브리지, 라우터, 게이트웨이가 사용됨

· 다른 네트워크 또는 같은 네트워크를 연결하여 그 중추적 역할을 하는 네트워크로, 보통 인터넷의 주가 되는 기간망을 일컫는 용어를 백본(Backbone)이라고 함


② 인터넷 서비스


인터넷 서비스는 TCP/IP의 응용 계층에서 제공

 WWW(World Wide Web)

 · 텍스트, 그림, 동영상, 음성 등 인터넷에 존재하는 다양한 정보를 거미줄처럼 연결해 놓은 종합 정보 서비스

 · HTTP 프로토콜을 사용하는 하이퍼텍스트 기반

 · WWW를 효과적으로 검색할 수 있도록 도와주는 프로그램 : 웹 브라우저(Web Browser)

 전자 우편(E-Mail)

 인터넷을 통해 다른 사람과 편지뿐만 아니라 그림, 동영상 등 다양한 형식의 데이터를 주고받을 수 있도록 해주는 서비스

 · 전자 우편에 사용되는 프로토콜

 - SMTP : 메일 전송에 사용

 - POP3 : 메일 수신에 사용

 - MIME : 웹 브라우저가 지원하지 않는 각종 멀티미디어 파일의 내용을 확인하고 실행시켜 주는 프로토콜

 텔넷(Telnet)

 = 원격 접속

 · 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스

 · 프로그램을 실행하는 등 시스템 관리 작업을 할 수 있는 가상의 터미널(Virtual Terminal) 기능을 수행

 HTTP

 HTTP(Hyper Text Transfer Protocol)는 하이퍼텍스트 문서를 전송하기 위해 사용되는 프로토콜

 FTP(File Transfer Protocol)

 = 파일 전송 프로토콜

 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 잇도록 하는 원격 파일 전송 프로토콜

 아키(Arhchie)

 익명의 FTP 사이트에 있는 FTP 서버와 그 안의 파일 정보를 데이터베이스에 저장해 두었다가 FTP 서버에 리스트와 파일을 제공함으로써 정보를 쉽게 검색할 수 있도록 하는 서비스

 고퍼(Gopher)

 메뉴 방식을 이용해 손쉽게 정보 검색을 할 수 있도록 하는 서비스

 유즈넷(USENET)

 분야별로 공통의 관심사를 가진 인터넷 사용자들이 서로의 의견을 주고받을 수 있게 하는 서비스


※ ADSL

ADSL(Asymmetric Digital Subscriber Line, 비대칭 디지털 가입자 회선)은 기존 전화선을 이요해 주파수가 서로 다른 음성 데이터(저주파)와 디지털 데이터(고주파)를 함께 보내는 방식

· 한 전화선으로 일반 전화 통신과 데이터 통신을 모두 처리 가능

· 전화국과 가정이 1대 1로 연결된 것으로, 고속 데이터 통신 가능

· 다운로드 속도가 업로드 속도보다 빠름



176 인터넷의 주소 체계


① IP 주소


IP 주소(Internet Protocol Address)는 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소

· 숫자로 8비트씩 4부분, 총 32비트로 구성됨

· IP 주소는 네트워크 부분의 길이에 따라 구성됨

 A Class

 · 국가나 대형 통신망에 사용

 (0~127으로 시작)

 · 224=16,777,216개의 호스트 사용 가능

 

 B Class

 · 중대형 통신망에 사용

 (128~191로 시작)

 · 216=65,536개의 호스트 사용 가능

 

 C Class

 · 소규모 통신망에 사용

 (192~223으로 시작)

 · 28=256개의 호스트 사용 가능

 

 D Class

 멀티개스트 용으로 사용

 (224~239로 시작)

 


 E Class

 실험적 주소로 공용되지 않음



※ A Class의 네트워크와 호스트의 수

· A Class는 1바이트(8비트)의 네트워크 부분과 3바이트(24비트)의 호스트 부분으로 구성됨

· A Class의 최상위 1비트는 각 클래스를 구별하기 위한 비트로, 사용되지 않음

· 결국 A Class의 네트워크 부분은 128(27)개로 구성되는데, 0번과 127번은 예약된 IP 주소이므로 실질적으로는 126개의 네트워크로 구성됨

그리고 126개의 각 네트워크는 16,777,216(224)개의 호스트를 갖음


② 서브네팅


서브네팅(Subnetting)은 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것

· 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트를 서브넷 마스크(Subnet Mask)라고 하며, 이를 변경하여 네트워크 주소를 여러 개로 분할하여 사용

· 서브넷 마스크는 각 클래스마다 다르게 사용되며, 기본값은 다음과 같음

③ IPv6 주소의 개요


IPv6(Internet Protocol version 6)은 현재 사용하고 있는 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발됨

특징

· 128비트의 긴 주소를 사용하여 주소 부족 문제를 해결할 수 있으며, IPv4에 비해 자료 전송 속도 빠름

· 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제 해결 가능

· IPv4와 호환성 뛰어남

· 주소의 확장성, 융통성, 연동성이 뛰어나며, 실시간 흐름 제어로 향상된 멀티미디어 기능 지원

· Traffic Class, Flow Label을 이용하여 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장이 용이함

· Traffic Class : IPv6 패킷의 클래스나 우선순위를 나타내는 필드

· Flow Lable : 네트워크 상에서 패킷들의 흐름에 대한 특성을 나타내는 필드


④ IPv6 주소의 구성


· IPv6은 16비트씩 8부분, 총 128비트로 구성됨

· 각 부분을 16진수로 표현, 클론(:)으로 구분

· IPv6 주소는 다음과 같이 세 가지 주소 체계로 나누어짐

- 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신(1 대 1 통신에 사용)

- 멀티캐스트(Multicast) : 단일 송신자와 다중 수신자 간의 통신(1 대 다 통신에 사용)

- 애니캐스트(Anycast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신(1 대 1통신에 사용)


⑤ IPv4를 IPv6로 전환하는 전략


· 듀얼 스택(Dual Stack) : 호스트에서 IPv4와 IPv6을 모두 처리할 수 있도록 두 개의 스택을 구성하는 것

· 터널링(Tunneling) : IPv6망에서 인접한 IPv4 마을 거쳐 다른 IPv6 망으로 통신할 때 IPv4 망에 터널을 만들어 IPv6 패킷이 통과할 수 있도록 하는 것

· IPv4/IPv6 변환

- 헤더 변환 : IP 계층(네트워크 계층)에서 IPv6 패킷 헤더를 IPv4 패킷 헤더나 그 반대로 변환하는 방식

- 전송 계층 릴레이 방식 : 전송 계층에서 IPv6 패킷 헤더를 IPv4 패킷 헤더나 그 반대로 변환하는 방식

- 응용 계층 게이트웨이 방식 : 응용 계층에서 IPv6 패킷 헤더를 IPv4 패킷 헤더나 그 반대로 변환하는 방식


⑥ 도메인 네임


도메인 네임은 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것

· 호스트 컴퓨터 이름, 소속 기관 이름, 소속 기관 종류, 소속 국가명 순으로 구성되며, 왼쪽에서 오른쪽으로 갈수록 상위 도메인

· 문자로 된 도메인 네임을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 하는 시스템을 DNS(Domain Name System)라고 하며 이런 역할을 하는 서버를 DNS 서버라고 함



177 네트워크 관련 장비


LAN을 구성하거나 LAN과 LAN을 연결하거나 LAN과 다른 네트워크를 연결하기 위한 장비


① 허브


· 허브(Hub)는 한 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치로, 각 회선을 통합적으로 관리하며, 신호 증폭 기능을 하는 리피터의 역할도 포함


② 리피터


리피터(Repeater)는 전송되는 신호가 전송 선로의 특성 및 외부 충격 등의 요인으로 인해 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할 수행

· OSI 참조 모델의 물리 계층에서 동작하는 장비

· 근접한 네트워크 사이에 신호를 전송하는 역할로, 전송 거리의 연장 또는 배선의 자유도를 높이기 위한 용도로 사용


③ 브리지


브리지(Bridge)는 LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹(세그먼트)을 연결하는 기능 수행

· 데이터 링크 계층 중 MAC(Media Access Control) 계층에서 사용되므로 MAC 브리지라고도 함

· 네트워크 상의 많은 단말기들에 의해 발생되는 트래픽 병목 현상을 줄일 수 있음

· 네트워크를 분산적으로 구성할 수 있어 보안성을 높일 수 있음

· 브리지를 이용한 서브넷 구성 시 전송 가능한 회선 수는 브리지가 n개일 때, n(n-1)/2


④ 라우터


라우터(Router)는 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로, 서로 다른 LAN이나 LAN과 WAN의 연결도 수행

· OSI 참조 모델의 네트워크 계층에서 동작하는 장비

· 접속 가능한 경로에 대한 정보를 라우팅 제어표(Routing Table)에 저장하여 보관

· 3계층(네트워크 계층)까지의 프로토콜 구조가 다른 네트워크 간의 연결을 위해 프로토콜 변환 기능 수행


⑤ 게이트 웨이


게이트 웨이(Gateway) 전 계층(1~7계층)의 프로토콜 구조가 다른 네트워크의 연결을 수행

· 세션 계층, 표현 계층, 응용 계층 간을 연결하여 데이터 형식 변환, 주소 변환, 프로토콜 변환 등을 수행

· LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할



출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 데이터통신' 카테고리의 다른 글

데이터통신 오답노트  (0) 2017.02.27
5장 통신 프로토콜  (2) 2017.02.15
3장 전송 제어 방식  (0) 2017.02.14
2장 데이터 통신 이론  (0) 2017.02.14
1장 데이터 통신의 기본  (0) 2017.02.14

정보처리기사 필기 - 5과목 데이터 통신


3장 전송 제어 방식


159 전송 제어의 기본


① 전송 제어의 개념


전송 제어(Transmission Control)란 데이터의 원할한 흐름을 위해 입·출력 제어, 회선 제어, 동기 제어, 오류 제어, 흐름 제어 등을 수행하는 것

· OSI 7 참고 모델의 데이터 링크 계층(2계층)에서 수행하는 기능

· 전송 제어에 사용되는 프로토콜을 전송 제어 프로토콜 또는 데이터 링크 제어 프로토콜이라고 함


② 전송 제어 절차


데이터 통신 회선의 접속→데이터 링크 설정(확립)→정보 메시지 전송→데이터 링크 종결→데이터 통신 회선의 절단


데이터 통신 회선의 접속
교환 회선(교환기에 의해 송·수신 측 간 통신 회선이 연결되는 방식)에서 통신 회선과 단말기를 물리적으로 접속하는 단계

· 교환 회선을 이용한 포인트 투 포인트 방식이나 멀티 포인트 방식으로 연결된 경우에 필요한 단계

· 전용 회선을 이용한 포인트 투 포인트 방식으로 연결된 경우에는 불필요한 단계


데이터 링크의 설정(확립)

접속된 통신 회선상에서 송·수신 측 간의 확실한 데이터 전송을 수행하기 위해서 논리적 경로를 구성하는 단계

· 순서 : 수신 측 호출→정확한 수신 측인가 확인→수신 측의 데이터 전송 준비 상태 확인→송·수신 측 입장의 확인→수신 측 입·출력 기기 지정

· 데이터 링크의 설정 방법에는 폴링/셀렉션 방식, 경쟁방식이 있음


정보 메시지 전송

설정된 데이터 링크를 통해 데이터를 수신측에 전송하고, 오류 제어와 순서 제어를 수행하는 단계


데이터 링크 종결

·수신 측 간의 논리적 경로를 해제하는 단계


데이터 통신 회선의 절단

통신 회선과 단말기 간의 물리적 접속을 절단하는 단계



160 데이터링크 제어 프로토콜 - BSC


① 데이터 링크 제어 프로토콜의 개요


· 데이터 링크 제어 프로토콜은 컴퓨터와 컴퓨터, 컴퓨터와 단말장치 등의 두 장치 상호간에 신속하고 정확하게 데이터를 주고받을 수 있도록 전송 제어를 수행하는 프로토콜

· 데이터 링크 제어 프로토콜은 데이터 링크 레벨 프로토콜, 전송 제어 프로토콜이라고 함

· 문자 위주 방식비트 위주 방식으로 구분됨


② BSC의 개요


BSC(Binary Synchronous Control)는 문자 위주의 프로토콜로, 각 프레임에 전송 제어 문자를 삽입하여 전송 제어

· 문자 코드 상에 정의된 전송 제어 문자를 이용하여 링크를 제어하기 때문에 사용하는 문자 코드에 의존적이며, 사용할 수 있는 코드가 제한적

· 통신하는 컴퓨터들이 사용하는 문자 코드 체계가 통일되어 있어야 함

· 반이중(Half Duplex) 전송만을 지원

· 주로 동기식 전송 방식이나 비동기식 전송 방식을 사용하기도 함

· 포인트 투 포인트, 멀티 포인트 방식에서 주로 사용

· 오류 제어 및 흐름 제어를 위해 정지-대기 ARQ(오류 제어 및 흐름 제어 기법 중의 하나로 한 번에 한 개의 데이터 프레임을 전송한 후 수신 측의 응답을 기다리는 방식)

· 전파 지연 시간이 긴 선로에는 비효율적

· 오류 검출이 어렵고, 전송 효율 나쁨


③ 전송 제어 문자


전송 제어 문자는 링크 관리, 프레임의 시작 및 끝의 구별과 오류 제어 등의 기능을 하는 것으로, 주요 전송 제어 문자는 다음과 같음

문자

기능

SYN(SYNchronous idle)

문자 동기

SOH(Start Of Heaing)

헤딩의 시작

STX(Start Of TeXt)

본문의 시작 및 헤딩의 종료

ETX(End of TeXt)

본문의 종료

ETB(End of Transmission Block)

블록의 종료

EOT(End of Transmission)

전송 종료 및 데이터 링크의 헤제

ENQ(ENQuiry)

상대편에 데이터 링크 설정 및 응답을 요구

DLE(Data Link Escape)

전송 제어 문자 앞에 삽입하여 전송 제어 문자임을 알림

ACK(ACKnowledge)

수신된 메시지에 대한 긍정 응답

NACK(Negative ACKnoewledge)

수신된 메시지에 대한 부정 응답



161 데이터 링크 제어 프로토콜 - HDLC


① HDLC의 개요


HDLC(High-level Data Link Control)는 비트 위주의 프로토콜로, 각 프레임에 데이터 흐름을 제어하고 오류를 검출할 수 있는 비트 열을 삽입하여 전송

· 포인트 투 포인트 및 멀티 포인트, 루프 등 다양한 데이터 링크 형태에 동일하게 적용 가능

· 단방향, 반이중, 전이중 통신을 모두 지원하며, 동기식 전송 방식 사용

· 오류 제어를 위해 Go-Back-N과 선택적 재전송(Selective Repeat) ARQ를 사용

· 흐름 제어를 위해 슬라이딩 윈도우 방식 사용

· 전송 제어상의 제한을 받지 않고 자유로이 비트 정보를 전송할 수 있음(비트 투과성)

· 전송 효율과 신뢰성 높음

※ 비트 스터핑(Bit Stuffing)

비트 스터핑은 프레임에 임의의 비트를 삽입하여 데이터의 자유로운 전송을 보장하는 기능으로, 프레임 내의 플레그 비트와 다른 비트를 구분하여 기본적인 오류 검출)

- 플래그 비트를 제외한 모든 비트는 '1'이 6개 이상 연속되지 않도록 함. '1'이 연속적으로 5개가 입력되면 그 다음 6번째에는 '0'을 강제적으로 추가하여 송신

- 프레임 내에 '1'이 연속해서 6개가 입력되면 플래그 비트, 7개 이상 연속해서 입력되면 오류 프레임으로 인식하여 오류 검출함


② HDLC의 프레임 구조

[그림 1] HDLC의 프레임 구조



· 플래그(flag)

- 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(01111110)

- 동기 유지(통화로의 혼선을 방지하기 위해)

- 비트 투과성을 이용한 기본적인 오류 검출

· 주소부(Address Field) : 송·수신국을 식별하기 위해 사용. 불특정 다수에게 전송하는 방송용은 '11111111', 시스템에 의해 임의로 수신국이 지정되는 시험용은 '00000000'

· 제어부(Control Field) : 프레임의 종류를 식별하기 위해 사용. 제어부의 첫 번째, 두 번재 비트를 사용하여 다음과 같이 프레임 종류 구별함

 I 프레임

 정보 프레임. 제어부가 '0'으로 시작하는 프레임으로, 사용자 데이터를 전달하거나 피기백킹 기법을 통해 데이터에 대한 확인 응답을 보낼 때 사용됨

 S 프레임

 감독 프레임. 제어부가 '10'으로 시작하는 프레임. 오류 제어와 흐름 제어를 위해 사용됨

 U 프레임

 비번호 프레임. 제어번호가 '11'로 시작하는 프레임. 링크의 동작 모드 설정과 관리

· 정보부(Information Field) : 실제 정보 메시지가 들어 있는 부분으로, 송·수신 측 간의 협의에 따라 길이와 구성 정해짐

· FCS(Frame Check Sequence Field, 프레임 검사 순서 필드) : 프레임 내용에 대한 오류 검출을 위해 사용되는 부분으로, 일반적으로 CRC 코드 사용됨(CRC 순환 중복 검사 : 다항식 코드를 사용하여 오류를 검출하는 방식으로, 집단 오류를 검출할 수 있고 검출률이 높으므로 가장 많이 사용되는 오류 검출 기법)

※ 피기백킹(Piggybacking)

- 데이터 프레임에 확인 응답을 포함시켜 전송하는 것

※ HDLC의 국(Station)

- 주국 : 종속된 단말기를 제어하거나 정보를 제공해 주는 컴퓨터로, 주 스테이션, 1차국, 서버

- 종국 : 주국으로부터 제어를 받고 정보를 제공받는 컴퓨터로, 부 스테이션, 2차국, 클라이언트

- 혼합국 : 상대국 컴퓨터의 제어를 받기도 하고 제어를 하기도 하는 동등한 위상을 가진 컴퓨터로, 복합국


③ 데이터 전송 모드


데이터 전송 모드는 제어부에서 관리하는 U 프레임에 의해 설정되며 다음과 같이 세 가지로 구분됨

 표준(정규) 응답 모드(NRM, Normal Response Mode)

 · 반이중 통신을 하는 포인트 투 포인트 또는 멀티 포인트 불균형 링크 구성에 사용

 · 종국은 주국의 허가가 있을 때에만 송신

 비동기 응답 모드(ARM, Asynchronous Response Mode)

 · 전이중 통신을 하는 포인트 투 포인트 불균형 링크 구성에 사용

 · 종국은 주국의 허가 없이도 송신이 가능하지만, 링크 설정이나 오류 복구 등의 제어 기능은 주국만 가능

 비동기 균형(평형) 모드(ABM, Asynchronous Balanced Mode)

 · 포인트 투 포인트 균형 링크에서 사용

 · 혼합국끼리 허가 없이 언제나 전송할 수 있도록 설정



162 회선 제어 방식


① 회선 제어 방식의 개요


· 하나의 통신 회선을 공유하는 여러 대의 단말장치들이 통신 회선을 사용하는 방식에 따라 통신망의 효율에 큰 영향을 줌

· 또한 여러 대의 단말장치들이 동시에 데이터를 전송하면 충돌이 발생하여 데이터의 식별이 어려워짐

· 회선 제어란 이러한 문제들을 해결하기 위해 각 장치들의 송·수신 시 필요한 규칙을 의미


② 경쟁 방식


경쟁(Contention) 방식은 회선 접속을 위해서 서로 경쟁하는 방식으로, 송신 요구를 먼저 한 쪽이 송신권 갖음

· 데이터 전송을 하고자 하는 모든 장치가 서로 대등한 관계에 있는 포인트 투 포인트 방식에서 주로 사용

· 송신 요구가 발생한 국이 주국이 되어 상대국(종국)에 셀렉팅 순서를 송신하여 상대국의 수신 가능 상태를 확인한 후 정보 메시지 송신

· 데이터 링크가 설정되면 정보 전송이 종료되기 전가지는 데이터 링크의 종결이 이루어지지 않고 독점적으로 정보 전송을 하게 됨

· 송신 측이 전송할 메시지가 있을 경우 사용 가능한 회선이 있을 때가지 기다려야 함

· 대표적인 시스템 : ALOHA


③ 폴링/셀렉션 방식


주 컴퓨터에서 송·수신 제어권을 가지고 있는 방식

· 트래픽이 많은 멀티 포인트 방식으로 연결된 회선에서 사용

 폴링(Polling)

 주 컴퓨터에서 단말기에게 전송할 데이터가 있는지를 물어 전송할 데이터가 있다면 전송을 허가하는 방식으로, 단말기에서 주 컴퓨터로 보낼 데이터가 있는 경우에 사용 (질의 : 주 컴퓨터→단말기 / 데이터 전송 : 단말기→주 컴퓨터)

 셀렉션(Selection)

 주 컴퓨터가 단말기로 전송할 데이터가 있는 경우 그 단말기가 받을 준비가 되었는가를 묻고, 준비가 되어 있다면 주 컴퓨터에서 단말기로 데이터를 전송하는 방식 (질의&데이터 전송 : 주 컴퓨터→단말기)



163 오류 제어 방식


① 오류의 발생 원인


전송과정에서 오류가 발생하는 주요 원인과 현상

오류 발생 원인

현상

 감쇠(Attenuation)

 · 전송 신호 세력이 전송 매체를 통과하는 과정에서 거리에 따라 약해지는 현상

 · 주파수가 높을 수록 감쇠 현상 심해짐

 · 감쇠 현상을 해결하기 위해 중계기(기지국) 이용

 지연 왜곡(Delay Distortion)

 · 유선 매체에서 발생하는 문제로, 하나의 전송 매체를 통해 여러 신호를 전달했을 때 주파수에 따라 그 속도가 달라짐으로써 생기는 오류

 · 중심 주파수의 전달 속도가 가장 빠르고, 양쪽 끝의 주파수일수록 

 잡음

 (Noise)

 백색 잡음

 (While Noise)

 · 가우스 잡음, 열 잡음

 · 전송 매체 내부에서 온도에 다라 전자의 운동량이 변화함으로써 생기는 잡음으로, 완벽하게 제거하기는 힘듦

 상호 변조(간섭) 잡음

 (Intermodulation Noise)

 · 서로 다른 주파수들이 하나의 전송 매체를 공유할 때 주파수 간의 합이나 차로 인해 새로운 주파수가 생성되는 잡음

 · 통신 시스템의 비선형성 때문에 생김

 누화 잡음 = 혼선

 (Cross Talk Noise)

 · 인접한 전송 매체의 전자기적 상호 유도 작용에 의해 생기는 잡음

 · 신호의 경로가 비정상적으로 결합된 경우 나타남

 · 전화 통화중 다른 전화의 내용이 함게 들리는 현상

 충격성 잡음

 (Impulse Noise)

 · 번개와 같은 외부적인 충격 또는 통신 시스템의 결함이나 파손 등의 기계적인 충격에 의해 생기는 잡음

 · 순간적으로 일어나는 높은 진폭의 잡음으로, 비연속적이고 불규칙적인 진폭 갖음

 돌발성 잡음

 자연 현상, 통신 장비의 결함 등 예측할 수 없는 외부 요인에 의해 발생하는 잡음

 위상 지터 잡음

 (Phase Jitter Noise)

 전송 네트워크에서 전송 신호의 위상이 연속적으로 일그러지는 현상

 위상 히트 잡음

 (Phase Hit Noise)

 전송 네트워크에서 전송 신호의 위상에 불연속적인 순간 변화가 일어나는 현상

※ 우연적 왜곡과 시스템적 왜곡

· 우연적 왜곡은 예측할 수 없이 무작위로 발생하는 왜곡으로, 백색 잡음, 충격 잡음, 누화 잡음, 위상 히트 잡음이 있음

· 시스템적 왜곡은 전송 매체에서 언제든지 일어날 수 있는 왜곡으로, 손실, 감쇠, 하모닉 왜곡(신호의 감쇠가 진폭에 의해 달라지는 것)등이 있음


② 오류율


오류율은 전송 데이터에 대한 오류의 비율을 나타내는 것으로, 전송 형태에 따라 다음과 같이 계산함

· 비트 오류율 = 오류 비트 수/전송한 총 비트수

· 블록 오류율 = 오류 블록 수/전송한 총 블록수

· 문자 오류율 = 오류 문자 수/전송한 총 문자수


③ 전송 오류 제어 방식


 전진(순방향) 오류 수정(FEC)

 전진 오류 수정(FEC; Forward Error Correction)은 데이터 전송 과정에서 발생한 오류를 검출하여, 검출된 오류를 재전송 요구 없이 스스로 수정하는 방식

 · 송신 측에서는 문자나 프레임 오류 검출을 위한 부가 정보를 추가시켜 전송하고, 수신 측에서는 이러한 부가 정보를 이용하여 자신이 수신한 데이터에 존재하는 오류를 발견하고 수정함

 · 재전송 요구가 없기 때문에 역 채널이 필요 없고, 연속적인 데이터 흐름 가능

 · 데이터 비트 이외에 오류 검출 및 수정을 위한 비트(잉여 비트)들이 추가로 전송되어야 하기 때문에 전송 효율이 떨어짐

 · 오류의 검출과 수정을 위한 방식에는 해밍 코드 방식과 상승 코드 방식이 있음

 후진(역방향) 오류 수정(BEC)

 후진 오류 수정(BEC; Backward Error Correction)은 데이터 전송 과정에서 오류가 발생하면 송신 측에 재전송을 요구하는 방식

 · 패리티 검사, CRC, 블록 합 방식 등을 사용하여 오류를 검출하고, 오류 제어는 자동 반복 요청(ARQ)에 의해 이루어짐


④ 자동 반복 요청(ARQ)의 개요


· 자동 반복 요청(ARQ; Automatic Repeat reQuest)은 오류 발생 시 수신 측은 오류 발생을 송신 측에 통보하고, 송신 측은 오류 발생 블록을 재전송하는 모든 절차를 의미

· 자동 반복 요청 방식 종류 : 정지-대기 ARQ, Go-back-N ARQ, 선택적 재전송 ARQ, 적응적 ARQ


⑤ 정지-대기 ARQ


정지-대기(Stop-and-Wait) ARQ는 송신 측에서 한 개의 블록을 전송한 후 수신 측으로부터 응답을 기다리는 방식

· 수신 측의 응답이 긍정 응답(ACK)이면 다음 블록 전송하고, 부정 응답(NAK)이면 앞서 송신했던 블록을 재전송

· 블록을 전송할 때마다 수신 측의 응답을 기다려야 하므로 전송 효율이 가장 낮음

· 오류가 발생한 경우 앞서 송신했던 블록만 재전송하면 되므로 구현 방법이 가장 단순


⑥ 연속 ARQ


· 연속(Continuous) ARQ는 정지-대기 ARQ가 갖는 오버헤드를 줄이기 위해 연속적으로 데이터 블록을 보내는 방식

· 수신 측에서는 부정 응답(NAK)만 송신

· 연속 ARQ는 프레임의 송신 순서와 수신 순서가 동일해야 수신이 가능함

 Go-Back-N ARQ

 · 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답을 보내오면 송신 측이 오류가 발생한 블록 이후의 모든 블록을 재전송

 · 전송 요류가 발생하지 않으면 쉬지 않고 연속적으로 송신 가능

 · 오류가 발생한 부분부터 모두 재전송하므로 중복 전송의 단점 있음

 선택적 재전송

 (Selective Repeat) ARQ

 · 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답을 보내오면 송신 측이 오류가 발생한 블록만을 재전송

 · 수신 측에서 데이터를 처리하기 전에 원래 순서대로 조립해야 하므로, 더 복잡한 논리 회로와 큰 용량의 버퍼 필요


⑦ 적응적 ARQ


적응적(Adaptive) ARQ는 전송 효율을 최대로 하기 위해서 데이터 블록의 길이를 채널의 상태에 따라 그때그때 동적으로 변경하는 방식

· 전송 효율이 가장 좋음

· 제어 회로가 매우 복잡하고 비용이 많이 들어 현재는 거의 사용되지 않음



164 오류 검출 방식


① 오류 검출 방식의 개요


· 오류 제어 방식 중 데이터 전송 시에 발생하는 오류를 검출하는 방법에 대한 설명

· 오류를 검출하는 가장 대표적인 방법은 오류 검출 코드를 이용하는 방법으로, 송신 측에서 전송 데이터에 오류 검출 코드를 부가하여 송신하면 수신 측에서는 그 코드를 이용하여 수신된 데이터의 오류를 검출

· 오류 검축 방식 : 패리티 검사, 순환 중복 검사, 궤한 전송 방식, 자동 연속 방식, 해밍 코드 방식, 상승 코드 방식


② 수직 패리티 체크 = 수직 중복 검사(VRC; Vertical Redundancy Check)


· 패리티 검사는 전송 비트에 1비트의 검사 비트인 패리티 비트를 추가하여 오류를 검출하는 방식

· 수직 방향으로 패리티 비트를 부여하는 방식

· 전송 비트들 중 값이 1일 비트의 개수가 짝수 또는 홀수가 되도록 패리티 비트를 부여

- 짝수(우수) 패리티 : 각 전송 비트 내에 1의 개수가 짝수가 되도록 하는 것으로, 주로 비동기식 전송에 사용

- 홀수(기수) 패리티 : 각 전송 비트 내에 1의 개수가 홀수가 되도록 하는 것으로, 주로 동기식 전송에 사용

· 가장 간단한 방식이지만, 두 개의 비트에 동시에 오류가 발생하는 검출 불가능

· 오류를 검출만 할 수 있고, 수정은 하지 못함


③ 수평 패리티 체크 = 세로 중복 검사(LRC; Longitudinal Redundancy Check)


· 수평 방향으로 패리티 비트를 부여하는 방식으로, 전송 비트를 일정랼의 블록으로 묶어서 블록의 맨 마지막에 패리티 비트 부여


④ 순환 중복 검사(CRC)


순환 중복 검사(CRC; Cyclic Redundancy Check)는 다항식 코드를 사용하여 오류를 검출하는 방식

· 동기식 전송에서 주로 사용됨

· HDLC 프레임의 FCS(프레임 검사 순서 필드)에 사용되는 방식

· 집단 오류 검출 가능, 검출률 높으므로 가장 많이 사용됨


⑤ 궤한 전송 방식


· 궤한 전송 방식(Echo Check)은 수신 측에서 받은 데이터를 송신 측으로 되돌려 보내어 원본 데이터와 비교하여 오류가 있는 경우 재전송하는 방식 


⑥ 자동 연속 방식(연속 자동 방식)


· 송신 측에서 동일 데이터를 두 번 이상 전송하면 수신 측에서도 두 데이터를 비교해 이상유무를 판단한 후 오류 발생 시 이를 수정하는 방법


⑦ 해밍 코드 방식


해밍 코드(Hamming Code) 방식은 수신 측에서 오류가 발생한 비트를 검출한 후 직접 수정하는 방식

· 오류 검출은 물론 스스로 수정까지 하므로 자기 정정 부호라고도 함

· 1비트의 오류만 수정이 가능하며, 정보 비트 외에 이영 비트가 많이 필요함

· 송신한 데이터와 수신한 데이터의 각 대응하는 비트가 서로 다른 비트의 수를 해밍 거리

· 전송 비트 중 1, 2, 4, 8, 16, 32, 64 ··· , 번째를 오류 검출을 위한 패리티 비트로 사용하며, 이 비트의 위치는 변하지 않음


⑧ 상승 코드(부호) 방식


상승 코드 방식은 순차적 디코딩과 한계값 디코딩을 사용하여 오류 수정

· 수신 측에서 오류 데이터를 수정할 수 있다는 점에서 해밍 코드와 같지만 상승 코드는 여러 비티의 오류도 수정 가능



출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 데이터통신' 카테고리의 다른 글

데이터통신 오답노트  (0) 2017.02.27
5장 통신 프로토콜  (2) 2017.02.15
4장 데이터 회선망  (0) 2017.02.15
2장 데이터 통신 이론  (0) 2017.02.14
1장 데이터 통신의 기본  (0) 2017.02.14

정보처리기사 필기 - 5과목 데이터 통신


2장 데이터 통신 이론


150 데이터 전송 기본


① 데이터


데이터는 인간 또는 컴퓨터 등의 기계에 의해 행해지는 통신과 해석 및 처리에 적합한 형태로 표현된 사실 또는 개념, 명령어

· 아날로그 데이터 : 셀 수 없는 연속적인 값 → 음성, 화상, 온도, 유압 등

· 디지털 데이터 : 셀 수 있는 이산적인 값(연속적이지 않은 값) → 문자, 숫자 등


② 신호


신호는 데이터를 전송 매체를 통해 전송할 수 있는 상태로 변환시켜 놓은 것

· 아날로그 신호 : 정현파(Sine Wave)에 주파수, 진폭, 위상 특성을 포함하여 표현되는 전기적 신호가 연속적으로 변하는 파형

· 디지털 신호 : 2진수 0과 1에 대한 전압 펄스(극히 짧은 시간만 지속되는 전류)의 연속적인 구성


③ 주파수


주파수는 단위 시간(주로 1초) 내에 신호 파형이 반복되는 횟수를 의미하는 것으로 단위는 Hz

· 고주파 : 파형의 가로 폭이 좁은 것으로, 고속 전송에 사용 / 전송 거리 짧다

· 저주파 : 파형의 가로 폭이 넓은 것으로, 저속 전송에 사용 / 전송 거리 길다

· 단위 시간과의 관계 : f=1/T(f:주파수, T:주기)

· 주요 데이터의 주파수

데이터

주파수

가청 주파수

20 ~ 20,000Hz

음성

300 3,400Hz

HF(High Frequence)

3 ~ 30MHz

VHF(Very High Frequence)

30 ~ 300MHz

UHF(Ultra High Frequence)

300 ~ 3,000MHz

SHF(Super High Frequence)

3,000~30,000MHz


④ 대역폭


대역폭(Bandwidth)이란 주파수의 변화 범위, 즉 상한 주파수와 하한 주파수의 차이를 의미



151 전송 방식


① 아날로그/디지털 전송


아날로그 전송

아날로그 전송이란 전송 매체를 통해 전달되는 신호가 아날로그 형태인 것

· 아날로그 전송은 신호의 감쇠 현상이 심하기 때문에 먼 거리를 전송할 때 증폭기에 의해 신호를 다시 증폭하여 전송해야 함

· 이때 신호에 포함된 잡음까지도 같이 증폭되기 때문에 오류의 확률 높음


디지털 전송

디지털 전송이란 전송 매체를 통해 전달되는 신호가 디지털 형태인 것

· 디지털 전송 시에도 신호의 감쇠 현상은 나타나지만 중계기에 의해 원래의 신호 내용 복원 후 전송하는 방식이기 때문에 잡음에 의한 오류율은 낮음

· 대역폭을 효율적으로 이용하여 더 많은 용량 전송 가능

· 정보를 2진화하여 전송하므로 아날로그나 디지털 데이터의 암호화를 쉽게 구현 가능

· 디지털 기술의 발전으로 전송 장비의 소형화가 가능하고, 가격도 저렴해짐


② 직렬/병렬 전송


디지털 전송 시 데이터 비트의 전송 방법에 따라 직렬 전송과 병렬 전송으로 구분


직렬 전송

직렬 전송은 정보를 구성하는 각 비트들이 하나의 전송 매체를 통하여 한 비트씩 순서적으로 전송되는 형태

· 하나의 전송 매체만 사용하므로 전송 속도가 느리지만 구성 비용이 적게 듦

· 원거리 전송에 적합하므로 대부분의 데이터 통신에 사용됨


병렬 전송

병렬 전송은 정보를 구성하는 각 비트들이 여러 개의 전송 매체를 통하여 동시에 전송되는 형태

· 여러 개의 전송 매체를 사용하므로 전송 속도는 빠르지만 구성 비용 많이 듦

· 근거리 전송에 적합하므로 주로 컴퓨터와 주변 장치 사이의 데이터 전송에 사용됨


③ 통신 방식


통신 방식은 데이터의 전송 방향에 따라 단방향 통신과 양방향 통신으로 구분되며 양방향 통신은 다시 반이중 통신과 전이중 통신으로 구분됨

 단방향(Simplex) 통신

 한쪽 방향으로만 전송이 가능한 형식 (라디오, TV)

 양방향(Duplex) 통신

 반이중(Half-Duplex) 통신

 · 양방향 전송이 가능하지만 동시에 양쪽 방향에서 전송할 수 없는 방

 · 2선식 선로를 사용하여 송신과 수신을 번갈아 전송 (무전기, 모뎀을 이용한 데이터 통신)

 

 전이중(Full-Duplex) 통신

 · 동시에 양방향 전송이 가능한 방식

 · 4선식 선로를 사용하며, 주파수 분할을 이용할 경우 2선식도 가능

 · 전송량이 많고, 전송 매체의 용량이 클 때 사용(전화, 전용선을 이용한 데이터 통신)


④ 비동기식 전송


비동기식 전송은 한 문자를 나타내는 부호(문자 코드) 앞뒤에 Start Bit와 Stop Bit를 붙여서 Byte와 Byte를 구별하는 전송 방식

· 비동기식 전송은 시작 비트, 전송 문자(정보 비트), 정지 비트로 구성된 한 문자를 단위로 하여 전송하며, 오류 검출을 위한 패리티 비트(Parity Bit)를 추가하기도 함

· Start Bit는 이진수 0 값을 갖고 1비트 시간만큼 지속되며, Stop Bit는 이진수 1 값을 갖고 1, 1.5 혹은 2비트 시간만큼 지속됨

· 문자와 문자 사이의 휴지 시간이 불규칙함

· 한꺼번에 많은 데이터를 보내면 프레이밍 에러의 가능성 높아짐

· 2,000bps(약 2Kbps) 이하의 저속, 단거리 전송에 사용

· 동기화가 단순하고, 가격 저렴

· 문자마다 시작과 정지를 알리기 위한 비트가 2~3 Bit씩 추가되므로, 전송 효율이 떨어짐

· 정지 비트는 휴지 상태와 같으므로 송신기는 다음 문자를 보낼 준비가 될 때까지 정지 비트를 계속 전송함


⑤ 동기식 전송


동기식 전송은 미리 정해진 수만큼의 문자열을 한 블록(프레임)으로 만들어 일시에 전송하는 방식

· 송·수신 양쪽의 동기를 유지하기 위해 타이밍 신호(클럭)를 계속적으로 공급하거나 동기 문자를 전송

· 동기화된 방식으로 비트들이 송·수신 되기 떄문에 비동기식 전송과는 다르게 시작 비트와 종료 비트 필요 없음

· 블록과 블록 사이에 휴지시간 없음

· 프레임 단위로 전송하므로 전송 속도 빠름

· 제어 정보의 앞부분을 프리앰블, 뒷부분을 포스트앰블이라 함

· 시작/종료 비트로 인한 오버헤드가 없고 휴지시간이 없으므로 전송 효율 좋음

· 주로 원거리 전송에 사용

· 단말기는 반드시 버퍼 기억 장치를 내장해야 함

· 동기식 전송 방식에는 비트 동시 방식과 블록 동기 방식이 있으며, 블록 동기 방식은 다음과 같이 문자 위주 동기 방식과 비트 위주 동기 방식으로 나누어짐

- 문자 위주 동기 방식 : SYN 등의 동기 문자(전송 제어 문자)에 의해 동기를 맞추는 방식으로 BSC프로토콜에서 사용됨

- 비트 위주 동기 방식 : 데이터 블록의 처음과 끝에 8 비트의 플래그 비트를 표시하여 동기를 맞추는 방식으로 HDLC와 SDLC 프로토콜에서 사용됨



152 아날로그 데이터 전송 방식


음성이나 화상 등의 아날로그 데이터를 전송할 떄에는 사용되는 통신 회선에 따라 알맞은 신호로 변환해야 함


① 아날로그 데이터를 아날로그 신호로 변환


아날로그 데이터를 아날로그 회선을 통하여 전송하기 위해 아날로그 형태로 변조

· 아날로그 데이터를 먼 거리까지 효율적으로 전송하거나 주파수 분할 다중화(통신 회선의 주파수를 여러 개로 분할하여 여러 대의 단말장치가 동시에 사용할 수 있도록 하는 다중화 기법)를 위해 변조

· 라디오나 TV 방송 매체, 전화에서 주로 사용됨


변조 방법의종류

 진폭 변조(AM, Amplitude Modulation)

 · 변조 파형에 따라 진폭(신호의 높낮이)을 변조하는 방식

 · 회로가 간단하고, 비용 적게 듦

 · 잡음에 약하고, 전력 효율 나쁨

 주파수 변조(FM, Frequency Modulation)

 · 변조 파형에 따라 주파수(신호의 주기)를 변조하는 방식

 · 변조된 신호는 대역폭을 넓게 차지하지만 잡음에 강함

 위상 변조(PM, Phase Modulation)

 · 변조 파형에 따라 위상(신호의 시작 위치)를 변조하는 방식

 · 변조된 신호는 대역폭을 넓게 차지하지만 고속 전송이 가능하고, 잡음에 강함

 · AM, FM 방식에 비해 회로가 다소 복잡


② 아날로그 데이터를 디지털 신호로 변환


아날로그 데이터를 디지털 회선을 통하여 전송하기 위해 디지털 형태로 변환하는 것으로 코덱 이용함


코덱

코덱(CODEC, COder/DeCoder)은 아날로그 데이터를 디지털 통신 회선에 적합한 디지털 신호로 변환(COder)하거나 그 반대의 과정 (DECoder) 수행

· 펄스 코드 변조(PCM) 방식 이용하여 데이터 변환

· 주로 이동 통신 분야나 멀티미디어 분야에서 사용됨



153 디지털 데이터 전송 방식


① 디지털 데이터를 아날로그 신호로 변환


디지털 데이터를 아날로그 회선을 통하여 전송하기 위해 아날로그 형태로 변환하는 것

· MODEM을 이용하며, 변조 방식 : ASK, FSK, PSK, QAM


② 모뎀의 개요


모뎀(MODEM)은 컴퓨터나 단말장치로부터 전송되는 디지털 데이터를 아날로그 회선에 적합한 아날로그 신호로 변환하는 변조(MOdulation) 과정과 그 반대의 복조(DEModulation) 과정 수행

· 디지털 데이터를 공중 전화망(PSTN)과 같은 아날로그 통신망을 이용하여 전송할 때 사용됨


③ 모뎀의 기능


· 변·복조 기능 : 디지털 데이터를 아날로그 신호로 변조, 아날로그 신호를 디지털 데이터로 복조하는 기능(디지털 데이터 ↔ 아날로그 신호)

· 자동 응답 기능 : 연결 요청 신호가 수신될 때 내부 회로에 의해 자동으로 응답하는 기능

· 자동 호출 기능 : 수신자의 응답이 없을 경우 지정된 횟수만큼 반복하여 호출을 시도하는 기능

· 자동 속도 조절 기능 : 상대방의 통신 속도를 감지하여 그 속도와 동일하게 자신의 속도를 조절하는 기능

· 모뎀 시험 기능 : 모뎀 자체에 내장된 오류 검출 회로를 통해 모뎀의 정상 동작 여부를 시험하는 기능


④ 디지털 데이터를 디지털 신호로 변환


디지털 데이터를 디지털 회선을 통하여 전송하기 위해 디지털 형태로 변환하는 것

· 2진 데이터의 각 비트를 디지털 신호 요소로 변환하며 DSU 이용


 DSU의 개요


DSU(Digital Service Unit)는 컴퓨터나 단말장치로부터 전송되는 디지털 데이터를 디지털 회선에 적합한 디지털 신호로 변환하는 과정과 그 반대 과정 수행

· 신호는 변조 과정 없이 단순히 유니폴라(단극성) 신호를 바이폴라(양극성) 신호로 변환해주는 기능만 제공하기 때문에 모뎀에 비해 구조 간단

· 디지털 데이터를 공중 데이터 교환망(PSDN)과 같은 디지털 통신망을 이용하여 저송할 때 사용됨

· 송·수신 기능과 타이밍 회복 기능을 DSU 자체에서 수행함

· 속도가 빠르고 오류율 낮음



154 신호 변환 방식 - 디지털 변조


① 디지털 변조의 개요


디지털 변조(Keying)란 디지털 데이터를 아날로그 신호로 변환하는 것, 모뎀 이용


② 진폭 편이 변조(ASK)


진폭 편이 변조(ASK, Amplitude Shift Keying)은 2진수 0과 1을 서로 다른 진폭의 신호로 변조하는 과정

진폭 : 신호의 높낮이

· 이 방식을 사용하는 모뎀은 구조가 간단하고, 가격이 저렴

· 신호 변동과 잡음에 약하여 데이터 전송용으로 거의 사용하지 않음


③ 주파수 편이 변조(FSK)


주파수 편이 변조(FSK, Frequenscy Shift Keying)는 2진수 0과 1을 서로 다른 주파수로 변조하는 과정

주파수 : 신호의 주기

· 1,200bps 이하의 저속도 비동기식 모뎀에서 사용됨

· 이 방식을 사용하는 모뎀은 구조가 간단하고, 신호 변동과 잡음에도 강함

· 대역폭 넓게 차지함


④ 위상 편이 변조(PSK)


위상 편이 변조(PSK, Phase Shift Keying)는 2진수 0과 1을 서로 다른 위상을 갖는 신호로 변조하는 방식

위상 : 신호의 시작 위치 

· 일정한 진폭 또는 주파수를 갖는 정현파의 위상을 180, 90, 45 도 단위로 2등분/ 4등분/ 8등분 했을 때의 각 위치에 신호를 할당하여 전송하는 방식

· 파형의 시작 위치를 다르게 하여 신호 전송

· 한 위상에 1비트(2위상), 2비트(4위상), 또는 3비트(8위상)을 대응시켜 전송하므로, 속도 증가시킬 수 있음

· 중·고속의 동기식 모뎀에 많이 사용됨

· 주파수 변조와 마찬가지로 잡음 크게 영향받지 않음


2위상 편이 변조(DPSK, BPSK)

위상을 2등분하는 방식으로, 2등분된 각각의 위상(0, 180 도)에 1과 0을 할당하여 전송


4위상 편이 변조(QDPSK, QPSK)

위상을 4등분하는 방식으로, 4등분된 각각의 위상(0, 90, 180, 270 도)에 2비트(00, 01, 10, 11)씩 할당하여 전송


⑤ 직교 진폭 변조(QAM) = 진폭 위상 변조, 직교 위상 변조


직교 진폭 변조는 진폭과 위상을 상호 변환하여 신호를 얻는 변조 방식

· 제한된 전송 대역 내에서 고속 전송 가능

· ITY-T에서 9,600bps 모뎀의 표준 방식으로 권고

· 신호의 진폭과 위상을 표시하는 신호의 구분점이 통신 회선의 잡음과 위상 변화에 대하여 우수한 특성 지님



155 신호 변환 방식 - 펄스 코드 변조(PCM)


① 펄스 변조


펄스 변조란 펄스파의 진폭, 폭, 위상 등을 변화시키는 변조 방식

연속 레벨(아날로그) 변조

불연속 레벨(디지털) 변조

펄스 진폭 변조(PAM)

펄스 폭 변조(PWM)

펄스 위상 변조(PPM)

펄스 수 변조(PNM)

펄스 코드 변조(PCM)

델타 변조(ΔM)


② 펄스 코드 변조(PCM)의 개념


펄스 코드 변조(PCM; Pulse Code Modulation)는 화상, 음성, 동영상 비디오, 가상 현실 등과 같이 연속적인 시간과 진폭을 가진 아날로그 데이터를 디지털 신호로 변환하는 것으로, 코덱 이용

· 펄스 코드 변조는 송신 측에서 아날로그 데이터를 표본화하여 PAM 신호(펄스 진폭 변조)로 만든후 양자봐, 부호화 단계를 거쳐 디지털 형대(2진수)로 전송하는 방식

· 펄스 코드 변조 순서

표본화→양자화→부호화→복호화→ 여파화

|            송신측            |     수신 측     |


③ 표본화 → PAM 신호를 얻는 과정


표본화(Sampling)는 음성, 영상 등의 연속적인 신호 파형을 일정 시간 간격으로 검출하는 단계, 샤논의 표본화 이론을 바탕

· 샤논의 표본화 이론 : 어떤 신호가 의미를 지니는 최고 주파수보다 2배 이상의 주파수로 균일한 시간 간격 동안 채집된다면 이 채집된 데이터는 원래의 신호가 가진 모든 정보 포함

· 표본화에 의해 검출된 신호를 PAM 신호라고 하며, 아날로그 형태

· PAM 신호는 양자화를 거쳐야 디지털 형태를 갖추게 됨


④ 양자화


양자화(Quantizing)는 표본화된 PAM 신호를 유한 개의 부호에 대한 대표값으로 조정하는 과정

· 실수 형태의 PAM 신호를 반올림하여 정수형으로 만든느 것으로, PAM 신호값이 양자화 레벨의 1/2보다 높은 경우에는 위의 레벨값으로 조정, 1/2보다 낮은 경우에는 아래의 레벨값으로 조정

· 양자화 잡음 : 표본 측정값과 양자화 파형과의 오차를 말하는 것으로, 주로 PCM 단국 장치에서 발생

· 양자와 잡음은 양자화 레벨으 세밀하게 함으로써 줄일 수 있으나, 이 경우 데이터의 양이 많아지고 전송 효율이 낮아짐

· 양자화 레벨 : PAM 신호를 부호화할 때 2진수로 표현할 수 있는 레벨을 말하는 것으로, 표본당 전송 비트 수가 3비트이면 2*2*2=8개, 7비ㅡ이면 2*2*2*2*2*2*2=128개의 양자화 레벨이 필요


⑤ 부호화


부호화(Encoding)은 양자화된 PCM 펄스의 진폭 크기를 2진수(1과 0)로 표시하는 과정


 복호화


복호화(Decoding)는 수신된 디지털 신호, 즉 PCM 신호를 PAM 신호로 되돌리는 과정


 여파화


여파화(Filtering)는 PAM 신호를 원래의 입력 신호인 아날로그 데이터로 복원하는 과정



156 신호 변환 방식 - 베이스밴드 전송 방식


① 베이스밴드 전송


베이스밴드(Base Band) 전송은 컴퓨터나 단말장치 등에서 처리된디지털 데이터를 다른 주파수 대역으로 변조하지 않고 직류 펄스의 형태 그대로 전송하는 것으로, 기저대역 전송이라고 함

· 신호만 전송되기 떄문에 전송 신호 품질 좋음

· 직류를 사용하므로 감쇠 등의 문제가 있어 장거리 전송에는 적합하지 않음

· 컴퓨터와 주변장치 간의 통신이나 LAN 등 비교적 가가운 거리에서 사용됨


베이스밴드 전송방식

종류

설명

 단류 NRZ

 · 입력 데이터가 1이면 양의 전압을 주고, 0이면 전압을 주지 않음

 · 송·수신 회로의 구성 간단

 · 단거리 구간에 이용

 복류 NRZ

 · 0은 음, 1은 양의 전압으로 표현

 · 저속도 전송의 표준 방식으로 사용됨

 NRZ-L

 · 0은 양, 1은 음의 전압으로 표현

 · 가장 대표적인 디지털 파형

 NRZ-M

 · 비트 간격의 시작점에서는 항상 신호 변화(천이)가 발생

 · 0은 신호 변화 없이 전 상태를 유지하고, 1일 때는 신호 변화 발생

 · 차등 부호라고도 함

 NRZ-S

 NRZ-M과 동일한 신호 변화를 적용하되 이력 신호의 보수를 취한 형태로 적용

 단류 RZ

 · 입력 데이터가 1이면 하나의 데이터 폭을 두 개로 나누어, 1/2시간 동안은 양의 전압으로 표현하고, 나머지 1/2시간 동안은 0으로 되돌아옴

 · 0이면 전압을 주지 않음

 복류 RZ

 하나의 데이터 폭을 두 개로 나누어, 1/2시간 동안에 0은 음, 1은 양의 전압으로 표현하고, 나머지 1/2시간 동안은 0으로 되돌아옴

 바이폴라

 · 0은 신호 변화 없이 0V를 유지하고, 1일 때는 +V와 -V상태를 교대로 표현

 · AMI(교호 부호 반전)

 · 고속 디지털망에서 사용됨

 맨체스터

 입력 데이터가 1이면 하나의 데이터 폭을 두 개로 나누어 1/2시간 동안에는 양의 전압으로, 나머지 1/2시간 동안에는 음의 전압으로 표현하고, 입력 데이터가 0이면 1/2시간 동안에는 음의 전압, 나머지 1/2시간 동안에는 양의 전압으로 표현

 기타 종류

 · RB(Return to Bias) 방식

 · CMI(Coded Mark Inversion), 부호화 마크 반전 방식

 · 차분 방식



157 다중화(Multiplexing)


① 다중화의 개념


· 다중화(Multiplexing)란 하나의 고속 통신 회선을 다수의 단말기가 공유할 수 있도록 하는 것

· 다중화를 위한 장치 : 다중화기, 집중화기, 공동 이용기


② 다중화기의 개요


다중화기(MUX, MUltipleXer)는 하나의 통신 회선에 여러 대의 단말기가 동시에 접속하여 사용할 수 있도록 하는 장치

· 고속 통신 회선의 주파수나 시간을 일정한 간격으로 나누어 각 단말기에 할당하는 방식으로 운영됨

· 여러 단말기가 같은 장소에 위치하는 경우, 다중화 기능을 이용하여 전송로의 수를 감소시킬 수 있음

· 다중화기는 주파수 분할 다중화기와 시분할 다중화기로 구분

· 통신 회선을 공유함으로써 전송 효율을 높이고, 통신 회선의 비용을 줄일 수 있음

· 입력 회선의 수와 출력 회선의 수가 같음

· 여러 대의 단말기 속도의 합이 하나의 통신 회선의 속도와 같음


③ 주파수 분할 다중화기의 개요


주파수 분할 다중화기(FDM, Frequency Division Multiplexer)는 통신 회선의 주파수를 여러 개로 분할하여 여러 대의 단말기가 동시에 사용할 수 있도록 한 것

· 전송 신호에 필요한 대역폭보다 통신 회선의 유효 대역폭이 큰 경우에 사용

· 다중화기 자체에 변·복조 기능이 내장되어 있어 모뎀 설치할 필요 없음

· 시분할 다중화기에 비해 구조 간단하고 가격 저렴

· 저속(1,200bps 이하)의 비동기식 전송, 멀티 포인트 방식에 적합

· 아날로그 신호 전송에 적합하여 전화의 장거리 전송망에 도입되어 사용되어 왔음

· 대역폭을 나누어 사용하는 각 채널들 간의 상호 간섭을 방지하기 위해 보호 대역(Guard Band, 각각의 채널들이 겹치지 않도록 채널들 사이에 사용하지 않고 남겨두는 부분) 필요

· 보호 대역 사용으로 인한 대역폭의 낭비 초래됨


④ 시분할 다중화기의 개요


시분할 다중화기(TDM, Time Division Multiplexer)는 통신 회선의 대역폭을 일정한 시간 폭으로 나누어 여러 대의 단말장치가 동시에 사용할 수 있도록 한 것

· 디지털 회선에서 주로 사용, 대부분의 데이터 통신에 사용됨


⑤ 동기식 시분할 다중화기


동기식 시분할 다중화기(STDM, Synchronous TDM)는 일반적인 다중화기를 말하는 것으로, 모든 단말기에 균등한(고정된) 시간폭 제공

· 전송되는 데이터의 시간폭을 정확히 맞추기 위한 동기 비트가 더 필요함

· 통신 회선의 데이터 전송률이 전송 디지털 신호의 데이터 전송률을 능가할 때 사용

· 다중화기의 내부 속도와 단말기의 속도 차이를 보완해주는 버퍼 필요

· 전송할 데이터가 없는 경우에도 시간폭이 제공되므로 효율성 떨어짐

· 송신 측에서 입력된 데이터를 채널 별로 분리하여 각각의 채널 버퍼에 저장하고, 이를 순차적으로 전송함


⑥ 비동기식 시분할 다중화기


비동기식 시분할 다중화기(ATDM, Asynchronous TDM)는 마이크로프로세서를 이용하여 접속된 단말기 중 전송할 데이터가 있는 단말기에만 시간폭 제공

· 시간폭을 동적으로 사용할 수 있는 방식

· 비동기식 시분할 다중화기는 낭비되는 시간폭을 줄일 수 있고, 남는 시간폭을 다른 용도로 사용할 수 있으며, 전송 효율 높음

· 동일한 조건일 경우 동기식 시분할 다중화기보다 많은 수의 단말기들이 전송 매체에 접촉 가능하며, 더 높은 전송 효율 갖음

· 다중화기의 내부 속도와 단말기의 속도 차이를 보완하기 위한 버퍼 필요

· 데이터 전송량이 많아질 경우 전송 지연이 생길 수 있음

· 동기식 시분할 다중화기에 비해 접속하는 데 더 많은 시간이 소요됨

· 데이터와 함께 주소 정보를 헤더에 붙여 전송

· 주소 제어, 흐름 제어, 오류 제어 등의 기능을 하므로 복잡한 제어 회로와 임시 기억 장치가 필요하며 가격이 비쌈

· 지능 다중화기, 확률적 다중화기, 통계적 시분할 다중화기라고도 함


⑦ 역다중화기


역다중화기(Inverse Multiplexer)는 광대역 회선 대신 두 개의 음성 대역 회선을 이용하여 데이터를 전송할 수 있도록 하는 장치

· 하나의 고속 통신 회선으로 데이터를 전송받아 두 개의 음성 대역 회선으로 나누는 작업을 수행하므로 다중화기의 역동작을 수행한다고 해서 역다중화기라 불림

· 광대역 통신 회선을 사용하지 않고도 9,600bps 이상의 광대역 속도를 얻을 수 있으므로, 통신 비용 절감

· 하나의 통신 회선이 고장나더라도 나머지 하나의 회선을 통해 1/2속도로 전송을 계속 유지 가능(DDD, Direct Distance Dialing는 장거리 자동 전화를 의미하며, DDD망을 이용할 수 있다는 것은 전화 교호나망, 즉 음성 대역 회선을 이용할 수 있다는 의미)

· 여러 가지 변화에 대응해 다양한 전송 속도 얻을 수 있음

· 음성 대역 회선의 특성상 두 회선의 상대적 전송 지연이 발생할 수 있으며, 이로 인한 두 회선의 속도 차이를 조절하기 위해 순환 기억장치가 사용됨(비트 스트림 혼란 방지)

· 성격이 다른 두 개의 채널 사용 가능


 집중화기


집중화기(Concentrator)는 하나 또는 소수의 통신 회선에 여러 대의 단말기를 접속하여 사용할 수 있도록 하는 장치

· 실제 전송할 데이터가 있는 단말기에만 통신 회선을 할당하여 동적으로 통신 회선을 이용할 수 있도록 함

· 한 개의 단말기가 통신 회선을 점유하면 다른 단말기는 통신 회선을 사용할 수 없으므로, 다른 단말기의 자료를 임시로 보관할 버퍼 필요

· m개의 입력 회선을 n개의 출력 회선으로 집중화하는 장치로, 입력 회선의 수가 출력 회선의 수보다 같거나 많음

· 회선의 이용륭이 낮고, 불규칙적인 전송에 적합

· 전송할 데이터의 유무를 판단해야 하므로 제어 조작이 비교적 어려움

· 회선 교환, 메시지 교환, 패킷 교환 등의 교환 방식에 사용됨

· 여러 대의 단말기 속도의 합이 통신 회선의 속도보다 크거나 같음



158 통신 속도와 통신 용량


① 변조 속도


변조 속도는 1초 동안 몇 개의 신호 변화가 있었는가를 나타내는 것으로, 단위는 baud 사용

· 1개의 신호가 변조되는 시간을 T초라고 할 때 변조 속도 baud=1/T


② 신호 속도


신호 속도는 1초 동안 전송 가능한 비트의 수를 나타내는 것으로 단위는 bps(bit/sec) 사용

· 2.4Kbps = 1초에 2,400개의비트 전송

· 데이터 신호 속도(bps) = 변조 속도(baud) × 변조시 상태 변화 수

· 변조 속도(baud) = 데이터 신호 속도(bps) / 변조시 상태 변화 수

※ 변조시 상태 변화 수

· 모노비트(Monobit) : 1비트

· 디비트(Dbit) : 2비트

· 트리비트(Tribit) : 3비트

· 쿼드비트(Quadbit) : 4비트


③ 전송 속도


전송 속도는 단위 시간에 전송되는 데이터의 양(문자, 블록, 비트, 단어 수 등)을 나타냄

· 단위는 특별히 정해진 것은 없으나 보토 문자/초(분, 시간), 블록/초(분, 시간), 단어/초(분, 시간), 비트/초(분, 시간) 등과 같은 형식으로 나타냄


④ 베어러 속도


베어러 속도는 데이터 신호에 동기 문자, 상태 신호 등을 합한 속도로, 단위는 bps(bit/sec)


⑤ 통신 용량


통신 용량은 단위 시간 동안 전송 회선이 최대로 전송할 수 있는 통신 정보량


샤논(Shannon)의 정의

· 샤논은 전송 회선의 대역폭과 신호, 잡음을 고려하여 다음과 같이 통신 용량 정의

C=W×log2(1+S/N)[bps]

C : 통신 용량, W : 대역폭, S : 신호 전력, N : 잡음 전력


전송로의 통신 용량을 늘리기 위한 방법

· 주파수 대역폭을 늘림

· 신호 세력을 높임

· 잡음 세력을 높임



출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 데이터통신' 카테고리의 다른 글

데이터통신 오답노트  (0) 2017.02.27
5장 통신 프로토콜  (2) 2017.02.15
4장 데이터 회선망  (0) 2017.02.15
3장 전송 제어 방식  (0) 2017.02.14
1장 데이터 통신의 기본  (0) 2017.02.14

정보처리기사 필기 - 5과목 데이터 통신


1장 데이터 통신의 기본


146 데이터 통신의 개요


① 정의


데이터 통신

데이터 통신(Data Communication)은 컴퓨터의 발달을 배경으로 하여 생겨난 것으로, 컴퓨터와 각종 통신 기기 사이에서 디지털 형태로 표현된 2진 정보(0과 1)를 송·수신하는 것

· 데이터 통신 = 데이터 전송 기술 + 데이터 처리 기술


정보 통신

정보 통신(Information Communication)은 컴퓨터와 통신 기술의 결합에 의해 통신 처리 기능과 정보 처리 기능은 물론 정보의 변환, 저장 과정이 추가된 형태의 통신

· 일반적으로 정보 통신의 범주에 포함되는 데이터 통신을 정보 통신이라고 함

· 정보 통신 = 전기 통신(정보 통신) + 컴퓨터(정보 처리)


② 통신의 3요소


· 정보원(Source) : 정보를 입력받아 전송하는 장소

· 수신원(Destination) : 전송된 정보를 수신하는 장소

· 저장 매체(Transmission Media) : 정보원과 수신원을 연결하는 매체(=통신 회선)


③ 데이터 통신 시스템의 특징


데이터 통신 시스템은 데이터 전송계와 데이터 처리계로 구성되며, 다음과 같은 특징 있음

· 고속·고품질의 전송 가능

· 고도의 오류 제어 방식 사용해 신뢰도 높음

· 대형 컴퓨터와 대용량 파일을 공동으로 이용 가능

· 분산 처리 가능

· 멀리 떨어져 있는 정보 처리 기기들의 효율적인 정보 교환 가능

· 통신 회선을 효율적으로 이용 가능

· 대용량·광대역 전송 가능

· 거리와 시간의 한계 극복

· 통신 비밀을 유지하기 위한 보안 시스템 개발 필요


④ 데이터 통신 시스템의 발달 과정


데이터 통신 시스템이 최초로 이용된 분야 : 군사 분야

주요 기술

설명

 전신기

 1837년 모르스(Morse) 부호를 전기의 On/Off로 구현할 수 있는 전신기 발명

 전화

 1876년 벨(Bell)에 의해 음성 신호를 전달할 수 있는 전화 발명

 무선 전신기

 1895년 마르코니에 의해 무선 전신기 발명

 SAGE(Semi-Automatic Ground Environment)

 · 1958년 미 공군에 설치된 반자동 방공 시스템

 · 최초의 데이터 통신 시스템

 SABRE(Semi-Automatic Business Research Environment)

 · 1963년 아메리칸 에어라인 항공사에서 도입한 항공기 좌석 예약 시스템

 · 최초의 상업용 데이터 통신 시스템

 CTSS(Compatible Time Sharing System)

 1964년 MIT 공과대학에서 대학 내 대형 컴퓨터의 공동 이용을 목적으로 시행한 최초의 시분할 시스템

 ARPANET(Advanced Research Project Agency NETwork)

 · 1969년 미 국방성에서 설치한 최초의 유선 패킷 교환 시스템

 · 인터넷의 효시가 된 통신 시스템

 ALOHA(Additive Links On-line Hawaii Area)

 · 1970년 미 하와이 대학에서 실험적으로 설치한 최초의 무선(라디오) 패킷 교환 시스템

 · 회선 제어 방식중 경쟁 방식의 모체

 SNA(System Network Architecture)

 1974년 IBM 사에서 발표한 컴퓨터 간 접속 네트워크 시스템 표준으로, SNA로 인해 데이터 통신 시스템의 표준화가 시작됨



147 데이터 통신 시스템의 기본 구성


데이터 통신 시스템은 데이터의 전송을 담당하는 데이터 전송계와 데이터의 처리를 담당하는 데이터 처리계로 구분됨


① 데이터 통신 시스템의 기본 구성

[그림 1] 데이터 통신 시스템의 기본 구성

단말장치

단말장치(DTE; Data Terminal Equipment)는 데이터 통신 시스템과 외부 사용자의 접속점에 위치하여 최종적으로 데이터를 입·출력하는 장치

· 입·출력 기능 : 입력된 데이터를 컴퓨터가 처리할 수 있는 2진 신호의 형태로 변환하는 입력 기능과 처리된 데이터를 사용자가 인식할 수 있는 문자, 숫자, 화상의 형태로 변환하는 출력 기능 수행

· 전송 제어 기능 : 입·출력 제어 기능, 회선 제어 기능(송·수신 제어, 오류 제어), 회선 접속 기능 수행

· 기억 기능 : 입력된 데이터를 통신 회선을 통해 전송하기 전에, 그리고 출력된 데이터를 단말장치에 표시하기 전에 잠시 보관하는 기능 수행

· 단말장치는 내장된 프로그램의 유무에 따라 분류됨

 지능형(Intelligent) 단말장치(스마트(Smart) 단말장치)

 · CPU와 저장장치가 내장된 단말장치로, 프로그램을 설치하여 단독으로 일정 수준 이상의 작업 처리가 가능

 · 네트워크 환경에서 분산 처리를 수행하기 위한 용도로 사용

 비지능형(Non-Intelligent) 단말장치(더미(Dummy) 단말장치)

 · 입력장치와 출력장치로만 구성되어 단독으로 작업을 처리할 수 있는 능력이 없는 단말장치

 · 통신 회선으로 연결된 컴퓨터(Host)에 모든 처리를 의존


신호 변환장치

신호 변환장치(DEC; Data Circuit Equipment)는 컴퓨터나 단말장치의 데이터를 통신 회선에 적합한 신호로 변경하거나, 통신 회선의 신호를 컴퓨터나 단말장치에 적합한 데이터로 변경하는 신호 변환 기능 수행

전송 회선의 양쪽 끝에 위치하므로 데이터 회선 종단장치(DCE; Data Circuit-terminal Equipment)라고도 함

· 통신 회선 형태에 따라 사용되는 기기 달라짐

신호 변환장치

통신 회선 형태

신호 변환

전화

아날로그 회선

아날로그 데이터 ↔ 아날로그 신호

MODEM

아날로그 회선

디지털 데이터 ↔ 아날로그 신호

CODEC

디지털 회선

아날로그 데이터 ↔ 디지털 신호

DSU

디지털 회선

디지털 데이터 ↔ 디지털 신호


통신 회선

통신 회선은 단말장치에 입력된 데이터 또는 컴퓨터에서 처리된 결과가 실질적으로 전송되는 전송 

· 유선 매체 : 꼬임선, 동축 케이블, 광섬유 케이블 등

· 무선 매체 : 라디오파, 지상 마이크로파, 위성 마이크로파 등


통신 제어장치

통신 제어장치(CCU, Communication Control Unit)는 데이터 전송 회선과 주 컴퓨터를 연결하는 장치

· 통신 회선을 통해 하나씩(직렬) 수신한 데이터를 컴퓨터가 처리하기 쉽게 일정 크기로 묶는(병렬) 직·병렬 변환 작업을 수행


컴퓨터

단말장치에 보낸 데이터를 처리하는 곳으로, 처리된 데이터는 다시 통신 회선을 통해 단말장치로 전달됨

컴퓨터 - 하드웨어 - 중앙처리장치 / 주변 장치

    - 소프트웨어 - 시스템 소프트웨어 / 응용 소프트웨어



148 통신 회선


① 꼬임선


꼬임선(Twisted Pair Wire)은 전기적 간섭 현상을 줄이기 위해 균일하게 서로 감겨있는 형태의 케이블

· 가격 저렴, 설치 간편

· 거리, 대역폭, 데이터 전송률 면에서 제약 많음

· 다른 전기적 신호의 간섭이나 잡음에 영향 받기 쉬움

· 최근에는 100Mbps 이상의 전송 속도가 가능한 꼬임선이 개발되어 짧은 거리에서는 고속 전송이 가능

· 종류

UTP : 외부 재킷 안에 색이 입혀진 플라스틱 절연체로 감싸진 구리선

STP : 각 꼬임선 쌍별로 피복되어 있음


② 동축 케이블


동축 케이블(Coaxial Cable)은 중심 도체를 플라스틱 절연체를 이용하여 감싸고, 이를 다시 외부 도체를 이용하여 감싸는 형태로 구성됨

· 주파수 범위 넓어 데이터 전송률 높음

· 꼬임선에 비해 외부 간섭과 누화(전화 통화중에 다른 전화의 내용이 함께 들리는 현상)의 영향 적음

· 신호의 감쇠 현상을 막기 위해 일정 간격마다 중계기를 설치해야함

· 아날로그와 디지털 신호 전송에 모두 사용

· 고주파 특성이 양호하며, 광대역 전송에 적합함

· CATV, 근거리 통신망, 장거리 전화 등에 다양하게 사용됨


③ 광섬유 케이블


광섬유 케이블(Optical Fiber Cable)은 유리를 원료로 하여 가느다란 광섬유를 여러 가닥 묶어서 케이블의 형태로 만든 것으로, 광케이블이라고 함

· 데이터를 전기 신호가 아닌 빛으로 바꾸어 빛의 전반사 원리를 이용해 전송

· 광섬유 케이블은 원통형이며, 코어, 클래드, 재킷의 세부분으로 구성됨

· 유선 매체 중 가장 빠른 속도와 넓은 주파수 대역폭 제공

· 넓은 대역폭을 제공함으로 데이터 전송률 높음

· 대용량, 장거리 전송 가능

· 가늘고 가벼워 취급 용이, 도청어려워 보안성 뛰어남

· 광섬유 케이블의 원료인 유리는 절연성이 좋아 전자 유도의 영향을 받지 않으므로(무유도성), 전자기적인 문제가 최소화되어 안정된 통신 및 누화 방지가 가능함

· 감쇠율이 적어 리피터의 설치 간격이 넓으므로 리피터의 소요 적음

· 설치 비용이 비싸지만 리피터의 소요가 적고, 대용량 전송이 가능하여 단위 비용은 저렴

· 광섬유 케이블 간의 연결이 어려워 설치 시 고도의 기술 필요


④ 라디오파


라디오파는 통신 장비의 이동이 빈번하고 통신 회선을 이용하기 어려운 지역 간의 통신에 이용하므로 무선 주파수를 사용하는 방식

· 주로 장거리 통신 서비스에 이용도며, 동축 케이블이나 광섬유 케이블의 대용으로 TV나 휴대폰 등의 음성 전송에 이용됨

· 감쇠율이 적어 동축 케이블에 비해 중계기가 훨씬 적게듬


⑤ 위성 마이크로파


위성 마이크로파는 지상에서 쏘아올린 마이크로 주파수를 통신 위성을 통해 변환, 증폭한 후 다른 주파수로 지상에 송신하는 방식으로, 위성 통신에 사용됨

· 위성 통신에서 사용하는 주파수는 300~3,000MHz인 UHF나 3~30GHz인 SHF 사용

· 위성 통신 시스템은 통신 위성, 지구국, 채녈로 구성됨

· 대역폭이 넓어 고속·대용량 통신 가능, 통신 비용 저렴

· 오류율 적어 고품질의 정보 전송 가능

· 한 대의 통신 위성은 지구 표면의 약 1/3 이상을 커버해, 통신 범위 넓음

· 전송 비용은 거리와 무관하게 일정

· 데이터 전송 시 반드시 통신 위성을 거쳐야 하므로 전송 지연 시간 김

· 수신용 안테나만 있으면 누구나 통신 내용을 수신할 수 있는 방송망 형태이므로, 보안성 취약함

· 사용 주파수가 높아질수록 기상 현상에의한 신호 감쇠 심해짐

· 통신 위성이 고장난 경우 수리 어렵

· 지상에 있는 무선 통신 시스템과의 상호 장애를 피하기 위해 지구국은 항상 도시 외곽에 위치해야함

※ 지구국 : 지상에 존재하는 통신 시스템으로, 위성으로 전파를 보내고 위성에서 다시 송신한 전파를 지상에서 수신하는 역할을 하며, 다른 지구국과의 접속 및 기존의 지상 통신망과의 연결 기능 수행

※ 채널 : 주파수나 시간폭 등에 의해 논리적으로 형성되는 전송로

※ 위성 통신의 보안 : 위성 통신은 전혀 보안성이 없기 때문에 통신 내용의 비밀 유지가 필요한 경우는 암호화 등 별도의 주치 필요

· 다중 접속 방식 : 위성 통신 시스템에서는 하나의 통신 위성에 여러 개의 지구국이 접속하여 사용하므로, 통신 위성을 공동으로 사용하기 위한 다중 접속 방식 필요

- FDMA(Frequency Division Multiple Access) : 주파수 대역을 일정 간격으로 분할하는 방식

- TDMA(Time Division Multiple Access) : 사용 시간을 분할하는 방식

- CDMA(Code Division Multiple Access) : 주파수나 시간을 모두 공유하면서 각 데이터에 특별한 코드를 부여하는 방식



149 통신 제어장치


① 통신 제어장치의 기능


통신 제어장치(CCU; Communication Control Unit)는 데이터 전송 회선과 주 컴퓨터 사이에 위치, 컴퓨터가 데이터 처리에 전념할 수 있도록 컴퓨터를 대신해 데이터 전송에 관한 전반적인 제어 기능 수행


전송 제어

통신 제어장치는 통신 접속을 위한 다음과 같은 전송 제어 수행

· 다중 접속 제어 : 하나의 통신 회선을 여러 개의 단말장치가 공유하는 경우 전송 회선을 선택

· 교환 접속 제어 : 데이터 송·수신을 위한 회선의 설정과 절단

· 통신 방식 제어 : 단방향, 반이중, 전이중 등의 통신 방식 결정

· 우회 중계 회선 설정(경로 설정) : 데이터 송·수신 시 통신 회선에 장애가 발생한 경우 우회 전송이 가능하도록 다른 통신 회선 선택


동기 및 오류 제어

통신 제어장치는 전송하는 정보에 대해 다음과 같은 제어 수행

· 동기 제어 : 컴퓨터의 처리 속도와 통신 회선상의 전송 속도 차이 조정

· 오류 제어 : 통신 회선과 단말장치에서 발생하는 오류 제어

· 흐름 제어 : 수신 가능한 데이터의 양을 송신 측에 알려 원활한 정보 전송 가능하도록 조정

· 응답 제어 : 수신 정보 확인

· 정보 전송 단위의 정합 : 전송 정보 패킷 등의 적당한 길이 단위로 분할 또는 결합

· 데이터 신호의 직·병렬 변환 : 통신 회선을 통해 하나씩(직렬) 수신한 데이터를 컴퓨터가 처리하기 쉽게 일정 크기로 묶거나(병렬) 그 반대의 작업 수행

· 투과성 : 전송할 실제 데이터에 대한 비트 열에 확장 비트를 부가 또는 소거

· 정보 통신 형식의 변환 : 문자 코드, 데이어 형식 등의 변환

· 우선권 제어


그 밖의 기능

· 제어 정보 식별 : 일반 데이터와 제어 정보 구분

· 기밀 보호 : 암호화 등 제어

· 관리 기능 : 통신에 관한 요금, 통계 정보의 수집


② 통신 제어장치의 종류

 통신 제어장치

 (CCU; Communication Control Unit)

 전송 문자의 조립과 분행 기능 수행

 통신 제어 처리 장치

 (CCP; Communication Control Processor)

 문자는 물론 메시지의 조립과 분해 기능 수행

 전처리기

 (FEP; Front End Processor)

 · 호스트 컴퓨터와 단말기 사이에 고속 통신 회선으로 설치

 · 통신 회선 및 단말기 제어, 메시지 조립과 분해, 전송 메시지 검사 등 수행 → 컴퓨터 부담 감소


③ 통신 제어장치의 분류

 비트 버퍼 방식

 · 비트 단위의 처리만 수행하므로 기능 단순, 컴퓨터 처리 부담 큼

 · 일반적으로 컴퓨터에 내장되어 사용됨

 문자 버퍼 방식

 수신되는 비트를 모아 문자로 조립, 문자를 다시 비트로 분해하는 기능 수행

 블록 버퍼 방식

 · 수신되는 문자를 다시 모아 블록 단위로 조립, 분해하는 기능 수행

 · 하드웨어의 비용 및 컴퓨터의 부하가 문자 버퍼 방식에 별로 경감되지 않으므로 거의 사용하지 않음

 메시지 버퍼 방식

 · 블록을 모아 메시지의 형태로 조립하고 분해하는 기능 수행

 · 컴퓨터 측의 부담이 가장 적지만, 큰 버퍼 필요하고 구조 복잡

 · 대규모 데이터 통신 시스템에서 많이 사용됨



출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 데이터통신' 카테고리의 다른 글

데이터통신 오답노트  (0) 2017.02.27
5장 통신 프로토콜  (2) 2017.02.15
4장 데이터 회선망  (0) 2017.02.15
3장 전송 제어 방식  (0) 2017.02.14
2장 데이터 통신 이론  (0) 2017.02.14

정보처리기사 필기 - 3과목 운영체제


6장 운영체제의 실제


108 UNIX의 개요


① UNIX의 특징


UNIX는 주로 서버용 컴퓨터에서 사용되는 운영체제로 다음과 같은 특징이 있음


· 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템(Open System)

· 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높음

· 크기가 작고 이해하기가 쉬움

· 다중 사용자, 다중 자업을 지원

· 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합

· 트리 구조의 파일 시스템

· 전문적인 프로그램 개발에 용이

· 다양한 유틸리티 프로그램들이 존재


② UNIX 시스템의 구성

[그림 1] UNIX 시스템의 구성


· 커널(Kernel)

- UNIX의 가장 핵심적인 부분

- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨

- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 담당

- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입·출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능 수행


· 쉘(Shell)

- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기

- 시스템과 사용자 간의 인터페이스 담당

- DOS와 COMMAND.COM과 같은 기능 수행

- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에 교체 처리가 가능

- 파이프라인(둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환하는 기능) 기능을 지원하고 입·출력 재지정을 통해 출력과 입력의 방향 변경 가능

- 공용 Shell(Bourne Shell, C Shell, Kom Shell)이나 사용자 자신이 만든 Shell 사용 가능


· Utility Program

- 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용

- DOS에서의 외부 명령어에 해당

- 유틸리티 프로그램에는 에디터, 컴파일러, 디버거 등이 있음


※ UNIX에서의 프로세스 간 통신

각 프로세스는 시스템 호출을 통해 커널의 기능을 사용하며, 프로세스 간 통신은 시그널, 파이프, 소켓 등을 사용

· 시그널(Singnal) : 간단한 메시지를 이용하여 통신하는 것으로 초기 UNIX 시스템에서 사용됨

· 파이프(Pipe) : 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신 방식

· 소켓(Socket) : 프로세스 사이의 대화를 가능하게 하는 쌍방향 통신 방식



109 UNIX 파일 시스템과 명령어


① 파일 시스템


· UNIX 파일 시스템의 디렉터리 구조 : 트리 구조

· 디렉터리나 주변장치를 파일과 동일하게 취급함

· 파일 소유자, 그룹 및 그 외 다른 사람들로부터 사용자를 구분하여 파일 보호

· 파일 생성 및 삭제 기능, 보호 기능 갖음

· 파일 형식은 일반 파일(Regular File), 디렉터리 파일(Directory File), 특수 파일(Special File)의 세 가지 형식 제공

※ 파일 형식

· 일반 파일 : 정보처리.txt, 정보처리.html 등과 같은 일반 파일

· 디렉터리 파일 : 파일 이름들의 목록과 파일들이 디스크의 어디에 위치하는지를 나타내는 정보를 가진 파일

· 특수 파일 : 프린터와 터미널, 디스크 같은 주변 장치를 접근·관리하고, 파이프와 소켓 같은 프로세스 간 상호 통신에 대한 정보를 가지고 있는 파일


② UNIX 파일 시스템의 구조


· UNIX 파일 시스템의 구조는 디스크를 블록으로 분류하여 배치한 구조를 의미

· UNIX 파일 시스템의 구조는 부트 블록(Boot Block), 슈퍼 블록(Super Block), I-node(Index node) 블록, 데이터 블록으로 구성됨

부트 블록

 부팅 시 필요한 코드를 저장하고 있는 블록

 슈퍼 블록

 전체 파일 시스템에 대한 정보를 저장하고 있는 블록

 I-node 블록(Index node)

 · 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록

 · 정보 : 파일 소유자의 사용자 번호(UID) 및 그룹 번호(GID), 파일 크기, 파일 타입(일반·디렉터리·특수 파일 등), 생성 시기, 최종 변경 시기, 최근 사용 시기, 파일의 보호 권한, 파일 링크 수, 데이터가 저장된 블록의 시작 주소

 데이터 블록

 디렉터리별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록


③ 프로세스 관련 UNIX 명령어

명령어

의미

fork

 새로운 프로세스를 생성(하위 프로세스 호출, 프로세스 복제 명령)

 ※ 유닉스에서 새로운 프로세스를 생성한다는 것은 기존 프로세스를 복제한다는 것

    프로세스가 생성되면 기족 프로세스는 상위(부모) 프로세스가 되고, 생성된 프로세스는 하위(자식) 프로세스가 됨

exec

 새로운 프로세스 수행

exit

 프로세스 수행 종료

wait

 fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림

kill

 프로세스 제거

getpid

 자신의 프로세스 아이디를 얻음

getppid

 부모 프로세스 아이디를 얻음

&

 백그라운드 처리를 위해 명령의 끝에 입력

signal

 신호 받았을 때 프로세스가 취할 동작 지정

pipe

 프로세스 간 통신을 위한 경로 설정


④ 파일 및 디렉터리, 기타 관련 UNIX 명령어

명령어

의미

create

 파일 생성

open

 파일을 사용할 수 있는 상태로 준비시킴

close

 파일 닫기

cp

 파일 복사

mv

 파일 이동시키거나 이름 변경

rm

 파일 삭제

cat

 파일 내용을 화면에 표시

chmod

 파일의 보호 모드를 설정하여 파일의 사용 허가 지정

chown

 소유자를 변경

find

 파일 찾기

mknod

 특수 파일 생성

mount/unmount

 파일 시스템을 마운팅/마운티 해제 (파일 시스템 마운팅 : 새로운 파일 시스템을 기존 파일 시스템의 서브 디렉터리에 연결)

mkfs

 파일 시스템 생성

fsck

 파일 시스템 검사하고 보수

 mkdir

 디렉터리 생성

 chdir

 현재 사용할 디렉터리 위치 변경

rmdir

 디렉터리 삭제

ls

 현재 디렉터리 내의 파일 목록 확인

finger

 사용자 정보 표시



110 Windows


① Windows의 특징


Windows는 마이크로소프트(Microsofr)사가 개발한 운영체제


GUI(Graphic User Interface, 그래픽 사용자 인터페이스)

키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식


선점형 멀티태스킹(Preemptive Multi-Tasking)

동시에 여러 개의 프로그램을 실행하는 멀티태스킹(멀티 프로그래밍)을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식


FAT 32 파일 시스템 사용

32Bit FAT(File Allocation Table) 사용

- FAT 32 : 파일은 디스크에 클러스터 단위로 저장되는데, FAT 32는 기존에 사용하던 FAT 16에 비해 클러스터 크기가 작아 하드디스크의 공간 낭비를 줄일 수 있음

- 클러스터 : 여러 개의 섹터를 모은 것으로, 운영체제가 관리하는 파일 저장의 최소 단위이며 한 개의 크기는 4~32KB

- FAT : 파일이나 하위 디렉터리가 디스크의 어느 위치에 저장되어 있는지 위치 정보를 저장하는 테이블


PnP(Plug and Play, 자동 감지 기능) 사용

· 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능

· 운영체제가 하드웨어의 규격을 자동으로 인식하여 동작하게 해주므로 PC 주변장치를 연결할 때 사용자가 직접 환경을 설정하지 않아도 됨

· 플러그 앤 프레이 기능을 활용하기 위해서는 하드웨어와 소프트웨어 모두 플러근 앤 플레이를 지원해야 함


OLE(Object Linking and Embedding) 사용

· 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체(Object)를 현재 작성 중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능

· OLE로 연결된 이미지를 원본 프로그램에서 수정하거나 편집하면 그 내용이 그대로 해당 문서에 반영됨


255자의 긴 파일명 사용

· 파일 이름을 지정할 때 VFAT(Virtual Fiel Allocation Table)를 이용하여 최대 255자까지 지정 가능

· 파일 이름에 공백을 넣을 수 있으며, 127(한글)자가지 지정 가능


Single-User 시스템

컴퓨터 한 대를 한 사람만이 독점해서 사용


기타

· 기존의 DOS와 Windows 3.1의 기능 포함

· 네트워크 구축 민 통신에 관련된 여러 네트워크 연결을 용이하게 수행하도록 여러가지 프로토콜 및 기능 지원

· 사원드, 동화상 등의 멀티미디어를 쉽게 사용할 수 있는 기능 지원

· CD-ROM의 Auto Display : CD-ROM 드라이브에 CD를 삽입하면 Autorun, inf 파일에 의해 자동 수행됨

· 설치 마법사를 통해 대화식으로 소프트웨어를 설치하고 제거할 수 있음

· 가상기억장치 사용



111 MS-DOS


① MS-DOS의 특징


MS-DOS는 마이크로소프트 사에서 개발한 것으로, Windows 이전에 사용되던 운영체제이며 다음과 같은 특징 있음


· CUI(Character User Interface, 문자 중심의 사용자 인터페이스) : 작업을 위한 실행 명령을 문자로 직접 입력하여 실행시킴

· Single-User : 하나의 컴퓨터를 한 사람만이 사용

· Single-Tasking : 한 번에 하나의 프로그램만을 수행

· 파일 시스템의 디렉터리 구조는 트리 구조


② MS-DOS의 파일


시스템 파일(System File)

· 시스템 파일은 MS-DOS의 핵심 파일로 주변장치의 입·출력과 시스템 전체를 통제

· 시스템 파일에는 MSDOS.SYS와 IO.SYS가 있으며 각 파일은 다음과 같은 기능 수행

 MSDOS.SYS

 프로세스 관리, 메모리 관리, 주변장치 관리, 파일 관리 등의 파이 입·출력 시스템 호출 담당

 IO.SYS

 MSDOS.SYS의 입·출력 요구에 따라 실제 입·출력 처리 담당

· 부팅 시 반드시 필요하며, 부팅 후 메모리에 항상 적재되어 있음


명령어 처리기(Command Processor)

· 명령어를 해독하여 실행하는 파일로, COMMAND.COM파일이 사용됨

· 사용자와 MSDOS.SYS를 서로 연결시켜 주는 역할

· 부팅 시 반드시 필요하며, 부팅 후 메모리에 항상 적재되어 있음


자동 일괄 처리 파일(Auto Batch File)

· 부팅 시 먼저 수행될 일정하고 반복적인 명령들을 일괄적으로 모아 놓은 파일로, AUTOEXEC.BAT 파일이 사용됨

· 부팅시 자동으로 실행되지만, 부팅 시에는 반드시 필요한 파일은 아님


환경 설정 파일

· 작업을 수행하는 데 필요한 컴퓨터 시스템의 환경 설정을 위한 파일로, CONFIG.SYS 파일이 사용됨

· 부팅시 반드시 필요한 파일은 아님


③ MS-DOS 명령어


MS-DOS에서 사용되는 명령어는 내부 명령어와 외부 명령어로 분류됨


내부 명령어

· 내부 명령어는 실행 과정이 간단하고 기본적인 기능을 수행하는 것으로 메모리에 항상 상주하는 명령어

· COMMAND.COM에 포함되어 있으며 처리 속도가 빠름

· 내부 명령어의 종류

명령어

기능

UNIX 명령어

DIR

 파일 목록 표시

ls

COPY

 파일 복사

cp

TYPE

 파일의 내용 표시

cat

REN

 파일의 이름 변경

mv

DEL

 파일 삭제

rm

MD

 디렉터리 생성

mkdir

CD

 디렉터리의 위치 변경

chdir

RD

 디렉터리 삭제

rmdir

CLS

 화면의 내용 지움

clear

VER

 버전 표시

uname

PATH

 파일의 탐색 경로 지정



외부 명령어

· 외부 명렁은 실행 과정이 복잡하거나 자주 사용하지 않는 것으로, 디스크에 파일로 저장되어 있음

· 실행 파일을 디스크에서 찾아 메모리로 옮긴 후 실행하므로 처리 속도 느림

· 외부 명령어의 종류

명령어

기능

UNIX 명령어

UNDELETE

 삭제한 파일 복원


SYS

 시스템 파일 복사


ATTRIB

 파일의 속성 변경

chmod

MOVE

 파일 이동

mv

FIND

 파일 찾기

find

FORMAT

 디스크 표면을 트랙과 섹터로 나누어 초기화

fdformat

UNFORMAT

 포맷한 디스크 복원


CHKDSK

 디스크 상태 점검

df

DISKCOPY

 디스크 단위로 복사


DISKCOMP

 디스크 비교




출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 운영체제' 카테고리의 다른 글

운영체제 오답노트  (0) 2017.02.23
5장 분산 운영체제  (0) 2017.02.12
4장 정보 관리  (0) 2017.02.12
3장 기억장치 관리  (0) 2017.02.10
2장 프로세스 관리  (0) 2017.02.10

정보처리기사 필기 - 3과목 운영체제


5장 분산 운영체제


104 다중 처리기의 개요


① 다중 처리기의 개요


다중 처리기(Multi-Processor)는 하나의 시스템에 여러 개의 처리기(프로세서)를 두어 하나의 작업을 각 처리기에게 할당하여 수행하도록 하는 것을 의미


· 다중 처리기는 프로세서간 상호작용이 밀접한 강결합 시스템

· 여러 작업을 동시에 처리하여 실행 시간이 감소되고 전체 효율 향상시킬 수 있음

· 하나의 복합적인 운영체제에 의하여 전체 시스템이 제어됨

· 여러 프로세서는 하나의 공통된 기억장소를 가짐

· 프로세서들 중 하나가 고장 나도 다른 프로세서들에 의해 작업이 처리되므로 장애극복 가능

· 각 프로세서는 자체 계산 능력을 가지고 있으며, 프로세서나 주변 장치 등을 공동 사용함

· 다중 처리기는 여러 프로세서들과 주변장치들이 기억장치에 연결되는 방식에 따라 시분할 및 공유 버스, 크로스바 교환 행렬, 하이퍼 큐브 방식으로 나눌 수 있음


② 시분할 및 공유 버스 연결 방식


프로세서, 주변 장치, 기억장치 등의 각종 장치들을 '버스'라는 단일 경로로 연결한 방식


· 장치 연결이 단순하고, 경제적이며, 융통성 있음

· 장치 추가가 용이함

· 한 시점에서는 하나의 전송만이 가능

· 버스에 이상이 발생하면 전체 시스템이 가동되지 않음

· 시스템의 전체 전송량이 버스의 전송률에 의해 제한됨

· 각 장치가 버스를 사용하기 위한 경쟁 상태가 발생하면 시스템 성능 효율이 저하


③ 크로스바 교환 행렬 연결 방식


시분할 및 공유 버스 방식에서 버스의 수를 기억장치 수만큼 증가시켜 연결한 방식


· 각 기억장치마다 다른 경로 사용 가능

· 두 개의 서로 다른 기억장치를 동시에 참조 가능

· 장치의 연결 복잡해짐


④ 하이퍼 큐브 연결 방식


다수의 프로세서들을 연결하는 방식으로 비교적 경제적인 방식


· 네 개의 프로세서를 두 개씩 서로 이웃하게 연결한 사각형 모양의 2차원 하이퍼 큐브를 만들고, 2차원 하이퍼 큐브의 대응점을 각각 연결하여 3차원 하이퍼 큐브를 형성하고, 이런 형식으로 4차원, 5차원 ··· 하이퍼 큐브 형성

· 다수의 프로세서를 연결할 수 있으며, 확장성이 좋음

· 많은 프로세서가 연결될 경우 비용이 급속도로 증가함

· 하나의 프로세서에 연결되는 다른 프로세서의 수(연결점)가 n개일 경우 프로세서는 총 2n


⑤ 다중 포트 기억장치 연결 방식

시분할 및 공유 버스 방식과 크로스바 교환 행렬 방식을 혼합한 형태의 방식

· 많은 수의 프로세서를 쉽게 연결 가능

· 다양한 연결이 가능하며, 전송 시간이 비교적 느림



105 다중 처리기의 운영체제 구조와 프로세서 결합도


① Master/Slave(주/종) 처리기


하나의 프로세서를 Master(주 프로세서)로 지정하고, 나머지들은 Slave(종 프로세서)로 지정하는 구조


· 주 프로세서가 고장나면 전체 시스템이 다운됨

· 주 프로세서만 입·출력을 수행하므로 비대칭 구조 갖음

· 주 프로세서와 종 프로세서의 역할

주 프로세서

 · 입·출력과 연산 담당

 · 운영체제 수행

종 프로세서

 · 연산만 담당

 · 입·출력 발생 시 주 프로세서에게 서비스 요청

 · 사용자 프로그램만 담당


② 분리 실행 처리기


주/종 처리기의 비대칭성을 보완하여 각 프로세서가 독자적인 운영체제를 가지고 있도록 구성한 구조


· 각 프로세서에서 발생하는 인터럽트는 해당 프로세서에서 해결

· 각 프로세서가 독자적인 운영체제를 가지고 있기 때문에 한 프로세서가 고장나더라도 전체 시스템이 다운되지 않음

· 주/종 처리기 구조에 비해 신뢰도 높음

· 할당된 작업은 해당 프로세서가 모두 처리해야 되기 때문에 한 프로세서에 일이 밀려도 다른 프로세서는 유휴 상태가 될 수 있음


③ 대칭적 처리기


분리 실행 처리기 구조의 문제점을 보완한 것으로, 여러 프로세서들이 완전한 기능을 갖춘 하나의 운영체제를 공유하여 수행하는 구조


· 가장 복잡한 구조를 가지고 있으나 가장 강력한 시스템

· 여러 개의 프로세서가 동시에 수행될 수 있음

· 시스템의 전반적인 정보를 통일적이고 일관성있게 운영

· 모든 프로세서가 동등한 권한을 가지며, 메모리와 입·출력장치를 공유함

· 프로세서 간의 통신은 공유 메모리를 통해 이루어짐

· 각 프로세서가 동등한 입장이기 때문에 공유된 장치를 사용하려고 할 때 대립 문제가 발생하므로 적절한 대비책이 필요함

· 프로세서의 수를 늘린다고 해도 시스템 효율은 향상되지 않음


④ 약결합 시스템(Loosely Coupled System)


· 각 프로세서마다 독립된 메모리를 가진 시스템으로, 분산 처리 시스템이라고도 함

· 둘 이상의 독립된 컴퓨터 시스템을 통신망(통신 링크)를 통하여 연결한 시스템

· 각 시스템마다 독자적인 운영체제 가지고 있음

· 각 시스템은 독립적으로 작동할 수 있고, 필요한 경우에는 상호 통신을 할 수도 있음

· 프로세서 간의 통신은 메시지 전달이나 원격 프로시저 호출을 통해서 이루어짐

· 각 시스템마다 독자적인 운영이 가능하므로 프로세서 간의 결합력이 약함


⑤ 강결합 시스템(Tightly Coupled System)

· 동일 운영체제하에 여러 개의 프로세서가 하나의 메모리를 공유하여 사용하는 시스템으로, 다중(병렬) 처리 시스템이라고도 함

· 하나의 운영체제가 모든 프로세서와 시스템 하드웨어를 제어

· 프로세서 간의 통신은 공유 메모리를 통해서 이루어짐

· 하나의 메모리를 사용하므로 프로세서 간의 결합력이 강함

· 공유 메모리를 차지하려는 프로세서 간의 경쟁을 최소화해야 함



106 분산 처리 시스템


① 분산 처리 시스템의 개요


· 분산 처리 시스템(Distributed Processing System)은 약결합 시스템으로, 독립적인 처리 능력을 가진 컴퓨터 시스템을 통신망으로 연결한 시스템

· 서로 다른 장소에 위치한 컴퓨터 시스템에 기능과 자원을 분산시켜 상호 협력할 수 있는 시스템


② 분산 처리 시스템의 설계 목적


· 자원 공유 : 각 시스템이 통신망을 통해 연결되어 있으므로 유용한 자원을 공유하여 사용 가능

· 연산 속도 향상 : 하나의 일을 여러 시스템에 분산시켜 처리함으로써 연산 속도가 향상됨

· 신뢰도 향상 : 여러 시스템 중 하나의 시스템에 오류가 발생하더라도 다른 시스템은 계속 일을 처리할 수 있으므로 신뢰도가 향사됨

· 컴퓨터 통신 : 지리적으로 멀리 떨어져 있더라도 통신망을 통해 정보 교환 가능


③ 분산 처리 시스템의 장·단점


장점

· 여러 사용자들 간에 통신이 용이

· 제한된 장치를 여러 지역의 사용자가 공유할 수 있음

· 여러 사용자들이 데이터를 공유할 수 있음

· 중앙 컴퓨터의 과부하를 줄일 수 있음

· 사용자는 각 컴퓨터의 위치를 몰라도 자원을 사용할 수 있음

· 업무량의 증가에 따른 시스템의 점진적인 확장이 용이함

· 하나의 일을 여러 시스템이 처리함으로써 연산 속도, 신뢰도, 사용 가능도가 향상되고, 결함 허용이 가능


단점

· 중앙 집중형 시스템에 비해 소프트웨어 개발 어려움

· 보안 문제 발생

· 시스템 유지상 통일성 잃기 쉬움

· 시스템의 설계가 복잡하고, 데이터 처리 서비스의 질이 떨어짐


④ 분산 처리 시스템의 투명성


투명성(Transparence)은 분산 처리 운영체제에서 구체적인 시스템 환경을 사용자가 알 수 없도록 하며, 또한 사용자들로 하여금 이에 대한 정보가 없어도 원하는 작업을 수행할 수 있도록 지원하는 개념


· 여러 유형의 투명성을 통해 자원의 위치나 정보가 변경되더라도 사용자가 이를 인식하지 못하게 됨

· 투명성 종류

- 위치(Location) 투명성 : 사용자가 하드웨어나 소프트웨어와 같은 자원(정보 객체)의 물리적 위치를 모르더라도 자원에 접근할 수 있도록 함

- 이주(Migration) 투명성 : 사용자나 응용프로그램의 동작에 영향을 받지 않고 시스템 내에 있는 자원을 이동할 수 있도록 함

- 복제(Replication) 투명성 : 자원의 복제를 사용자에게 통지할 필요없이 자유로이 수행 가능

- 병행(Concurrency) 투명성 : 자원의 위치를 모르더라도 다중 사용자들이 자원을 병행하여 처리하고, 공유할 수 있도록

- 접근(Access) 투명성 : 각 프로세서의 로그인 등과 같은 동작을 사용하여 지역이나 원격 자원에 접근 가능

- 성능(Performance) 투명성 : 여러 부하에 대해 성능을 증가시키기 위하여 시스템을 재구성할 수 있도록 함

- 규모(Scaling) 투명성 : 시스템이나 응용 프로그램이 시스템 구조나 응용 알고리즘에 대한 변경 없이 규모에 맞추어 확장할 수 있도록 함

- 고장(Failure) 투명성 : 사용자나 응용 프로그램이 하드웨어나 소프트웨어 구성 요소의 고장에도 불구하고 그들의 작업을 완료할 수 있도록 함

⑤ 분산 처리 시스템의 계층 구조
[그림 1] 분산 처리 시스템의 계층 구조
· 하드웨어 계층 : 컴퓨터 시스템의 기본 기능 제공
· 기억장치 계층 : 기억장치 관리에 대한 기능 제공
· 프로세스 계층 : 프로세스 생성, 종료 등 프로세스 관리에 대한 기능 제공
· 파일 시스템 계층 : 파일의 저장, 액세스, 공유 등 파일 관리에 대한 기능 제공
· 사용자 프로그램 계층 : 사용자 프로그램에 대한 관리 기능 제공

⑥ 분산 파일 시스템

· 분산 파일 시스템은 여러 사이트에 분산되어 있는 서버, 장치, 사용자들에 대한 파일 서비스를 제공하는 시스템
· 분산 시스템이 통신망으로 연결되어 있으므로 파일 서비스는 여러 개의 기억장치에서 네트워크를 통해 이루어짐
· 서로 다른 컴퓨터의 사용자 간에 정보를 쉽게 공유 가능
· 사용자는 장소에 구애받지 않고, 어디서나 자신의 파일 사용 가능
· 서로 다른 컴퓨터의 사용자 간에 같은 파일 시스템 구조를 사용하므로 효율적

분산 파일 시스템의 실제 예

 NFS(Network File System)

 · 선(SUN) 미아크로시스템스 사에 의해 개발된 것으로, 근거리 통신망 또는 원격 통신망을 통해 파일에 접근하기 위해 구현되고 구체화된 시스템

 · 독립된 파일 시스템을 가지 서로 다른 워크스테이션의 모임이 서로 연결된 형태

 · 투명성을 통하여 파일 시스템 간에 일정 수준의 공유를 허용

 LoCUS

 · 대규모 분산 운영체제를 구축하기 위해 LA의 캘리포니아 대학에서 개발한 시스템

 · UNIX와 호환이 가능하며, 기존 시스템과는 전혀 다른 커널 사용

 Andrew

 카네기 멜른 대학에서 개발한 분산 컴퓨팅 환경이며, 클라이언트 머신과 서버 머신으로 구분되어 확장성이 좋음



107 분산 처리 시스템의 분류


① 위상(Topology)에 따른 분류


 망형-완전 연결(Fully Connection)형

 · 각 사이트들이 시스템 내의 다른 모든 사이트들과 직접 연결된 구조

 · 사이트의 수가 n개이면 링크(연결) 수는 n(n-1)/2

 · 모든 사이트를 연결해야 하므로 기본 비용은 많이 들지만 각 사이트가 직접 연결되므로 통신 비용은 적음

 · 하나의 링크가 고장나더라도 다른 링크를 이용할 수 있으므로 신뢰성 높음

 망형-부분 연결(Partially Connection)형

 · 시스템 내의 일부 사이트들 간에만 직접 연결하는 것으로, 직접 연결되지 않은 사이트는 연결된 다른 사이트를 통해 통신하는 구조

 · 기본 비용은 완전 연결형보다 적게 들고, 통신 비용은 완전 연결형보다 많이 듬

 · 완전 연결형보다 신뢰성 낮음

 트리(Tree) 또는 계층(Hierarchy)형

 · 분산 처리 시스템의 가장 대표적인 형태, 각 사이트들이 트리 형태로 연결된 구조

 · 기본 비용은 부분 연결형보다 적게 들고, 통신 비용은 트리의 깊이에 비례

 · 부모(상위) 사이트의 자식(하위) 사이트들은 그 부모 사이트를 통해 통신이 이루어짐

 · 부모 사이트가 고장나면 그 자식 사이트들은 통신 불가능

 스타(Star)형=성형

 · 모든 사이트가 하나의 중앙 사이트에 직접 연결되어 있고, 그 외 다른 사이트와는 연결되어 있지 않은 구조

 · 기본 비용은 사이트의 수에 비례, 통신 비용은 적게 듬

 · 구조가 간단하고, 보수 및 관리 용이

 · 중앙 사이트를 경유하여 통신하므로 응답 빠름

 · 중앙 사이트를 제외한 사이트의 고장이 다른 사이트에 영향을 미치지는 않지만, 중앙 사이트가 고장날 경우 모든 통신이 단절됨

 · 중앙 사이트에 과부하가 발생할 수 있으며, 과부하가 발생될 경우 성능이 저하됨

 · 사이트의 증가에 따라 통신 회선도 증가

 · 데이터 전송이 없는 사이트가 접속된 통신회선은 휴지 상태(쉬는 상태)가 됨

 링형(Ring)=환형

 · 시스템 내의 각 사이트가 인접하는 다른 두 사이트와만 직접 연결된 구조

 · 정보는 단방향 또는 양방향으로 전달될 수 있음

 · 기본 비용은 사이트 수에 비례, 목적 사이트에 데이터를 전달하기 위해 링 순환할 경우 통신 비용이 증가함

 · 특정 사이트가 고장나면 통신이 불가능해지는 사이트가 발생될 수 있음

 다중 접근 버스 연결(Multi Access Bus Connection)형

 · 시스템 내의 모든 사이트들이 공유 버스에 연결된 구조

 · 기본 비용은 사이트 수에 비례하고, 통신 비용은 일반적으로 저렴

 · 물리적 구조가 단순하고, 사이트의 추가와 삭제 용이

 · 사이트의 고장은 다른 사이트의 통신에 영향을 주지 않지만, 버스의 고장은 전체 시스템에 영향을 줌


② 분산 범위에 따른 분류


근거리 통신망(LAN; Local Area Network)

· 회사, 학교, 연구소 등에서 비교적 가까운 거리에 있는 컴퓨터, 프린터, 테이프 등과 같은 자원을 연결하여 구성

· 주로 자원 공유를 목적으로 사용

· 사이트 간의 거리가 짧아 데이터의 전송 속도가 빠르고, 에러 발생률 낮음

· 근거리 통신망에서는 주로 버스형이나 링형 구조 사용

· 경영의 융통성을 향상시킬 수 있음


광대역 통신망(WAN; Wide Area Network)

· 국가와 국가 혹은 대륙과 대륙 등과 같이 멀리 떨어진 사이트들을 연결하여 구성

· 사이트 간의 거리가 멀기 대문에 통신 속도가 느리고, 에러 발생률 높음

· 일정한 지역에 있는 사이트들을 근거리 통신망으로 연결한 후 각 근거리 통신망을 연결하는 방식을 사용


③ 프로세서 모델이 따른 분류


클라이언트/서버 모델(Client/Server Model)

· 클라이언트/서버 모델은 정보를 제공하는 서버와 정보를 요구하는 클라이언트로 구성되어 있는 것으로, 클라이언트(워크스테이션, PC등)와 서버가 하나의 작업을 분산 협동 처리하는 방식

· 서버는 공유된 다양한 시스템 기능과 자원 제

· 공유된 중앙 컴퓨터가 없으므로 각 사용자는 스스로 작업을 수행할 수 있는 성능이 우수한 컴퓨터를 갖음

· 프로그램의 모듈성과 융통성 증대시킴

(모듈성 : 복잡하고 큰 작업을 간단하고 더 작은 작업으로 기능을 분할하는 것

융통성 : 컴퓨터를 추가로 설치하지 않고도 시스템의 서비스를 확장할 수 있는 것)


프로세서 풀 모델(Processor Pool Model)

· 하나 이상의 프로세서 풀과 여러 워크스테이션, 서버 등이 연결된 형태로, 각 작업이 프로세서 풀 시스템을 통해 수행되는 방식

· 워크스테이션이나 단말기는 단순히 시스템의 자원을 접근하는 수단 제공


혼합 모델(Hybrid Model)

· 클라이언트/서버 모델과 프로세서 풀 모델을 혼합한 형태의 방식

· 사용자는 워크스테이션이나 단말기를 통하여 시스템에 접근 가능


④ 운영체제에 따른 분류


네트워크 운영체제

· 독자적인 운영체제를 가지고 있는 시스템을 네트워크로 구성한 것으로, 사용자가 원격 시스템으로 로그인하거나 원격 시스템으로부터 필요한 자원을 전달받아야 하는 방식

· 사용자는 시스템의 각 장치에 대해 알고 있어야 함

· 지역적으로 멀리 떨어져 있는 대규모 시스템에서 주로 사용

· 설계와 구현이 쉽고, 장애 발생시 해당 작업만 분실하게 됨

· 자원 공유가 번거로움


분산 운영체제

· 하나의 운영체제가 모든 시스템 내의 자원을 관리하는 것으로, 원격에 있는 자원을 마치 지역 자원인 것과 같이 쉽게 접근하여 사용할 수 있는 방식

· 사용이 편리하고, 시스템 간 자원 공유가 용이함

· 하나의 운영체제가 시스템 전체를 관리해야 하므로 설계와 구현이 어려움

· 요청한 컴퓨터에 요청된 컴퓨터의 자원이 이주됨으로써 자원을 사용할 수 있음

 데이터 이주(Data Migration)

 · 데이터를 요청한 사용자의 컴퓨터로 해당 데이터의 복사본을 전송시키는 방식

 · 사용자가 더 이상 파일이 필요하지 않을 경우 데이터의 복사본을 원래의 컴퓨터로 보냄

 연산 이주(Computation Migration)

 · 요청한 데이터가 있는 컴퓨터에서 데이터를 처리하여 해당 결과를 요청한 컴퓨터에게 보내는 방식

 · 전송할 요청 데이터가 많을 경우 데이터를 전송시키는 것이 아니라 결과를 전송시키는 것으로, 서로 다른 컴퓨터 간에 많은 양의 파일을 처리하기 위하여 액세스하려고 할 때 가장 적절한 방법

 프로세스 이주(Process Migration)

 프로세스의 전체 또는 일부를 다른 컴퓨터에서 실행되도록 하는 방식



출처 : 2017 시나공 정보처리기사 필기


'정보처리기사 > 운영체제' 카테고리의 다른 글

운영체제 오답노트  (0) 2017.02.23
6장 운영체제의 실제  (0) 2017.02.12
4장 정보 관리  (0) 2017.02.12
3장 기억장치 관리  (0) 2017.02.10
2장 프로세스 관리  (0) 2017.02.10

정보처리기사 필기 - 3과목 운영체제


4장 정보 관리


097 파일과 파일 시스템


① 파일


파일의 개요

· 파일은 사용자가 작성한 서로 관련 있는 레코드의 집합체

· 프로그램 구성의 기본 단위, 보조기억장치에 저장

· 각 파일마다 이름, 위치, 크기, 작성 시기 등의 여러 속성 가지고 있음


파일 특성을 결정하는 기준

· 소멸성(Volatility) : 파일을 추가하거나 제거하는 작업의 빈도수

· 활성률(Activity) : 프로그램이 한 번 수행되는 동안 처리되는 레코드의 수의 백분율(수행 레코드 수/전체 레코드 수 × 100)

· 크기(Size) : 파일에 저장되어 있는 정보량


② 파일 시스템


파일 시스템은 파일의 저장, 액세스, 공유, 보호 등 보조기억장치에서의 파일을 총괄하는 파일 관리 기술


파일 시스템의 기능 및 특징

· 사용자와 보조기억장치 사이에서 인터페이스 제공

· 사용자가 파일을 생성, 수정, 제거할 수 있도록 함

· 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용할 수 있도록 함

· 파일  공유를 위해서 판독만 허용, 기록만 허용, 수행만 허용 또는 이들을 여러 형태로 조합한 것 등 여러 종류의 액세스 제어 방법 제공

· 사용자가 적합한 구조로 파일을 구성할 수 있도록 함

· 불의의 사태를 대비하여 파일의 예비(Backup)와 복구(Recovery) 등의 기능 제공

· 사용자가 물리적 장치 이름 대신에 기호화된 이름을 사용할 수 있도록 함

· 사용자가 파일을 편리하게 사용할 수 있도록 파일의 논리적 상태(디렉터리)를 보여주어야 함

· 파일을 안전하게 사용할 수 있도록 하고, 파일이 보호되어야 함

· 파일의 정보가 손실되지 않도록 데이터 무결성을 유지해야 함


파일 시스템의 파일 관련 주요 작업

· 파일 시스템이 파일에 대해 수행하는 작업은 파일 단위 작업과 레코드 단위 작업으로 분류

· 파일 단위 작업

 Open

 파일을 사용할 수 있는 상태로 준비

 Close

 파일의 변경된 내용을 저장고 사용 권한 종료

 Create

 새로운 파일 생성

 Copy

 파일 복사

 Destroy

 파일을 디스크에서 삭제

 Rename

 파일명 변경

 List

 디스크에 저장되어 있는 파일 목록 출력


· 파일 내의 레코드 단위 작업

 Read

 데이터 읽기

 Write

 데이터 기록

 Update

 데이터 갱신

 Insert

 새로운 데이터 추가

 Delete

 데이터 삭제

 Search

 데이터 검색


③ 파일 디스크립터(File Descriptor, 파일 서술자)


파일 디스크립터

· 파일을 관리하기 위한 시스템(운영체제)이 필요로 하는 파일에 대한 정보를 갖고 있는 제어 블록을 의미, 파일 제어 블록이라고도 함

· 파일 디스크립터는 파일마다 독립적으로 존재, 시스템에 따라 다른 구조를 가질 수 있음

· 보통 파일 디스크립터는 보조기억장치 내에 저장되어 있다가 해당 파일이 Open될 때 주기억장치로 옮겨짐

· 파일 디스크립터는 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없음


파일 디스크립터

· 파일 이름 및 파일 크기

· 보조기억장치에서의 파일 위치

· 파일 구조 : 순차 파일, 색인 순차 파일, 색인 파일 등

· 보조기억장치의 유형 : 자기 디스크, 자기 테이프 등

· 액세스 제어 정보

· 파일 유형 : 텍스트 파일, 목적 프로그램 파일(2진 파일, 기계어 파일, 실행 파일)등

· 생성 날짜와 시간, 제거 날짜와 시간

· 최종 수정 날짜 및 시간

· 액세스한 횟수 : 파일 사용 횟수



098 파일의 구조


① 파일의 구조


· 파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미하는 것으로, 편성 방법에 따라 순차 파일, 색인 순차 파일, 랜덤 파일, 분할 파일 등이 있음

· 파일 편성 방법에 따라 파일 접근 방법 분류 가능하므로 파일 접근 방법이라고도함


② 순차 파일(Sequential File, 순서 파일)


순차 파일은 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장공간에 기록하는 것을 의미


· 파일의 레코드들이 순차적으로 기록되어 판독할 때도 순차적으로 접근하기 때문에 순차 접근 방식이라고도 함

· 급여 업무처럼 전체 자료를 처리 대상으로 일괄 처리하는 업무에 사용됨

· 순차 접근이 가능한 자기 테이프를 모형화한 구조

· 대화식 처리보다 일괄 처리에 적합한 구조

· 순차 파일의 장점과 단점

장점

 · 파일의 구성이 용이, 순차적으로 읽을 수 있으므로 기억공간 이용 효율이 높음

 · 레코드만 저장하고 부가적인 정보는 저장하지 않으므로 기억공간의낭비 방지 가능

 · 물리적으로 연속된 공간에 저장하므로 접근 속도 빠름

 · 어떠한 기억 매체에서도 실현 가능

단점

 · 파일에 새로운 레코드를 삽입하거나 삭제하는 경우 파일 전체를 복사한 후 수행해야 하므로 시간 많이 걸림

 · 파이르이 특정 레코드를 검색하려면 순차적으로 모든 파일을 비교하면서 검색해야 하므로 검색 효율 낮음

· 순차 파일의 삽입/삭제 과정

1) 파일에 새로운 레코드를 삽입하거나 삭제하려면 파일 전체를 복사

2) 복사된 파일을 대상으로 레코드를 특정 위치에 삽입하거나 삭제한 후 모든 레코드의 위치를 순차적으로 재배치

3) 재배치된 복사 파일을 원래 파일로 저장


③ 직접 파일(Direct File)


직접 파일은 파일을 구성하는 레코드를 임의의 물리적 저장공간에 기록하는 것으로, 직접 접근 방식이락도 함


· 레코드에 특정 기준으로 키가 할당되며, 해싱 함수(Hashing Function)를 이용하여 이 키에 대한 보조기억장치의 물리적 상대 레코드 주소를 계산한 후 해당하는 주소에 레코드 저장

· 레코드는 해싱 함수에 의해 계산된 물리적 주소를 통해 접근할 수 있음

· 임의 접근이 가능한 자기디스크나 자기 드럼을 사용

· 직접 파일의 장점과 단점

장점

 · 직접 접근 기억장치(DASD)의 물리적 주소를 통하여 파일의 각 레코드에 직접 접근하거나 기록할 수 있으며, 접근 및 기록의 순서에는 제약 없음

 · 접근 시간 빠르고 레코드의 삽입, 삭제, 갱신이 용이

단점

 · 레코드의 주소 변환 과정이 필요하며, 이 과정으로 인해 시간 소요됨

 · 기억공간의 효율 저하될 수 있음

 · 기억자이의 물리적 구조에 대한 지식이 필요하고, 프로그래밍 복잡


④ 색인 순차 파일(Indexed Sequential File)


색인 순차 파일은 순차 파일과 직접 파일에서 지원하는 편성 방법이 결합된 형태


· 색인(인덱스)를 이용한 순차적인 접근 방법을 제공하여 색인 순차 접근 방식이락도 함

· 각 레코드를 키 값 순으로 논리적으로 저장하고, 시스템은 각 레코드의 실제 주소가 저장된 색인 관리

· 레코드를 참조하려면 색인을 탐색한 후 색인이 가리키는 포인터(주소)를 사용하여 참조 가능

· 일반적으로 자기 디스크에서 많이 사용되며, 자기 테이프에서는 사용 불가

· 색인 순차 파일 구성 영역

 기본 영역(Prime Area)

 실제 레코드가 기록되는 데이터 영역으로, 각 레코드들은 키 값 순으로 저장됨

 색인 영역(Index Area)

 기본 영역에 있는 레코드들의 위치를 찾아가는 색인이 기록되는 영역으로, 트랙 색인 영역, 실린더 색인 영역, 마스터 색인 영역으로 분류

 ※트랙 색인 영역 : 각 실린더마다 하나씩 만들어지며, 각 트랙에 기록된 데이터의 레코드 값 중 최대 키 값과 주소 정보가 기록되는 영역

 ※실린더 색인 영역 : 각 파일당 하나씩 만들어지며, 각 트랙 색인의 최대 키 값들로 구성된 영역

 ※마스터 색인 영역 : 실린더 색인이 많을 경우 그것을 일정한 크기의 블록으로 구성하고, 해당 레코드가 어느 실린더 색인 영역에 있는지 나타내는 영역

 오버플로 영역(Overflow Area)

 기본 영역에 빈 공간이 없어서 새로운 레코드의 삽입이 불가능할 때를 대비하여 예비로 확보해 둔 영역


· 색인 순차 파일의 장점과 단점

장점

 · 순차 처리와 임의 처리 모두 가능

 · 효율적인 검색 가능하고 삭제, 삽입, 갱신 용이함

단점

 · 색인 영역이나 오버플로 영역을 설정해야 하므로 기억공간 필요함

 · 색인을 이용하여 참조하기 때문에 접근 시간이 직접 파일보다 느림


⑤ 분할 파일


분할 파일은 하나의 파일을 여러 개의 파일로 분할하여 저장하는 형태


· 분할된 파일은 여러 개의 순차 서브파일로 구성된 파일이며 Backup과 같이 하드디스크에 있는 내용을 테이프와 같은 보조기억장치에 저장할 때 사용

· 일반적으로 파일의 크기가 클 경우에 사용됨



099 디렉터리 구조


① 디렉터리 구조의 개요


· 디렉터리는 파일 시스템 내부에 있는 것으로, 효율적인 파일 사용을 위해 디스크에 존재하는 파일에 대한 여러 정보를 가지고 있는 특수한 형태의 파일

· 디렉터리는 각 파일이 위치, 크기, 할당 방식, 형태, 소유자, 계정 정보 등의 정보를 가지고 있음

· 디렉터리 구조의 종류 : 1단계 디렉터리, 2단계 디렉터리, 트리 디렉터리, 비순환 그래프 디렉터리, 일반적인 그래프 디렉터리


② 1단계(단일) 디렉터리 구조


1단계 디렉터리는 가장 간단하고, 모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조


· 모든 파일들이 유일한 이름을 가지고 있어야 함

· 모든 파일이 같은 디렉터리 내에 유지되므로 이해가 용이함

· 파일이나 사용자의 수가 증가하면 파일 관리가 복잡해짐

· 파일명은 일반적으로 내용과 관련된 이름을 사용하고, 파일명의 길이는 시스템에 따라 제한 받음


③ 2단계 디렉터리 구조


2단계 디렉터리는 중앙에 마스터 파일 디렉터리가 있고, 그 아래에 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조


· 마스터 파일 디렉터리는 각 사용자의 이름이나 계정 번호, 그리고 사용자 파일 디렉터리를 가리키는 포인터를 갖고 있으며, 사용자 파일 디렉터리를 관리

· 사용자 파일 디렉터리는 오직 한 사용자가 갖고 있는 파일들에 대한 정보만 갖고 있으며, 해당 사용자의 파일을 관리함

· 하나의 사용자 파일 디렉터리에서는 유일한 파일 이름을 사용해야 하지만 서로 다른 사용자 파일 디렉터리에서는 동일한 파일 이름을 사용할 수 있음

· 각 사용자는 다른 사용자의 파일 디렉터리를 검색할 수 없으므로 업무 협력 및 파일의 공유 어려움

· 특정 파일을 지정할 때는 사용자 이름과 파일 이름을 함께 저장해야 하므로 파일 이름이 길어짐(사용자1\파일1)


④ 트리 디렉터리 구조


트리 디렉터리는 하나의 루트 디렉터리과 여러 개의 종속(서브) 디렉터리로 구성된 구조


· DOS, Windows, UNIX 등의 운영체제에서 사용되는 디렉터리 구조

· 각 디렉터리는 서브디렉터리나 파일을 가질 수 있음

· 서로 다른 디렉터리 내에 동일한 이름의 파일이나 디렉터리를 생성할 수 있음

· 디렉터리의 생성과 파괴가 비교적 용이

· 디렉터리의 탐색은 포인터를 사용하며, 경로명은 절대 경로명과 상대 경로명을 사용함

※ 절대 경로명 : 루트에서부터 지정된 파일 위치까지의 경로

※ 상대 경로명 : 현재 디렉터리를 기준으로 지정된 파일 위치까지의 경로


⑤ 비순환(비주기) 그래프 디렉터리 구조(Acyclic Graph Directory)


비순환 그래프 디렉터리는 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조


· 디스크 공간 절약 가능

· 하나의 파일이나 디렉터리가 여러 개의 경로 이름을 가질 수 있음

· 디렉터리 구조가 복잡하고, 공유된 하나의 파일을 탐색할 경우 다른 경로로 두 번 이상 찾아갈 수 있으므로 시스템 성능이 저하될 수 있음

· 공유된 파일을 삭제할 경우 고아 포인터 발생할 수 있음

(고아 포인터 : 여러 디렉터리에서 한 개의 파일을 공유하여 사용할 때 공유된 파일을 삭제하면 파일이 없어졌는데도 불구하고 다른 디렉터리에서는 그 파일을 가리키는 포인터가 남아있게 됨. 이와 같이 삭제된 파일에 대한 포인터를 끊어진 포인터, 즉 고아 포인터라 함)


⑥ 일반적인 그래프 디렉터리 구조


일반적인 그래프 디렉터리는 트리 구조에 링크(다른 파일이나 디렉터리를 가리키는 포인터)를 첨가시켜 순환(Cycle)을 허용하는 그래프 구조


· 디렉터리와 파일 공유에 완전한 융통성 있음

· 탐색 알고리즘이 간단하여, 파일과 디렉터리를 액세스하기 쉬움

· 사용되지 않은 디스크 공간을 되찾기 위해 쓰레기 수집이 필요

· 불필요한 파일을 제거하여 사용 공간을 늘리기 위하여 참조 계수기 필요


※ 파일 시스템을 탐색하는 것으로 접근할 수 있는 디스크의 모든 공간을 표시해 두고 다음 번 탐색시 표시되지 않은 공간을 사용 가능한 공간의 리스트로 수집하는 것을 쓰레기 수집이라 하며, 이때 사용되는 것을 참조 계수기라고 함



100 디스크 공간 할당 방법


① 디스크 공간 할당 방법의 개요


· 디스크 공간 할당은 파일을 효율적으로 저장하고 사용하기 위해 파일을 기억공간에 어떻게 할당할 것인가를 결정하는 방법

· 파일을 디스크 공간에 할당하는 방법에는 연속 할당 방법과 불연속 할당 방법이 있으며, 불연속 할당 방법에는 섹터 단위 할당과 블록 단위 할당이 있음


② 연속 할당(Contiguous Allocation)


연속 할당은 파일을 디스크의 연속된 기억공간에 할당하는 방법으로, 생성되는 파일 크기만큼의 공간이 있어야 함


· 논리적으로 연속된 레코드들이 물리적으로 인접한 공간에 저장되기 때문에 접근 시간이 빠름

· 디렉터리는 파일의 시작 주소와 길이에 대한 정보만 가지고 있으므로 디렉터리가 단순하고, 관리 및 구현 용이

· 파일 크기에 알맞은 연속 공간이 없을 경우 파일 생성되지 않음

· 파일의 생성과 삭제가 반복되면서 단편화 발생

· 단편화를 줄이기 위해 재배치에 의한 주기적인 압축 필요함

· 파일의 크기가 시간에 따라 변경될 경우 구현하기 어려움


③ 불연속 할당(Non-Contiguous Allocation)

 

불연속 할당은 파일의 크기가 변경될 경우 구현이 어려운 연속 할당의 단점을 보완하기 위한 것으로, 디스크 공간을 일정 단위로 나누어 할당하는 기법


섹터 단위 할당

· 섹터 단위 할당은 하나의 파일이 디스크의 섹터 단위로 분산되어 할당되는 방법으로, 하나의 파일에 속하는 섹터들이 연결 리스트로 구성

· 하나의 파일에 속하는 각각의 섹터는 연결을 위해 다음 내용이 있는 곳의 포인터를 가지고 있음

· 디렉터리는 파일의 시작과 마지막 주소에 대한 정보만 가지고 있음

· 섹터 단위로 저장되므로 디스크의 단편화가 발생되지 않고, 디스크 압축이 불필요

· 파일 생성 시 파일 크기를 알 필요가 없으며, 파일 크기만큼의 연속된 공간이 없어도 저장 가능

· 레코드를 검색할 경우 파일이 속한 레코드를 순차적으로 검색해야 하므로 탐색 시간이 오래 걸리고, 직접 접근 불가능

· 각 섹터의 포인터가 차지하는 공간만큼 실제 데이터가 저장될 공간이 감소함


블록 단위 할당

블록 단위 할당은 하나의 파일이 연속된 여러 개의 섹터를 묶은 블록 단위로 할당되는 방법


· 블록 체인 기법

- 블록 체인 기법은 섹터 단위 할당 기법과 비슷하나 할당 단위를 블록 단위로 구성하는 방법

- 하나의 블록은 여러 개의 섹터로 구성됨

- 디렉터리는 파일의 첫 번째 블록을 가리키는 포인터 가지고 있음

- 하나의 블록은 데이터와 다음 블록을 가리키는 포인터로 구성되어 있음

- 삽입과 삭제시 포인터만 수정하면 되므로 삽입·삭제가 간단

- 순차적으로 탐색해야 하므로 속도가 느림


· 색인(인덱스) 블록 체인 기법

- 색인 블록 체인 기법은 파일마다 색인 블록을 두고, 파일이 할당된 블록의 모든 포인터를 이 색인 블록에 모아 둠으로써 직접 접근을 가능하게 한 방법

- 색인 블록 하나로 파일을 전부 나타낼 수 없는 경우 여러 개의 연속된 색인 블록을 서로 링크하여 사용할 수 있음

- 디렉터리는 파일의 색인 블록에 대한 포인터를 가지고 있음

- 색인 블록의 포인터를 사용하여 직접 접근이 가능하며, 탐색 시간 빠름

- 삽입 시 색인 블록을 재구성해야 하고, 색인 블록이 차지하는 만큼의 기억장치 낭비가 발생함


· 블록 지향 파일 사상 기법

- 블록 지향 파일 사상 기법은 포인터 대신 파일 할당 테이블(디스크에 존재하는 파일에 대한 정보가 어느 위치에 저장되어 있는가를 표시해놓은 특수 영역)에 있는 블록 번호를 사용하는 기법

- 파일 할당 테이블에는 각 블록에 해당하는 항목이 있고, 각 항목은 블록 번호에 의해 색인됨

- 블록 번호에 의해 색인된 테이블의 각 항목은 다음 블록의 블록 번호를 가짐

- 디스크 구조의 특성상 블록 번호는 실제 기억공간의 주소로 쉽게 변환할 수 있음

- 데이터 삽입, 삭제 용이

- 디렉터리는 파일 할당 테이블의 시작 위치를 가지고 있음



101 자원 보호


① 자원 보호의 개요


· 자원 보호는 컴퓨터 시스템에서 사용자, 프로세스 등과 같은 주체가 프로세스, CPU, 기억장치 등과 같은 객체(자원)에 불법적으로 접근하는 것을 제어하고, 객체(자원)의 물리적인 손상을 예방하는 기법 의미

· 주체는 접근 권한이 부여된 객체에게만 접근 가능

· 자원을 보호하기 위한 기법 : 접근 제어 행렬, 전역 테이블, 접근 제어 리스트, 권한(자격) 리스트


② 접근 제어 행렬(Access Control Matrix) 기법


· 접근 제어 행렬은 자원 보호의 일반적인 모델로, 객체에 대한 접근 권한을 행렬로써 표시한 기법

· 행(Row)은 영역(사용자, 프로세스), 열(Column)은 객체, 각 항은 접근 권한의 집합


③ 전역 테이블(Global Table) 기법


· 전역 테이블은 가장 단순한 구현 방법으로, 세 개의 순서쌍인 영역, 객체, 접근 권한의 집합을 목록 형태로 구성한 기법

· 테이블이 매우 커서 주기억장치제 저장할 수 없으므로 가상기억장치 기법을 사용해야 하며, 주 기억장치에 저장될 경우 공간을 낭비하게 됨


④ 접근 제어 리스트(Access Control List) 기법


· 접근 제어 리스트는 접근 제어 행렬에 있는 각 열, 즉 객체를 중심으로 접근 리스트를 구성한 것

· 각 객체에 대한 리스트는 영역, 접근 권한의 순서쌍으로 구성되며, 객체에 대한 접근 권한을 갖는 모든 영역을 정의

· 접근 권한이 없는 영역은 제외됨


⑤ 권한(자격) 리스트(Capability List) 기법


· 권한(자격) 리스트는 접근 제어 행렬에 있는 각 행, 즉 영역을 중심으로 권한 리스트를 구성한 것

· 각 영역에 대한 권한 리스트는 객체와 그 객체에 허용된 조작 리스트로 구성됨

· 권한 리스트는 영역과 결합되어 있지만 그 영역에서 수행중인 프로세스가 직접 접근할 수 없음. 왜냐하면 권한 리스트는 운영체제에 의해 유지되며 사용자에 의해서 간접적으로만 접근되는 보호된 객체이기 때문


⑥ 록-키(Lock-Key) 기법


· 록-키는 접근 제어 리스트와 권한 리스트를 절충한 기법

· 각 객체는 Lock, 각 영역은 Key라 불리는 유일학도 독특한 값을 갖고 있어서 영역과 객체가 일치하는 경우에만 해당 객체에 접근 가능


⑦ 파일 보호 기법


파일 보호 기법은 자원 보호 기법과 마찬가지로 파일에 대한 일방적인 접근과 손상 및 파괴를 방지하기 위한 기법

파일 보호 기법

설명 

 파일의 명명(Naming)

 접근하고자 하는 파일 이름을 모르는 사용자를 접근 대상에서 제외시키는 기법

 비밀번호(Password, 암호)

 각 파일에 판독 암호와 기록 암호를 부여하여 암호를 아는 사용자에게만 접근을 허용하는 기법

 접근 제어(Access Control)

 사용자에 따라 공유 데이터에 접근할 수 있는 권한을 제한하는 방법, 즉 각 파일마다 접근 목록을 두어 접근 가능한 사용자와 동작을 기록한 후 이를 근거로 접근을 허용하는 방법



102 보안


① 보안의 정의


· 보안(Security)은 컴퓨터 시스템 내에 있는 프로그램과 데이터에 대하여 통제된 접근 방식을 어떻게 제공할 것인가를 다루는 것

· 물리적, 환경적 취약점을 이용한 침입, 방해, 절도 등의 행위로부터 컴퓨터 시스템 내의 자원을 보호하고 대응하기 위한 일련의 정책과 행위

· 컴퓨터 시스템에 의해 정의된 자원에 대하여 프로그램, 프로세스 또는 사용자의 허용된 권한 외의 접근을 제한하여 자원의 손상 및 유출 등을 방지하는 기법


② 보안 요건


요건

의미

 기밀성(Confidentiality, 비밀성)

 · 시스템 내의 정보와 자원은 인가된 사용자에게만 접근 허용됨

 · 정보가 전송중에 노출되더라도 데이터를 읽을 수 없음

 무결성(Integrity)

 시스템 내의 정보는 오직 인가된 사용자만 수정 가능

 가용성(Availability)

 인가받은 사용자는 언제라도 사용 가능

 인증(Authentication)

 · 시스템내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지를 확인하는 모든 행위

 · 대표저입 방법 : 패스퉈드, 인증용 카드, 지문 검사

 부인 방지(NonRepudiation)

 데이터를 송·수신한 자가 송·수신 사실을 부인할 수 없도록 송·수신 증거 제공


③ 보안 유지 기법


외부 보안(External Security)

외부 보안에는 컴퓨터 시스템의 물리적인 보안을 위한 시설 보안과 운용자의 정책을 통한 운용 보안이 있음

· 시설 보안 : 천재 지변이나 외부 침입자로부터의 보안을 의미하는 것으로, 연기나 열을 감지하고 사람의 음성, 지문 등을 확인할 수 있는 방법을 사용

· 운용 보안 : 전산소 관리 및 경영자들의 정책과 통제에 의해 이루어지는 보안으로, 사용자마다 인가된 등급, 즉 액세스 권리를 부여하여 프로그램과 데이터에 접근할 수 있도록 함


사용자 인터페이스 보안(User Interface Security)

운영체제가 사용자의 신원을 확인한 후 권한이 있는 사용자에게만 시스템의 프로그램과 데이터를 사용할 수 있게 하는 보안 방법


내부 보안(Internal Security)

· 하드웨어나 운영체제에 내장된 보안 기능을 이용하여 시스템의 신뢰성을 유지하고, 보안 문제를 해결하는 기법

· 외부의 불법 침입자가 프로그램, 데이터에 접근하는 것을 방지하기 위해 하드웨어나 운영체제에 접근 제어 코드 등을 내장하고 있도록 하는 기능


④ 보안 위험 감소 방법


사용자 감시(User Surveillance)

· 비인가된 사용자의 침입을 방지하기 위해 인가된 사용자만 인식할 수 있도록 하는 기법

· 인가된 사용자의 지문, 음성, 얼굴, 홍채와 같은 신체적 특징이나 신분증, 키(Key)등의 소유물 등을 사용


위험 탐지(Threat Monitoring)

· 컴퓨터 시스템의 자원 사용에 대한 제어권을 사용자가 직접 갖지 못하게 하고, 운영체제의 감시 프로그램이 갖도록 하는 기법

· 사용자가 자원에 대한 접근을 요구하면 운영체제의 감시 프로그램이 접근 여부를 결정함


확충(Amplification)

· 컴퓨터의 감시 프로그램이 일반 사용자보다 더 많은 권한을 부여하여, 데이터의 불법 사용을 방지하고 제어할 수 있도록 하는 기법

· 권한이 부여된 감시 프로그램은 불법 사용에 대한 정보를 확인하여 시스템 관리자에게 자동으로 보고하게 됨


패스워드(Password) 보호

· 각 사용자별로 로그인 이름과 패스워드를 만든 다음 입력하여 운영체제로부터 인증받은 후 시스템을 사용하는 기법

· 컴퓨터 시스템에서 가장 많이 사용되는 사용자 인증 방법



103 정보 보안 기법


① 암호화 기법


암호화(Encryption)는 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이고, 복호화(Decryprion)는 암호화된 데이터를 원래의 평문으로 복구하는 것을 의미


비밀키 시스템(Private Key System, 개인키 시스템)

· 동일한 키로 데이터를 암호화하고, 해독(복호화)하는 대칭 암호화 기법

· 해독키를 아는 사람은 누구든지 암호문을 해독할 수 있으므로 해독키의 비밀성을 유지하는 것이 중오

· 암호화/복호화 속도가 빠르며 알고리즘이 단순하고, 파일 크기 작음

· 사용자의 증가에 따라 관리해야할 키의 수가 상대적으로 많아지고, 키의 분배가 어려움

· 비밀키 암호화 기법을 이용한 대표적인 암호화 방식 : DES(Data Encryption Standard)


공용키 시스템(Public Key System, 공개키 시스템)

· 서로 다른 키로 데이터를 암호화하고, 해독하는 비대칭 암호화 기법

· 암호키는 공개하고 해독키는 비밀로 하믕로써 누구나 암호문을 만들어 송신 또는 저장할 수 있으나, 해독키를 가진 사람만이 해독 가능

· 키의 분배 용이, 관리해야 할 키의 개수 적음

· 암호화/복호화 속도가 느리며 알고리즘이 복잡하고 파일의 크기 큼

· 공용키 암호화 기법을 이용한 대표적인 암호화 방식 : RSA(Rivest Shamir Adleman)


② 기타 정보 보안 기법


디지털 서명 기법(Digital Signature Mechanism)

· 손으로 쓴 서명과 같이 고유의 전자 서명으로 송신자가 전자 문서 송신 사실을 나중에 부인할 수 없도록 하고, 작성 내용이 송·수신 과정에서 변조된 사실이 없다는 것을 증명할 수 있는 기법

· 공개키 암호화 기법을 사용하는 데 송신자는 자신의 비밀키를 이용하여 다지털 서명을 하고 문서를 송신하면, 수신자는 송신자의 공개키로 디지털 서명과 문서 확인


여분 정보 삽입 기법(Traffic Padding Mechanism)

· 정상적인 데이터에 여분의 거짓 데이터를 삽입하여 불법적으로 데이터를 분석하는 공격을 방어할 수 있는 기법

· 여분으로 삽입한 거짓 데이터가 정상적인 데이터와 구별되지 않아야 함


인증 교환 기법(Authentication Exchange Mechanism)

수신자가 메시지 전송 도중에 변경되지 않았음을 확인할 수 있으며, 메시지가 정당한 상대방으로부터 전달된 것임을 확인할 수 있는 기법


접근 제어 기법(Access Control Mechanism)

데이터에 접근이 허가된 자에게만 데이터 사용을 허용하는 정책을 강화하기 위해 사용하는 기법


고장 방지 시스템, 결합 허용 시스템(Fault Tolerant System)

· 시스템의 부품 고장이나 프로그램에 버그가 있더라도 시스템 전체에 장애가 발생하지 않도록 시스템을 구성하는 방법으로, 대표적인 시스템으로는 Dual System

· Dual System은 고장으로 인해 작업이 중단되지 않도록 하기 위해서 같은 장치를 두 개로 구성하여 하나가 고장나면 다른 하나를 작동시켜 작업을 처리하는 시스템


출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 운영체제' 카테고리의 다른 글

6장 운영체제의 실제  (0) 2017.02.12
5장 분산 운영체제  (0) 2017.02.12
3장 기억장치 관리  (0) 2017.02.10
2장 프로세스 관리  (0) 2017.02.10
1장 운영체제의 개요  (0) 2017.02.10

정보처리기사 필기 - 3과목 운영체제


3장 기억장치 관리


090 기억장치 관리의 개요


① 기억장치 계층 구조의 특징


· 기억장치는 레지스터, 캐시 기억장치, 주기억장치, 보조기억장치를 다음과 같이 계층 구조로 분류

[그림 1] 기억장치 계층 구조


· 계층 구조가 상위의 기억장치일수록 접근 속도와 접근 시간이 빠르지만, 기억 용량이 적고 고가

· 주기억장치는 각기 자신의 주소를 갖는 워드 또는 바이트들로 구성되어 있으며, 주소를 이용하여 액세스 가능

· 레지스터, 캐시 기억장치, 주기억장치의 프로그램과 데이터는 CPU가 직접 액세스 가능, 보조기억장치에 있는 프로그램이나 데이터는 직접 액세스 불가능

· 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스될 수 있음


② 기억장치의 관리 전략의 개요


· 기억장치의 관리 전략은 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것으로 반입(Fetch) 전략, 배치(Placement) 전략, 교체(Replacement) 전략


③ 반입(Fetch) 전략


보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략


· 요구 반입(Demand Fetch) : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법

· 예상 반입(Anticipatory Fetch) : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상해서 적재하는 방법


④ 배치(Placement) 전략


새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략


· 최초 적합(First Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법

· 최적 적합(Best Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법

(단편화 : 주기억장치의 분할된 영역에 프로그램이나 데이터를 할당할 경우, 분할된 영역이 프로그램이나 데이터보다 작거나 커서 생기는 빈 기억공간)

· 최악 적합(Worst Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법


⑤ 교체(Replacement) 전략


· 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략

· 교체 전략 : FIFO, OPT, LRU, LFU, NUR, SCR



091 주기억장치 할당 기법


① 주기억장치 할당의 개념


주기억장치 할당 기법은 프로그램이나 데이터를 실행시키기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용

 연속 할당 기법

 프로그램을 주기억장치에 연속으로 할당하는 기법으로, 단일 분할 할당 기법과 다중 분할 할당 기법 있음

 · 단일 분할 할당 기법 : 오버레이, 스와핑

 · 다중 분할 할당 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법

 분산 할당 기법

 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법으로, 페이징 기법과 세그먼테이션 기법으로 나눌 수 있음


② 단일 분할 할당 기법


단일 분할 할당 기법은 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 순간에는 오직 한 명의 사용자만의 주기억장치의 사용자 영역을 사용하는 기법


· 가장 단순한 기법으로 초기의 운영체제에서 많이 사용하던 기법

· 운영체제를 보호하고, 프로그램이 사용자 영역만을 사용하기 위해 운영체제 영역과 사용자 영역을 구분하는 경계 레지스터가 사용됨

(경계 레지스터 : 사용자 영역에 있는 사용자 프로그램이 운영체제 영역에 접근하지 못하도록 보호하는 레지스터로, 사용자 영역이 시작되는 주소를 기억하고 있음)

· 프로그램의 크기가 작을 경우 사용자 영역이 낭비될 수 있음

· 초기에는 주기억장치보다 큰 사용자 프로그램은 실행할 수 없었으나 오버레이 기법을 사용하면서 이 문제 해겨로딤


오버레이(Overlay) 기법

오버레이 기법은 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법

· 보조기억장치에 저장된 하나의 프로그램을 여러 개의 조각으로 분할한 후 필요한 조각을 차례로 주기억장치에 적재하여 프로그램 실행

· 프로그램이 실행되면서 주기억장치의 공간이 부족하면 주기억장치에 적재된 프로그램의 조각 중 불필요한 조각이 위치한 장소에 새로운 프로그램의 조각을 중첩(Overlay)하여 적재함

· 프로그램을 여러 개의 조각으로 분할하는 작업은 프로그래머가 수행해야 하므로 프로그래머는 시스템 구조나 프로그램 구조를 알아야 함

※ 오버레이 기법이 가능한 이유 : 하나의 프로그램을 여러 개의 조각으로 분할하여 처리할 수 있는 것은 프로그램의 모든 부분이 동시에 실행되는 것이 아니기 때문


스와핑(Swapping) 기법

스와핑 기법은 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법

· 주기억장치에 있는 프로그램이 보조기억장치로 이동되는 것을 Swap Out, 보조기억장치에 있는 프로그램이 주기억장치로 이동하는 것을 Swap In이라고 함

· 하나의 사용자 프로그램이 완료될 때가지 교체 과정을 여러 번 수행 가능

· 가상기억장치의 페이징 기법으로 발점


③ 다중 분할 할당 기법


고정 분할 할당(Multiple contiguous Fixed parTition allocation, MFT) 기법 = 정적 할당(Static Allocation) 기법


고정 분할 할당은 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비중인 프로그램을 각 영역에 할당하여 수행하는 기법


· 프로그램을 실행하려면 프로그램 전체가 주기억장치에 위치해야 함

· 프로그램이 분할된 영역보다 커서 영역 안에 들어갈 수 없는 경우 발생 가능

· 일정한 크기의 분할 영역에 다양한 크기의 프로그램이 할당되므로 내부 단편화 및 외부 단편화가 발생하여 주기억장치의 낭비가 많음

· 실행할 프로그램의 크기를 미리 알고 있어야 함

· 다중 프로그래밍을 위해 사용되었으나 현재는 사용되지 않음

※ 내부 단편화 및 외부 단편화

· 내부 단편화 : 분할된 영역이 할당될 프로그램의 크기보다 크기 때문에 프로그램이 할당된 후 사용되지 않고 남아있는 빈 공간

· 외부 단편화 : 분할되 영역이 할당될 프로그램의 크기보다 작기 때문에 프로그램이 할당될 수 없어 사용되지 않고 빈 공간으로 남아 있는 분할된 전체 영역


가변 분할 할당(Multiple contiguous Variable parTition allocation, MVT) 기법 = 동적 할당(Dynamic Allocation) 기법


고정 분할 할당 기법의 단편화를 줄이기 위한 것으로, 미리 주기억장치를 분할해 놓는 것이 아니라 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법


· 주기억장치를 효율적으로 사용할 수 있으며, 다중 프로그래밍의 정도를 높일 수 있음

· 고정 분할 할당 기법에 비해 실행될 프로세스 크기에 대한 제약이 적음

· 단편화를 상당 부분 해결할 수 있으나 영역과 영역 사이에 단편화가 발생할 수 있음



092 주기억장치 관리 기법의 문제점과 해결 방법


① 단편화


단편화(Fragmentation)는 분할된 주기억장치에 프로그램을 할당하고 반납하는 과정을 반복하면서 사용되지 않고 남는 기억장치의 빈 공간 조각을 의미하며, 내부 단편화와 외부 단편화가 있음


· 내부 단편화(Internal Fragmentation) : 분할된 영역이 할당될 프로그램의 크기보다 크기 때문에 프로그램이 할당된후 사용되지 않고 남아있는 빈 공간

· 외부 단편화(External Fragmentation) : 분할된 영역이 할당될 프로그래므이 크기보다 작기 떄문에 프로그램이 할당될 수 없어 사용되지 않고 빈 공간으로 남아 있는 분할된 전체 영역


② 단편화 해결 방법


· 주기억장치를 재사용할 수 있도록 단편화된 공간을 모아서 하나의 사용할 수 있는 공간으로 만드는 기법


통합(Coalescing) 기법

· 통합 기법은 주기억장치 내에 인접해 있는 단편화된 공간을 하나의 공간으로 통합하는 작업

· 주기억장치에 빈 공간이 발생할 경우 이 빈 공간이 다른 빈 공간과 인접되어 있는지 점검한 후 결합하여 사용


압축(Compaction) 기법

· 압축 기법은 주기억장치 내에 분산되어 있는 단편화된 빈 공간을 결합하여 하나의 큰 가용 공간을 만드는 작업, 집약 쓰레기 수집이라고도 함

· 여러 위치에 분산된 단편화된 공간을 주기억장치의 한 쪽 끝을 옮겨서 큰 가용 공간 만듦

· 압축이 실행되는 동안 시스템은 모든 일을 일시 중단함



093 가상기억장치 구현 기법


① 가상기억장치의 개요


· 가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법

· 프로그램을 여러 개의 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리

· 주기억장치의 용량보다 큰 프로그램을 실행하기 위해 사용

· 주기억장치의 이용률과 다중 프로그래밍의 효율을 높일 수 있음

· 가상기억장치에 저장된 프로그램을 실행하려면 가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주고 변환 작업 필요함

· 블록 단위로 나누어 사용하므로 연속 할당 방식에서 발생할 수 있는 단편화를 해결 가능

· 가상기억장치의 일반적인 구현 방법에는 블록의 종류에 따라 페이징 기법과 세그먼테이션 기법으로 나눌수 있음

 페이징 기법

 프로그램을 동일한 크기로 나눈 단위를 페이지라 하며 이 페이지를 블록으로 사용하는 기법

 세그먼테이션 기법

 프로그램을 가변적인 크기로 나눈 단위를 세그먼트라 하며, 이 세그먼트를 블록으로 사용하는 기법


※ 주소 변환

· 주소 변환은 가상기억장치에 있는 프로그램이 주기억장치에 적재되어 실행될 때 논리적인 가상주소를 물리적인 실기억주소로 변환하는 것으로, 주소 사상 또는 주소 매핑이라고 함. 이때 연속적인 가상주소가 반드시 연속적인 실기억주소로 변환되지 않아도 되는데, 이를 인위적 연속성이라고 함

· 가상주소는 보조기억장치에 있는 프로그램 상의 주소로 논리 주소라고 하며, 실기억주소는 주기억장치에 있는 기억공간의 주소로 실주소라고 함


② 페이징(Paging) 기법


페이징 기법의 개요

· 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재시켜 실행하는 기법

· 프로그램을 일정한 크기로 나눈 단위를 페이지라고 하며, 페이지크기로 일정하게나누어진 주기억장치의 단위를 페이지 프레임이라고 함

· 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음

· 주소 변환을 위해서 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블 필요함

· 페이지 맵 테이블 사용으로 비용 증가되고, 처리 속도 감소


페이징 기법의 일반적인 주소 변환

· 주소 형식에 따른 페이지 맵 테이블의 구성

- 가상주소는 페이지 번호를 나타내는 p와 페이지 내에서 실제 내용이 위치하고 있는 곳까지의 거리를 나타내는 변위값 d로 구성됨

가상주소 형식    [페이지번호(p) | 변위값(d)]


- 실기억주소는 페이지 프레임 번호를 나타내는 p'와 페이지 프레임 내에서 실제 참조하는 위치까지의 거리를 나타내는 변위값 d로 구성됨

실기억주소 형식    [페이지 프레임(p') | 변위값(d)]


- 페이지 맵 테이블은 사용할 페이지가 주기억장치에 존재하는지의 여부를 나타내는 상태 비트와 페이지가 주기억장치에 없을 때의 보조기억장치 주소를 나타내는 디스크 주소, 페이지가 주기억장치에 있을 때의 페이지 프레임 번호로 구성됨

페이지 맵 테이블    [디스크 주소 | 페이지 프레임 번호 | 상태 비트]


· 주소 변환 순서

① 가상주소의 페이지 번호에 해당하는 페이지 프레임 번호와 가상주소의 변위값을 이용하여 실기억주소 만듦

② 만들어진 실기억주소를 이용하여 주기억장치를 액세스함


③ 세그먼테이션(Segmentation) 기법


세그먼테이션의 개요

· 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법

· 프로그램을 배열이나 함수 등과 같은 논리적인 크기로 나눈 단위를 세그먼트라고 하며, 각 세그먼트는 고유한 이름과 크기 가짐

· 기억장치의 사용자 관점을 보존하는 기억장치 관리 기법

· 세그먼테이션 기법을 이용하는 궁극적인 이유는 기억공간을 절약하기 위해서

· 주소 변환을 위해서 세그먼트가 존재하는 위치 정보를 가지고 있는 세그먼트 맵 테이블이 필요함

· 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키 필요

· 내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있음


세그먼테이션 기법의 일반적인 주소 변환

· 주소 형식에 따른 주소와 세그먼트 맵 테이블의 구성

- 가상주소는 세그먼트 번호를 나타내는 s와 세그먼트 내에서 실제 내용이 위치하고 있는 곳까지의 거리를 나타내는 변위값 d로 구성됨

가상주소 형식    [세그먼트 번호(s) | 변위값(d)]


- 실기억주소는 완전주소 형태를 사용하며 이는 세그먼트의 기준번지와 변위값을 더함으로써 얻을 수 있음

실기억주소 형식    [실기억주소(세그먼트 기준번지+변위값)]


- 세그먼트 맵 테이블은 세그먼트 번호 s와 세그먼트의 크기 L(한계 번지), 주기억장치 상의 기준번지(시작주소) b로 구성됨

세그먼트 맵 테이블    [세그먼트 번호(s) | 세그먼트 크기(L) | 기준 번지(b)]


· 주소 변환 순서

① 가상주소의 세그먼트 번호로 세그먼트 맵 테이블에서 해당 세그먼트의 기준번지와 세그먼트 크기를 구함. 세그먼트 번호는 세그먼트 맵 테이블에 대한 색인으로 사용됨

② 가상주소의 변위값과 세그먼트의 크기 비교

③ 변위값이 작거나 같으면 기준번지와 변위값을 더하여 실기억주소를 만들어 주기억장치 액세스함

 변위값이 크면 다른 영역을 침범하게 되므로 실행 권한을 운영체제에게 넘기고 트랩을 발생시킴(변위값이 크다는 것은 현재 찾는 세그먼트의 위치가 해당 세그먼트의 크기(한계번지)를 초과하였다는 의미)



094 페이지 교체 알고리즘


① 페이지 교체 알고리즘의 개요


· 페이지 교체 알고리즘은 페이지 부재가 발생했을 때 가상기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법

· 페이지 교체 알고리즘 : OPT, FIFO, LRU, LFU, NUR, SCR


② OPT(OPTimal replacement, 최적 교체)


OPT는 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법


· 벨레이디(Belady)가 제안한 것으로, 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘

· 각 페이지의 호출 순서와 참조 상황을 미리 예측해야 하므로 실현 가능성 희박함


③ FIFO(First In First Out)


FIFO는 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법


· 이해학 쉽고, 프로그래밍 및 설계 간단함

· 벨레이디의 모순현상 발생(페이지 프레임 수가 많으면 페이지 부재의 수가 줄어드는 것이 일반적이지만, 페이지 프레임 수를 증가시켰느데도 불구하고 페이지 부재가 더 많이 일어나는 현상을 의미


④ LRU(Least Recently Used)


LRU는 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법


· 각 페이지마다 계수기(Counter)나 스택(Stack)을 두어 현 시점에서 가장 오랫동안 사용하지 않은, 즉 가장 오래 전에 사용된 페이지 교체

· 계수기나 스택과 같은 별도의 하드웨어 필요, 시간적인 오버헤드 발생

· 실제로 구현하기 매우 어려움

※ LRU에서 교체 페이지 선정 방법

· 최근에 가장 오랫동안 사용하지 않은 페이지를 쉽게 선정하려면, 현 시점가지 참조된 페이지 번호 순서를 거꾸로검사하여 중복되지 않고 가장 나중에 나타나는 페이지를 선택

※ LRU 근사 알고리즘

· LRU 알고리즘은 실제 구현하기 어렵기 때문에 시스템에서는 LRU와 비슷한 알고리즘을 사용하게 되는데, 이를 LRU 근사 알고리즘이라고 함

· LRU 근사 알고리즘은 참조 비트를 사용하는 것으로 다음에서 배울 NUR 등이 있음


⑤ LFU(Least Frequently Used)


LFU는 사용 빈도가 가장 적은 페이지를 교체하는 방법


· 활발하게 사용되는 페이지는 사용 횟수가 많아 교체되지 않고 사용됨

· 프로그램 실행 초기에 많이 사용된 페이지가 그 후로 사용되지 않을 경우에도 프레임을 계속 차지할 수 있음


⑥ NUR(Not Used Recently)


NUR은 LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는 기법


· 최근에 사용되지 않은 페이지는 향후에도 사용되지 않을 가능성이 높다는 것을 전제로, LRU에서 나타나는 시간적인 오버헤드 줄일 수 있음

· 최근의 사용 여부를 확인하기 위해 각 페이지마다 두 개의 비트, 즉 참조 비트와 변형 비트가 사용됨

- 참조 비트 : 페이지가 호출되지 않았을 때는 0, 호출되었을 때는 1로 지정됨

- 변형 비트 : 페이지의 내용이 변경되지 않았을 때는 0, 변경되었을 때는 1로 지정됨


⑦ SCR(2차 기회 교체)


SCR(Second Chance Replacement)은 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로, FIFO 기법의 단점을 보완하는 기법


· 각 페이지마다 참조 비트를 두고, FIFO 기법을 이용하여 페이지 교체 수행중 참조 비트가 0일 경우에는 교체하고, 참조비트가 1일 경우에는 참조 비트를 0으로 지정한 후 FIFO 리스트의 맨 마지막으로 피드백시켜 다음 순서를 기다리게 함

· 교체 대상이 되기 전에 참조 비트를 검사하여 1일 경우 한 번의 기회를 더 부여하기 때문에 'Second Chance'라고도 함



095 가상기억장치 기타 관리 사항


가상기억장치를 구현할 때 시스템의 성능에 영향을 미치는 페이지 크기나 Locality, 워킹 셋, 페이지 부재 빈도, 프리페이징에 대해 


① 페이지 크기


페이징 기법을 사용하면 프로그램을 페이지 단위로 나누게 되는데, 페이지의 크기에 따라 시스템에 미치는 영향이 다름


페이지 크기가 작을 경우

· 페이지 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어듦

· 불필요한 내용이 주기억장치에 적재될 확률이 적으므로 효율적인 워킹 셋을 유지할 수 있음

· Locality(국부성)에 더 일치할 수 있기 때문에 기억장치 효율이 높아짐

· 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐

· 디스크 접근 횟수가 많아져서 전체적인 입·출력 시간은 늘어남


페이지 크기가 클 경우

· 페이지 정보를 갖는 페이지 맵 테이블의 크기가 작아지고, 매핑 속도가 빨라짐

· 디스크 접근 횟수가 줄어들어 전체적인 입·출력의 효율성이 증가됨

· 페이지 단편화가 증가되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 늘어남

· 프로세스(프로그램) 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있음


② Locality


Locality(국부성, 지역성, 구역성, 국소성)는 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론


· 스래싱을 방지하기 위한 워킹 셋 이론의 기반이 됨

· 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법 중 하나로, 가상기억장치 관리의 이론적인 근거가 됨

· Denning 교수에 의해 구역성의 개념이 증명되었으며 캐시 메모리 시스템의 이론적 근거


Locality의 종류

· 시간 구역성(Temporal Locality)

- 시간 구역성은 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상

- 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높음을 의미함

- 시간 구역성이 이루어지는 기억 장소 : Loop(반복, 순환), 스택(Stack), 부 프로그램(Sub Routine), Counting(1씩 증감), 집계(Totaling)에 사용되는 변수(기억장소)


· 공간 구역성(Spatial Locality)

- 공간 구역성은 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상

- 어느 하나의 페이지를 참조하면 그 근처의 페이지를 계속 참조할 가능성이 높음을 의미

- 공간 구역성이 이루어지는 장소 : 배열 순회, 순차적 코드의 실행, 프로그래머들이 관련된 변수(데이터를 저장할 기억장소)들을 서로 근처에 선언하여 할당되는 기억장소, 같은 영역에 있는 변수를 참조할 때 사용


③ 워킹 셋(Working Set)


워킹 셋은 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합


· 데닝이 제안한 프로그램의 움직임에 대한 모델로, 프로그램의 Locality 특징을 이용함

· 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정됨

· 시간이 지남에 따라 자주 참조하는 페이지들의 집합이 변화하기 때문에 워킹셋은 시간에 따라 변경됨


④ 페이지 부재 빈도 방식


페이지 부재(Page Fault)는 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상이며, 페이지 부재 빈도는 페이지 부재가 일어나는 횟수


· 페이지 부재 빈도 방식은 페이지 부재율에 따라 주기억장치에 있는 페이지 프레임의 수를 늘리거나 줄여 페이지 부재율을 적정 수준으로 유지하는 방식

· 운영체제는 프로세스 실행 초기에 임의의 페이지 프레임을 할당하고, 페이지 부재율을 지속적으로 감시하고 있다가 부재율이 상한선을 넘어가면 좀 더 많은 페이지 프레임을 할당하고, 부재율이 하한선을 넘어가면 페이지 프레임을 회수하는 방식 사용


⑤ 프리페이징(Prepaging)


· 프리페이징은 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 프레임에 적재하는 기법

· 기억장치에 들어온 페이지들 중에서 사용되지 않는 페이지가 많을 수도 있음 


⑥ 스래싱(Thrashing)


스래싱은 프로세스의 처리 시간보다 페잊 교체에 소요되는 시간이 더 많아지는 현상


· 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중 자주 페이지 부재가 발생함으로써 나타나는 현상으로, 전체 시스템의 성능이 저하됨

· 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높아지지만 다중 프로그래밍의 정도가 더욱 커지면 스래킹이 나타나고, CPU의 이용률은 급격히 감소함


· 스래싱 현상 방지 방법

- 다중 프로그래밍의 정도를 적정 수준으로 유지

- 페이지 부재 빈도를 조절하여 사용

- Working Set 유지

- 부족한 자원을 증설하고, 일부 프로세스를 중단시킴

- CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영함



096 디스크 스케줄링


보조기억장치에는 자기 디스크, 광 디스크, 자기 테이프 등이 있으나 일반적으로 자기 디스크를 가장 많이 사용함

운영체제가 수행하는 디스크 스케줄링 기법의 개념과 종류에 대해


① 디스크 스케줄링의 개요


· 디스크 스케줄링은 사용할 데이터가 디스크 상의 여러곳에 저장되어 있을 경우 데이터를 액세스하기 위해 디스크 헤드가 움직이는 경로를 결정하는 기법

· 디스크 스케줄링은 일반적으로 탐색 기간을 최적화하기 위해 수행되며, 다음과 같은 목저글 갖고 있음

 처리량 최대화

 일정 시간에 디스크 입·출력 요구를 서비스해 주는 수를 최대화

 응답 시간의 최소화

 어떤 요청이 있은 후 결과가 나올 때가지 걸리는 시간을 최소화

 응답 시간 편차의 최소화

 각 요청의 응답 시간과 평균 응답 시간의 편차를 최소화

· 디스크 스케줄링의 종류에는 FCFS, SSTF, SCAN, C-SCAN, N-step SCAN, 에센바흐, STLF 스케줄링 기법이 있음


② FCFS(First Come First Service) = FIFO(First In First Out)


FCFS는 가장 간단한 스케줄링으로, 디스크 대기 큐에 가장 먼저 들어온 트랙에 대한 요청을 가장 먼저 서비스하는 기법


· 디스크 대기 큐에 있는 트랙 순서대로 디스크 헤드를 이동시킴

· 디스크 대기 큐에 들어온 순서대로 서비스하기 때문에 더 높은 우선순위의 요청이 입력되어도 순서가 바뀌지 않아 공평성이 보장됨

· 디스크 오버헤드가 적을 때 효율적이며, 프로그래밍이 쉬움

· 헤드 이동 거리가 상당히 길어질 수 있음

· 디스크 오버헤드가 커지면 응답 시간이 길어짐

· 탐색 시간을 최적화하려는 시도가 없는 기법


③ SSTF(Shortest Seek Time First)


SSTF는 탐색 거리가 가장 짧은 트랙에 대한 요청을 먼저 서비스하는 기법


· 현재 해드 위치에서 가장 가까운 거리에 있는 트랙으로 헤드를 이동시킴

· FCFS보다 처리량이 많고, 평균 탐색 시간이 짧음

· 처리량이 많은 일괄 처리 시스템에 유용

· 현재 서비스한 트랙에서 가장 가까운 트랙에 대한 서비스 요청이 계속 발생하는 경우, 먼 거리의 트랙(안쪽이나 바깥쪽)에 대한 서비스는 무한정 기다려야 하는 기아 상태가 발생할 수도 있음

· 응답 시간의 편차가 크기 때문에 대화형 시스템에는 부적합


④ SCAN


SCAN은 SSTF가 갖는 탐색 시간의 편차를 해소하기 위한 기법


· Denning이 개발한 것으로, 대부분의 디스크 스케줄링에서 기본 전략으로 이용됨

· 현재 헤드의 위치에서 진행 방향이 결저되면 탐색 거리가 짧은 순서에 따라 그 방향의 모든 요청을 서비스하고, 끝까지 이동한 후 역방향의 요청 사항을 서비스함

· 헤드가 안쪽과 바깥쪽을 왔다갔다 하면서 지나는 길에 있는 대기 요청뿐만 아니라 새로운 요청도 서비스하며, 현재의 진행 방향에 더 이상의 요청이 없을 때에만 이동방향 바꿈

· SSTF에서 발생하는 응답 시간의 편차를 줄일 수 있음

· 오버헤드가 적을 경우 가장 효율적인 기법


⑤ C-SCAN(Circular SCAN)


C-SCAN은 항상 바깥쪽에서 안쪽으로 움직이면서 가장 짧은 탐색 거리를 갖는 요청을 서비스하는 기법


· 헤드는 트랙의 바깥쪽에서 안쪽으로 한 방향으로만 움직이며 서비스하여 끝까지 이동한 후, 안쪽에 더 이상의 요청이 없으면 헤드는 가장 바깥쪽의 끝으로 이동한 후 다시 안쪽으로 이동하면서 요청 서비스함

· 마치 처음과 마지막 트랙을 인접시킨 것과 같은 원형 형태로 Disk를 처리함

· 요청을 서비스하는 도중 새로운 요청 사항이 도착하면 다음 헤드가 진행될 때 서비스 함

· 트랙의 안쪽과 바깥쪽의 요처엥 대한 서비스가 공평함


⑥ N-SCAN(N-step SCAN)


N-step SCAN은 SCAN 기법의 무한 대기 발생 가능성을 제거한 것으로, 어떤 방향의 진행이 시작될 당시에 대기 중이던 요청들만 서비스하고, 진행 도중 도착한 요청들은 한데 모아서 다음 반대 방향 진행 때 서비스하는 기법


· SSTF나 SCAN 기법보다 응답 시간의 편차가 적음

· 특정 방향에 많은 수의 요청이 도착할 경우 반대방향에서의 무한 지연 발생을 방지할 수 있음

· 진행 도중 도착한 요청은 반대 방향 진행시 서비스하기 위해 디스크 대기 큐에 저장


⑦ 에션바흐(Eschenbach) 기법


· 에센바흐는 부하가 매우 큰 항공 예약 시스템을 위해 개발됨

· 탐색 시간과 회전 지연 시간을 최적화하기 위한 최초의 기법

· 헤드는 C-SCAN처럼 움직이며 예외적으로 모든 실린더는 그 실린더에 요청이 있던 없던 간에 전체 트랙이 한 바퀴 회전할 동안에 서비스 받음


⑧ SLTF(Shortest Latency Time First)


SLTF는 섹터 큐잉이라고 하며, 회전 지연 시간의 최적화를 위해 구현된 기법


· 디스크 대기 큐에 있는 여러 요청을 섹터 위치에 따라 재정렬하고, 가장 가까운 섹터를 먼저 서비스

· 헤드의 이동이 거의 없는 고정 헤드 장치인 드럼과 같은 장치에서 사용됨



출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 운영체제' 카테고리의 다른 글

6장 운영체제의 실제  (0) 2017.02.12
5장 분산 운영체제  (0) 2017.02.12
4장 정보 관리  (0) 2017.02.12
2장 프로세스 관리  (0) 2017.02.10
1장 운영체제의 개요  (0) 2017.02.10

정보처리기사 필기 - 3과목 운영체제


2장 프로세스 관리


084 프로세스의 개요


① 프로세스의 정의


· 프로세스(Process)는 일반적으로 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프로그램을 의미하며, 작업(Job), 테스크(Task)라고도 함

· 프로세스는 다음과 같이 여러 형태로 정의 가능

- PCB를 가진 프로그램

- 실기억장치에 저장된 프로그램

- 프로세서가 할당되는 실체로서, 디스패치가 가능한 단위

- 프로시저가 활동중인 것

- 비동기적 행위를 일으키는 주체

- 지정된 결과를 얻기 위한 일련의 계통적 동작

- 목적 또는 결과에 따라 발생되는 사건들의 과정

- 운영체제가 관리하는 실행 단위


② PCB


· PCB(Process Control Block, 프로세스 제어 블록)는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로, Task Control Block 또는 Job Control Block이라고도 함

· 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거됨

· PCB에 저장되어 있는 정보

 저장 정보

 설명

 프로세스의 현재 상태

 준비, 대기, 실행 등의 프로세스 상태

 포인터

 · 부모 프로세스에 대한 포인터 : 부모 프로세스의 주소 기억

 · 자식 프로세스에 대한 포인터 : 자식 프로세스의 주소 기억

 · 프로세스가 위치한 메모리에 대한 포인터 : 현재 프로세스가 위치한 주소 기억

 · 할당된 자원에 대한 포인터 : 프로세스에 할당된 각 자원에 대한 주소 기억

 프로세스 고유 식별자

 프로세스를 구분할 수 있는 고유 번호

 스케줄링 및 프로세스의 우선순위

 스케줄링 정보 및 프로세스가 실행될 우선순위

 CPU 레지스터 정보

 Accumulator, Index Register, 범용 레지스터, PC 등에 대한 정보

 주기억장치 관리 정보

 Base Register, Page Table에 대한 정보

 입·출력 상태 정보

 입·출력장치, 개방된 파일 목록

 계정 정보

 CPU 사용 시간, 실제 사용 시간, 한정된 시간


③ 프로세스 상태 전이


프로세스 상태 전이는 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변화는 것을 의미하며, 프로세스의 상태를 다음과 같이 상태 전이도로 표시

[그림 1] 상태 전이도

프로세스 상태

프로세스 상태는 제출, 접수, 준비, 실행, 대기(보류) 상태로 나눌 수 있으며, 이 중 주요 세 가지 상태는 준비, 실행, 대기 상태

· 제출(Submit) : 작업을 처리학 위해 사용자가 작업을 시스템에 제출한 상태

· 접수(Hold) : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태

· 준비(Ready)

- 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태

- 프로세스는 준비상태 큐(스케줄링 큐)에서 실행 준비중(준비상태 큐 : 여러 프로세스가 프로세서를 할당받기 위해 기다리는 장소)

- 접수 상태에서 준비 상태로의 전이는 Job 스케줄러에 의해 수행됨

· 실행(Run)

- 준비상태 큐에 있는 프로세스가 프로세서를 할당 받아 실해오디는 상태

- 프로세스 수행이 완료되기 전에 프로세스에게 주어진 프로세서 할당 시간이 종료(Time Run Out)되면 프로세스는 준비 상태로 전이됨

- 실행중인 프로세스에 ·출력(I/O) 처리가 필요하면 실행중인 프로세스는 대기 상태로 전이됨

- 준비 상태에서 실행 상태로의 전이는 CPU(프로세서) 스케줄러에 의해 수행됨

· 대기(Wait), 보류, 블록(Block) : 프로세스에 입·출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입·출력 처리가 완료될 때까지 대기하고 있는 상태

· 종료(Terminated, Exit) : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

※ 실행 중지(Suspend)

· 하나의 프로세스가 입·출력 이외의 다른 이유에 의해 실행되지 못하는 상태

· 실행 중지된 프로세스는 다른 프로세스로 다시 시작하기 전까지는 실행될 수 없음

· 프로세스의 실행 중지 요인

- 시스템에 이상이 있거나 부하가 많을 경우 운영체제의 필요에 의해 중지시킴

- 프로세스의 이상 유무를 확인하기 위해 해당 프로세스를 완전히 종료시키지 않고 중지시킴


프로세스 상태 전이 관련 용어

· Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정

· Wake Up : 입·출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정

· 교통량 제어기(Traffic Controller) : 프로세스의 상태에 대한 조사와 통보 담당


④ 스레드


스레드(Thread)는 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위


· 하나의 프로세스에 하나의 스레드가 존재하는 경우에는 단일 스레드, 하나 이상의 스레드가 존재하는 경우에는 다중 스레드라고 함

· 프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 함

· 스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로서 프로세스의 역할 담당

· 동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능함

· 스레드의 분류

 사용자 수준의 스레드

 · 사용자가 만든 라이브러리를 사용하여 스레드 운용

 · 속도는 빠르지만 구현 어려움

 커널 수준의 스레드

 · 운영체제의 커널에 의해 스레드 운용

 · 구현이 쉽지만 속도 느림

· 스레드 사용의 장점

- 하나의 프로세스를 여러 개의 스레드로 생성하여 병행성을 증진시킬 수 있음

- 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율 향상 가능

- 응용 프로그램의 응답 시간 단축 가능

- 실행 환경을 공유시켜 기억 장소의 낭비 줄어듦

- 프로세스들 간의 통신 향상

- 스레드는 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신함



085 스케줄링


① 스케줄링의 개요


· 스케줄링(Scheduling)은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

· 프로세스가 생성되어 완료될 때까지 프로셋는 여러 종류의 스케줄링 과정을 거치게 됨

· 스케줄링 종류

 장기 스케줄링

 · 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보내는 작업

 · 작업 스케줄링(Job Scheduling), 상위 스케줄링이라고도 하며, 작업 스케줄러에 의해 수행됨

 중기 스케줄링

 · 어떤 프로세스들이 CPU를 할당받을 것인지를 결정하는 작업을 의미함

 · CPU를 할당받으려는 프로세스가 많을 경우 프로세스를 일시 보류시킨 후 활성화해서 일시적으로 부하를 조절함

 단기 스케줄링

 · 프로세스가 실행되기 위해 CPU를 할당받응 시기와 특정 프로세스를 지정하는 작업

 · 프로세서 스케줄링(Processor Scheduling), 하위 스케줄링이락도 함

 · 프로세서 스케줄링 및 문맥 교환은 프로세서 스케줄러에 의해 수행됨

※ 문맥 교환(Context Switching)

· 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생되는 것으로 새로운 프로세스에 CPU를 할당하기 위해 현재 CPU가 할당된 프로세스의 상태 정보를 저장하고, 새로운 프로세스의 상태 정보를 설정한 후 CPU를 할당하여 실행되도록 하는 작업


② 스케줄링의 목적


스케줄링은 CPU나 자원을 효율적으로 사용하기 위한 정책


· 공정성 : 모든 프로세스에 공정하게 할당

· 처리율(량) 증가 : 단위 시간당 프로세스를 처리하는 비율(양)을 증가시킴

· CPU 이용률 증가 : 프로세스 실행 과정에서 주기억장치를 액세스한다든지, 입·출력 명령 실행 등의 원인에 의해 발생할 수 있는 CPU의 낭비 시간을 줄이고, CPU가 순수하게 프로세스를 실행하는데 사용되는 시간 비율을 증가시킴

· 우선순위 제도 : 우선순위가 높은 프로세스 먼저 실행

· 오버헤드 최소화 : 오버헤드 최소화

· 응답시간(Response Time, 반응 시간) 최소화 : 작업을 지시하고, 반응하기 시작하는 시간을 최소화

· 반환시간(Turn Around Time) 최소화 : 프로세스를 제출한 시간부터 실행이 완료될 때까지 걸리는 시간을 최소화

· 대기 시간 최소화 : 프로세스가 준비상태 큐에서 대기하는 시간을 최소화

· 균형 있는 자원의 사용 : 메모리, 입·출력장치 등의 자원을 균형 있게 사용

· 무한 연기 회피 : 자원을 사용하기 위해 무한정 연기되는 상태를 회피


③ 프로세서 스케줄링(프로세스 스케줄링) 기법


비선점(Non-Preemptive) 스케줄링

· 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법

· 프로세스가 CPU를 할당받으면 해당 프로세스가 완료될 때까지 CPU를 사용함

· 모든 프로세스에 대한 요구를 공정하게 처리 가능

· 프로세스 응답 시간의 예측이 용이하며, 일괄 처리 방식에 적합

· 중요한 작업(짧은 작업)이 중요하지 않은 작업(긴 작업)을 기다리는 경우가 발생할 수 있음

· 비선점 스케줄링의 종류에는 FCFS, SJF, 우선순위, HRN, 기한부 등의 알고리즘


선점(Preemptive) 스케줄링

· 하나의 프로세스가 CPU를 할당 받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법

· 우선순위가 높은 프로세스를 빠르게 처리 가능

· 주로 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용됨

· 많은 오버헤드(Overhead) 초래함

· 선점이 가능하도록 일정 시간 배당에 대한 인터럽트용 타이머 클록(Clock)이 필요

· 선점 스케줄링의 종류에는 Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등의 알고리즘


 비선점 스케줄링

 FCFS

 SJF

 우선순위

 HRN

 기한부

 선점 스케줄링

 RR

 SRT

 선점 우선순위

 다단계 큐

 다단계 피드백 큐



086 비선점 스케줄링


① 비선점 스케줄링의 개요


· FCFS, SJF, HRN, 우선순위, 기반후 알고리즘· 


② FCFS(First Come First Service, 선입 선출) = FIFO(First In First Out)


· FCFS는 준비상태 큐(대기 큐, 준비 완료 리스트, 작업준비 큐, 스케줄링 큐)에 도착한 순서에 따라 차례로 CPU를 할당하는 기법으로, 가장 간단한 알고리즘

· 먼저 도착한 것이 먼저 처리되어 공평성은 유지되지만 짧은 작업이 긴 작업을, 중요한 작업이 중요하지 않은 작업을 기다리게 됨


③ SJF(Shorted Job First, 단기 작업 우선)


· SJF는 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

· 가장 적은 평균 대기 시간을 제공하는 최적 알고리즘

· 실행 시간이 긴 프로세스는 실행 시간이 짧은 프로세스에게 할당 순위가 밀려 무한 연기 상태가 발생될 수 있음


④ HRN(Highest Response-ratio Next)


· 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법

· 우선순위 계산 공식을 이용하여 서비스(실행) 시간이 짧은 프로세스나 대기 시간이 긴 프로세스에게 우선순위를 주어 CPU를 할당함

· 서비스 실행 시간이 짧거나 대기 시간이긴 프로세스 일 경우 우선순위가 높아짐

· 우선순위를 계산하여 그 숫자가 가장 높은 것부터 낮은 순으로 우선순위 부여됨

· 우선순위 계산식 = (대기 시간+서비스(실행) 시간) / 서비스(실행) 시간


⑤ 기한부(Deadline)


· 프로세스에게 일정한 시간을 주어 그 시간 안에 프로세스를 완료하도록 하는 기법

· 프로세스가 제한된 시간 안에 완료되지 않을 경우 제거되거나 처음부터 다시 실행해야 함

· 시스템을 프로세스에게 할당할 정확한 시간을 추정해야 하며, 이를 위해서 사용자는 시스템이 요구한 프로세스에 대해 정확한 정보를 제공해야 함

· 여러 프로세스들이 동시에 실행되면 스케줄링이 복잡해지며, 프로세스 실행 시 집중적으로 요구되는 자원 관리에 오버헤드 발생


⑥ 우선순위(Priority)


· 준비 상태 큐에서 기다리는 각 프로세스마다 우선순위를 부여하여 그 중 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법

· 우선순위가 동일할 경우 FCFS 기법으로 CPU 할당

· 우선순위는 프로세스의 종류나 특성에 따라 다르게 부여될 수 있음

· 가장 낮은 순위를 부여받은 프로세스는 무한 연기 또는 기아 상태(프로세스를 완료하지 못하는 상태)가 발생할 수 있음


※ 에이징(Aging) 기법

· 시스템에서 특정 프로세스의 우선순위가 낮아 무한정 기다리게 되는 경우, 한 번 양보하거나 기다린 시간에 비례하여 일정 시간이 지나면 우선순위를 한 단계씩 높여 가까운 시간 안에 자원을 할당받도록 하는 기법

· SJF나 우선순위 기법에서 발생할 수 있는 무한 연기 상태, 기아 상태 예방 가능



087 선점 스케줄링


선점 스케줄링 : 선점 우선순위, SRT, RR, 다단계 큐, 다단계 피드백 큐 알고리즘


① 선점 우선순위


· 준비상태 큐의 프로세스들 중에서 우선순위가 가장 높은 프로세스에게 먼저 CPU 할당하는 기법

· 비선점 우선순위 기법을 선점 형태로 변경한 것으로, 준비상태 큐에 새로 들어온 프로세스의 순위가 높을 경우 현재의 프로세스를 보류하고 새로운 프로세스 실행


② SRT(Shortest Remaining Time)


· 비선점 스케줄링인 SJF 기법을 선점 형태로 변경한 기법으로, 선점 SJF 기법이라고도 함

· 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법으로, 시분할 시스템에 유용

· 준비상태 큐에 있는 각 프로세스의 실행 시간을 추적하여 보유하고 있어야 하므로 오버헤드 증가


③ RR(Round Robin)


· 시분할 시스템(Time Sharing System)을 위해 고안된 방식으로, FCFS(FIFO)알고리즘을 선점 형태로 변형한 기법

· FCFS 기법과 같이 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받지만 각 프로세스는 시간 할당량(Time Slice, Quantum) 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비 상태 큐의 가장 뒤로 배치됨

· 할당되는 시간이 클 경우 FCFS 기법과 같아지고, 할당되는 시간이 작을 경우 문맥 교환 및 오버헤드가 자주 발생되더 요청된 작업을 신속히 처리할 수 없음

· 할당되는 시간의 크기가 작으면 작은 프로세스들에게 유리함


④ 다단계 큐(MQ; Multi-level Queue)


· 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용하는 기법

· 일반적으로 프로세스 우선순위에 따라 시스템 프로세스, 대화형 프로세스, 편집 프로세스, 일괄 처리 프로세스 등으로 나누어 준비상태 큐를 상위, 중위, 하위 단계로 배치

· 각 준비상태 큐는 독자적인 스케줄링을 가지고 있으므로 각 그룹의 특성에 따라 서로 다른 스케줄링 기법 사용 가능

· 프로세스가 특정 그룹의 준비상태 큐에 들어갈 경우 다른 준비 상태 큐로 이동 가능

· 하위 단계 준비상태 큐에 있는 프로세스를 실행하는 도중이라도 상위 단계 준비상태 큐에 프로세스가 들어오면 상위 단계 프로세스에게 CPU를 할당해야 함


⑤ 다단계 피드백 큐(MFQ; Multi-level Feedback Queue)


· 특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동할 수 없는 다단계 큐 기법을 준비상태 큐 사이를 이동할 수 있도록 개선한 기법 

· 적응 기법(Adaptive Mechanism, 시스템이 유동적인 상태 변화에 적절히 반응하도록 하는 기법)의 개념 적용

· 각 준비상태 큐마다 시간 할당량을 부여하여 그 시간동안 완료하지 못한 프로세스는 다음 단계의 준비상태 큐로 이동됨

· 상위 단계 준비상태 큐일수록 우선순위가 높고, 시간 할당량이 적음

· 요구하는 시간이 적은 프로세스, 입·출력 중심의 프로세스, 낮은 우선순위에서 너무 오래 기다린 프로세스를 기준으로 높은 우선순위를 할당함

· 하위 단계 준비상태 큐에 있는 프로세스를 실행하는 도중이라도 상위 단계 준비 상태 큐에 프로세스가 들어오면 상위 단계 프로세스에게 CPU를 할당하며, 마지막 단계 큐에서는 작업이 완료될 때까지 RR 스케줄링 기법을 사용함



088 병행 프로세스와 상호 배제


① 병행 프로세스


병행 프로세스(Concurrent Process)는 두 개 이상의 프로세스들이 동시에 존재하며 실행 상태에 있는 것을 의미


· 여러 프로세스들이 독립적으로 실행되는 것을 독립적 병행 프로세스, 서로 협력하며 동시에 실행되는 것을 협동적 병행 프로세스라고 함

· 병행 프로세스는 다중 처리 시스템이나 분산 처리 시스템에서 중요한 개념으로 사용됨


② 임계 구역


임계 구역(Critical Section)은 다중 프로그래밍 운영체제에서 여러 개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세스만 자원 또는 데이터를 사용하도록 지정된 공유 자원(영역)을 의미


· 임계 구역에는 하나의 프로세스만 접근 가능하며, 해당 프로세스가 자원을 반납한 후에만 다른 프로세스가 자원이나 데이터 사용 가능

· 임계 구역은 특정 프로세스가 독점할 수 없으며, 임계 영역에서 수행 중인 프로세스는 인터럽트 불가능

· 임계 구역의 자원이나 데이터는 여러 프로세스가 사용해야 하므로 임계 구역 내에서의 작업은 신속하게 이루어져야 함

· 프로세스가 임계 구역에 대한 진입을 요청하면 일정 시간 내에 진입을 허락해야 함

· 현재 임계 구역에서 실행되는 프로세스가 없다면 임계 구역 사용을 기다리고 있는 잔류 영역에 있는 프로세스의 사용을 허락해야 하며, 그 이외에 있는 프로세스는 임계 구역에 진입 불가능


③ 상호 배제 기법


상호 배제(Mutual Exclusion)는 특정 프로세스가 공유 자원을 사용하고 있을 경우 다른 프로세스가 해당 공유 자원을 사용하지 못하게 제어하는 기법


· 여러 프로세스가 동시에 공우 자원을 사용할 때 각 프로세스가 번갈아가며 공유 자원를 사용하는 것으로, 임계 구역을 유지하는 기법

· 상호 배제 기법을 구현하기 위한 방법에는 소프트웨어적 구현과 하드웨어적 구현이 있음


소프트웨어적 구현 방법

· 두 개의 프로세스 기준 : 데커(Dekker) 알고리즘, 피터슨(Peterson) 알고리즘

· 여러 개의 프로세스 기준 : Lamport의 빵집 알고리즘(고객이 빵집에 들어갈 때 번호를 부여하여 순서대로 빵을 제공하는 것 처럼, 각 프로세스에게 번호를 부여하고 자원을 사용하도록 하는 방법)


하드웨어적 구현 방법

· Test & Set 기법과 Swap 명령어 기법


④ 동기화 기법의 개요


동기화 기법(Synchronization)은 두 개의 이상의 프로세스를 한 시점에서는 동시에 처리할 수 없으므로 각 프로세스에 대한 처리 순서를 결정하는 것으로, 상호 배제의 한 형태


· 동기화르 구현할 수 있는 방법에는 세마포어와 모니터가 있음


⑤ 세마포어(Semaphore)


· 세마포어는 '신호기', '깃발'을 뜻하며, 각 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법

· 세마포어는 다익스트라가 제안했으며, P와 V라는 두 개의 연산에 의해서 동기화를 유지시키고 상호 배제의 원리를 보장함

· S는 P와 V연산으로만 접근 가능한 세마포어 변수로, 공유 자원의 개수를 나타내며 0과 1 혹은 0과 양의 값을 가질 수 있음

[그림 2] 세마포어

① 프로세스가 자원을 사용하려고 할 경우 먼저 세마포어 변수(S)를 통해 다른 프로세스가 자원을 점유하고 있는지 조사 → 자원을 사용할 수 있으면 해당 자원을 점유한 후 자원이 점유되었다는 것을 알리고, 다른 프로세스가 이미 자원을 점유한 상태라면 자원을 사용할 수 있을 때까지 기다림

· P연산 : 자원을 사용하려는 프로세스들의 진입 여부를 자원의 개수(S)를 통해 결정하는 것으로, Wait 동작이라 함

· S = S - 1 : 자원 점유를 알리는 것으로, 자원의 개수를 감소시킴


② 프로세스가 자원 사용을 마치면 자원을 반납하므로 자원의 사용을 위해 기다리는 프로세스에게 이 사실을 알림

· V연산 : 대기중인 프로세스를 깨우는 신호(Wake Up)로서, Signal 동작이라 함

· S = S + 1 : 자원을 반납하였으므로 자원의 개수 증가시킴


- 하나의 프로세스가 S값을 변경하면 동시에 다른 프로세스가 S값을 변경할 수 없음

- 세마포어에 대한 연산은 처리중에 인터럽트되어서는 안 됨


⑥ 모니터(Monitor)


· 모니터는 동기화를 구현하기 위한 특수 프로그램 기법으로 특정 공유 자원을 프로세스에게 할당하는 데 필요한 데이터와 이 데이터를 처리하는 프로시저로 구성됨

· 자료 추상화와 정보 은폐 개념을 기초로 하여 공유 자원을 할당하기 위한 병행성 구조로 이루어져 있음

· 모니터 내의 공유 자원을 사용하려면 프로세스는 반드시 모니터의 진입부를 호출해야 함

· 외부의 프로시저는 직접 액세스할 수 없음

· 모니터의 경계에서 상호 배제가 시행됨

· 모니터에는 한 순간에 하나의 프로세스만 진입하여 자원 사용 가능

· 모니터에는 Wait와 Signal 연산이 사용됨



089 교착상태


① 교착상태의 개요


· 교착상태(Dead Lock)는 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상


② 교착상태 발생의 필요 충분 조건


교착상태가 발생하려면 네 가지 조건이 충족되어야함. 단 하나라도 충족하지 않으면 교착상태 발생하지 않음

 상호 배제(Mutual Exclusion)

 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함

 점유와 대기(Hold and Wait)

 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함

 비선점(Non-preemption)

 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함

 환형 대기(Circular Wait)

 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함


③ 예방 기법(Prevention)


교착상태 예방 기법은 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착상태 발생의 네 가지 조건 중에서 어느 하나를 제거(부정)함으로써 수행됨. 자원의 낭비가 가장 심한 기법


· 상호 배제(Mutual Exclusion) 부정 : 한 번에 여러 개의 프로세스가 공유 자원을 사용할 수 있도록 함

· 점유및 대기(Hold and Wait) 부정 : 프로세스가 실행되기 전 필요한 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함

· 비선점(Non-preemption) 부정 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사요하기 위해 기다리게 함

· 환형 대기(Circular Wait) 부정 : 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유 번호보다 앞이나 뒤 어느 한쪽 방향으로만 자원을 요구하도록 하는 것


④ 회피 기법(Avoidance)


교착상태 회피 기법은 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법으로, 주로 은행원 알고리즘이 사용됨


은행원 알고리즘(Banker's Algorithm)

· 은행원 알고리즘은 E. J. Dijikstra가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는 데서 유래한 기법

· 각 프로세스에게 자원을 할당하여 교착상태가 발생하지 않으며 모든 프로세스가 완료될 수 있는 상태를 안전 상태, 교착상태가 발생할 수 있는 상태를 불안전 상태라고 함

· 은행원 알고리즘을 적용하기 위해서는 자원의 양과 사용자(소프트웨어) 수가 일정해야 함

· 은행원 알고리즘은 프로세스의 모든 요구를 유한한 시간 안에 할당하는 것을 보장함


※ 은행원 알고리즘 순서와 예시

① 새로운 프로세스가 시스템에 들어가면 프로세스가 필요로 하는 자원의 최대 수를 정의. 이때 프로세스가 필요로 하는 자원의 수는 시스템에 존재하는 최대 자원 수를 초과할 수 없음

프로세스가 자원을 요구할 때 시스템은 이 자원을 할당한 후에도 시스템을 안전 상태에 머무르게 하는가를 결정해야 하며 안전 상태에 있으면 자원을 할당하고, 그렇지 않으면 필요한 자원이 반납될 때가지 기다림


⑤ 발견 기법(Detection)


교착상태 발견 기법은 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것을 의미


· 교착상태 발견 알고리즘과 자원 할당 그래프 등 사용 


⑥ 회복 기법(Recovery)


교착상태 회복 기법은 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

 프로세스 종료

 교착상태에 있는 프로세스를 종료하는 것으로, 교착상태에 있는 모든 프로세스를 종료하는 방법과 교착상태에 있는 프로세스들을 하나씩 종료해 가며 교착상태를 해결하는 방법이 있음

 자원 선점

 · 교착상태의 프로세스가 점유하고 있는 자원을 선점하여 다른 프로세스에게 할당하며, 해당 프로세스를 일시 정지 시키는 방법

 · 우선순위가 낮은 프로세스, 수행된 정도가 적은 프로세스, 사용되는 자원이 적은 프로세스 등을 위주로 해당 프로세스의 자원을 선점함




출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 운영체제' 카테고리의 다른 글

6장 운영체제의 실제  (0) 2017.02.12
5장 분산 운영체제  (0) 2017.02.12
4장 정보 관리  (0) 2017.02.12
3장 기억장치 관리  (0) 2017.02.10
1장 운영체제의 개요  (0) 2017.02.10

+ Recent posts