01. 운영체제의 개념
1) 운영체제(OS): 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
2) 운영체제의 목적
- 처리 능력: 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간: 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도: 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도: 시스템이 주어진 문제를 정확하게 해결하는 정도
02. 운영체제의 종류
1) Windows: 1990년대 Microsoft사가 개발한 운영체제
- Windows의 주요 특징
| GUI (그래픽 사용자 인터페이스) | 키보드로 명령어를 직접 입력하지 않고 마우스로 아이콘이나 메뉴를 선택 |
| 선점형 멀티 태스킹 | 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료하고 모든 시스템 자원을 반환 |
| PnP(자동 감지 기능) | 어떤 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능 |
| OLE | 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능 |
| Sinlge-User 시스템 | 컴퓨터 한 대를 한 사람만이 독점해서 사용 |
2) UNIX: AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
- UNIX 시스템의 구성
- 커널: 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할, 핵심 부분
- 쉘: 명려어 해석기, 시스템과 사용자 간의 인터페이스 담당
- 유틸리티 프로그램: 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용함.
3) LINUX: 1991년 리눅스 토발즈가 UNIX를 기반으로 개발한 운영체제
4) MacOS: 1980년대 애플 사가 UNIX를 기반으로 개발한 운영체제
5) Android: 구글 사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
6) iOS: 애플 사에서 개발한 유닉스 기반의 모바일 운영체제
03. 기억장치 관리
1) 반입 전략: 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정
- 요구 반입: 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재
- 예상 반입: 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재
2) 배치 전략: 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정
- 최초 적합: 첫번째 분할 영역에 배치
- 최적 접합: 단편화를 가장 적게 남기는 분할 영역에 배치
- 최악 접합: 단편화를 가장 많이 남기는 분할 영역에 배치
3) 교체 전략: 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정
04. 주기억장치 할당 기법
- 프로그램이나 데이터를 실행시키기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용
1) 주기억장치 할당 기법의 분류
- 연속 할당 기법: 프로그램을 주기억장치에 연속으로 할당하는 기법
- 단일 분할 할당 기법: 한 순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
- 오버레이 기법: 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
- 스와핑 기법: 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
- 다중 분할 할당 기법
- 고정 분할 할당 기법(정적 할당 기법): 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법
- 가변 분할 할당 기법(동적 할당 기법): 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
- 분산 할당 기법: 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법
- 페이징 기법, 세그먼테이션 기법
05. 가상기억장치 구현 기법
1) 가상기억장치: 보조기억장치의 일부를 주기억장치처럼 사용하는 것
- 구현 방법: 페이징 기법, 세그먼테이션 기법
2) 페이징 기법: 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 주기억장치의 영역에 적재시켜 실행하는 기법
3) 세그먼테이션 기법: 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
06. 페이지 교체 알고리즘
1) 페이지 교체 알고리즘: 페이지 부재가 발생하면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정
2) OPT(최적 교체): 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체
3) FIFO(First In First Out): 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체
4) LRU(Least Recently Used): 최근에 가장 오랫동안 사용하지 않은 페이지를 교체
5) LFU(Least Frequently Used): 사용 빈도가 가장 적은 페이지를 교체
6) NUR(Not Used Recently): 최근에 사용하지 않은 페이지를 교체
7) SCR(2차 기회 교체): 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법
07. 가상기억장치 기타 관리 사항
1) 페이지 크기
- 페이지 크기 ↓: 페이지 단편화 ↓, 페이지 이동 시간 ↓
- 페이지 크기 ↑: 페이지 맵 테이블의 크기 ↓, 매핑 속도 ↑
2) Locality: 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
- 스레싱을 방지하기 위한 워킹 셋 이론의 기반이 됨
* 스레싱: 프로세스의 처리 시간보다 페이지 교체에 소용되는 시간이 더 많아지는 현상
- Locality의 종류
- 시간 구역성: 프로세스가 실행되면서 하나의 페이지를 일정 시간동안 집중적으로 액세스하는 현상
- 공간 구역성: 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
08. 프로세스의 개요
1) 프로세스: 실행 중인 프로그램
2) PCB(프로세스 제어 블록): 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳
3) 프로세스 상태 전이: 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것
| 제출(Submit) | 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태 |
| 접수(Hold) | 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태 |
| 준비(Ready) | 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태 |
| 실행(Run) | 준비 상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태 |
| 대기(Wait), 블록(Block) | 프로세스에 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태 |
| 종료(Terminated) | 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태 |
4) 프로세스 상태 전이 관련 용어
- Dispatch: 준비 상태에서 대기하고 있는 프로세스 중 하나가 실행 상태로 전이되는 과정
- Wake up: 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비상태로 전이되는 과정
- Spooling: 입출력할 데이터를 직접 입출력 장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정
5) 스레드: 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위
09. 스케줄링
1) 스케줄링: 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 장기 스케줄링: 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보냄
- 중기 스케줄링: 어떤 프로세스들이 CPU를 할당받을 것인지를 결정
- 단기 스케줄링: 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업
2) 스케줄링의 목적: 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도, 오버헤드 최소화, 응답시간 최소화, 반환시간 최소화, 대기시간 최소화, 균형있는 자원의 사용, 무한 연기 회피
3) 비선점 스케줄링: 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
- FCFS = FIFO(선입 선출): 준비상태 큐에 도착한 순서에 따라 차례로 CPU 할당
- 대기시간: 프로세스가 대기한 시간
- 반환 시간: 프로세스의 대기 시간과 실행 시간의 합
- SJF(단기 작업 우선): 준비 상태 큐에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당
- HRN: 대기시간과 서비스 시간을 이용하는 기법
- 우선순위 계산식 = (대기시간 + 서비스 시간) / 서비스 시간
4) 선점 스케줄링: 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
10. 환경 변수
1) 환경 변수: 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
2) Windows의 주요 환경 변수: 변수 앞뒤에 %를 입력해야 함
3) UNIX/LINUX의 주요 환경 변수: 변수명 앞에 $를 입력해야 함
11. 인터넷
1) 인터넷: 전세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망
2) IP 주소: 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소
- 8비트씩 4부분, 총 32비트로 구성됨.
- A Class: 국가나 대형 통신망
- B Class: 중대형 통신망
- C Class: 소규모 통신망
- D Class: 멀티캐스트 용
- E Class: 실험적 주소이며 공용되지 않음
3) 서브네팅: 네트워크 주소를 여러 개의 작은 네트워크로 나누어 사용하는 것
- 서브넷 마스크: 네트워크 주소와 호스트 주소를 구분하기 위한 비트
4) IPv6: 현재 사용하고 있는 IPv4의 주소 부족 문제를 해결하기 위해 개발됨
- 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제 해결
- 유니캐스트: 1대 1 통신
- 멀티캐스트: 1대 다 통신
- 애니캐스트: 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신
5) 도메인 네임: 숫자로 된 IP 주소를 문자 형태로 표현
12. OSI 참조 모델
1) OSI 참조 모델: ISO(국제 표준화 기구)에서 제안한 통신 규약(Protocol)
- 물리 계층(Physical Layer)
- 하드웨어 전송 기술로 이루어져 있다.
- 전기적, 기계적인 신호를 주고 받는 역할을 한다.
- 비트(0,1) 단위로 통신한다.
- 리피터, 케이블, 허브 등
- 허브: 다수의 pc와 장치들을 묶어서 LAN을 구성할 때 각각의 pc에 연결된 노드들을 한 곳으로 모으는 역할을 함. 중심축에 놓여 여러 컴퓨터들을 연결해 네트워크를 만들어줌
- 리피터: 신호를 수신하여 신호를 증폭한 후, 다음 구간으로 재전송함.
- 데이터를 전송만 하고, 종류나 오류를 제어하지 않는다.
- 데이터 링크 계층(Data Link Layer)
- 정보의 전달을 수행할 수 있도록 도와주는 역할
- 포인트 투 포인트 간 신뢰성 있는 전송을 보장한다.
- 송수신되는 정보의 오류와 흐름을 관리한다.
- 통신에서의 오류도 찾아주고 재전송하는 기능을 가지고 있다.
- Frame 단위로 전송한다.
- MAC 주소로 통신
- 브릿지나 스위치를 통해 맥 주소를 가지고 물리계층에서 받은 정보를 전달함.
- 네트워크 계층(Network Layer)
- IP 주소를 제공하는 계층
- 노드들을 거칠 때마다 라우팅해주는 역할
- 데이터를 목적지까지 가장 안전하고 빠르게 전달
- 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달한다.
- 라우팅, 흐름제어, 오류제어, 세그먼테이션
- 패킷 단위로 전송함
- 라우터, L3 스위치, IP 공유기 등
- 전송 계층(Transport Layer)
- End to End 사용자들이 데이터를 주고 받을 수 있게 하는 계층
- TCP와 UDP 프로토콜을 통해 통신을 활성화한다.
- 포트를 열어두고 프로그램들이 전송을 할 수 있도록 제공한다.
- TCP: 신뢰성, 연결지향적, 3-way handshaking 방식으로 목적지와 상호 패킷을 교환하여 연결한다. 연결 종료 시에는 4-way handshaking 방식을 사용한다.
- UDP: 비신뢰성, 비연결성, 실시간, 빠름, 오버헤드 적음
- Segment 단위로 전송함.
- 세션 계층(Session Layer)
- 데이터가 통신하기 위한 논리적인 연결. 통신을 하기 위한 대문이다.
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
- TCP/IP 세션을 만들고 없애는 책임을 진다.
- RPC, Socket
- 표현 계층(Presentation Layer)
- 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고 암호화하는 역할을 한다.
- 파일 인코딩, 명령어를 포장, 압축, 암호화한다.
- 응용 계층(Application Layer)
- 응용 프로세스와 직접 관계하여 일반적인 응용 서비스 수행
- 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜
- 사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공
13. 네트워크 관련 장비
1) 네트워크 인터페이스 카드(NIC): 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치
- 이더넷 카드 혹은 네트워크 어뎁터라고도 함.
2) 허브: 회선을 통합하여 관리하며 리피터의 역할을 포함함
- 더미 허브: 단순히 연결
- 스위칭 허브: 지능형 허브
3) 리피터: 수신한 신호를 재생시키거나 출력 전압을 높여 전송하는 장치
4) 브리지: LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 장치
5) 스위치: LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
6) 라우터: 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가된 장치
7) 게이트웨이: OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치
14. TCP/IP
1) 프로토콜: 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약
- 기본 요소: 구문, 의미, 타이밍
* 구의타
2) TCP/IP: 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 잇도록 하는 표준 프로토콜
- TCP: OSI 7계층의 전송 계층에 해당
- 신뢰성 있는 연결형 서비스를 제공
- 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공
- IP: OSI 7계층의 네트워크 계층에 해당함
- 데이터그램을 기반으로 하는 비연결형 서비스를 제공
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공
3) TCP/IP의 구조
| OSI | TCP/IP | 기능 |
| 응용 계층 표현 계층 세션 계층 |
응용 계층 | 응용 프로그램 간의 데이터 송수신 제공 TELNET, FTP, SMTP, SNMP, DNS, HTTP 등 |
| 전송 계층 | 전송 계층 | 호스트들 간의 신뢰성 있는 통신 제공 TCP, UDP, RTCP 등 |
| 네트워크 계층 | 인터넷 계층 | 데이터 전송을 위한 주소 지정, 경로 설정을 제공 |
| 데이터 링크 계층 물리 계층 |
네트워크 엑세스 계층 | 실제 데이터(프레임)을 송,수신하는 역할 Ethernet, IEE 802, HDLC, X.25, RS-232C, ARQ 등 |
4) 응용 계층의 주요 프로토콜
| FTP | 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고 받을 수 있도록 하는 원격 파일 전송 프로토콜 |
| SMTP | 전자 우편을 교환하는 서비스 |
| TELNET | 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스 |
| SNMP | TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는데 사용되는 표준 통신 규약 |
| DNS | 도메인 네임을 IP 주소로 매핑하는 시스템 |
| HTTP | World Wide Web(WWW)에서 HTML 문서를 송수신하기 위한 표준 프로토콜 |
5) 전송 계층의 주요 프로토콜
| TCP | - 양방향 연결형 서비스를 제공 - 가상 회선 연결 형태의 서비스를 제공 - 순서 제어, 오류 제어, 흐름 제어 기능을 함 - 스트림 위주, 투명성 보장 |
| UDP | - 비연결형 서비스 제공 - TCP에 비해 상대적으로 단순한 헤더 구조를 가짐 - 실시간 전송에 유리하며 신뢰성 보다는 속도가 중요시 되는 네트워크에 사용됨 |
| RTCP | - RTP 패킷의 전송 품질을 제어하기 위한 제어 프로토콜 - 주기적으로 제어 정보 전송 - 최소한의 제어와 인증 기능만 제공 |
6) 인터넷 계층의 주요 프로토콜
| IP | 전송할 데이터에 주소를 지정하고 경로를 설정하는 기능 |
| ICMP | IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지 관리 |
| IGMP | 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용됨 |
| ARP | 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꿈 |
| RARPP | ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 함. |
7) 네트워크 액세스 계층의 주요 프로토콜
| Ethernet | CSMA/CD 방식의 LAN |
| IEE 802 | LAN을 위한 표준 프로토콜 |
| HDLC | 비트 위주의 데이터 링크 제어 프로토콜 |
| X.25 | 패킷 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜 |
| RS-232C | 공중 전화 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜 |
15. 네트워크 관련 신기술
| IoT(사물 인터넷) | 정보 통신 기술을 기반으로 실세계와 가상 세게의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술 |
| M2M(사물 통신) | 무선 통신을 이용한 기계와 기계 사이의 통신 |
| 모바일 컴퓨팅 | 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경 |
| 클라우드 컴퓨팅 | 각종 컴퓨터 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경 |
| 그리드 컴퓨팅 | 지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 활용하는 기술 |
| 모바일 클라우드 컴퓨팅 | 소비자와 소비자의 파트나가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 인프라를 구성하여 여러 가지 정보와 자원을 공유하는 ICT 기술 |
| 인터클라우드 컴퓨팅 | 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술 |
| 메시 네트워크 | 차세대 이도오통신, 홈 네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술 |
| 와이선 | 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리 통신 기술 |
| NDN | 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술 |
| NGN(차세대 통신망) | ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망 |
| SDN(소프트웨어 정의 네트워크) | 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 관리하는 네트워크 |
| NFC(근거리 무선 통신) | 고주파를 이용한 근거리 무선 통신 기술 |
| UWB(초광대역) | 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 팝스라고도 함. |
| 피코넷 | 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술 |
| WBAN | 웨어러블 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술 |
| GIS(지리 정보 시스템) | 지리적인 자료를 수집, 저장, 분석, 출력할 수 잇는 컴퓨터 응용 시스템 |
| USN(유비쿼터스 센서 네트워크) | 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크 |
| SON(자동 구성 네트워크) | 주변 상황에 맞추어 스스로 망을 구성하는 네트워크 |
| 애드 훅 네트워크 | 재난 현상과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크 |
| 네트워크 슬라이싱 | 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 목적으로 하는 네트워크 기술 |
| 저전력 블루투스 기술 | 일반 블루투스와 동일한 2.4GHz 주파수 대역을 사용하지만 연결되지 않은 대기 상태에서는 절전 모드를 유지하는 기술 |
| 지능형 초연결망 | 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 과학기술정보통신부 주관 사업 |
| 파장 분할 다중화 | 광섬유를 이용한 통신기술의 하나로, 파장이 서로 다른 복수의 신호를 보냄으로써 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 것 |
| 소프트웨어 정의 데이터 센터(SDDC) | 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터를 의미 |
| 개방형 링크드 데이터(LOD) | Linked Data와 Open Data의 합성어로, 누구나 사용할 수 있도록 웹 상에 공개된 연계 데이터를 의미 |
16. 네트워크 구축
1) 네트워크: 두 대 이상의 컴퓨터를 연결하여 자원을 공유하는 것
2) 성형(중앙 집중형): 중앙에 중앙 컴퓨터가 잇고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식의 네트워크 구성 형태
3) 링형(루프형): 컴퓨터와 단말장치들을 서로 이웃하는 것끼리 연결시킨 포인트 투 포인트 방식의 구성 형태
4) 버스형: 한 개의 통신 회선에 여러 대의 단말 장치가 연결되어 있는 형태
5) 계층형(분산형): 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로부터 연결시키고, 이웃하는 단말장치는 일정 지역내에 설치된 중간 단말장치로부터 다시 연결시키는 형태
6) 망형: 모든 지점의 컴퓨터와 단말장치를 서로 연결하는 형태
- 노드의 수가 n개 일 대 n(n-1)/2개의 회선이 필요하고 노드
7) 네트워크 분류
- 근거리 통신망(LAN): 비교적 가까운 거리에 있는 자원을 연결하여 구성
- 주로 버스형이나 링형 구조 사용
- 광대역 통신망(WAN): 멀리 떨어진 사이트들을 연결하여 구상
8) NAT(네트워크 주소 변환): 한 개의 정식 IP 주소에 대량의 가상 사설 IP주소를 할당 및 연결하는 기능
17. 스위치
1) 스위치 분류: LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
| L2 스위치 | OSI 2계층 | MAC 주소를 기반으로 프레임을 전송함 |
| L3 스위치 | OSI 3계층 | L2 스위치에 라우터 기능이 추가된 것으로, IP주소를 기반으로 패킷을 전송함 |
| L4 스위치 | OSI 4계층 | IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드밸런싱 기능을 제공함 |
| L7 스위치 | OSI 7계층 | IP 주소, TCP/UDP 포트 정보에 패킷 내용까지 참조하여 세밀하게 로드밸런싱함 |
2) 스위칭 방식
- Store and Forwarding: 데이터를 모두 받은 후 스위칭하는 방식
- Cut - through: 데이터의 목적지 주소만을 확인한 후 바로 스위칭하는 방식
- Fragment Free: Store and Forwarding 과 Cut-through 방식의 장점을 결합한 방식
3) 백본 스위치: 네트워크들을 연결할 때 중추적 역할을 하는 네트워크를 백본이라 하고, 백본에서 스위칭 역할을 하는 장비를 백본 스위치라고 함.
4) Hierarchical 3 Layer 모델
| 액세스 계층 | 사용자가 네트워크에 접속할 때 최초를 연결되는 지점으로, 사용자들로부터 오는 통신을 집약해서 디스트리뷰션 계층으로 전송함, L2 스위치 사용 |
| 디스트리뷰션 계층 | 액세스 계층의 장치들이 연결되는 지점으로, 액세스 게층에서 오는 통신을 집약해서 코어 계층으로 전송함, 라우터, L3 스위치 사용 |
| 코어 계층 | 디스트리뷰션 계층에서 오는 통신을 집약해 인터넷에서 연결하는 계층으로 백본 계층이라고도 함, 백본 스위치 사용 |
18. 경로 제어/트래픽 제어
1) 경로 제어: 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능(네비게이션)
2) 경로 제어 프로토콜
| IGP(내부 게이트웨이 프로토콜) | - 하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜 - RIP: 현재 가낭 널리 사용되는 라우팅 프로토콜로 거리 벡터 라우팅 프로토콜로 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용됨 - OSPF: RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용됨 |
| EGP(외부 게이트웨이 프로토콜) | 자율 시스템 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜 |
| BGP | 자율 시스템 간의 라우팅 프로토콜로, EGP의 단점을 보완하기 위해 만들어졌음 |
3) 트래픽 제어: 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능
4) 흐름제어: 송수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능
- 정지-대기: 수신 측의 확인 신호를 받은 후에 다음 패킷을 전송하는 방식
- 슬라이딩 윈도우: 확인 신호, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식
5) 폭주 제어 = 혼합 제어: 네트워크 내의 패킷 수를 조절하여 네트워크 오버플로를 방지하는 기능을 함
- 느린 시작: 윈도우의 크기를 2배씩 지수적으로 증가시켜 초기에는 느리지만 갈수록 빨라짐
- 혼잡 회피: 느린 시작의 지수적 증가가 임계 값에 도달되면 혼잡으로 간주하고 회피를 피해 윈도우의 크기를 1씩 선형적으로 증가시켜 혼잡을 예방하는 방식
19. SW 관련 신기술
| 인공지능(AI) | 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템 |
| 뉴럴링크 | 테슬라의 CEO 일론 머스크가 사람의 뇌와 컴퓨터를 결합하는 기술을 개발하기 위해 2017년 3월 설립한 회사 |
| 딥러닝 | 인간의 두뇌를 모델로 만들어진 인공 신경망을 기반으로 하는 기계학습 기술 |
| 전문가 시스템 | 의료 진단 등과 같은 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램 |
| 증강현실(AR) | 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술로, 혼합현실(MR)이라고도 부름 |
| 블록체인 | P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술 |
| 분산 원장 기술 | 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고 P2P 망내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생하 때마다 지속적으로 갱신되는 디지털 원장 |
| 해시 | 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것 |
| 양자 암호키 분배 | 양자 통신을 위해 비밀키를 분배하여 관리하는 기술 |
| 프라이버시 강화 기술 | 개인정보 침해 위험을 관리하기 위한 핵심 기술 |
| 공통 평가 기준 | 1999년 6월 8일 ISO 15408 표준으로 채택된 정보 보호 제품 평가 기준 |
| 개인정보 영향평가 제도 | 개인정보를 활용하는 새로운 정보시스템의 도입 및 기존 정보 시스템의 중요한 변경 시 시스템의 구축 운영이 기업의 고객은 물론 국민의 사생활에 미칠 영향에 대해 미리 조사,분석,평가하는 제도 |
| 그레이웨어 | 소프트웨어를 제공하는 입장에서 악의적이지 않은 유용한 소프트웨어라고 주장할 수 있지만 사용자 입장에서는 유용할 수도 있고, 악의적일 수 도 있는 애드웨어, 트랙웨어, 기타 악성코드나 악성 공유웨어를 말함 |
| 매시업 | 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술 |
| 리치 인터넷 애플리케이션 | 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통하여 기존 HTML보다 역동적이고 인터랙티브한 웹 페이지를 제공하느 신개념 플래시 웹페이지 제작 기술 |
| 시맨틱 웹 | 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹 |
| 오픈 그리드 서비스 아키텍처 | 기업의 소프트웨어 인프라인 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처 |
| 서비스형 소프트웨어 | 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어 |
| 소프트웨어 에스크로 | 소프트웨어 개발자의 지식재산권을 보호하고 사용자는 저렴한 비용으로 소프트웨어를 안정적으로 사용 및 유지보수 할 수 있도록 소스 프로그램과 기술 정보 등을 제 3의 기관에 보관하는 것 |
| 복잡 이벤트 처리 | 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법 |
| 디지털 트윈 | 현실 속의 사물을 소프트웨어로 가상화한 모델 |
20. HW 관련 신기술
| 고가용성 | 긴 시간동안 안정적인 서비스 운영을위해 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 매커니즘 |
| 3D Printing | 대상을 평면에 출력하는 것이아니라 손으로 만질 수 있는 실제 물체로 만들어 내는 것 |
| 4D Printing | 특정 시간이나 환경 조건이 갖추어지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이 적용된 제품을 3D Printing하는 기술 |
| RAID | 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 잇는 데이터 블록들을 서로 다른 디스크에 분산 저장할 경우, 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있으므로 디스크의 속도가 매우 향상되는 기술 |
| 4K 해상도 | 차세대 고화질 모니터의 해상도를 지칭하는 용어 |
| N-Screen | N 개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스 |
| 컴패니언 스크린 | TV 방송 시청 시 방송 내용을 공유하며 추가적인 기능을 수행할 수 있는 스마트폰, 태블릿PC 등을 의미 |
| 신 클라이언트 PC | 하드디스크나 주변 장치 없이 기본저긴 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터 |
| 패블릿 | 폰과 태블릿의 합성어로, 태블릿 기능을 포함한 5인치 이상의 스마트폰 |
| C형 유에스비 | 범용 인터페이스 규격인 USB의 표준 중 하나임 |
| MEMS | 초정밀 반도체 제조 기술을 바탕으로 센서 등 기게 구조를 다양한 기술로 미세 가공하여 전기기계적동작을 할 수 있도록 한 초미세 장치 |
| 트러스트존 기술 | 하나의 프로세스 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술 |
| 엠디스크 | 한 번의 기록만으로 자료를 영구 보관할 수 잇는 광 저장장치 |
| 멤리스터 | 메모리와 레지스터의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자 |
21. Secure OS
1) Secure OS: 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제
- 암호적 분리: 내부 정보를 암호화하는 방법
- 논리적 분리: 프로세스의 논리적구역을 지정하여 구역을 벗어나는 행위를 제한하는 방법
- 시간적 분리: 동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생하는 보안 취약점을 제거하는 방법
- 물리적 분리: 사용자별로 특정 장비만 사용하도록 제한하는 방법
2) 참조 모니터
- 보호 대상 객체에 대한 접근 통제를 수행하는 추상머신이며, 이것을 실제로 구현한 것이 보안 커널
- 참조 모니터 보안 커널의 특징: 격리성, 검증 가능성, 완전성
22. DB 관련 신기술
| 빅데이터 | 기존의 관리 방법이나 분석 체게로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합 |
| 브로드 데이터 | 다양한 채널에서 소비자와 상호 작용을 통해 생성된 것으로, 기업 마케팅에 있어 효율적이고 다양한 데이터이며, 이전에 사용하지 않거나 알지 못했던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터 |
| 메타 데이터 | 일련의 데이터를 정의하고 설명해주는 데이터 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미함 HTML 문서에서는 메타 태그 내의 내용이 메타 데이터임 |
| 디지털 아카이빙 | 디지털 정보 자원을 장기적으로 보존하기 위한 작업 |
| 하둡 | 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크 |
| 맵리듀스 | 대용량 데이터를 분산처리하기 위한 목적으로 개발된 프로그래밍 모델 |
| 타조 | 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트 |
| 데이터 다이어트 | 데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 저장하는 작업 |
| 데이터 마이닝 | 대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법 |
| OLAP | 다차원으로 이루어진 데이터로부터 통게적인 요약 정보를 분석하여 의사결정에 활용하는 방식 |
23. 회복/병행제어
1) 회복: 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
- 연기 갱신 기법: 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대해 실질적인 갱신을 연기하는 방법
- Redo 작업만 가능
- 즉각 갱신 기법: 트랜잭션이 데이터를 갱신하면 부분 완료되기 전이라도 즉시 실제 DB에 반영하는 방법
- Redo와 Undo 모두 사용 가능
- 그림자 페이지 대체 기법: 갱신 이전의 DB를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사본인 그림자 페이지를 별도 보관해놓고, 실제 페이지를 대상으로 갱신 작업을 수행하다가 장애가 발생하여 트랜잭션 작업을 Rollback시킬 때는 갱신 이후의 실제 페이지 부분을 그림자 페이지로 대체하여 회복시키는 기법
- 검사점 기법: 트랜잭션 실행 중 특정 단계에서 재실행할 수 있도록 갱신 내용이나 시스템에 대한 상황 등에 관한 정보와 함께 검사점을 로그에 보관해두고, 장애 발생 시 트랜잭션 전체를 철회하지 않고 검사점부터 회복 작업을 수행하여 회복 시간을 절약하도록 하는 기법
2) 병행제어: 동시에 실행되는 트랜잭션 간의 상호작용을 제어하는 것
- 로킹: 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스 할 수 있도록 하는 기법
- 타임 스탬프 순서: 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 시간표를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
- 최적 병행 수행: 병행 수행하고자 하는 대부분의 트랜잭션이 판독 전용 트랜잭션일 경우, 트랜잭션 간의 충돌률이 매우 낮아서 병행제어 기법을 사용하지 않고 실행되어도 이 중의 많은 트랜잭션은 시스템 상태를 일관성 있게 유지한다는 점을 이용한 기법
- 다중 버전 기법: 타임 스탬프의 개념을 이용하는 기법, 다중 버전 타임 스탬프 기법이라고도 함
24. 교착 상태
1) 교착상태: 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
2) 교착상태 발생의 필요 충분 조건
- 상호 배제: 한번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함.
- 점유와 대기: 최소한 하나의 자원을 점유하고 잇으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함.
- 비선점: 다른 프로세스에 할당된 자원은 사용이 긑날 때까지 강제로 빼앗을 수 없어야 함.
- 환형 대기: 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 잇어 자기에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함.
3) 교착상태의 해결 방법
- 예방 기법(Prevention): 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법(자원 낭비가 가장 심함)
- 회피 기법(Avoidence): 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법
- 주로 은행원 알고리즘이 사용됨.
- 발견 기법(Detection): 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것
- 회복 기법(Recovery): 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
25. 데이터 표준화
1) 데이터 표준화: 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것
2) 데이터 표준화 구성 요소
- 데이터 표준: 데이터 모델이나 DB에서 정의할 수 있는 모든 오브젝트를 대상으로 데이터 표준화를 수행함
- 데이터 관리 조직: 데이터 표준 원칙이나 데이터 표준의 준수 여부 등을 관리하는 사람들로, 대표적으로 데이터 관리자가 있음.
- 데이터 표준 절차: 데이터 표준화 요구사항 수집 → 데이터 표준 정의 → 데이터 표준 확장 → 데이터 표준 관리
3) 데이터 표준화의 대상: 데이터 명칭, 데이터 정의, 데이터 형식, 데이터 규칙
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 요약 - 12장. 제품 소프트웨어 패키징 (0) | 2022.09.24 |
|---|---|
| 정보처리기사 실기 요약 - 9장. 소프트웨어 개발 보안 구축 (0) | 2022.09.22 |
| 정보처리기사 실기 요약 - 7장. 애플리케이션 테스트 관리 (0) | 2022.09.21 |
| 정보처리기사 실기 요약 - 6장 화면 설계 (0) | 2022.09.20 |
| 정보처리기사 실기 요약 - 5장. 인터페이스 구현 (1) | 2022.09.20 |