#216_비동기식 전송

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

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

 - 문자와 문자 사이의 휴지 시산이 불규칙함

 - 2000bps 이하의 단거리 전송에 사용

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

 

#217_동기식 전송

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

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

 - 프레임(Frame) : 전송할 자료를 일정한 크기로 분리한 것으로, 데이터뿐만 아니라 행선지 코드, 동기를 위한 제어 문자, 오류 검출을 위한 패리티나 CRC 등의 추가 정보를 포함함

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

 - 주로 원거리 전송에 사용

 - 단말기는 반드시 버퍼 기억 장치를 내장하여야 함

 - 비트 동기 방식과 블록 동기 방식이 있으며, 블록 동기 방식은 문자 동기 방식과 비트 동기 방식으로 나뉨

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

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

 

#218_회선 구성 방식

 - 포인트 투 포인트(Point-to-Point)

  ㆍ중앙 컴퓨터와 단말기를 일대일 독립적으로 연결하는 방식

  ㆍ통신망을 성형(star)으로 구성할 떄 사용

 - 멀티 드롭(Multi-drop) = 멀티 포인트

  ㆍ여러 대의 단말기들을 한 개의 통신 회선에 연결하는 방식

  ㆍ단말기는 주소 판단 기능과 버퍼를 가지고 있어야 함

  ㆍ회선 공유로 효용도가 높고, 가격도 저럼

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

  ㆍ통신망을 버스형으로 구성할 떄 사용

 - 회선 다중 방식(Line Multiplexing)

  ㆍ여러 대의 단말기들을 다중화 장치를 이용하여 중앙 컴퓨터와 연결하는 방식

  ㆍ중앙 컴퓨터와 다중화 장치 사이를 대용량 회선으로 연결하여 전송속도 및 효율을 높임

 

#219_회선 제어 방식

 - 경쟁(Contention) 방식

  ㆍ회선 접속을 위해서 서로 경쟁하는 방식

  ㆍ데이터링크가 설정되면 정보 전송이 종료되기 전까지는 독점적으로 정보를 전송할 수 있음

  ㆍ대표적인 시스템으로는 ALOHA가 있음

 - 폴링/셀렉션 방식

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

  ㆍ폴링(Poling) : 컴퓨터에서 단말기에게 전송할 데이터가 있는지를 물어 전송할 데이터가 있다면 전송을 허가하는 방식으로 단말기에서 컴퓨터로 보낼 데이터가 있는 경우에 사용함

  ㆍ셀렉션(Selection) : 컴퓨터가 단말기로 전송할 데이터가 있는 경우 그 단말기가 받을 준비가 되었는가를 묻고 준비가 되어 있다면 컴퓨터에서 단말기로 데이터를 전송하는 방식

 

#220_전송 제어의 기본

 - 전송 제어 : 데이터의 원활한 흐름을 위하여 입출력 제어, 회선 제어, 동기 제어, 오류 제어, 흐름 제어 등을 수행하는 것

 - OSI 7계층의 데이터 링크 계층(2계층)에서 수행하는 기능

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

  ㆍ데이터 통신 회선 접속 : 통신 회선과 단말기를 물리적으로 접속

  ㆍ데이터 링크 설정(확립) : 송수신측 간의 논리적 경로 구성

  ㆍ정보 메세지 전송 : 설정된 데이터 링크를 통해 데이터를 수신측에 전송하며 오류 제어와 순서 제어를 수행

  ㆍ데이터 링크 종결 : 송수신측 간의 논리저 경로를 해제

  ㆍ데이터 통신 회선의 절단 : 통신 회선과 단말기 간의 물리적 접속을 절단

 

#221_BSC

 - 문자 위주의 프로토콜로, 각 프레임에 전송 제어 문자를 삽입하여 전송을 제어

 - 문자 코드에 의존적이며, 사용할 수 있는 코드가 제한적임

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

 - 반이중 전송만 지원

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

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

 - 에러 및 흐름 제어를 위해 Stop-and-Wait ARQ를 사용

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

 - 프레임 구조

SYN SYN SOH 헤더 STX 본문 EXT/ETB BCC

 - 전송 제어 문자 : 링크 관리, 프레임의 시작 및 끝의 구별과 에러 제어 등의 기능을 함

  ㆍSYN : 문자 동기

  ㆍSOH : 헤드의 시작

  ㆍSTX : 본문의 시작 및 헤드의 종료

  ㆍETX : 본문의 종료

  ㆍETB : 블록의 종류

  ㆍEOT : 전송 종료 및 데이터 링크의 해제

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

  ㆍDLE : 전송 제어 문자 앞에 삽입하여 전송 제어 문자임을 알림(데이터 투과성을 위해 삽입)

  ㆍACK : 긍정 응답

  ㆍNAK : 부정 응답

 

#222_HDLC

 - 비트 위주의 프로토콜로 각 프레임에 데이터 흐름을 제어하고 오류를 보정할 수 있는 비트 열을 삽입하여 전송

 - 포인트 투 포인트 및 멀티 포인트, 루프 방식에서 모두 사용 가능

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

 - 에러 제어를 위해 GO-Back-N과 선택적 재전송 ARQ를 사용

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

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

 - 전송 효율과 신뢰성이 높음

 - HDLC 프레임 구조

플래그 주소부 제어부 정보부 FCS 플래그

 - 플래그(Flag) : 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(01111110)으로 프레임의 시작과 끝을 구분, 동기 유지, 비트 투과성을 이용한 기본적인 오류 검출 등의 기능을 함

 - FCS(프레임 검사 순서 필드) : 프레임 내용에 대한 오류 검출을 위해 사용되는 부분으로, 일반적으로 CRC 코드가 사용

 - HDLC의 프레임 종류

  ㆍ정보(I) 프레임 : 제어부가 '0'으로 시작하는 프레임으로 사용자 데이터를 전달하는 역할

  ㆍ감독(S) 프레임 : 제어부가 '10'으로 시작하는 프레임으로 오류 제어와 흐름 제어를 위해 사용

  ㆍ비번호(U) 프레임 : 제어부가 '11'으로 시작하는 프레임으로 링크의 동작 모드 설정과 관리를 함

 - HDLC의 데이터 전송 모드

표준(정규) 응답 모드(NRM) ㆍ반이중 통신을 하는 포인트 투 포인트 또는 멀티 포인트 불균형 링크 구성에 사용
ㆍ종국은 주국의 허가가 있을 때에만 통신
비동기 응답 모드(ARM) ㆍ전이중 통신을 하는 포인트 투 포인트 불균형 링크 구성에 사용
ㆍ종국은 주국의 허가 없이도 송신이 가능하지만. 링크 설정이나 오류 복구 등의 제어 기능은 주국만 함
비동기 균형(평형) 모드(ABM) ㆍ포인트 투 포인트 균형 링크에서 사용
ㆍ혼합국끼리 허가없이 언제나 전송할 수 있도록 설정

 

 

#223_오류의 발생 원인

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

 - 지연 왜곡 : 하나의 전송 매체를 통해 여러 신호를 전달했을 떄 주파수에 따라 그 속도가 달라지므로 생기는 오류

 - 백색 잡음 : 전송 매체 내부에서 온도에 따라 전자의 운동량이 변화함으로써 생기는 잡음으로, 가우스 잡음, 열 잡음이라고도 함

 - 상호 변조(간섭) 잡음 : 서로 다른 주파수들이 하나의 전송 매체를 공유할 때 주파수 간의 합이나 차로 인해 새로운 주파수가 생성되는 잡음

 - 누화 잡음 = 혼선 : 인접한 전송 매체의 전자기적 상호 유도 작용에 의해 생기는 잡음

 - 충격성 잡음 : 변개와 같은 외부적인 충격 또는 통신 시스템의 결함이나 파손 등의 기계적인 충격에 의해 생기는 잡음으로, 디지털 데이터를 전송하는 경우 중요한 오류 발생 요인이 됨

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

  ㆍ우연적 왜곡 : 예측할 수 없이 무작위로 발생하는 왜곡으로 백색잡음, 충격 잡음, 누화 잡음, 위상 히트 잡음 등을 말함

  ㆍ시스템적 왜곡 : 전송 매체에서 언제든지 일어날 수 있는 왜곡으로 손실, 감쇠, 하모닉 왜곡 등이 있음

 

#225_자동 반복 요청(ARQ)

 - 오류 발생 시 수신측은 오류 발생을 송신측에 통보하고, 송신측은 오류 발생 블록을 재전송하는 모든 절차를 의미

 - 정지 대기(Stop-Wait) ARQ

  ㆍ송신측에서 한 개의 블록을 전송 한 후 수신측으로부터 응답을 기다리는 방식

  ㆍ구현 방법이 가장 단순하지만 전송 효율이 떨어짐

 - 연속(Continuous) ARQ

  ㆍ연속적으로 데이터 블록을 보내는 방식

  ㆍGO-Back-N ARQ : 오류가 발생한 블록 이후의 모든 블록을 재전송

  ㆍ선택적 재전송 ARQ : 오류가 발생한 블록만을 재전송하는 방식

 - 적응적(Adaptive) ARQ

  ㆍ블록 길이를 채널의 상태에 따라 그때그떄 동적으로 변경하는 방식으로 전송 효율이 제일 좋음

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

 

