응용 SW 기초 기술 활용 1
- 운영체제
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종
- 프로세서, 기억장치, 입.출력장치, 파일 및 정보 등의 자원을 관리
- 운영체제의 목적
- 처리 능력 향상, 사용가능도 향상, 신뢰도 향상, 반환 시간 단축 등
- 처리 능력 - 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간 - 시스템이 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도 - 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도 - 시스템이 주어진 문제를 정확하게 해결하는 정도
- UNIX
- 1960년대 AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
- 시분할 시스템을 위한 설계, 대화식 운영체제, 트리 구조의 파일 시스템
- UNIX 시스템의 구성
- 커널
- UNIX의 가장 핵심적인 부분, 하드웨어를 보호, 프로그램과 하드웨어간의 인터페이스 역할을 담당
- 프로세스 관리, 기억장치 관리, 파일 관리, 입.출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러가지 기능을 수행
- 쉘
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스를 담당
- LINUX
- 1991년 리누스 토팔즈가 UNIX를 기반으로 개발한 운영체제
- 프로그램 소스 코드가 무료로 공개되어 있음, 프로그래머가 원하는 기능을 추가할 수 있음
- Android
- 구글 사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
- 개방형 소프트웨어, 자바와 코틀린으로 애플리케이션을 작성함
- 기억장치 관리 - 반입 전략
- 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략
- 요구 반입 - 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
- 예상 반입 - 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
- 기억장치 관리 - 배치 전략
- 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
- 최초 적합 - 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
- 최적 적합 - 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작제 남기는 분할 영역에 비치시키는 방법
- 최악 적합 - 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
- 주기억장치 할당 기법
- 프로그램이나 데이터를 실행시키기 위해 주기억장치에 어떻게 할당할 것인지를 결정하는 기법
- 주기억장치 할당 기법의 분류
- 연속 할당 기법 - 프로그램을 주기억장치에 연속으로 할당하는 기법
- 종류 - 단일 분할 할당 기법, 다중 분할 할당 기법
- 분산 할당 기법 - 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법
- 단일 분할 할당 기법
- 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
- 오버레이 기법 - 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
- 스와핑 기법 - 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
- 다중 분할 할당 기법
- 고정 분할 할당 기법 = 정적 할당 기법 - 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비중인 프로그램을 각 영역에 할당하여 수행하는 기법
- 가변 분할 할당 기법 = 동적 할당 기법 - 주기억장치를 미리 분할해 놓지 않고 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법, 고정 분할 할당 기법의 단편화를 줄이기 위해 사용됨
- 가상 기억 장치
- 보조기억장치의 일부를 주기억장치처럼 사용하는 것, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법
- 가상 기억장치의 구현 방법 - 페이징 기법, 세그먼테이션 기법
- 가상기억장치 구현 기법
- 페이징 기법
- 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법
- 페이지 - 프로그램을 일정한 크기로 나눈 단위, 페이지 프레임 - 페이지 크기로 일정하게 나누어진 주기억장치의 단위
- 세그먼테이션 기법
- 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법
- 세그먼트 - 프로그램을 배열이나 함수 등과 같은 논리적인 크기로 나눈 단위, 세그먼트는 고유한 이름과 크기를 가짐
- 페이지 교체 알고리즘
- 페이지 부재가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야함, 주기억장치의 모든 페이지 프레임이 사용중일시 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법
- 종류 - OPT, FIFO, LRU, LFU, NUR, SCR 등
- OPT(최적 교체)
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
- FIFO
- 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
- LRU
- 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
- LFU
- 사용 빈도가 가장 적은 페이지를 교체하는 기법
- NUR
- 최근에 사용하지 않은 페이지를 교체하는 기법, 각 페이지마다 두 개의 비트, 최근의 사용 여부를 확인하기 위해 즉 참조 비트와 변형 비트가 사용됨
- SCR
- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법
- Locality
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
- 시간 구역성 - 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상
- 공간 구역성 - 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
- 워킹 셋
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 자주 참조되는 워킹 셋을 주기억장치에 상주시킴, 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정됨
- 스레싱
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중에 자주 페이지 부재가 발생함으로써 나타남, 전체 시스템의 성능이 저하됨
- 프로세스
- 프로세서에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프로그램을 의미함
- 프로세스의 정의
- PCB를 가진 프로그램
- 실기억장치에 저장된 프로그램
- 프로세서가 할당되는 실체로서, 디스패치가 가능한 단위
- 프로시저가 활동중인 것
- 비동기적 행위를 일으키는 주체
- 운영체제가 관리하는 실행 단위
- PCB
- 운영체제가 프로세서에 대한 중요한 정보를 저장해 놓는 곳
- PCB에 저장되어 있는 정보
- 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, CPU 레지스터 정보, 주기억장치 관리 정보, 입.출력 상태 정보, 계정 정보
- 프로세스 상태 전이
- 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것
- 제출(Submit), 접수(Hold), 디스크, 준비(Ready), 실행(Run), 대기(Wait, Block), 종료(Teminated Exit), Spooling, Wake up, Dispatch, 선점.시간 초과, 입.출력 발생
- 프로세스 상태 전이 관련 용어
- Dispatch - 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
- Wake Up - 입.출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이 되는 과정
- Spooling - 입.출력장치의 공유 및 상대적으로 느린 입.출력장치의 처리 속도를 보완, 다중 프로그래밍 시스템의 성능을 향샹시키기 위해 입.출력할 데이터를 직접 입.출력장치에 보내지 않고 나중에 한꺼번에 입.출력하기 위해 디스크에 저장하는 과정
- 스레드
- 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위, 프로세스 내에서의 작업 단위로 사용됨
- 프로세스의 일부 특성을 갖고 있기 때문에 경량 프로세스라고도 함
- 스케줄링
- 프로세스가 생성되어 실행될때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미함
- 비선점 스케줄링
- 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
- 일괄 처리 방식에 적합
- 종류 - FCFS, SJF, 우선순위, HRN, 기한부 등
- 선점 스케줄링
- 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
- 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용됨
- 종류 - Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등
- FCFS
- 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
- SJF
- 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
- 가장 적은 평균 대기 시간을 제공하는 최적 알고리즘
- HRN
- 대기 시간과 서비스 시간을 이용하는 기법, 우선순위를 계산하여 그 숫자가 가장 높은 것부터 낮은 순으로 우선순위가 부여됨
- 우선순위 계산식 - 우선순위 계산식 = (대기시간 + 서비스 시간) / 서비스 시간
- 환경 변수
- 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
- 변수명과 값으로 구성, Windows에서 set을 입력하면 모든 환경 변수와 값을 출력함, UNIX와 LINUX에서는 set, env, printenv, setenv 중 하나 입력시 모든 환경 변수와 값을 표시함
- Windows 기본 명령어
- dir - 현재 디렉터리의 파일 목록을 표시함
- copy - 파일을 복사함
- del - 파일을 삭제함
- type - 파일의 내용을 표시함
- ren - 파일의 이름을 변경함
- md - 디렉터리를 생성함
- cd - 동일한 드라이브에서 디렉터리의 위치를 변경함
- cls - 화면의 내용을 지움
- attrib - 파일의 속성을 변경함
- find - 파일에서 문자열을 찾음
- chkdsk - 디스크 상태를 점검함
- format - 디스크 표면을 트랙과 섹터로 나누어 초기화함
- move - 파일을 이동함
- UNIX/LINUX 기본 명령어
- cat - 파일 내용을 화면에 표시함
- cd - 디렉터리 위치를 변경함
- chown - 파일 소유자와 그룹을 변경함
- cp - 파일을 복사함
- rm - 파일을 삭제함
- find - 파일을 찾음
- kill - PID를 이용하여 프로세스를 종료함
- fork - 새로운 프로세스를 생성함
- ls - 현재 디렉터리의 파일 목록을 표시함
- mkdir - 디렉터리를 생성함
- rmdir - 디렉터리를 삭제함
- mv - 파일을 이동함
- ps - 현재 실행중인 프로세스를 표시함
- pwd - 현재 작업중인 디렉터리 경로를 화면에 표시함
- who - 현재 시스템이 접속해 있는 사용자를 표시함
- chmod
- 파일의 보호 모드를 설정하여 파일의 사용허가를 지정하는 UNIX 명령어
- 8진법 숫자를 이용한 방법으로도 파일의 보호 모드를 설정할 수 있음, -(파일 구분)rwx(소유자) rwx(그룹) rwx(기타 사용자)
응용 SW 기초 기술 활용 2
- IP 주소
- 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소
- IPv4 - 8비트씩 4부분, 총 32비트로 구성, 네트워크 부분의 길이에 따라 A 클래스 ~ E 클래스로 총 5단계로 구성
- IPv6 - 16비트씩 8부분, 총 128비트로 구성, 각 부분을 16진수로 표현, 콜론(;)으로 구분, IPv4의 주소 부족 문제를 해결하기 위해 개발됨, 인증성, 기밀성, 데이터 무결성의 지원으로 보안문제를 해결 가능
- IPv6의 주소 체계
- 유니캐스트 - 단일 송신자와 단일 수신자 간의 통신(1대1 통신에 사용)
- 멀티캐스트 - 단일 송신자와 다중 수신자 간의 통신(1대다 통신에 사용)
- 애니캐스트 - 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신(1대1 통신에 사용)
- 서브네팅
- 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것
- 서브넷 마스크 - 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트, 서브넷 마스크를 변경하여 네트워크 주소를 여러 개로 분할하여 사용
- 도메인 네임
- 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것
- DNS - 도메인 네임을 IP 주소로 변환하는 역할을 하는 시스템
- OSI 참조 모델
- 다른 시스템 간의 원활한 통신을 위해 ISO에서 제안한 통신 규약
- 물리 계층 - 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의함
- 데이터 링크 계층 - 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당함
- 네트워크 계층 - 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 함
- 전송 계층 - 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게 함
- 세션 계층 - 송.수신 측 간의 관련성을 유지하고 대화 제어를 담당함
- 표현 계층 - 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층, 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색 등의 기능을 수행함
- 응용 계층 - 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공함
- 네트워크 관련 장비
- 라우터 - 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가된 장치, 서로 다른 LAN 또는 LAN과 WAN을 연결하는 기능도 함
- 리피터 - 거리가 증가할수록 감쇠하는 디지털 신호의 장거리 전송을 위해 수신한 신호를 재생시키거나 출력 전압을 높여 전송하는 장치
- 허브 - 한 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치, 각각의 회선을 통합하여 관리함, 신호 증폭 기능을 하는 리피터 역할을 포함함
- 브리지 - LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 장치, 브리지를 이용한 서브넷 구성 시 전송 가능한 회선 수는 브리지가 n개일 때, n(n-1)/2개
- 게이트웨이 - OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치, LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할
- 프로토콜
- 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약
- 프로토콜의 기본 요소
- 구문 - 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정함
- 의미 - 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정함
- 시간 - 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정함
- 패킷 교환 방식
- 메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식
- 가상 회선 방식
- 단말기 상호 간에 논리적인 가상 통신 회선을 미리 설정하여 송신지와 수신지 사이의 연결을 확립한 후에 설정된 경로를 따라 패킷들을 순서적으로 운반하는 방식
- 정보 전송 전에 제어 패킷에 의해 경로가 설정됨
- 모든 패킷은 같은 경로로 발생 순서대로 전송됨, 패킷의 송.수신 순서가 같음
- 데이터그램 방식
- 연결 경로를 설정하지 않고 인접한 노드들의 트래픽 상황을 감안하여 각각의 패킷들을 순서에 상관없이 독립적으로 운반하는 방식
- 패킷마다 전송 경로가 다름, 패킷은 목적지의 완전한 주소를 가져야 함
- 순서에 상관없이 여러 경로를 통해 도착한 패킷들은 수신 측에서 순서를 재정리 함
- TCP/IP
- 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜
- TCP
- OSI 7계층의 전송 계층에 해당
- 가상 회선 방식을 기반으로 하는 양방향 연결 서비스를 제공
- 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공
- IP
- OSI 7계층의 네트워크 계층에 해당
- 데이터그램 방식을 기반으로 하는 비연결형 서비스를 제공
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공
- TCP/IP 구조
- 응용 계층, 표현 계층, 세션 계층 - 응용 계층
- 응용 프로그램 간의 데이터 송.수신 제공
- TELNET, FTP, SMTP, SNMP, DNS, HTTP 등
- 전송 계층 - 전송 계층
- 호스트들 간의 신뢰성 있는 통신 제공
- TCP, UDP, RTCP
- 네트워크 계층 - 인터넷 계층
- 데이터 전송을 위한 주소 지정, 경로 설정을 제공
- IP, ICMP, ISMP, ARP, RARP
- 데이터 링크 계층, 물리 계층 - 네트워크 액세스 계층
- 실제 데이터를 송.수신 하는 역할
- Ethernet, IEEE 802, HDLC, X 25, RS-232C, ARQ 등
- UDP
- 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공하는 프로토콜
- TCP에 비해 상대적으로 단순한 헤더 구조, 오버헤드가 적음, 흐름 제어나 순서 제어가 없어 전송 속도가 빠름
- 실시간 전송에 유리함, 신뢰성 보다 속도가 중요시되는 네트워크에서 사용됨
- RTCP
- 패킷의 전송 품질을 제어하기 위한 프로토콜
- 세션에 참여한 각 참여자들에게 주기적으로 제어정보를 전송함, 하위 프로토콜은 데이터 패킷과 제어 패킷의 다중화를 제공
- ICMP
- IP와 조합하여 통신중에 발생하는 오류의 처리, 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할
- 8Byte 헤더
- ARP / RARP
- ARP - 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소로 변환하는 기능을 수행하는 프로토콜
- RARP - ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 수행하는 프로토콜, 역순 주소 결정 프로토콜
- 네트워크 관련 신기술
- 메시 네트워크 - 차세대 이동통신, 홈 네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
- 피코넷 - 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
- 에드 혹 네트워크 - 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트 만을 이용하여 구성한 네트워크
- 망을 구성한 후 단기간 사용되는 경우, 유선망을 구성하기 어려운 경우에 적합
- 파장 분할 다중화 - 광섬유를 이용한 통신기술의 하나, 파장이 서로 다른 복수의 신호를 보냄으로써 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 기술
- 소프트웨어 정의 데이터센터 - 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터
- 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의
- 개방형 링크드 데이터 - Linked Data와 Open Data의 합성어, 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터를 의미
- 웹상에 존재하는 데이터를 개별 URI로 식별, 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형
- IoT - 정보 통신 기술을 기반으로 실세계와 가상 세계의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
- 클라우드 컴퓨팅 - 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경을 의미
- USN - 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
- 필요한 모든 것에 RFID 태그를 부착, 이를 통하여 사물의 인식정보, 주변의 환경정보를 탐지하여 네트워크에 연결하여 정보를 관리
- 네트워크 구축
- 네트워크 - 두 대 이상의 컴퓨터를 전화선이나 케이블 등으로 연결하여 자원을 공유하는 것
- 성형 - 중앙에 중앙 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식의 네트워크 구성 형태
- 링형 - 컴퓨터와 단말장치들을 서로 이웃하는 것끼리 연결시킨 포인트 투 포인트 방식의 구성 형태
- 버스형 - 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태
- 계층형 - 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고, 이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로부터 다시 연결시키는 형태
- 망형 - 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태, 노드의 연결성이 높다
- 모든 노드를 망형으로 연결하려면 노드의 수가 n개 일 때, n(n-1)/2개의 회선이 필요, 노드당 n-1개의 포트가 필요
- 네트워크의 분류
- 근거리 통신망
- 회사, 학교, 연구소 등에서 비교적 가까운 거리에 있는 컴퓨터, 프린터, 저장장치 등과 같은 자원을 연결하여 구성
- 사이트 간의 거리가 짧아 데이터의 전송 속도가 빠르고, 에러 발생율이 낮음
- 주로 버스형, 링형 구조를 사용
- 광대역 통신망
- 국가와 국가 혹은 대륙과 대륙 등과 같이 멀리 떨어진 사이트들을 연결하여 구성
- 사이트 간의 거리가 멀기 때문에 통신 속도가 느리고, 에러 발생률이 높음
- IEEE 802의 주요 표준 규격
- 802.1 - 전체의 구성, OSI 참조 모델과의 관계, 통신망 관리 등에 관한 규약
- 802.2 - 논리 링크 제어 계층에 관한 규약
- 802.3 - CSMA/CD 방식의 매체 접근 제어 계층에 관한 규약
- 802.4 - 토큰 버스 방식의 매체 접근 제어 계층에 관한 규약
- 802.5 - 토큰 링 방식의 매체 접근 제어 계층에 관한 규약
- 802.6 - 도시형 통신망에 관한 규약
- 802.9 - 종합 음성/데이터 네트워크에 관한 규약
- 802.11 - 무선 LAN에 관한 규약
- IEEE 802.11의 버전
- 802.11 - 2.4GHz 대역 전파와 CSMA/CA 기술을 사용해 최고 2Mbps까지의 전송 속도를 지원
- 802.11a - 5GHz 대역의 전파를 사용해 최고 54Mbps까지의 전송 속도를 지원
- 802.11b - 802.11 초기 버전의 개선안, 초기 버전의 대역 전파와 기술을 사용해 최고 1Mbps의 전송 속도로 기존에 비해 5배 이상 빠르게 개선되었음
- 802.11e - 802.11의 부가 기능 표준, QoS 기능이 지원되도록 하기 위해 매체 접근 제어 계층에 해당하는 부분을 수정함
- 802.11g - 2.4GHz 대역의 전파를 사용하지만 5GHz 대역의 전파를 사용하는 802.11a와 동일한 최고 54Mbps까지의 전송 속도를 지원
- 802.11n - 2.4GHz 대역과 5GHz 대역을 사용하는 규격, 최고 600Mbps까지의 전송 속도를 지원
- NAT
- 한 개의 정식 IP 주소에 대량의 가상 사설 IP 주소를 할당 및 연결하는 기능
- 한 개의 IP 주소를 사용해서 외부에 접속할 수 있는 노드는 어느 시점에서 한 개로 제한되는 문제가 있음, IP 마스커레이드를 이용하여 해결할 수 있음
- 스위치
- 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
- L2 스위치
- 일반적으로 부르는 스위치는 L2 스위치를 의미
- MAC 주소를 기반으로 프레임을 전송
- OSI의 2계층에 속하는 장비
- L3 스위치
- L2 스위치에 라우터 기능이 추가된 것
- IP 주소를 기반으로 패킷을 전송
- OSI의 3계층에 속하는 장비
- L4 스위치
- 로드밸런서가 달린 L3 스위치
- IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드밸런싱 기능을 제공
- OSI의 4계층에 속하는 장비
- L7 스위치
- IP 주소, TCP/UDP 포트 정보에 패킷 내용까지 참조하여 세밀하게 로드밸런싱함
- OSI 7계층에 속하는 장비
- 경로 제어
- 송.수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능
- 경로 제어는 경로 제어표를 참조하여 이루어짐, 라우터에 의해 수행됨
- 대표적인 경로 제어 프로토콜 - IGP(RIP, OSPF), EGP, BGP
- IGP
- 하나의 자율 시스템 내의 라우팅에 사용되는 프로토콜
- RIP
- 현재 가장 널리 사용되는 라우팅 프로토콜, 거리 벡터 라우팅 프로토콜
- 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용함
- 소규모 동종의 네트워크 내에서 효율적인 방법
- OSPF
- RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜, 대규모 네트워크에서 많이 사용됨
- 최단 경로 탐색에 다익스트라 알고리즘을 사용함
- EGP / BGP
- EGP
- 자율 시스템 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
- BGP
- 자율 시스템 간의 라우팅 프로토콜, EGP의 단점을 보완하기 위해 만들어진 프로토콜
- 초기 BGP 라우터들이 연결될 때에는 전체 경로 제어표를 교환하고, 이후에는 변화된 정보만을 교환함
- 흐름 제어
- 송.수신 측 사이에 전송되는 패킷의 양이나 정도를 규제하는 기능
- 정지-대기
- 수신 측의 확인 신호를 받은 후에 다음 패킷을 전송하는 방식
- 한번에 하나의 패킷만 전송 가능함
- 슬라이싱 윈도우
- 확인 신호, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식
- 수신 측의 확인 신호를 받지 않더라도 미리 정해진 패킷의 수만큼 연속적으로 전송하는 방식, 한 번에 여러 개의 패킷을 전송할 수 있어 전송 효율이 좋음
- 송신 측은 수신 측으로부터 확인 신호 없이도 보낼 수 있는 패킷의 최대치를 미리 약속받는데, 이 패킷의 최대치가 윈도우 크기를 의미함
- SW 관련 신기술
- 블록체인
- P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술
- 매시업
- 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술로, 다수의 정보원이 제공하는 콘텐츠를 조합하여 하나의 서비스로 제공하는 웹 사이트 또는 애플리케이션을 말함
- 서비스 지향 아키텍처
- 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처
- SOA 기반 애플리케이션 구성 계층 - 표현 업무 프로세스, 서비스 중간, 애플리케이션, 데이터 저장 계층
- 디지털 트윈
- 현실속의 사물을 소프트웨어로 가상화한 모델
- 실제 물리적인 자산을 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있음
- 그레이웨어
- 소프트웨어를 제공하는 입장에서는 악의적이지 않은 유용한 소프트웨어로 주장하지만 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 애드웨어, 트랙웨어, 기타 악성 코드나 악성 공유웨어를 말함
- 양자 암호키 분배
- 양자 통신을 위해 비밀키를 분배하여 관리하는 기술
- 두 시스템이 암호 알고리즘 동작을 위한 비밀키를 안전하게 공유하기 위해 양자 암호키 분배 시스템을 설치하여 운용하는 방식으로 활용됨
- 서비스형 소프트웨어
- 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어
- 시맨틱 웹
- 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹을 의미함
- 리치 인터넷 애플리케이션
- 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML 보다 역동적이고 인터랙티브한 웹 페이지를 제공하는 신개념의 플래시 웹 페이지 제작 기술
- HW 관련 신기술
- 앤 스크린
- N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스
- 신 클라이언트
- 하드디스크나 주변장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터, 서버 기반 컴퓨팅과 관계가 깊음
- 엠디스크
- 한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장장치
- 디스크 표면의 무기물층에 레이저를 이용해 자료를 조각해서 기록
- 멤스
- 초정밀 반도체 제조 기술을 바탕으로 센서, 액추에이터 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치
- 멤리스터
- 메모리와 레지스터의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자
- 트러스트존 기술
- 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술
- RAID
- 2개 이상의 하드디스크로 디스크 배열을 구성하고, 파일을 구성하는 데이터 블록들을 서로 다른 디스크에 분산 저장하거나 다중화하는 저장 기술로, 구현된 기술에 따라 다음과 같이 레벨로 구분함
- RAID 0
- 스트라이핑으로 불림, 디스크를 병렬로 연결하여 디스크의 개수만큼 용량과 속도가 배로 증가함
- 하나의 디스크만 손상되어도 전체 데이터가 파손됨
- RAID 1
- 미러링으로 불림, 같은 데이터를 다른 디스크에 동일하게 복사하는 방식
- RAID 2~4
- 하나의 디스크에 오류 정정 부호 비트/바이트 단위로 저장하고, 나머지 디스크는 RAID 0과 같이 활용하여 안정성을 높인 모드
- 하나의 디스크가 손상되어도 정상 가동이 가능하며 최소 3개의 디스크가 필요함
- RAID 5
- 오류 정정 부호를 블록 단위로 여러 디스크에 분산 저장한 방식
- 하나의 디스크가 손상되어도 정상 가동이 가능하며 최소 3개의 디스크가 필요함
- RAID 6
- RAID 5와 원리는 같음, 오류 정정 부호 2개를 저장하는 방식
- 두 개의 디스크가 손상되어도 정상 가동이 가능하며 최소 4개의 디스크가 필요함
- Secure OS
- 기존의 운영체제에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제
- 보안 커널 - 보안 기능을 갖춘 커널
- Secure OS의 보안 기능 - 식별 및 인증, 임의적/강제적 접근통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소 등
- DB 관련 신기술
- 하둡
- 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 구글의 맵 리듀스 엔진 사용
- 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크
- 맵리듀스
- 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델
- 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업 후, 중복데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행함
- 데이터 마이닝
- 대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법
- 타조
- 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트
- OLAP
- 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식
- OLAP 연산 - Roll-up, Drill-down, Drill-through, Drillacross, Pivoting, Slicing, Dicing
- 브로드 데이터
- 다양한 채널에서 소비자와 상호 작용을 통해 생성된 것, 기업 마케팅에 있어 효율적이고 다양한 데이터, 이전에 사용하지 않거나 알지 못했던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터
- 회복
- 트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
- 회복 기법의 종류 - 연기 갱신 기법, 즉각 갱신 기법, 그림자 페이지 대체 기법, 검사점 기법
- REDO / UNDO
- REDO
- 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업함
- 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산
- UNDO
- 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작에 대한 기록은 있지만 완료 기록은 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소함
- 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경하는 연산
- 연기 갱신 기법
- 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법
- 트랜잭션의 부분 완료 시점에 Log에 보관한 갱신 내용을 실제 데이터베이스에 기록함
- Redo 만 사용 가능
- 즉각 갱신 기법
- 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
- 장애가 발생하여 회복 작업할 경우를 대비하여 갱신된 내용들은 Log에 보관시킴
- Redo, Undo 모두 사용 가능
- 병행제어
- 여러 개의 트랜잭션을 병행수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것
- 병행제어 기법의 종류 - 로킹, 타임 스탬프 순서, 최적 병행수행, 다중 버전 기법
- 로킹
- 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법
- 주요 데이터의 액세스를 상호 배타적으로 함
- 타임 스탬프 순서
- 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기전에 시간표를 부여하여 부여된 시간에 따라 트랙잭션 작업을 수행하는 기법
- 로킹 단위
- 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기
- 데이터베이스, 파일, 레코드, 필드 등이 로킹 단위
- 로킹 단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아짐
- 로킹 단위가 작으면 로크 수가 많아 관리하기 복잡해 오버헤드가 증가하지만 병행성 수준이 높아짐
- 교착상태
- 상호 배제에 의해 나타나는 문제점, 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
- 교착상태 발생의 필요 충분 조건
- 상호 배제 - 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
- 점유와 대기 - 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
- 비선점 - 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
- 환형 대기 - 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함
- 교착상태의 해결 방법
- 예방 기법 - 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법
- 교착상태 발생의 네 가지 조건 중에서 하나를 제거함으로써 수행됨
- 회피 기법 - 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법
- 발견 기법 - 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것
- 회복 기법 - 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
댓글남기기