[정보처리기사 실기] 과목11 - 응용 SW 기초 기술 활용, 오답노트
Chapter ① 운영체제의 특징
- HRN(Highest Response Ratio Next)
- 대기 중인 프로세스 중 현재 응답률(Response Ratio)이 가장 높은 것을 선택
- SJF의 약점인 기아 현상을 보완한 기법으로 긴 작업과 짧은 작업 간의 불평등 완화
- HRN의 우선순위 = (대기시간 + 서비스 시간) / 서비스 시간
- 특징: 기아 현상(Starvation) 최소화 기법
- 운영체제(OS; Operating System)의 개념
- 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다.
- 운영체제는 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공한다.
- 운영체제는 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당한다.
▼ 운영체제의 개념도
- 윈도즈 운영체제 특징
1) 그래픽 사용자 인터페이스 GUI 제공
2) 선점형 멀티태스킹 방식 제공
3) 자동감지 기능 제공
4) OLE(Object Linking and Enbedding) 사용
*두음쌤: 「지선자 오」
- 윈도즈 운영체제의 기본 명령어
명령어 | 설명 |
ATTRIB | 파일 속성을 표시하거나 바꿈 |
CALL | 한 일괄 프로그램에서 다른 일괄 프로그램을 호출 |
CD | 현재 디렉터리 이름을 보여주거나 바꿈 |
CHKDSK | 디스크를 검사하고 상태 보고서를 표시 |
CLS | 화면을 지움 |
CMD | Windows 명령 프롬프트 창을 열어줌 |
COMP | 두 개 이상의 파일을 비교 |
DISKPART | 디스크 파티션 속성을 표시하거나 구성 |
ECHO | 메시지를 표시하거나 ECHO를 사용 또는 사용하지 않음 |
ERASE | 하나 이상의 파일을 지움 |
EXIT | CMD.EXE 프로그램(명령 인터프리터)를 마침 |
- 프로세스 스케줄링 주요 용어
용어 | 설명 |
서비스 시간 | - 프로세스가 결과를 산출하기까지 소요되는 시간 |
응답시간 (Response Time) |
- 프로세스들이 입력되어 서비스를 요청하고, 반응하기 시작할 때까지 소요되는 시간 |
반환시간 (Turnaround Time) |
- 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간 - 반환시간 = 대기시간 + 수행시간 |
대기시간 | - 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간 - 프로세스가 도착 즉시 프로세서에 할당되면 대기시간은 '0'이 됨 |
- 가상화 기술요소
기술요소 | 설명 |
컴퓨팅 가상화 | - 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술 - 서버 가상화를 통해 하나의 시스템에서 1개 이상의 운영체제를 동시에 가동시킬 수 있으므로, 서버 이용률이 크게 향상 - 예) 하이퍼바이저(hypervisor) |
스토리지 가상화 | - 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술 - 이기종 스토리지 시스템의 통합을 가능하게 하는 기술 - 예) 분산 파일 시스템 |
I/O 가상화 | - 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술 - 예) 가상 네트워크 인터페이스 카드 |
컨테이너 | - 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술 - 하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음 - 예) 도커 |
분산처리 기술 (Distributed Computing) |
- 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술 |
네트워크 가상화 기술 |
- 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치 등)의 가상화를 통한 가상 네트워크(Virtual Network)를 지원하는 기술 - 예) SDN, NFV |
- 인프라형 서비스(Iaas; Infrastructure as a Service)
- 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- 컴퓨팅 자원에 운영체제나 애플리케이션 등의 소프트웨어 탑재 및 실행
- 하위의 클라우드 인프라를 제어하거나 관리하지 않지만 스토리지, 애플리케이션에 대해서는 제어권을 가짐
- 선점형 스케줄링 알고리즘의 유형
알고리즘 유형 | 동작 방식 | 특징 |
라운드 로빈 (Round Robin) |
- 프로세스는 같은 크기의 CPU 시간을 할당(시간 할당량), 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어감 | - 균등한 CPU점유시간 - 시분할 시스템을 사용 |
SRT(Shortest Remaining Time First) |
- 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨 | - 짧은 수행시간 프로세스 우선 수행 |
다단계 큐 (Multi Level Queue) |
- 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 당함 - 각 큐는 자신만의 독자적인 스케줄링을 가짐 |
- 독립된 스케줄링 큐 |
다단계 피드백 큐(Multi Level Feedback Queue) |
- 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여 - FCFC(FIFO)와 라운드 로빈 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이동하고 마지막 단계는 라운드 로빈 방식을 적용 |
- 큐마다 다른 시간 할당량 - 마지막단계는 라운드 로빈 방식 처리 |
- SJF(Shortest Job First)
- 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유
- 준비 큐 작업 중 가장 짧은 작업부터 수행, 평균 대기 시간 최소
- CPU 요구 시간이 긴 작업과 짧은 작업 간의 불평등이 심하여, CPU 요구 시간이 긴 프로세스는 기아 현상 발생
Chapter ② 네트워크 기초 활용하기
- 프로토콜의 3요소
기분 3요소 | 설명 |
구문(Syntax) | 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정 |
의미(Semantic) | 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정 |
타이밍(Timing) | 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정 |
*두음쌤: 「구의타」
- OSPF(Open Shortest Path First) 개념
- OSPF는 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태(Link-State) 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜이다.
- OSPF 특징은 다익스트라 알고리즘 사용, 라우팅 메트릭 지정 등이 있다.
- ICMP(Internet Control Message Protocol)
- IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜로 메시지 형식은 8바이트의 헤더와 가변 길이의 데이터 영역으로 분리
- 수신지 도달 불가 메시지는 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용
- ICMP 프로토콜을 사용해서 ping 유틸리티의 구현을 통해 오류가 발생했음을 알리는 기능을 수행
- RARP(Reverse Address Resolution Protocol)
- IP 호스트가 자신의 물리 네트워크 주소(MAC)은 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
- 물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 역순 주소 결정 프로토콜
- OSI 7 Layer의 특징
계층 이름 | 설명 | 프로토콜 | 전송단위 | 장비 |
응용 계층 (Application Layer) |
- 사용자와 네트워크 간 응용서비스 연결, 데이터 생성 | - HTTP - FTP |
데이터 (Data) |
호스트 (PC 등) |
표현 계층 (Presentation Layer) |
- 데이터 형식 설정, 부호교환, 암 · 복호화 | - JPEG - MPEG |
||
세션 계층 (Session Layer) |
- 송수신 간의 논리적인 연결 - 연결 접속, 동기제어 |
- RPC - NetBIOS |
||
전송 계층 (Transport Layer) |
- 송수신 프로세스 간의 연결 - 신뢰성 있는 통신 보장 - 데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어 |
- TCP - UDP |
세그먼트 (Segment) |
L4 스위치 |
네트워크 계층 (Network Layer) |
- 단말기 간 데이터 전송을 위한 최적화된 경로 제공 | - IP -ICMP |
패킷 (Packet) |
라우터 |
데이터링크 계층 (Data Link Layer) |
- 인접 시스템 간 데이터 전송, 전송 오류 제어 - 동기화, 오류 제어, 흐름 제어, 회선 제어 |
- HDLC - PPP |
프레임 (Frame) |
브리짓, 스위치 |
물리계층 (Physical Layer) |
- 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 | - RS-232C | 비트 (Bit) |
허브, 리피터 |
- 애드 혹 네트워크(Ad-hoc Network)의 개념
애드 혹 네트워크(Ad-hoc Network)는 노드(Node)들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크이다.
- 애드 혹 네트워크의 특징
- 네트워크의 구성 및 유지를 위해 기지국이나 액세스 포인트와 같은 기반 네트워크 장치를 필요로 하지 않는 네트워크이다.
- 애드 혹(Ad-hoc) 노드들은 무선 인터페이스를 사용하여 서로 통신하고, 멀티 홉 라우팅 기능에 의해 무선 인터페이스가 가지는 통신 거리상의 제약을 극복하며, 노드들의 이동이 자유롭기 때문에 네트워크 토폴로지가 동적으로 변화되는 특징이 있다.
- 애드 혹 네트워크는 완전 독립형이 될 수도 있고, 인터넷 게이트웨이를 거쳐 인터넷과 같은 기반 네트워크와 연동될 수 있다.
- 애드 혹 네트워크 활용 분야는 긴급 구조, 긴급회의, 전쟁터에서의 군사 네트워크가 있다.
- 패킷 교환 방식의 종류
구분 | 데이터그램(Datagram) 방식 | 가상 회선(Virtual Circuit) 방식 |
개념 | - 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식 | - 패킷이 전송되기 전에 송 · 수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식 |
동작 원리 및 특징 |
- 각각의 패킷을 독립적으로 취급하는 방식으로 앞에 보낸 메시지나 앞으로 보낼 메시지의 어떤한 결과와도 관계가 없는 단일 패킷 단위로 전송하고 수신하는 방식 - 헤더를 붙여서 개별적으로 전달하는 비연결형 교환 방식 |
- 많은 이용자들이 상호 통신을 할 때 하나의 통신설비를 공유하여 여러 개의 논리적인 채널을 확정한 후 통신을 할 수 있는 방식 - 목적지 호스트와 미리 연결 후 통신하는 연결형 교환 방식 |
- 네트워크(Network) 개념
네트워크란 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다.
- X.25
- 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜이다.
- 특징으로는 고정된 대역폭, 패킷 사용, 1~3계층 담당, 송수신 신뢰성, 성능 저하가 있다.
- 전기 통신 국제기구인 ITU_T에서 관리 감독하는 프로토콜이다.
- ATM(Asynchronous Transfer Mode)
- ATM은 비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법이다.
- 동기화를 맞추지 않아 보낼 데이터가 없는 사용자의 슬롯은 다른 사람이 사용할 수 있도록 하여 네트워크상의 효율성을 높였다.
- ATM망은 연결형 회선이기 때문에 하나의 패킷을 보내 연결을 설정하게 되고 이후 실데이터 전송이 이루어진다.
- ATM은 OSI 7계층과는 다른 고유한 참조 모델을 가지고 있다.(AAL, ATM계층, 물리계층)
- 프로토콜 특징
특징 | 설명 |
단편화 | 전송이 가능한 작은 블록으로 나누어지는 기법 |
재조립 | 단편화되어 온 조각들을 원래 데이터로 복원하는 기법 |
캡슐화 | 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법 |
연결 제어 | 데이터의 전송량이나 속도를 제어하는 기법 |
오류 제어 | 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법 |
동기화 | 송신과 수신 측의 시점을 맞추는 기법 |
다중화 | 하나의 통신 회선에 여러 기기들이 접속할 수 있는 기술 |
주소 지정 | 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기법 |
- UDP의 특징
특징 | 설명 |
비신뢰성 | - 데이터그램 지향의 전송계층용 프로토콜(논리적인 가상회선 연결이 필요 없음) - 메시지가 제대로 도착했는지 확인하지 않음(확인응답 없음) - 검사 합을 제외한 특별한 오류 검출 및 제어 없음(오류 제어 거의 없음) |
순서화되지 않은 데이터그램 서비스 제공 |
- 수신된 메시지의 순서를 맞추지 않음 - 흐름 제어를 위한 피드백을 제공하지 않음 |
실시간 응용 및 멀티캐스팅 가능 |
- 빠른 요청과 응답이 필요한 실시간 응용에 적합 - 여러 다수 지점에 전송 가능 |
단순 헤더 | - 헤더는 고정 크기의 8바이트(TCP는 20바이트)만 사용 - 헤더 처리에 시간과 노력을 필요하지 않음 |
- IPv6의 특징
IPv6의 특징으로는 IP 주소의 확장, 이동성, 인증 및 보안 기능, 개선된 QoS 지원, Plug&Play 지원, Ad-hoc 네트워크 지원, 단순 헤더 적용, 실시간 패킷 추적 가능이 있다.
- 라우팅 알고리즘의 유형
유형 | 설명 |
거리 벡터 알고리즘 (Distance Vector Algorithm) |
- 거리 벡터 알고리즘은 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘 - 벨만-포드(Bellman-Ford) 알고리즘 사용 - 각 라우터가 업데이트될 경우마다 전체 라우팅 테이블을 보내라고 요청하지만 수신된 경로 비용 정보는 이웃 라우터에게만 보내짐 |
링크 상태 알고리즘 (Link State Algorithm) |
- 링크 상태 알고리즘은 링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘 - 다익스트라(Dijkstra) 알고리즘 사용 - 링크 상태 알고리즘을 사용하면 네트워크를 일관성 있게 파악할 수 있느나 거리 벡터 알고리즘에 비하여 계산이 더 복잡하고 트래픽을 광범위한 범위까지 전달 |
- RIP(Routing Information Protocol)
- RIP는 AS(Autonomous System; 자치 시스템; 자율 시스템) 내에서 사용하는 거리 벡터(Distance-Vector) 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜이다.
- RIP의 특징으로는 벨만-포드 알고리즘 사용, 15홉 제안, UDP 사용, 30초마다 정보 공유가 있다.
- OSPF(Open Shortest Path First)
- OSPF는 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태(Link-State) 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜이다.
- OSPF의 특징으로는 다익스트라 알고리즘 사용, 라우팅 메트릭 지정, AS 분할 사용, 홉 카운트 무제한, 멀티캐스팅 지원이 있다.
- 프로토콜(Protocol) 개념
- 프로토콜은 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다.
- 심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 프로토콜이라고 정의했다.
- 통신을 위해 프로토콜이 가져야 하는 일반적인 기능에는 데이터 처리 기능, 제어기능, 관리적 기능이 있다.
Chapter ③ 기본 개발환경 구축하기
- 리눅스의 종류 및 특징
구분 | 종류 | 특징 |
데비안 계열 | Debian GNU/ Linux |
- 개발자 패키지와 매뉴얼이 활성화되어 있어 개발자에게 최적화되어 있음 |
Ubuntu | - 가장 광범위하게 쓰이는 Linux 운영체제 - 다양한 개발자용 패키지 제공 - Software Center를 통해 응용 소프트웨어 공급 |
|
Redhat 계열 |
Fedora | - 스마트 설정과 업데이트로 사용자 편의성 제공 - 안정화된 운영과 다양한 하드웨어 지원 |
CentOS | - 프로그래밍에 최적화된 환경 제공 - RHEL 소스로 컴파일되어 해당 계열의 프로그램 대다수 사용 가능 |
|
기타 | openSUSE | - 안정화된 버전(openSUSE)과 테스트 중인 버전(Tumbleweed)을 동시에 공급 - YaST 패키지를 통해 태스크 자동화 지원 |
Slackware | - 다양한 소프트웨어와 그래픽 유저 인터페이스가 미리 설치 - 시스템 관리자를 위한 복구 툴 내장 |
- 운영체제 운용 기준
구분 | 기준 |
서버 운영체제 운영 기준 |
- 운용 아키텍처 및 기능 파악 - 네트워크 구성 현황 및 장비 매뉴얼 확보 - 장비 가동 및 중지 매뉴얼 확인 - 백업 주기, 보안 업데이트 주기 설정 및 점검 - 트러블 발생 시 대처 방안 마련 |
개별 PC용 운영 체제 운용 기준 |
- 정기적인 데이터 백업 - 주기적 보안 업데이트 - 시스템 백업 정례화 - 트러블 발생 시 문의처 정보 확인 |
- 개발환경 지원 도구
개발 환경 | 설명 | 도구 |
설계 | ERD를 통한 자동화된 데이터 모델링, UML 자동 생성 | DBdesigner |
형상 관리 | 개발 산출물 관리, 변경통제 | Subversion |
프로젝트 관리 | 일정 관리를 위한 간트 차트, 네트워크 다이어그램, WBS 등 제공 | Redmine, OpenProj |
- 클라우드 기반 개발환경 인프라 제공 범위
구분 | 설명 |
스토리지 | - 대규모 데이터를 저장, 관리, 전송, 이중화하기 위한 저장 장치 세팅 - 클라우드 기반 스토리지 세팅 - 데이터 안정성 향상을 위한 아카이브 스토리지 세팅 - 페타/엑사 바이트 단위 전송이 가능한 전송 스토리지 세팅 |
데이터베이스 | - 실데이터를 저장하고 관리하기 위한 데이터베이스 세팅 - 고성능 관계형 데이터베이스 세팅 - 인메모리 데이터베이스 세팅 - 대규모 데이터 운영을 위한 웨어하우징 세팅 - 그래픽, 음성 등 멀티미디어 데이터 처리를 위한 환경 세팅 |
네트워킹 전송 | - 구성된 서비스, 프로그램, 콘텐츠를 효율적으로 전달하기 위한 환경 세팅 - 콘텐츠 전송용 CDN 구축 - API 제공용 환경 구축 - 대규모 로드 밸런싱 환경 구축 |
Reference
2022 수제비 정보처리기사 실기 (1권+2권 합본세트) - 예스24
NCS 기반으로 재구성한 합격비법서로 NCS 기반 반영 문제(예상문제, 단원종합문제, 모의고사, 2021년 기출문제)를 수골하였다. 2022년 합격을 위한 NCS 기반 모의고사, 궁극의 암기비법(두음 쌤)과 학
www.yes24.com