#226_오류 검출 방식

 - 패리티 검사

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

  ㆍ가장 간단한 방식이지만, 2개의 비트가 동시에 오류가 발생하면 검이 불가능

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

  ㆍ홀수/짝수 수직 패리티 체크와 홀수/짝수 수평 패리티 체크가 있음

 - 순환 중복 검사(CRC)

  ㆍ다항식 코드를 사용하여 오류를 검출하는 방식

  ㆍ동기식 전송에 주로 사용

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

  ㆍ집단 오류를 검출할 수 있고, 검출율이 높으므로 가장 많이 사용함

 - 궤환 전송 방식

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

 - 자동 연속 방식

  ㆍ동일 데이터를 2번 이상 전송하여 두 데이터를 비교하여 오류를 검출

 - 해밍 코드

  ㆍ수신측에서 오류가 발생한 비트를 검출한 후 직접 수정하는 방식

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

 - 상승 코드 방식

  ㆍ순차적 디코딩과 한계값 디코딩을 사용하여 오류를 수정

  ㆍ여러 비트의 오류를 수정할 수 있음  

#205_데이터 처리 시스템

 - 정보 통신 시스템 중 데이터의 처리 기능을 하는 컴퓨터를 의미

 - 통신 소프트웨어를 실행하고 송수신되는 자료를 처리하는 등 데이터 통신 시스템 전체를 제어

 - 기계 장치인 하드웨어와 하드웨어를 움직이는 소프트웨어로 구성

 - 하드웨어

  ㆍ중앙처리장치 : 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 동작을 제어하고 명령을 실행하는 장치로 제어장치, 연산장치, 주기억장치로 구성

  ㆍ주변 장치 : 컴퓨터의 필수적인 부분은 아니지만 비교적 근거리에 위치하여 컴퓨터를 구성하는 보조기억장치와 입/출력 장치를 말함

 - 소프트웨어

  ㆍ운영체제 : 사용자의 펴의를 도모하는 동시에 시스템의 생산성을 높이기 위한 프로그램의 모임으로 제어 프로그램과 처리 프로그램으로 나뉨

  ㆍ통신 소프트웨어의 주요 기능 : 데이터 전송 회선과 통신 제어 장치를 이용하여 컴퓨터와 터미널 간의 데이터를 송수신하기 위한 프로그램을 총칭하는 것으로, 데이터의 송수신, 통신 하드웨어 제어, 사용자 인터페이스 제어 등의 기능을함

 

#206_꼬임선(Twisted Pair Wire)

 - 전기적 간섭 현상을 줄이기 위해서 균일하게 서로 감겨있는 형태의 케이블

 - 가격이 저렴하고 설치가 간편함

 - 거리, 대역폭, 데이터 전송률면에서 제약이 많음

 - 다른 전기적 신호의 간섭이나 잡음에 영향을 받기가 쉬움

 

#207_광섬유 케이블(Optical Fiver Cable)

 - 유리를 원료로 하여 제작된 가느다란 광섬유를 여러 가닥 묶어서 케이블 형태로 만든 것

 - 데이터를 빛으로 바꾸어 빛의 반사 원리를 이용하여 전송

 - 유선 매체 중 가장 빠른 속도와 높은 주파수 대역폭을 제공

 - 대용량, 장거리 전송이 가능

 - 가늘고 가벼워 설치 용이

 - 도청이 어려워 보안성이 띄어남

 - 무유도, 무누화의 성질을 가짐

 - 감쇠율이 적어 리피터의 설치 간격이 넓으므로 리피터의 소요가 적음

 - 설치 비용은 비싸지만 단위 비용은 저렴

 - 광 섬유 간의 연결이 어려워 설치 시 고도의 기술이 필요함

 

#208_통신 속도와 통신 용량

 - 통신 속도

변조 속도 1초 동안 몇개의 신호 변화가 있었는가를 나타내는 것(단위 : baud)
신호 속도 1초 동안 전송 가능한 비트의 수(단위 : bps(bit/sec)
ㆍ데이터 신호 속도(bps) = 변조 속도(baud) x 변조시 상태 변화 수
ㆍ변조 속도(baud) = 데이터 신호 속도(bps) / 변조시 상태 변화 수
전송 속도 단위 시간에 전송되는 데이터의 양(문자, 블록, 비트, 단어 수 등)
베어러 속도 데이터 신호에 동기 문자, 상태 신호 등을 합한 속도(단위 : bps(bit/sec))

 - 통신 용량 : 단위 시간 동안 전송 회선이 최대로 전송할 수 있는 통신 정보량

  ㆍC=W log₂(1+S/N) [bps] (C : 통신 용량, W ; 대역폭, S : 신호 전력, N : 잡음 전력)

 - 전송로의 통신 용량을 늘리기 위한 방법 : 주파수 대역폭을 늘림, 신호 세력을 높임, 잡음 세력을 줄임

 

#209_데이터 전송 기본

 - 데이터

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

  ㆍ디지털 데이터 : 셀 수 있는 이산적인 값 ex)문자, 숫자

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

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

  ㆍ디지털 신호 : 2진수 0과 1에 대한 전압 펄스의 연속적인 구성

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

  ㆍ고주파 : 파형의 가로 폭이 좁음, 고속 전송에 사용, 전송 거리가 짧음

  ㆍ저주파 : 파형의 가로 폭이 넓음, 저속 전송에 사용, 전송 거리가 김

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

  ㆍ주요 데이터의 주파수 : 음성 300Hz ~ 3400Hz, UHF 300MHz ~ 3000MHz

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

 - 신호 변환 방식의 종류

  ㆍ아날로그 데이터 → 아날로그 신호 : 진폭 변조, 주파수 변조, 위상 변조

  ㆍ디지털 데이터 → 아날로그 신호 : 모뎀 이용, 변조 방식 : 진폭 편이 변조, 주파수 편이 변조, 위상 편이 변조, 직교 진폭 변조

  ㆍ아날로그 데이터 → 디지털 신호 : 코덱 이용, 변조 방식 : 펄스 코드 변조(PCM)

  ㆍ디지털 데이터 → 디지털 신호 : 2진 데이터의 각 비트를 디지털 신호 요소로 변환하며, DSU를 이용함

 

#210_신호 변환 방식  - 디지털 변조

 - 진폭 편이 변조(ASK)

  ㆍ2진수 0과 1을 서로 다른 진폭의 신호로 변조

 - 주파수 편의 변조(FSK)

  ㆍ2진수 0과 1을 서로 다른 주파수로 변조

  ㆍ1200bps 이하의 저속도 비동기식 모뎀에서 사용됨

 - 위상 편이 변조(PSK)

  ㆍ2진수 0과 1을 서로 다른 위상을 갖는 신호로 변조

  ㆍ한 위상에 1비트(2위상), 2비트(4위상), 3비트(8위상)를 대응시켜 전송하므로 속도를 증가시킬 수 있음

  ㆍ중고속의 동기식 모뎀에 많이 사용됨

 - 직교 진폭 변조(QAM) = 진폭 위상 변조, 직교 위상 변조)

  ㆍ반송파의 진폭과 위상을 상호 변환하여 신호를 얻는 변조 방식

  ㆍ고속 전송 가능, 9600bps 모뎀의 표준 방식

 

#211_신호 변환 방식 - 펄스 코드 변조(PCM)

 - 화상, 음성, 동영상 비디오, 가상 현실 등과 같이 연속적인 시간과 진폭을 가진 아날로그 데이터를 디지털 신호로 변조하는 방식으로, CODEC을 이용함

 - 펄스 변조 : 펄스파의 진폭, 폭, 위상 등을 변화시키는 변조 방식

  ㆍ연속 레벨 변조 : 펄스 진폭 변조, 펄스 폭 변조, 펄스 위상 변조, 펄스 주파수 변조

  ㆍ불연속 레벨 변조 : 펄스 수 변조, 펄스 부호 변조, 델타 변조

 - 펄스 코드 변조(PCM) 순서 : 표준화 → 양자화 → 부호화

표본화
(Sampling)
ㆍ음성, 영상 등의 연속적인 신호 파형을 일정 시간 간격으로 검출하는 단계
ㆍ샤논의 표본화 이론 : 어떤 신호 f(t)가 의미를 지니는 최고 주파수보다 2배 이상의 주파수로 균일한 시간 간격동안 채집된다면 이 채집된 데이터는 원래의 신호를 가진 모든 정보를 포함함
ㆍ표본화 횟수 = 2배 x 최고 주파수
ㆍ표본화 간격 = 1/표본화 횟수
양자화(Quantizing) ㆍ표본화된 PAM 신호를 유한 개의 부호에 대한 대표값으로 조정하는 과정
ㆍ실수 형태의 PAM 신호를 반올림하여 정수형으로 만듦
ㆍ양자화 잡음 : 표본 측정값과 양자화 파형과의 오차
ㆍ양자화 레벨 : PAM 신호를 부호화할때 2진수로 표현할 수 있는 레벨
부호화
(Encoding)
양자화된 PCM 펄스 진폭 크기를 2진수(1과 0)로 표시하는 과정
복호화
(Decoding)
수신된 디지털 신호(PCM 신호)를 PAM신호로 되돌리는 단계
여파화
(Filtering)
PAM 신호를 원래 입력 신호인 아날로그 신호로 복원하는 과정

 

#212_베이스밴드(Base Band) 전송

 - 컴퓨터나 단말 장치 등에서 처리된 디지털 데이터를 다른 주파수 대역으로 변조하지 않고 직류 펄스의 형태 그대로 전송하는 것으로, 기저 대역 전송이라고도 함

 - 신호만 전송되기 때문에 전송 신호의 품질이 좋음

 - 직류를 사용하므로 감쇠 등의 문제가 있어 장거리 저송에 적합하지 않음

 - 컴퓨터와 주변장치간의 통신이나 LAN등 비교적 가까운 거리에서 사용됨

 - 베이스밴드의 전송 방식 : 단류 NRZ, 복류 NRZ, 단류 RZ, 복류 RZ, 바이폴라, 맨체스터, RB 방식, CMI 방식, 차분 방식

 

