[정보처리기사] 실기 11단원 '응용 SW 기초 기술 활용' 정리
운영체제
: 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
프로세스 스케줄링 유형
선점형 스케줄링 | 비선점형 스케줄링 | |
개념 | 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식 | 한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 반환 시까지다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식 |
선점형 스케줄링 알고리즘의 유형 (SMMR)
SRT (Shortest Remaining Time First) |
- 가장 짧은 시간이 소요되는 프로세스를 먼저 수행 |
다단계 큐 (Multi Level Queue) |
- 각 큐는 독자적인 스케줄링을 가진다 - 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용해 상위단계 작업에 의한 하위단계 작업이 선점 당하는 알고리즘 |
다단계 피드백 (Multi Level Feedback Queue) |
|
라운드 로빈 (Round Robin) |
- 프로세스는 같은 크기의 CPU 시간을 할당 - 할당된 시간 내에 처리 완료를 하지 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어가는 알고리즘 |
비선점형 스케줄링 알고리즘의 유형 (우기 HFS)
우선순위 | |
기한부 | |
HRN (Highest Response Ratio Next) |
- 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택 - 기아 현상 최소화 기법 - 우선순위 = (대기시간 + 서비스 시간) / 서비스 시간 |
FCFS (First Come First Service) |
|
SJF (Shortest Job First) |
- 가장 짧은 작업부터 수행하고, 평균 대기시간이 최소가 됨 - CPU 요구 시간이 긴 프로세스는 기아 현상이 발생 |
기아 현상 | 시스템 부하가 많아서 준비 큐에 있는 낮은 등급의 프로세스가 무한정 기다리는 현상 |
에이징 (Aging) | 기아 현상을 해결하기 위한 기법으로 오랫동안 기다린 프로세스의 우선순위를 높여주는 기법 |
프로세스 스케줄링 주요 용어
서비스 시간 | ㄹ소요되는 시간 |
응답시간 | 반응하기 시작할 때까지 소요되는 시간 |
반환시간 | 프로세스들이 입력되어 수행하고 결과를 산출할 때까지 소요되는 시간 대기시간 + 수행시간 |
대기시간 | 큐에 대기하는 시간 |
유닉스(Unix) 계열 운영체제
: 데니스 리치와 켄 톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C 언어로 구현되어 있는 운영체제로 범용 다중 사용자 방식의 시분할 운영체제
유닉스 특징 (대다사이계)
대화식 운영체제 기능 제공 | |
다중 작업 기능 제공 | |
다중 사용자 기능 제공 | |
이식성 제공 | 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능 |
계층적 트리 구조 파일 시스템 제공 |
윈도즈 운영체제 특징 (G선자 오)
그래픽 사용자 인터페이스(GUI) 제공 | 키보드 없이 마우스로 작업을 수행하는 그래픽 기반의 인터페이스 방식 |
선점형 멀티태스킹 방식 제공 | 동시에 여러 개의 프로그램을 실행하면서 운영체제가 각 작업의 CPU이용 시간을 제어 |
자동감지 기능 제공 | |
OLE(Object Linking and Embedding) 사용 | 개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집할 수 있게 하는 기능 |
윈도즈 운영체제의 기본 명령어 (대문자)
ATTRIB | |
CALL | |
CD | 현재 디렉터리의 이름을 보여주거나 바꿈 |
CHKDSK | 디스크를 검사하고 상태 보고서를 표시 |
CLS | 화면을 지움 |
CMD | 명령 프롬프트 창을 열어줌 |
COMP | |
DISKPART | |
ECHO | |
ERASE | 하나 이상의 파일을 지움 |
EXIT | 명령 인터프리터를 마침 |
리눅스 / 유닉스 계열의 기본 명령어 (소문자)
ls | 자신이 속해있는 폴더 내에서의 파일 및 폴더들을 표시 |
pwd | 현재 작업 중인 디렉토리의 절대 경로 출력 |
rm | 파일 삭제 명령어 |
cp | 파일 복사 명령어 |
mv | 파일 이동 명령어 |
cat | 파일의 내용을 화면에 출력 |
chmod | 특정 파일 또는 디렉토리의 퍼미션 수정 명령어 |
chown | 파일이나 디렉토리의 소유자, 소유 그룹 수정 명령어 |
프로세스 상태 (생준 실대완)
: 생성 -> 준비 -> 실행 -> 대기 -> 완료
가상화
: 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
가상화 기술요소
컴퓨팅 가상화 | 물리적으로 컴퓨터를 논리적으로 나눠서 리소스를 활용할 수 있도록 하는 기술 ex) 하이퍼바이저 |
스토리지 가상화 | 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술 ex) 분산 파일 시스템 |
I/O 가상화 | |
컨테이너 | 컨테이너화된 애플리케이션들이 단일 운영체제 상에서 실행되도록 해주는 기술 ex) 도커(Docker) |
분산처리 기술 | 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산 문제나 대용량의 데이터를 처리하고 저장하는 기술 |
네트워크 가상화 기술 | - 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단 - 중계장치(라우터, 스위치)의 가상화 수행 ex) SDN, NFV |
클라우드 컴퓨팅
: 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술
클라우드 컴퓨팅 분류 (사공하)
: 사설 클라우드 / 공용 클라우드 / 하이브리드 클라우드
클라우드 서비스 유형 (인플소)
인프라형 서비스 (IaaS; Infrastructure as a Service) |
- 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스 |
플랫폼형 서비스 (PaaS; Platform as a Service) |
- 인프라를 생성, 관리하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게하는 플랫폼을 제공 |
소프트웨어형 서비스 (SaaS; Software as a Service) |
- 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스 |
OSI 7 Layer (아(A)파(P)서(S) 티(T)내(N)다(D) 피(Phy)나다)
응용 계층 (7) (Application Layer) |
- 사용자와 네트워크 간 응용서비스 연결, 데이터 생성 - 사용자 친화 환경 제공 (이메일, 웹 등) |
HTTP, FTP |
표현 계층 (6) (Presentation Layer) |
데이터 형식 설정, 부호 교환, 암 / 복호화 | JPEG, MPEG |
세션 계층 (5) (Session Layer) |
- 송수신 간의 논리적인 연결 - 연결 접속, 동기 제어 |
RPC, NetBIOS |
전송 계층 (4) (Transport Layer) |
- 송수신 프로세스 간의 연결 - 신뢰성 있는 통신 보장 - 데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어 |
TCP, UDP |
네트워크 계층 (3) (Network Layer) |
단말기 간 데이터 전송을 위한 최적화 경로 제공 | IP, ICMP |
데이터링크 계층 (2) (Data Link Layer) |
- 인접 시스템 간(직접적으로 연결된) 데이터 전송, 전송 오류 제어 - 동기화, 오류 제어, 흐름 제어, 회선 제어 |
HDLC, PPP |
물리 계층 (1) (Physical Layer) |
- 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 | RS-232C |
네트워크 장비
1계층 장비
허브 | 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비 |
리피터 | 디지털 신호를 증폭시켜 주는 역할 |
2계층 장비
브리지 | 두 개의 근거리통신망(LAN)을 서로 연결해 주는 통신망 연결 장치 |
L2 스위치 | 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치 1) Store and Forwading : 데이터를 전부 받은 후 다음 처리를 하는 방식 2) Cut Through : 데이터의 목적지 주소만 확인 후 바로 전송 처리하는 방식 3) Fragment Free : 프레임의 앞 64바이트만을 읽어 에러를 처리하고 목적지 포트로 전송 |
NIC | 외부 네트워크와 접속하여 가장 빠른 속도로 데이터를 주고받을 수 있게 컴퓨터 내에 설치되는 장치 |
스위칭 허브 | 스위치 기능을 가진 허브 |
3계층 장비
라우터 | - LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비 - 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전송시키는 장비 |
게이트웨이 | 프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치 |
L3 스위치 | - 3계층에서 네트워크 단위들을 연결하는 통신 장비 - IP 레이어에서의 스위칭을 수행하여 외부로 전송 |
유무선 인터넷 공유기 | 외부로부터 들어오는 인터넷 라인을 연결하여 유선으로 여러 대의 기계를 연결하거나 무선 신호로 송출하면서 여러 대의 컴퓨터가 하나의 인터넷 라인을 공유할 수 있도록 하는 네트워크 장비 |
망(백본) 스위칭 허브 | 광역 네트워크를 커버하는 스위칭 허브 |
프로토콜
: 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약
프로토콜의 기본 3요소 (구의타)
구문 (Syntax) | 데이터 형식, 코딩, 신호, 레벨 등의 규정 |
의미 (Sementic) | 제어 정보로 조정과 에러 처리를 위한 규정 |
타이밍 (Timing) | 속도 조절과 순서 관리 규정 |
<아래에 나와있는 예시들은 모두 계층별 프로토콜 예시들>
데이터 링크 계층 (2계층)
: 링크의 설정과 유지 및 종료를 담당하며 노드 간의 회선 제어, 흐름 제어, 오류 제어 기능을 수행
HDLC (High-level Data Link Control) |
|
PPP (Point-to-Point Protocol) |
|
프레임 릴레이 | |
ATM (Asynchronous Transport Model) |
비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법 |
네트워크 계층 (3계층)
: 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공
IP (Internet Protocol) |
|
ARP (Address Resolution Protocol) |
|
RARP (Reverse Address Resolution Protocol) |
물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 역순 주소 결정 프로토콜 |
ICMP (Internet Control Message Protocol) |
- IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 - 메시지 형식은 8바이트의 헤더와 가변 길이의 데이터 영역으로 분리 - ping 유틸리티의 구현을 통해 오류가 발생했음을 알리는 기능을 수행 |
IGMP (Internet Group Management Protocol) |
|
라우팅 프로토콜 |
IPv4 | IPv6 | |
주소 길이 | 32bit | 128bit |
표시 방법 | 8비트씩 4부분 | 16비트씩 8부분 |
주소 할당 | 클래스 단위 비순차적 할당 (비효율적) |
네트워크 규모 및 단말기 수에 따른 순차적 할당 (효율적) |
헤더 크기 | 가변 | 고정 |
전송 방식 | 유멀브 / 유니캐스트, 멀티캐스트, 브로드 캐스트 | 유멀애 / 유니캐스트, 멀티캐스트, 애니캐스트 |
라우팅 프로토콜
(1) RIP (Routing Information Protocol)
벨만-포드 알고리즘 사용 |
15홉 제한 |
UDP 사용 |
30초마다 정보 공유 |
(2) OSPF (Open Shortest Path First)
: 규모가 크고 복잡한 TCP / IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용해 최단 경로를 찾는 라우팅 프로토콜
: 대표적인 내부 라우팅 프로토콜로 다익스트라 알고리즘을 이용한 대규모 네트워크에 적합한 링크 상태 라우팅 프로토콜
다익스트라 알고리즘 사용 |
라우팅 매트릭 지정 |
AS 분할 사용 |
홉 카운트 무제한 |
멀티캐스팅 지원 |
(3) BGP (Border Gateway Protocol)
- ISP 사업자들 상호 간에 주로 사용되는 라우팅 프로토콜
- 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공
(4) IGRP
- RIP의 문제점 개선을 위해 시스코에서 개발
- 네트워크 상태를 고려하여 라우팅 (대역폭, 속도 등)
(5) 라우팅 알고리즘
거리 벡터 알고리즘 (Distance Vector Algorithm) |
- 벨만-포드 알고리즘 사용 ex) RIP - 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정 - 수신된 경로 비용 정보는 이웃 라우터에게만 보내짐 |
링크 상태 알고리즘 (Link State Algorithm) |
- 다익스트라 알고리즘 사용 ex) OSFP - 링크 상태 정보를 모든 라우터에 전달 - 계산이 더 복잡하고 트래픽을 광범위한 범위까지 전달 |
전송 계층 (4계층)
: 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층
(1) TCP (Transmission Control Protocol) (신연흐혼)
: 전송계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜
신뢰성 보장 | |
연결 지향적 특징 | |
흐름 제어 | |
혼잡 제어 |
(2) UDP (User Datagram Protocol)
: 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터그램 서비스를 제공하는 전송계층 프로토콜
세션 계층 (5계층)
: 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당
RPC (Remote Procedure Call) |
|
NetBIOS (Network Basic Input / Output System) |
표현 계층 (6계층)
: 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할
JPEG | 이미지 |
MPEG | 멀티비다오 |
응용 계층 (7계층)
: 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할
HTTP (Hyper Text Transfer Protocol) |
- 텍스트 기반의 통신 규약 - 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜 |
FTP (File Transfer Protocol) |
- TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜 |
SMTP (Simple Mail Transfer Protocol) |
|
POP3 (Post Office Protocol. 3) |
|
IMAP (Internet Messaging Access Protocol) |
|
Telnet | |
SSH (Secure Shell) |
- Telnet 보다 강력한 보안을 제공하는 원격접수 프로토콜 |
SNMP (Simple Network Management Protocol) |
패킷 교환 방식 (네트워크 전달 방식 1)
: 컴퓨터 네트워크와 통신의 방식 중 하나로 작은 블록 단위로 데이터를 전송하며 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식
패킷 교환 방식 종류 | 데이터 그램(Datagram) 방식 | 가상회선 방식 |
개념 | 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식 | 패킷이 전송되기 전에 송/수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식 |
동작 원리 및 특성 | 헤더를 붙여서 개별적으로 전달하는 비연결형 교환 방식 | 목적지 호스트와 연결 후 통신하는 연결형 교환 방식 |
X.25
- 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
- 고정된 대역폭을 갖고 신뢰성 있는 통신을 하지만 복잡한 기능으로 인해 ISDN등의 고속망으로 대체되는 통신 기술
ATM(Asychronous Transfer Mode)
: 비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법
ATM 계층
AAL (ATM Adaptation Layer) | 패킷을 작은 조각인 셀로 전송한 후 다시 조립하여 원래의 데이터로 복원하는 역할 |
ATM 계층 | 셀과 셀 전송 역할을 담당 |
물리 계층 | 물리적 전송 매체를 처리하는 역할 |
서킷 교환 방식 (네트워크 전달 방식 2)
: 네트워크 리소스를 특정 사용층이 독점하도록 하는 통신 방식
전송 보장 | 네트워크를 독점적으로 사용하기 때문에 전송이 보장 |
서킷 확보 작업 | 서킷을 확보하기 위한 작업을 진행하고 실데이터를 전송하며 서킷을 닫는 프로세스로 진행 |
에드 혹 네트워크 (Ad-hoc Network)
: 노드 (Node)들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크
- 네트워크의 구성 및 유지를 위해 기지국이나 액세스 포인트와 같은 기반 네트워크 장치를 필요로 하지 않는 네트워크
네트워크 기법
단편화 | 전송이 가능한 작은 블록으로 나누어지는 기법 |
재조립 | 단편화되어 온 조각들을 원래 데이터로 복원하는 기법 |
캡슐화 | 상위계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법 |
연결 제어 | 데이터의 전송량이나 속도를 제어하는 기법 |
오류 제어 | 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법 |
동기화 | 송신과 수신 측의 시점을 맞추는 기법 |
다중화 | 하나의 통신 회선에 여러 기기들이 접속할 수 있는 기술 |
주소 지정 | 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기법 |
프로세스 관리 기법
- CPU와 데이터를 송수신하는 상황에서 현재 메모리 사용부분, 메모리 입출력 순서, 메모리 공간 확보 등 수행
- 일시 중지 및 재실행, 동기화, 통신, 교착상태 처리, 프로세스 생성 삭제 가 있다.