#213_아날로그/디지털 전송

 - 아날로그 전송

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

  ㆍ신호의 감쇠 현상이 심하므로 장거리 전송 시 증폭기에 의해 신호를 증폭하여 전송하며, 이때 신호에 포함된 잡음까지도 같이 증폭되기 때문에 오류의 확률이 높음

 - 디지털 전송

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

  ㆍ장거리 전송 시 중계기에 의해 원래의 신호 내용을 다시 복원한 다음 전송하는 방식이기 때문에 잡음에 의한 오류율이 낮음

  ㆍ대역폭을 효율적으로 이용하여 더 많은 용량을 전송할 수 있음

  ㆍ아날로그나 디지털 정보의 암호화를 쉽게 구현할 수 있음

  ㆍ전송 장비의 소형화, 가격의 저렴화

 

#214_직렬/병렬 전송

 - 직렬 전송

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

  ㆍ전송 속도가 느리지만 구성 비용이 적게 듬

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

 - 병렬 전송

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

  ㆍ전송 속도는 빠르지만 구성 비용이 많이 듬

  ㆍ근거리 전송에 적합하며 주로 컴퓨터와 주변기기 사이의 데이터 전송에 사용됨

 

#215_통신 방식

 - 단방향 통신 : 한쪽 방향으로만 전송이 가능한 방식

 - 반이중 통신 : 양방향 전송이 가능하지만 동시에 양쪽 방향에서 전송할 수 없는 방식

 - 전이중 통신 : 동시에 양방향 전송이 가능한 방식으로, 전송량이 많고, 전송 매체의 용량이 클 떄 사용

#194_정보 통신의 개요

 - 정보 통신 : 컴퓨터와 통신 기술의 결합에 의해 통신 처리 기능과 정보처리 기능은 물론 정보의 변형, 저장 과정이 추가된 형태의 통신(정보통신 = 전기 통신(정보 전송) + 컴퓨터(정보 처리))

 - 통신의 3요소 : 정보원, 수신원, 전송 매체(=통신 회신)

 - SAGE : 최초의 데이터 통신 시스템

 - SABRE : 최초의 상업용 데이터 통신 시스템

 - ARPANET : 인터넷의 효시가 된 통신 시스템

 - ALOHA : 최초의 무선 패킷 교환 시스템으로 회서 제어 방식 중 경쟁 방식의 모체

 - SNA : 데이터 통신 시스템의 표준화가 시작

 - 정보 통신 시스템의 기본 구성

  ㆍ데이터 전송계 : 단말 장치, 데이터 전송 회선(신호 변환 장치, 통신 회선), 통신 제어 장치

  ㆍ데이터 처리계 : 컴퓨터(하드웨어, 소프트웨어)

 

#195_정보 통신 시스템의 특징

 - 고속, 고품질 전송이 가능

 - 고도의 오류 제어 방식으로 시스템의 신뢰도가 높음

 - 대형 컴퓨터와 대용량 파일의 공동 이용

 - 분산 처리가 가능

 - 통신 회선의 효율적 이용

 - 대용량, 광대역 전송이 가능

 - 거리와 시간의 한계 극복

 - 통신 비밀을 유지하기 위한 보안 시스템 필요

 

#196_정보 통신 시스템의 처리 형태 및 응용

 - 정보 통신 시스템의 처리 형태

온라인 시스템 ㆍ데이터가 발생한 단말 장치와 데이터를 처리할 컴퓨터가 통신 회선을 통해 직접 연결된 형태
ㆍ데이터의 송수신 중간에 사람 혹은 기록 매체가 개입되지 않음
ㆍ정보 통신 업무와 대부분을 차지하는 실시간 처리가 요구되는 작업에 주로 사용됨
실시간 처리 시스템 ㆍ데이터가 발생한 즉시 처리하며 그 결과를 되돌려 주는 방식
ㆍ은행 업무, 예약 업무, 각종 조회 업무 등에 사용
시분할 시스템 ㆍ컴퓨터를 사용할 수 있는 시간을 일정하게 쪼개 여러 개의 단말장치가 정해진 시간 동안 번갈아 가며 컴퓨터를 사용하는 방식

 - 정보 통신 시스템의 응용

  ㆍ온라인 실시간 처리 : 거래 처리, 질의/응답, 메세지 교환

  ㆍ온라인 일괄 처리 : 데이터 수집과 입력, 원격 일괄 처리

 

#197_단말 장치(DTE)

 - 데이터 통신 시스템과 외부 사용자와의 접속점에 위치하여 최종적으로 데이터를 입/출력하는 장치

 - 기능

  ㆍ입/출력 기능

  ㆍ전송 제어 기능 - 입/출력 제어 기능, 회선 제어 기능(송 수신 제어 기능, 오류 제어 기능), 회선 접속 기능

  ㆍ기억 기능

 - 내장 프로그램의 유무에 따른 분류

  ㆍ지능형(스마트) 단말 장치 : CPU와 저장장치가 내장된 단말 장치로 프로그램을 설치하여 단독으로 일정 수준 이상의 작업 처리가 가능

  ㆍ비지능형(더미) 단말 장치 : 입력 장치와 출력 장치로만 구성되어있어 단독으로 작업을 처리할 수 있는 능력이 없음

 

#198_통신 제어 장치(CCU)

 - 데이터 전송 회선과 주컴퓨터 사이에 위치하여, 컴퓨터가 데이터 처리에 전념할 수 있도록 컴퓨터를 대신해 데이터 전송에 관한 전반적인 제어 기능을 수행함

 - 통신 제어 장치의 기능

  ㆍ전송 제어 : 다중 접속 제어, 교환 접속 제어, 통신 방식 제어, 우회 중계 회선 설정(경로 설정)

  ㆍ동기 및 오류 제어 : 동기 제어, 오류 제어, 흐름 제어, 응답 제어, 정보 전송 단위의 정합, 데이터 신호의 직병렬 변환, 투과성, 정보 표시 형식의 변환, 무선권 제어

  ㆍ그 밖의 기능 : 제어 정보 식별, 기밀 보호, 관리 기능

 - 전처리기(FEP) : 호스트 컴퓨터와 단말기 사이에 고속 통신 회선으로 설치되며, 통신 회선 및 단말기 제어, 메세지 조립과 분해, 전송 메세지 검사 등을 수행하므로 컴퓨터의 부담이 적어짐

 

#199_신호 변환 장치(DCE)

 - 컴퓨터나 단말 장치의 데이터를 통신 회선에 적합한 신호로 변경하거나, 통신 회선의 신호를 컴퓨터나 단말 장치에 적합한 데이터로 변경하는 신호 변환 기능 수행

 - 모뎀(MODEM)

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

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

  ㆍ기능 : 변복조 기능, 자동 응답 기능, 자동 호출 기능, 자동 속도 조절 기능, 모뎀 시험 기능

 - DSU(Digital Service Unit)

  ㆍ컴퓨터나 단말 장치로부터 전송되는 디지털 데이터를 디지털 회선에 적합한 디지털 신호로 변환하는 과정과 그 반대의 과정을 수행

  ㆍ신호의 변조 과정이 없이 단순히 유니폴라(단극성) 신호를 바이폴라(양극성) 신호로 변환하여 주는 기능만 제공하기 때문에 모뎀에 비하여 단순

  ㆍ디지털 데이터를 공중 데이터 교환망(PSDN)과 같은 디지털 통신망을 이용하여 전송할 때 사용됨

  ㆍ송수신 기능과 타이밍 회복 기능을 DSU 자체에서 수행함

  ㆍ속도가 빠르고 오류율이 낮음

 - 코덱(CODEC)

  ㆍ아날로그 데이터를 디지털 통신 회선에 적합한 디지털 신호로 변환하거나 그 반대의 고ㅘ정을 수행

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

 

#200_DTE/DCT 접속 규격

 - 단말장치(DTE)와 회선 종단 장치(DCT) 간의 접속을 정확하게 수행하기 위한 기계적, 전기적, 물리적, 논리적 조건을 사전에 정의해놓은 규격으로, OSI 참조 모델의 물리 계층에 관계됨

 - 접속 규격 표준안

ITU-T V 시리즈 공중 전화 교환망(PSTN)을 통한 DTE/DCE 접속 규격
ㆍV.24 : 기능적, 절차적 조건에 대한 규정
ㆍV.28 : 전기적 조건에 대한 규정
X 시리즈 공중 데이터 교환망(PSDN)을 통한 DTE/DCE 접속 규격
ㆍX.20 : 비동기식 전송을 위한 DTE/DCE 접속 규격
ㆍX.21 : 동기식 전송을 위한 DTE/DCE 접속 규격
ㆍX.25 : 패킷 전송을 위한 DTE/DCE 접속 규격
IEEE RS-232C 공중 전화 교환망(PSTN)을 통한 DTE/DCE 접속 규격
ㆍV.24, V.28, ISO2110을 사용하는 접속 규격과 기능적으로 호환성을 가지며, 현재 가장 많이 사용

 - RS-232C 커넥터 ; 25핀으로 구성, 거리는 15m이하, 데이터 신호 속도는 최고 20kbps이며, 전이중/반이중, 동기/비동기 모두에 대응함

 

#201_주파수 분할 다중화기(FDM)

 - 통신 회선의 주파수를 여러 개로 분할하여 여러 대의 단말 장치가 동시에 사용할 수 있도록 한 것

 - 전송 신호에 필요한 대역폭보다 전송 매체의 유효 대역폭이 큰 경우에 사용

 - 다중화기 자체에 변복조 기능이 내장되어 있어 모뎀을 설치할 필요가 없음

 - 다른 다중화기에 비해 구조가 간단하고 가격이 저렴함

 - 대역폭을 나누어 사용하는 각 채널들 간의 상호 간섭을 방지하기 위한 보호대역이 필요함

 - 보호대역 사용으로 인한 대역폭의 낭비가 초래됨

 - 저속(1200baud 이하)의 비동기식 전송, 멀티 포인트 방식, 아날로그 신호 전송에 적합함

 

#202_시분할 다중화기(TDM)

 - 통신 회선의 대역폭을 일정한 시간 폭으로 나누어 여러 대의 단말 장치가 동시에 사용할 수 있도록 한 것

 - 디지털 회선에 주로 이용하며, 대부분의 데이터 통신에 사용

 - 다중화기의 내부 속도와 단말 장치의 속도 차이를 보완해 주는 버퍼가 필요함

 - 동기식 시분할 다중화기(STDM)

  ㆍ모든 단말 장치에 균등한 시간 폭을 제공

  ㆍ전송 매체의 데이터 전송률이 전송 디지털 신호의 데이터 전송률을 능가할 떄 사용

  ㆍ전송할 데이터가 없는 경우에도 시간 폭이 제공되므로 효율성이 떨어짐

 - 비동기식 시분할 다중화기(ATDM)

  ㆍ전송할 데이터가 있는 단말 장치에만 시간 폭을 제공하므로 전송 효율이 높음

  ㆍ동기식 시분할 다중화기에 비해 많은 수의 단말기들을 전송 매체에 접속할 수 있지만, 접속에 소요되는 시간이 김

  ㆍ주로 회로, 흐름제어, 오류 제어 등의 기능이 필요하므로 장비가 복잡하고 가격이 비쌈

  ㆍ지능 다중화기, 확률적 다중화기, 통계 시분할 다중화기 라고도함

 

#203_역 다중화기(Inverse Multiplexer)

 - 광대역 회선 대신에 두 개의 음성 대역 회선을 이용하여 데이터를 전송할 수 있도록 하는 장치

 - 광대역 통신 회선을 사용하지 않고도 9600bps 이상의 광대역 속도를 얻을수 있으므로 비용을 절감할 수 있음

 - 하나의 통신 회선이 고장 나더라도 나머지 하나의 회선을 통해 1/2 속도로 전송을 유지할 수 있음

 - 여러 가지 변화에 대응해 여러가지의 전송 속도를 얻을 수 있음

 - 음성 회선의 특성상 두 회선의 상대적 전송 지연이 발생할 수 있음

 

#204_집중화기(Concentrator)

 - 하나 또는 소수의 회선에 여러 대의 단말기를 접속하여 사용할 수 있도록 하는 장치

 - 실제 전송할 데이터가 있는 단말기에만 통신 회선을 할당하여 동적으로 통신 회선을 이용할 수 있도록 함

 - 한개의 단말 장치가 통신 회선을 점유하게 되면 다른 단말 장치는 회선을 사용할 수가 없으므로 다른 단말기의 자료를 임시로 보관한 버퍼가 필요함

 - 회선의 이용률이 낮고, 불규칙한 전송에 적합함

#181_프로세서 연결 방식

 - 시분할 및 공유 버스

  ㆍ프로세서, 주변장치, 기억장치 등의 각종 장치들간을 '버스'라는 단일 경로로 연결한 방식

  ㆍ버스에 이상이 발생하면 전체 시스템이 가동되지 않음

  ㆍ장치 연결이 단순하고, 경제적이며, 융통성이 있음

  ㆍ장치 추가가 용이하지만 버스에 이상이 발생하면 전체 시스템이 가동되지 않음

 - 크로스바 교환 행렬

  ㆍ시분할 및 공유 버스 구조에서 버스의 수를 기억장치 수만큼 증가시켜 연결한 방식

  ㆍ각 기억장치마다 다른 경로로 사용할 수 있음

 - 하이퍼 큐브

  ㆍ다수의 프로세서들을 연결하는 방식으로 비교적 경제적인 방식

  ㆍ다수의 프로세서를 연결할 수 있으며, 확장성이 좋음

  ㆍ하나의 프로세서에 연결되는 다른 프로세서의 수(연결점)가 n개일 경우 프로세스는 총 2ⁿ개가 필요함

 - 다중 포트 기억장치

  ㆍ시분할 및 공유 버스 방식과 크로스바 교환 행렬을 혼합한 형태의 방식

  ㆍ많은 수의 프로세서를 쉽게 연결할 수 있음

  ㆍ다양한 연결이 가능하며, 전송 시간이 비교적 느림

 

#182_다중 처리기의 운영체제 구조

 - 주/중 처리기

  ㆍ하나의 프로세서를 Master(주프로세서)로 지정하고, 나머지들은 Slave(종프로세서)로 지정하는 구조

  ㆍ주프로세서가 고장나면 전체 시스템이 다운됨

  ㆍ주프로세서 : 입/출력과 연산 담당, 운영체제 수행

  ㆍ종프로세서 : 연산만 담당

 - 분리 실행처리기

  ㆍ주/종 처리기의 비대칭성을 보완하여 각 프로세서가 독자적인 운영체제를 가지고 있도록 구성한 구조

  ㆍ각 프로세서에서 발생하는 인터럽트는 해당 프로세서에서 해결

  ㆍ각 프로세서가 독자적인 운영체제를 가지고 있기 때문에 한 프로세서가 고장나더라고 전체 시스템이 다운되지 않음

  - 대칭적 처리기

  ㆍ여러 프로세서들이 완전한 기능을 갖춘 하나의 운영체제를 공유하여 수행하는 구조

  ㆍ가장 복잡한 구조를 가지고 있으나 가장 강력한 시스템임

  ㆍ여러 개의 프로세서가 동시에 수행될 수 있고, 시스템의 전반적인 정보를 통일적이고 일관성있게 운영함

 

#183_프로세서의 결합도

 - 약결합(Loosely Coupled) 시스템

  ㆍ각 프로세서마다 독립된 메모리를 가진 시스템으로, 분산 처리 시스템이라고도 함

  ㆍ둘 이상의 독립된 컴퓨터 시스템을 통신망(통신 링크)을 통하여 연결한 시스템

  ㆍ각 시스템마다 독자적인 운영체제를 가지고 있음

  ㆍ각 시스템은 독립적으로 작동할 수도 있고, 필요한 경우에는 상호 통신을 할 수 있음

  ㆍ프로세서 간의 통신은 메세지 전달이나 원격 프로시저 호출을 통해서 이루어짐

  ㆍ각 시스템마다 독자적인 운영이 가능하므로 CPU 간의 결합력이 약함

 - 강결합(Tightly Coupled) 시스템

  ㆍ동일 운영체제 하에서 여러 개의 프로세서가 하나의 메모리를 공유하여 사용하는 시스템으로, 다중(병렬) 처리 시스템이라고도 함

  ㆍ하나의 운영체제가 모든 프로세서와 시스템 하드웨어를 제어함

  ㆍ프로세서 간의 통신은 공유 메모리를 통해서 이루어짐

  ㆍ하나의 메모리를 사용하므로 CPU 간의 결합력이 강함

 

#184_분산 처리 시스템의 목적/장단점

 - 목적 : 자원 공유, 연산 속도 향상, 신뢰도 향상, 컴퓨터 통신

 - 장점 : 통신 용이, 장치 공유, 데이터 공유, 중앙 컴퓨터 과부하 줄임, 컴퓨터의 위치를 몰라도 자원 사용 가능, 시스템의 점진적 확장 가능 등

  - 단점 : 중앙 집중형 시스템에 비해 소프트웨어 개발이 어려움, 보안 문제 발생, 설계 복잡 등

 

#185_분산 처리 시스템의 투명성

 - 투명성(Transparency) : 사용자가 분산된 시스템에 위치한 여러 자원을 사용할 때 각 자원의 위치 정보를 알지 못하고 마치 하나의 커다란 시스템을 사용하는 것처럼 인식하도록 하는 것

 - 여러 유형의 투명성을 통해 자원의 위치나 정보가 변경되더라도 사용자가 이를 인식하지 못하게 됨

 - 투명성의 종류 : 위치 투명성, 이주 투명성, 복제 투명성, 병행 투명성, 접근 투명성, 성능 투명성, 규모 투명성, 고장 투명성

 

#186_위상에 따른 분산 처리 시스템의 분류

 - 완전 연결(Fully Connection) 형

  ㆍ각 사이트들이 시스템 내의 다른 모든 사이트들과 직접 연결된 구조

  ㆍ사이트의 수가 n개이면 링크(연결)의 수는 n(n-1)/2개 임

  ㆍ기본 비용은 많이 들지만 통신 비용은 적게 들고, 신뢰성이 높음

 - 부분 연결(Paritally Connection) 형

  ㆍ시스템 내의 일부 사이트들 간에만 직접 연결된 형태로, 직접 연결되지 않은 사이트는 연결된 다른 사이트를 통해 통신하는 구조

  ㆍ기본 비용은 완전 연결형보다 적게 들고, 통신 비용은 완전 연결형보다 많이 듬

  ㆍ완전 연결형보다 신뢰성이 낮음

 - 트리(Tree) / 계층(Hierarchy) 형

  ㆍ분산 처리 시스템의 가장 대표적인 형태로, 각 사이트들이 트리 형태로 연결된 구조

  ㆍ기본 비용은 부분 연결형보다 적게 들고, 통신 비용은 트리의 깊이에 비례함

  ㆍ부모 사이트의 자식 사이트들은 그 부모사이트를 통해 통신이 이루어짐

  ㆍ부모 사이트가 고장나면 그 자식 사이트들은 통신이 불가능함

 -스타(Star) 형 / 성형

  ㆍ모든 사이트가 하나의 중앙 사이트에 직접 연결되어 있고 그 외의 다른 사이트와는 연결되어 있지 않은 구조

  ㆍ기본 비용은 사이트의 수에 비례하며, 통신 비용은 적게 듬

  ㆍ중앙 사이트를 제외한 사이트의 고장이 다른 사이트에 영향을 미치지 않지만, 중앙 사이트가 고장 날 경우 모든 통신이 단절됨

 - 링(Ring)형/환형

  ㆍ시스템 내의 각 사이트가 인접하는 다른 두 사이트와만 직접 연결된 구조

  ㆍ정보는 단방향 또는 양방향으로 전달될 수 있음

  ㆍ기본 비용은 사이트 수에 비례하고, 통신 비용은 일반적으로 저렴함

  ㆍ사이트의 고장은 다른 사이트의 통신에 영향을 주지 않지만 버스의 고장은 전체 시스템에 영향을 줌

 

#187_UNIX의 특징

 - 시분할 시스템을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템(Open System)

 - 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스간의 호환성이 높음

 - 크기가 작고 이해하기가 쉬우며,Multi-User, Multi-Tasking 지원

 - 많은 네트워킹 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합함

 - 트리 구조의 파일 시스템으로 전문적은 프로그램 개발에 용이함

 - 다양한 유틸리티 프로그램들이 존재함

 

#188_UNIX 시스템의 구성

 - 커널

  ㆍUNIX의 가장 핵심적인 부분

  ㆍ하드웨어를 보호하고, 프로그램들과 하드웨어 간의 인터페이스 역할 담당

  ㆍ프로세스 관리, 기억장치 관리, 파일 관리, 입/출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러가지 기능 수행

 - 쉘(Shell)

  ㆍ사용자의 명령어를 인식하여 프로그램을 호출하고, 명령을 수행하는 명령어 해석기

  ㆍ시스템과 사용자 간의 인터페이스 담당

  ㆍDOS의 COMMAND.COM과 같은 기능 수행

  ㆍ주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리 가능

 - 유틸리티(Utility)

  ㆍ일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용 DOS에서의 외부 명령어에 해당됨

 

#189_UNIX 파일 시스템의 구조

 - 부트 블록 : 부팅시 필요한 코드를 저장하고 있는 블록

 - 슈퍼 블록 : 전체 파일 시스템에 대한 정보를 저장하고 있는 블록

 - Inode 블록 : 각 파일이나 디렉토리에 대한 모든 정보를 저장하고 있는 블록으로, 파일 소유자의 사용자 번호 및 그룹 번호, 파일 크기, 파일 타입, 생성시기, 최종 변경 시키 등의 정보를 가지고 있음

 - 데이터 블록 : 디렉토리 별로 디렉토리 엔트리와 실제 파일에 대한 데이터가 저장된 블록

 

#190_UNIX의 주요 명령어

 - fork : 새로운 프로세스 생성

 - exec : 새로운 프로세스 수행

 - & : 백그라운드 처리를 위해 명령의 끝에 입력

 - mv : 파일 이동, 이름 변경

 - rm : 파일삭제

 - chmod : 파일의 사용 허가 지정

 - mount : 파일 시스템을 마운팅 함

 - mkfs : 파일 시스템 생성

 - chdir : 현재 사용할 디렉토리 위치 변경

 - fsck : 파일 시스템 검사, 보수

 - rmdir : 디렉토리 삭제

 - ls : 현재 디렉토리 내의 파일 목록 확인

 

#191_Windows의 주요 특징

 - GUI(그래픽 사용자 인터페이스) : 키보드로 명령어를 직접 입력하지 않고, 아이콘이나 메뉴를 마우스로 선택하여 모든 작업을 수행하는 방식

 - 선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식

 - FAT 32 파일 시스템 사용

 - PnP(자동 감지 기능) 사용 : 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 떄, 해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능

 - OLE(Object Linking embedding)  사용 : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결 하거나 삽입하여 편집할 수 있게 하는 기능

 - 255자의 긴 파일명 사용 : 파일 이름을 VFAT을 이용하여 최대 255자까지 지정할 수 있음

 

#192_MS-DOS의 특징과 파일

 - CUI(문자 중심의 인터페이스) : 작업을 위한 실행 명령을 문자로 직접 입력하여 실행시킴

 - Single-User : 하나의 컴퓨터를 한 사람만이 사용

 - Sungle-Tasking : 한번에 하나의 프로그램만을 수행

 

#193_MS-DOS의 명령어

 - 내부 명령어 : 실행 과정이 간단하고 기본적인 기능을 수행하는 것으로, 메모리에 항상 상주하는 명령어(DIR, COPY, TYPE, REN, DEL, MD, CD, RD 등)

 - 외부 명령어 : 실행 과정이 복잡하거나 자주 사용하지 않는 것으로, 디스크에 파일로 저장되어 있는 명령어(UNDELETE, SYS, ATTRIB, MOVE, FIND, CHKDSK 등) 

 

#170_파일 시스템의 기능

 - 사용자와 보조기억장치 사이에서 인터페이스 제공

 - 사용자가 파일을 생성, 수정, 제거할 수 있도록 함

 - 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용할 수 있도록 함

 - 사용자가 적합한 구조로 파일을 구성할 수 있도록 함

 - 불의의 사태를 대비하여 파일의 예비와 복구 등의 기능을 제공함

 

#171_파일 디스크립터(File Descriptor)

 - 파일을 관리하기 위한 시스템(운영체제)이 필요로 하는 파일에 대한 정보를 갖고 있는 제어 블록(파일 제어 블록, FCB)

 - 보통 파일 디스크립터는 보조기억장치 내에 저장되어 있다가, 해당 파일이 Open될 때 주기억잦ㅇ치로 옮겨짐

 - 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없음

 - 파일 디스크립터의 정보 : 파일 이름, 보조기억장치에서의 파일 위치, 파일 구조, 보조기억장치의 유형, 엑세스 제어 정보, 파일 유형, 생성날짜와 시간, 제거 날짜와 시간, 최종 수정 날짜 및 시간, 액세스한 횟수

 

#172_순차 파일(Sequential File), 순차 접근 방식

 - 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장 공간에 기록하는 것

 - 주로 순차 접근이 가능한 자기 테이프에서 사용

 - 장점 : 파일의 구성 용이, 기억 공간의 이용 효율 높음, 접근 속도 빠름

 - 단점 : 파일에 새로운 레코드를 삽입하거나 삭제하는 경우 시간이 많이 걸림, 검색 효율이 낮음

 

#173_직접 파일(Direct File), 직접 접근 방식

 - 파일을 구성하는 레코드를 임의의 물리적 저장 공간에 기록하는 것

 - 레코드에 특정 기준으로 키가 할당되며, 해싱 함수를 이용하여 이 키에 대한 보조기억장치의 물리적 상대 레코드 주소

 - 레코드는 해싱 함수에 의해 계산된 물리적 주소를 통해 접근 가능

 - 장점 : 파일의 각 례코드예 직접 접근하거나 기록할 수 있음, 접근 시간이 빠르고, 레코드의 삽입, 삭제, 갱신이 용이함

 - 단점 : 레코드의 주소 변환 과정이 필요하며, 이 과정으로 인해 시간이 소요됨, 기억 공간의 효율이 저하됨

 

#174_색인 순차 파일(Indexed Sequential File)

 - 순차 파일과 직접 파일에서 지원하는 편성 방법이 결합된 형태

 - 각 레코드를 키값 순으로 논리적으로 저장하고, 시스템은 각 레코드의 실제 주소가 저장된 색인을 관리함

 - 레코드를 참조하려면 색인을 탐색한 후 색인이 가리키는 포인터(주소)를 사용하여 직접 참조할 수 있음

 - 기본 영역, 색인 영역, 오버 플로우 영역으로 구성되며, 색인 영역은 트랙 색인 영역, 실린더 색인 영역, 마스터 색인 영역으로 분류됨

 - 장점 : 순차 처리와 임의 처리가 모두 가능, 효율적인 검색 가능, 삭제, 삽입, 갱신이 용이함

 - 단점 : 기억 공간이 필요함, 접근 시간이 직접 파일보다 느림

 

#175_디렉토리의 구조

 - 1단계 디렉토리

  ㆍ가장 간단하고, 모든 파일이 하나의 디렉토리 내에 위치하여 관리되는 구조

  ㆍ모든 파일들이 유일한 이름을 가지고 있어야 함

  ㆍ모든 파일이 같은 디렉토리 내에 유지되므로 이해가 용이하지만, 파일의 수나 사용자의 수가 증가하면 파일 관리가 복잡해짐

 - 2단계 디렉토리

  ㆍ중앙에 마스터 파일 디렉토리가 있고, 그 아래에 사용자 별로 서로 다른 파일 디렉토리가 있는 2계층 구조

  ㆍ마스터 파일 디렉토리는 사용자 파일 디렉토리를 관리하고, 사용자 파일 디렉토리는 사용자별 파일을 관리함

  ㆍ서로 다른 디렉토리에서는 동일한 파일 이름을 사용할 수 있음

 - 트리 디렉토리

  ㆍ하나의 루트 디렉토리와 여러 개의 종속(서브) 디렉토리로 구성된 구조

  ㆍDOS, Windows, UNIX 등의 운영체제에서 사용되는 디렉토리 구조

  ㆍ동일한 이름의 파일이나 디렉토리를 생성할 수 있음

  ㆍ디렉토리 생성과 파괴가 비교적 용이함

 - 비순환 그래프 디렉토리

  ㆍ하위 파일이나 하위 디렉토리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조

  ㆍ디스크 공간을 절약할 수 있음

  ㆍ하나의 파일이나 디렉토리가 여러 개의 경로 이름을 가질 수 있음

  ㆍ공유된 파일을 삭제할 경우 고아 포인터가 발생할 수 이씅ㅁ

 - 일반적인 그래프 디렉토리

  ㆍ트리 구조에 링크를 첨가시켜 순환을 허용하는 그래프 구조

  ㆍ디렉토리와 파일 공유에 완전한 융통성이 있음

  ㆍ불필요한 파일을 제거하여 사용 공간을 늘리기 위하여 참조 계수기가 필요함

 

#176_디스크 공간 할당 방법

 - 연속 할당 : 파일을 디스크의 연속된 기억 공간에 할당하는 방법으로, 생성되는 파일 크기만큼의 공간이 있어야함

 - 불연속 할당 : 파일의 크기가 변경될 경우 구현이 어려운 연속 할당의 단점을 보완하기 위한 것으로, 디스크 공간을 일정 단위로 나누어 할당하는 기법

  ㆍ섹터 단위 할당 : 하나의 파일이 디스크의 섹터 단위로 분산되어 할당되는 방법으로, 하나의 파일에 속하는 섹터들이 연결 리스트로 구성되어 있음

  ㆍ블록 단위 할당 : 하나의 파일이 연속된 여러 개의 섹터를 묶은 블록 단위로 할당되는 기법으로 블록 체인 할당, 색인 블록 체인 할당, 블록 지향 파일 사상 기법이 있음

 

#177_자원 보호 기법

 - 접근 제어 행렬(Access Control Matrix) : 자원 보호의 일반적인 모델로, 객체에 대한 접근 권한을 행렬로써 표시한 기법

 - 전역 테이블(Global Table) : 가장 단순한 구현 방법으로, 3개의 순서쌍인 영역, 객체, 접근 권한의 집합을 목록 형태로 구성한 기법

 - 접근 제어 리스트(Access Control List) : 접근 제어 행렬에 있는 각 열, 즉 객체를 중심으로 접근 리스트를 구성한 기법

 - 권한(자격) 리스트(Capability List) : 접근 제어 행렬에 있는 각 행, 즉 영역을 중심으로 권한 리스트를 구성한 기법

 

#178_파일 보호 기법

 - 파일의 명명(Naming) : 접근하고자 하는 파일 일므을 모르는 사용자를 접근 대상에서 제외시키는 기법

 - 비밀번호(Password, 암호) : 각 파일에 판독 암호와 기록 암호를 부여하여 암호를 아는 사용자에게만 접근을 허용하는 기법

 - 접근 제어(Access Control) : 사용자에 따라 공유 데이터에 접근할 수 있는 권한을 제한하는 방법

 

#179_보안 유지 기법

 - 외부 보안

  ㆍ시설 보안 : 천재 지변이나 외부 침입자로부터의 보안

  ㆍ운용 보안 : 전산소 관리 및 경영자들의 정책과 통제에 의해 이루어지는 보안

 - 사용자 인터페이스

  ㆍ운영체제가 사용자의 신원을 확인한 후 권한이 있는 사용자에게만 시스템의 프로그램과 데이터를 사용할 수 있게 하는 보안 기법

 - 내부 보안

  ㆍ하드웨어나 운영체제의 내장된 보안 기능을 이용하여 시스템의 신뢰성을 유지하고, 보안 문제를 해결하는 기법

 

#180_암호화 기법

 - 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것

 - 비밀키 시스템(Private Key System, 개인키 시스템) : 동일한 키로 데이터를 암호화하고, 해독(복호화)하는 대칭 암호화 기법으로, 대표적인 암호화 방식에는 DES가 있음

 - 공용키 시스템(Public Key System, 공개키 시스템) : 서로 다른 키로 데이터를 암호화하고 해독하는 비대칭 암호화 기법으로 대표적인 암호화 방식에는 RSA가 있음 

#159_단일 분할 할당 기법

 - 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 순간에는 오직 한명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법

 - 오버레이(Overlay) 기법 : 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법으로, 보조기억장치에 저장된 하나의 프로그램을 여러 개의 조각으로 분할한 후 필요한 조각을 차례로 주기억장치에 적재하여 프로그램을 실행함

 - 스와핑(Swapping) 기법 : 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램으로 교체하는 기법

 

#160_다중 분할 할당 기법

 - 고정 분할 할당 : 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고, 준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법

 - 가변 분할 할당 : 고정 분할 할당 기법의 단편화를 줄이기 위한 것으로, 미리 주기억장치를 분할해 놓은 것이 아니라 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법

 

#161_단편화(Fragmentation)

 - 분할된 주기억장치에 프로그램을 할당하고 반납하는 과정을 반복하면서 사용되지 않고 남는 기억장치의 빈 공간 조각

 - 내부(internal) 단편화 : 분할된 영역이 할당될 프로그램의 크기보다 크기 때문에 프로그램이 할당된 후 사용되지 않고 남아 있는 빈 공간

 - 외부(External) 단편화 : 분할된 영역이 할당될 프로그램의 크기보다 작기 때문에 프로그램이 할당될 수 없어 사용되지 않고 빈 공간으로 남아 있는 분할된 전체 영역

 

#162_단편화 해결 방법

 - 통합(Coalescing) 기법 : 주기억장치 내에 인접해 있는 단편화된 공간을 하나의 공간으로 통합하는 작업

 - 압축(Compaction) 기법, 집약 : 주기억장치 내에 분산되어 있는 단편화된 빈 공간을 결합하여 하느이 큰 가용 공간을 만드는 작업으로, 여러 위치에 분산된 단편화된 빈 공간을 주기억장치의 한쪽 끝느오 옮겨서 큰 기억공간을 만듬

 

#163_가상기억장치 구현 기법

 - 페이징(Paging) 기법

  ㆍ가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재시켜 실행하는 기법

  ㆍ외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음

 - 세그먼테이션(Segmentation) 기법

  ㆍ가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법

  ㆍ프로그램을 배열이나 함수 등과 같은 논리적인 크기로 나눈 단위를 세그먼트라고 하며, 각 세그먼트는 고유한 이름과 크기를 갖고 있음

  ㆍ다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키(Storage Protection Key)가 필요함

 

#164_페이지 교체 알고리즘

 - OPT(Optimal Replacement, 최적 교체)

  ㆍ앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법

  ㆍ각 페이지의 호출 순서와 참조 상황을 미리 예측해야하므로 실현 가능성이 희박함

 - FIFO(First in First Out)

  ㆍ각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법

  ㆍ이해하기 쉽고, 프로그래밍 및 설계가 간단하며, 벨레이디의 모순(Belady's Anomaly) 현상이 발생함

 - LRU(Least Recently Used)

  ㆍ최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법

  ㆍ각 페이지마다 계수기나 스택을 두어 현 시점에서 가장 오랫동안 사용하지 않은 즉, 가장 오래전에 사용된 페이지를 교체함

- LFU(Least Frequently Used)

  ㆍ사용 빈도가 가장 적은 페이지를 교체하는 기법

  ㆍ프로그램 실행 초기에 많이 사용된 페이지가 그 후로 사용되지 않을 경우에도 프레임을 계속 차치할 수 있음

 - NUR(Not Used Recently)

  ㆍ최근에 사용하지 않은 페이지를 교체하는 기법

  ㆍ최근의 사용 여부를 확인하기 위해서 각 페이지마다 참조 비트(Reference Bit)와 변형 비트(Modified Bit)가 사용됨

 - SCR(Second Chance Replacement)

  ㆍ가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로, FIFO 기법을 단점을 보완하는 기법

 

#165_페이지 크기

 - 페이지가 작을 경우

  ㆍ페이지의 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어듬

  ㆍ프로세스(프로그램) 수행에 필요한 내용만 주기억장치에 적재할 수 있고, 국부성(Locality)에 더 일치할 수 있기 때문에 기억장치 효율이 높아짐

  ㆍ페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 맵핑 속도가 늦어짐

  ㆍ디스크 접근 횟수가 많아져서 전체적인 입/출력 시간은 늘어남

 - 페이지가 클 경우

 ㆍ페이지 정보를 갖는 맵 테이블의 크기가 작아지고, 맵핑 속도가 짧아짐

  ㆍ디스크 접그 횟수가 줄어들어 전체적인 입/출력의 효율성이 증가됨

  ㆍ페이지의 단편화가 증가되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 늘어남

  ㆍ프로그램 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있음

 

#166_국부성(Locality, 구역성)

 - 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론

 - 스레싱을 방지하기 위한 워킹 셋 이론의 기반이 됨

 - 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법 중 하나로, 가상 기억장치 관리의 이론적인 근거가 됨

 - Locality 종류

시간 구역성
(Temporal Locality)
ㆍ프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상
ㆍ시간 구역성이 이루어지는 기억장소 : Loop(반복, 순환), 스택(Stack), 부프로그램(Sub Routine), Counting(1씩 증감), Totaling(집계)에 사용되는 변수(기억 장소)
공간 구역성
(Spatial Locality)
ㆍ프로세스 실행시 일정 위치의 페이지를 집중적으로 액세스하는 현상
ㆍ공간 구역성이 이루어지는 기억 장소 : 배열 순회, 순차적 코드의 실행, 프로그래머들이 관련된 변수(데이터를 저장할 기억장소)들을 서로 근처에 선언하여 할당되는 기억장소, 같은 영역에 있는 변수를 참조할 때 사용

 

#167_워킹 셋/페이지 부재 빈도

 - 워킹 셋(Working Set) : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합으로, 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상을 줄임

 - 페이지 부재 빈도(PFF, Page Fault Frequecy) : 페이지 부재가 일어나는 횟수

 - 페이지 부재 빈도 방식 : 페이지 부재율(Page Fault Rate)에 따라 주기억장치에 있는 페이지 ㅡ레임의 수를 늘리거나 줄여 페이지 부재율을 적정 수준으로 유지하는 방식

 

#168_스레싱(Thrashing)

 - 프로세스의 처리 시간보다 페이지 교체 시간이 더 많아지는 현상

 - 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중 자주 페이지 부재가 발생함으로 인해 나타나는 현상으로 전체 시스템의 성능이 저하됨

 - 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정시점까지는 높아지지만 다중 프로그래밍 정도가 더욱 커지면 스레싱이 나타나고, CPU의 이용률은 급격히 떨어짐

 - CPU의 이용률을 높이고, 스레싱 현상을 방지하려면 다중 프로그래밍의 정도를 적정 수준으로 유지하고, 페이지 부재 빈도를 조절하여 사용하며, 워킹 셋을 유지해야 함

 

#169_디스크 스케줄링

 - FCFS(First-Come First-Service)

  ㆍ가장 간단한 스케줄링으로, 디스크 대기 큐에 가장 먼저 들어온 트랙에 대한 요청을 먼저 서비스하는 기법

  ㆍ디스크 대기 큐에 들어온 순서대로 서비스하기 때문에 더 높은 우선 순위의 요청이 입력되어도 순서가 바뀌지 않아 공평성이 보장됨

 - SSTF(Shortest-Seek-Time-First)

  ㆍ탐색 거리가 가장 짧은 트랙에 대한 요청을 먼저 서비스하는 기법

  ㆍ현재 헤드 위치에서 가장 가까운 거리에 있는 트랙으로 헤드를 이동시킴

  ㆍFCFS보다 처리랑이 많고, 평균 탐색 시간이 짧음

  ㆍ처리량이 많은 일괄 처리 시스템에 유용함

 - SCAN

  ㆍSSTF가 갖는 탐색 시간의 편차를 해소하기 위한 기법

  ㆍ현재 헤드의 위치에서 진행 방향이 결정되면 탐색 거리가 짧은 순서에 따라 그 방향의 모든 요청을 서비스하고, 끝까지 이동한 후 역방향의 요청 사항을 서비스함

 - C-SCAN(Circular SCAN)

  ㆍ항상 바깥족에서 안쪽으로 움직이면서 가장 짧은 탐색 거리를 갖는 요청을 서비스 하는 기법

  ㆍ헤드는 트랙의 바깥쪽에서 안쪽으로 한 방향으로만 움직이며 서비스하여 끝까지 이동한 후, 안쪽에 더이상의 요청이 없으면 헤드는 가장 바깥쪽의 끝으로 이동한 후, 다시 안쪽으로 이동하면서 요청을 서비스함

 - N-step SCAN

  ㆍSCAN 기법을 기초로 하며, 어떤 방향의 진행이 시작될 당시에 대기 중이던 요청들만 서비스 하고, 진행 도중 도착한 요청들은 한데 모아서 다음의 반대 방향 진행 때 서비스하는 기법

#148_프로세서 스케줄링의 종류

 - 비선점(Non-preemptive) 스케줄링

  ㆍ이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법

  ㆍ프로세스가 CPU를 할당받으면 해당 프로세스가 완료될때까지 CPU를 사용함

  ㆍ모든 프로세스에 대한 요구를 공정하게 처리할 수 있음

  ㆍ프로세스 응답 시간의 예측이 용이하며, 일괄 처리 방식에 적합함

  ㆍ중요한 작업(짧은 작업)이 중요하지 않은 작업(긴작업)을 기다리는 경우가 발생할 수 있음

  ㆍ종류 : FCFS, SJF, 우선 순위, HRN, 기한부 등의 알고리즘

 - 선점(Preemptive) 스케줄링

  ㆍ하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법

  ㆍ우선 순위가 높은 프로세스를 빠르게 처리할 수 있음

  ㆍ주로 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용됨

  ㆍ종류 : SRT, 선점 우선 순위, ROUND Robbin, 다단계 큐, 다단계 피드백 큐 등의 알고리즘

 

#149_비선점 스케줄링의 종륲

 - FCFS(First-Come-First-Service)

  ㆍ준비상태 큐에 도착한 순서에 따라 차례로 CP를 할당하는 기법

  ㆍ먼저 도착한 것이 먼저 처리되어 공평성은 유지되지만 짧은 작업이 긴 작업을, 중요한 작업이 중요하지 않은 작업을 기다리게 됨

 - SJF(Shortest Job First)

  ㆍ실행 시간이 가장 짧은 프로세스에 먼저 CPU를 할당하는 기법

  ㆍ가장 적은 평균 대기 시간을 제공하는 최적 알고리즘

 - HRN(Hightest Response-ratio Next)

  ㆍ실행시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법

 - 기한부(Deadline)

  ㆍ프로세스에게 일정한 시간을 주어 그 시간 안에 프로세스를 완료하도록 하는 기법

  ㆍ시스템은 프로세스에게 할당할 정확한 시간을 추정해야 하며, 이를 위해서 사용자는 시스템이 요구한 프로세스에 대한 정확한 정보를 제공해야 함

 - 우선순위(Priority)

  ㆍ준비상태 큐에서 기다리는 각 프로세스마다 우선 순위를 부여하며, 그 중 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법

 

#150_에이징(Aging) 기법

 - 시스템에서 특정 프로세스의 우선순위가 낮아 무한정 기다리게 되는 경우, 한번 양보하거나 기다린 시간에 비례하여 일정 시간이 지나면 우선 순위를 한 단계씩 높여 가까운 시간 안에 자원을 할당받도록 하는 기법

 - SJF나 우선 순위 기법에서 발생할 수 있는 무한 연기 상태, 기아 상태를 예방할 수 있음

 

#151_선정 스케줄링의 종류

 - 선점 우선 순위

  ㆍ준비상태 큐의 프로세스들 중에서 우선 순위가 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법

- SRT(Shortest Remaining Time)

  ㆍ비선점 기법은 SJF 알고리즘을 선점 형태로 변경한 기법으로, 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법

 - RR(Round Robin)

  ㆍ시분할 시스템을 위해 고안된 방식으로, FCFS 알고리즘을 선점 형태로 변형한 기법

  ㆍFCFS 기법과 같이 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받지만 각 프로세스는 할당된 시간 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태 큐의 가장 뒤로 배치됨

  ㆍ할당되는 시간이 클 경우 FCFS 기법과 같아지고, 할당되는 시간이 작을 경우 문맥교환 및 오버헤드가 자주 발생됨

 - 다단계 큐(Multi level Queue)

  ㆍ프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용하는 기법

 - 다단계 피드백 큐(Multi level Feedback Queue)

  ㆍ특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동할 수 없는 다단계 큐 기법을 준비상태 큐 사이를 이동할 수 있도록 개선한 기법

 

#152_임계 구역(Critical Section)

 - 다중 프로그래밍 운영체제에서 여러 개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세스만 자원 또는 데이터를 사용하도록 지정된 공유 자원(영역)

 - 임계 구역에는 하나의 프로세스만 접근할 수 있으며, 해당 프로세스가 자원을 반납한 후에만 다른 프로세스가 자원이나 데이터를 사용할 수 있음

 

#153_상호 배제(Mutual Exclusion)

 - 특정 프로세스가 공유 자원을 사용하고 있을 경우 다른 프로세스가 해당 공유 자원을 사용하지 못하게 제어하는 기법

 - 여러 프로세스가 동시에 공유 자원을 사용하려 할 때 각 프로세스가 번갈아 가며 공유 자원을 사용하도록 하는 것으로 임계 구역을 유지하는 기법

 

#154_세마포어(Semaphore)

 - 각 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법

 - E.J. Dijkstra가 제안하였으며, P와 V라는 2개의 연산에 의해서 동기화를 유지시키고, 상호 배제의 원리 보장

 - S는 P와 V 연산으로만 접근 가능한 세마포어 변수로, 공유 자원의 개수를 나타내며 0과 1 혹은 0과 양의 값을 가질 수 있음

 - P 연산 : 자원을 사용하려는 프로세스들의 진입 여부를 자원을 개수(S)를 통해 결정하는 것으로, wait 동작이라고 함

 - V 연산 : 대기 중인 프로세스를 꺠우는 신호(Wake Up)로서, signal 동작이라고 함

 

#155_모니터(Monitor)

 - 동기화를 구현하기 위한 특수 프로그램 기법으로 특정 공유 자원을 프로세스에게 할당하는데 필요한 데이터와 이 데이터를 처리하는 프로시저로 구성됨

 - 자료 추상화와 정보 은폐 개념을 기초로 하며 공유 자원을 할당하기 위한 병행성 구조로 이루어져 있음

 - 모니터 내의 공유 자원을 사용하려면 프로세스는 반드시 모니터의 진입부를 호출해야 함

 - 외부의 프로시저는 직접 액세스할 수 없으며, 모니터의 경계에서 상호배제가 시행됨

 - 한순간에 하나의 프로세스만 진입하여 자원을 사용할 수 있음

 

#156_교착 상태(Deadlock)

 - 정의

  ㆍ상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

 - 필요 충분 조건

  ㆍ상호배제 : 한번에 한개의 프로세스 만이 공유 자원을 사용할 수 있어야 함

  ㆍ점유와 대기(Hold & Wait) : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용하고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함

  ㆍ비선점(Non-preemptive) : 다른 프로세스에 할당된 자원은 사용이 끝날때까지 강제로 빼앗을 수 없음

  ㆍ환형대기(Circular Wait) : 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야함

 

#157_교착 상태 해결 방법

 - 예방 기법(Prevention) : 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법으로, 교착 상태 발생의 4가지 조건 중에서 상호 배제를 제외한 어느 하나 제거(부정)함으로써 수행됨

  ㆍ점유 및 대기 부정 : 프로세스가 실행되기 전 필요한 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함

  ㆍ비선점 부정 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함

  ㆍ환형 대기 부정 : 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유번호보다 앞이나 뒤 어느 한쪽 방향으로만 자원을 요구하도록 하는 것

 - 회피 기법(Avoidance) : 교착 상태가 발생할 가능성을 배제하지 않고, 교착 상태가 발생하면 적절히 피해나가는 방법으로, 주로 은행원 알고리즘(Banker's Algorithm)이 사용됨

  ㆍ은행원 알고리즘 : Dijkstra가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는데서 유래한 기법으로 각 프로세스에게 자원을 할당하여 교착 상태가 발생하지 않으며 모든 프로세스가 완료될 수 있는 상태를 안전상태 교착 상태가 발생할 수 있는 상태를 불안전 상태라고 함

 - 발견 기법(Detection) : 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것

 - 회복 기법(Recovery) : 교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

 

#158_기억장치 관리 전략

 - 반입(Fetch) 전략 : 보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략

  ㆍ요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법

  ㆍ예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법

 - 배치(Placement) 전략 : 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지 결정하는 전략

  ㆍ최초 적합(First Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법

  ㆍ최적 적합(Best Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법

  ㆍ최악 적합(Worst Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법

 - 교체(Replacement) 전략 : 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하고 사용할 것인지를 결정하는 전략으로, FIFO, OPT, LRU, NUR, SCR 등이 있음

 

 

 

#137_시스템 소프트웨어의 구성

 - 제어 프로그램(Control Program) : 시스템 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 프로그램

  ㆍ감시(Supervisor) 프로그램 : 각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시, 감독하는 프로그램

  ㆍ작업 제어(Job Control) 프로그램 : 어떤 업무를 처리하고 다른 업무로의 이행을 자동으로 수행하기 위한 준비 및 그 처리에 대한 완료를 담당하는 프로그램

  ㆍ자료 관리(Data Management) 프로그램 : 주기억장치와 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지보수 기능을 수행하는 프로그램

 - 처리 프로그램 : 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램

  ㆍ언어 번역(Languge Translate) 프로그램 : 원시 프로그램을 기계어 형태의 목적 프로그램으로 번역하는 프로그램(어셈블러, 컴파일러, 인터프리터)

  ㆍ서비스(Service) 프로그램 : 컴퓨터를 효율적으로 사용할 수 있는 사용 빈도가 높은 프로그램

  ㆍ문제(Problem) 프로그램 : 특정 업무 및 해결을 위해 사용자가 작성한 프로그램

 

#138_운영체제 정의/목적/기능

 - 정의

  ㆍ컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

 - 목적

  ㆍ사용자와 컴퓨터간의 인터페이스 제공

  ㆍ자원의 효율적인 운영 및 자원 스케줄링

  ㆍ데이터 공유 및 주변 장치 관리

  ㆍ처리 능력 및 신뢰도 향상, 사용 가능도 향상

  ㆍ응답(반응) 시간 단축, 반환 시간 등의 단축

 - 기능

  ㆍ프로세서, 기억장치, 입/출력장치, 파일 및 정보 등의 자원 관리

  ㆍ자원의 스케줄링 기능 제공

  ㆍ사용자와 시스템 간에 편리한 인터페이스 제공

  ㆍ시스템의 각종 하드웨어와 네트워크 관리 및 제어

  ㆍ시스템의 오류 검사 및 복구, 데이터 관리, 데이터 및 자원 공유

  ㆍ자원 보호 기능 제공

  ㆍ가상 계산기 기능 제공

 

#139_운영체제 운용 기법 및 발달과정

 - 일괄 처리(Batch Processing) 시스템 : 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량 또는 일정기간 동안 데이터를 모아서 한꺼번에 처리하는 방식

 - 다중 프로그래밍(Multi Programming) 시스템 : 하나의 CPU와 주기억장치를 이용하여 여러개의 프로그램을 동시에 처리하는 방식

 - 시분할(Time sharing) 시스템 : 여러명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리해줌으로써 각 사용자에게 각자 독립된 컴퓨터를 사용하는 느낌을 주는 방식(라운드 로빈 방식)

  - 다중 처리(Multi Prcessing) 시스템 : 여러개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식

 - 실시간 처리(Real Time Processing) 시스템 : 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식

 - 다중 모드 처리(Multi Mode Processing) : 일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식

 - 분산 처리(Distributed Processing) 시스템 : 여러개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식

 - 발달 과정 : 일괄 처리 시스템 → 다중 프로그래밍, 다중 처리, 시분할, 실시간 처리 시스템 → 다중 모드 → 분산 처리 시스템

 

#140_컴파일러와 인터프리터

 - 컴파일러

  ㆍ고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램 생성

  ㆍ번역 과정이 번거롭고, 번역 시간이 오래 걸리지만 실행 속도가 빠름

  ㆍPORTRAN, COBOL, PASCAL, C, C++, PL/1 등이 컴파일러를 사용함

 - 인터프리터

  ㆍ고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램

  ㆍ줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용함

  ㆍ프로그램이 직접 실행되므로 목적 프로그램이 생성되지 않음

  ㆍ번역 속도는 빠르지만 실행 속도는 느림

  ㆍBASIC, SNOBOL, LISP, APL 등이 인터프리터를 사용함

 

#141_매크로와 매크로 프로세서

 - 매크로 : 프로그램 작성시 한 프로그램 내에서 동일한 코드가 반복될 경우 반복되는 코드를 한번만 작성하여 특정 이름으로 정의한 후 그 코드가 필요할 때마다 정의된 이름을 호출하여 사용하는 것

 - 매크로 프로세서 : 원시 프로그램에 존재하는 매크로 호출 부분에 매크로 프로그램을 삽입하여 확장된 원시 프로그램을 생성하는 시스템 소프트웨어

 - 매크로 프로세서 처리 과정 : 매크로 정의 인식 → 매크로 정의 저장 → 매크로 호출 인식 → 매크로 확장과 인수(매개 변수) 치환

 

#142_로더

 - 정의

  ㆍ컴퓨터 내부로 정보를 들여오거나 로드 모듈을 디스크 등의 보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어

 - 기능(할당, 연결, 재배치, 적재)

  ㆍ할당(Allocation) : 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간을 확보하는 기능

  ㆍ연결(Linking) : 부프로그램 호출 시 그 부프로그램이 할당된 기억 장소의 시작 주소를 호출한 부분에 등록하여 연결하는 기능

  ㆍ재배치(Relocation) : 디스크 등의 보조기억장치에 저장된 프로그램이 사용하는 각 주소들을 할당된 기억 장소의 실제 주소로 배치시키는 기능

  ㆍ적재(Loading) : 실행 프로그램을 할당된 기억공간에 실제로 옮기는 기능

 - 종류

  ㆍCompile And Go 로더 : 별도의 로더없이 언어 번역 프로그램이 로더의 기능까지 수행하는 방식

  ㆍ절대 로더(Absolute Loader) : 목적 프로그램을 기억 장소에 적재시키는 기능만 수행하는 로더(할당 및 연결은 프로그래머가, 재배치는 언어 번역 프로그램이 담당)

  ㆍ직접 연결 로더(Direct Linking Loader) : 일반적인 기능의 로더로, 로더의 기본 기능 4가지를 모두 수행하는 로더

  ㆍ동적 적재 로더(Dynamic Loading Loader) : 프로그램을 한꺼번에 적재하는 것이 아니라 실행 시 필요한 일부분만을 적재하는 로더

 

#143_링커

 - 언어 번역 프로그램이 생성한 목적 프로그램들과 라이브러리, 또 다른 실행 프로그램(로드 모듈) 등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨아

 - 연결 기능만 수행하는 로더의 한 형태로, 링커에 의해 수행되는 작업을 링킹(Linking)이라고 함

 

144_프로세스의 여러 가지 정의

 - 실행중인 프로그램, PCB를 가진 프로그램, 실기억장치에 저장된 프로그램

 - 프로세서가 할당되는 실체, 프로시저가 활동 중인 것

 - 비동기적 행위를 일으키는 주체, 지정된 결과를 얻기 위한 일련의 계통적 동작

 - 목적 또는 결과에 따라 발생되는 사건들의 과정

 

#145_PCB

 - PCB : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳

 - PCB에 저장되어 있는 정보 : 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세서의 우선 순위, CPU 레지스터 정보, 주기억장치 관리 정보, 입/출력 상태 정보, 계정 정보

 

#146_프로세스 상태 전이

 - 프로세스의 주요 상태

준비(Ready) 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
실행(Run)

ㆍ준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태

ㆍ프로세스 수행이 완료되기 전에 프로세스에게 주어진 프로세서 할당시간이 종료(Time Run Out)되면 프로세스는 준비 상태로 전이됨

ㆍ실행중인 프로세스는 입/출력(I/O)처리가 필요하면 실행중인 프로세스는 대기상태로 전이됨

대기(Wait),

보류, 블록(Block)

프로세스에 입/출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입/출력 처리가 완료될 때까지 대기하고 있는 상태

 - 프로세스 상태 전이 관련 용어

  ㆍDispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당 받아 실행 상태로 전이되는 과정

  ㆍWake-up : 입/출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정

 

#147_스케줄링

 - 정의 : 프로세스가 생성되어 실행될 떄 필요한 시스템의 여러 자원을 해당 프로세스에 할당하는 작업

 - 목적 : 공정성, 처리율 증가, CPU 이용률 증가, 우선 순위 제도, 오버헤드 최소화, 응답 시간 최소화, 반환 시간 최소화, 대기 시간 최소화, 균형 있는 자원의 사용, 무한 연기 회피

 

+ Recent posts