본문 바로가기
자격증/정보처리기사 실기

시나공 정보처리기사 실기 요약 11장 응용 SW 기초 기술 활용

by 리드민 2021. 9. 30.
반응형

SECTION 162 운영체제의 개념

(2) 운영체제의 목적

운영체제의 목적에는 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등이 있다.

처리 능력(Thoughput) 일정 시간 내에 시스템이 처리하는 일의 양
반환 시간(Turn Around Time) 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
사용 가능도(Availability) 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
신뢰도(Reliability) 시스템이 주어진 문제를 정확하게 해결하는 정도

 

SECTION 163 운영체제의 종류

(2) UNIX

UNIX는 1960년대 AT&T 벨(Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제이다.

시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제이다.

소스가 공개된 개방형 시스템(Open System)이다.

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

(3) UNIX 시스템의 구성

구성 요소 설명
커널(Kernel) 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역활을 담당함
UNIX의 가장 핵심적인 부분임
프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입/출력 관리, 프로세스가 통신, 데이터 전송 및 변환등 여러가지 기능을 수행함
쉘(Shell) 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기임
시스템과 사용자 간의 인터페이스를 담당함
종류 : Bourne Shell, C Shell, Korn Shell
유틸리티 프로그램(Utility Program) 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용함
DOS에서의 외부 명령어에 해당됨
종류 : 에디터, 컴파일러, 인터프리터, 디버거 등

(4) UNIX

LINUX는 1991년 리누스 토발즈(Linux Torvalds)가 UNIX를 기반으로 개발한 운영체제이다.

프로그램 소스 코드가 무료로 공개되어 있기 때문에 프로그래머가 원하는 기능을 추가할 수 있다.

다양한 플랫폼에 설치하여 사용이 가능하며, 재배포가 가능하다.

UNIX와 완벽하게 호환된다.

대부분의 특징이 UNIX와 동일하다.

(6) Android

Android는 구글(Google)사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제이다.

 

SECTION 164 기억장치 관리

(3) 배치(Placement) 전략

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

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

(4) 교체(Replacement) 전략

이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략

종류 : FIFO, OPT, LRU, LFU, NUR, SCR 등

 

SECTION 165 주기억장치 할당 기법

(1) 주기억장치 할당

연속 할당 기법 프로그램을 주기억장치에 연속으로 할당하는 기법
종류 : 단일 분할 할당 기법, 다중 분할 할당 기법
분산 할당 기법 프로그램을 특정 단위의 조각으로 나누어 주기억장치 ㅐㄴ에 분산하여 할당하는 기법
종류 : 페이징 기법, 세그먼테이션 기법

(3) 다중 분할 할당 기법

고정 분할 할당 기법 = 정적 분할 할당 기법 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비중인 프로그램을 각 영역에 할당하여 수행하는 기법
가변 분할 할당 기법 = 동적 할당 기법 주기억장치를 미리 분할해 놓지 않고 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
고정 분할 할당 기법의 단편화를 줄이기 위해 사용됨

 

SECTION 166 가상기억장치 구현 기법

(1) 가상기억장치(Virtual Memory)

가상기억장치는 보조기억장치의 일부를 주기억장치처럼 사용하는 것이다.

가상기억장치의 일반적인 구현 방법 : 페이징 기법, 세그먼테이션 기법

(2) 페이징(Paging) 기법

프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법이다.

내부 단편화는 발생할 수 있다.

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

프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법이다.

 

SECTION 167 페이지 교체 알고리즘

(3) FIFO(First In First Out)

가장 먼저 들어와서 가장 오래 있었떤 페이지를 교체하는 기법이다.

예제) 다음의 참조 페이지를 세 개의 페이지 프레임을 가진 기억장치에서 FIFO 알고리즘을 사용하여 교체했을 때 페이지 부재의 수는?(단, 초기 페이지 프레임은 모두 비어 있는 상태이다.)

(4) LRU(Least Recently Used)

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

(6) NUR(Not Used Recently)

최근의 사용 여부를 확인하기 위해서 각 페이지마다 두 개의 비트, 즉 참조 비트(Reference Bit)와 변형 비트(Modified Bit, Dirty Bit)가 사용된다.

 

SECTION 168 가상기억장치 기타 관리 사항

(2) Locality

Locality(국부성, 지역성, 구역성, 국소성)는 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론이다.

스래싱을 방지하기 위한 워킹 셋 이론의 기반이 되었다.

(3) 워킹 셋 (Working Set)

워킹 셋은 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합이다.

프로그램의 움직임에 대한 모델로, 프로그램의 Locality 특징을 이용한다.

자주 참조되는 워킹 셋을 주기억장치에 상주

(4) 스래싱(Thrashing)

스레싱은 프로세스의 처리 시간보다 페이지 교체에 소용되는 시간이 더 많아지는 현상이다.

전체 시스템의 성능이 저하된다.

 

SECTION 169 프로세스의 개요

(1) 프로세스(Process)

- PCB를 가진 프로그램

- 실기억장치에 저장된 프로그램

- 프로세서가 할당되는 실체로서, 디스패치가 가능한 단위

- 프로시저가 활동중인 것

- 비동기적 행위를 일으키는 주체

(2) PCB(Process Control Block, 프로세스 제어 블록)

PCB는 운영체제가 프로세스에 대한 중요한 정볼르 저장해 놓는 곳이다.

(3) 프로세스 상태 전이

상태 내용
준비(Ready) 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
실행(Run) 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
대기(Wait),
블록(Block)
프로세스에 입/출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입/출력 처리가 완료될 때까지 대기하고 있는 상태
종료(Terminated, Exit) 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

(4) 프로세스 상태 전이 관련 용어

용어 내용
Dispatch 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
Wake Up 입/출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이 되는 과정

(5) 스레드(Thread)

스레드는 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위 또는 프로세스 내에서의 작업 단위로 사용된다.

하나의 프로세스에 하나의 스레드가 존재하는 경우에는 단일 스레드, 하나 이상의 스레드가 존재하는 경우에는 다중 스레드라고 한다.

프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 한다.

 

SECTION 170 스케줄링

(3) 비선점(Non-Preemptive) 스케줄링

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

일괄 처리 방식에 적합하다.

(4) 선점(Preemptive) 스케줄링

우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법이다.

대화식 시분할 시스템에 사용된다.

종류 : Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등

 

SECTION 171 주요 스케줄링 알고리즘

(3) HRN(Hightest Response-ratio Next)

우선순위 계산식 = (대기 시간 + 서비스 시간) / 서비스 시간

 

SECTION 172 환경 변수

(1) 환경 변수(Environment Variable)

시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임

(2) Windows의 주요 환경 변수

변수명 앞뒤에 %를 입력해야 한다.

 

SECTION 173 운영체제 기본 명령어

(1) Windows 기본 명령어

명령어 기능
DIR 현재 디렉터리의 파일 목록을 표시함
ATTRIB 파일의 속성을 변경함

(2) UNIX/LINUX 기본 명령어

명령어 기능
cat 파일 내용을 화면에 표시함
chmod 보호 모드를 설정하여 파일의 사용 허가를 지정함
rm 파일을 삭제함
fsck 파일 시스템을 검사하고 보수함
kill PID(프로세스 고유 번호)를 이용하여 프로세스를 종료함
fork 새로운 프로세스를 생성함
ls 현재 디렉터리의 파일 목록을 표시함
pwd 현재 작업중인 디렉터리 경로를 화면에 표시함
who 현재 시스템에 접속해 있는 사용자를 표시함

 

SECTION 174 인터넷

(2) IP 주소(Internet Protocol Address)

A Class 국가나 대형 통신망에 사용(0~127로 시작)  
B Class 중대형 통신망에 사용(128~191로 시작)  
C Class 소규모 통신망에 사용(192~223으로 시작)  
D Class 멀티캐스트용으로 사용(224~239로 시작)  
E Class 실험적 주소이며 공용되지 않음  

(3) 서브네팅(Subnetting)

할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것을 말한다.

4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트를 서브넷 마스크(Subnet Mask)라고 하며, 이를 변경하여 네트워크 주소를 여러 개로 분할하여 사용한다.

(4) IPv6(Internet Protocol version 6)

IPv4의 주소 부족 문제를 해결하기 위해 개발하였다.

128비트의 긴 주소를 사용하여 주소 부족 문제를 해결할 수 있다.

(5) IPv6의 구성

유니캐스트(Unicast) 단일 송신자와 단일 수신자 간의 통신(1 대 1 통신에 사용)
멀티캐스트(Multicast) 단일 송신자와 다중 수신자 간의 통신(1 대 다 통신에 사용)
애니캐스트(Anycast) 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신
(1 대 1 통신에 사용)

 

 SECTION 177 TCP/IP

(1) 프로토콜(Protocol)

프로토콜의 기본 요소

구문(Syntax) 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정함
의미(Semantics) 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정함
시간(Timing) 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정함

(4) 응용 계층의 주요 프로토콜

DNS(Domain Name System) : 도메인 네임을 IP 주소로 매핑(Mapping)하는 시스템

(5) 전송 계층의 주요 프로토콜

프로토콜 내용
TCP 양방향 연결(Full Duplex Connection)형 서비스를 제공함
스트림 위주의 전달(패킷 단위)을 함
신뢰성 있는 경로를 확립
순서 제어, 오류 제어, 흐름 제어 기능을 함
헤더는 기본적으로 20Byte에서 60Byte까지 사용할 수 있다.
선택적으로 40Byte를 더 추가할 수 있다.
UDP 비연결형 서비스를 제공
흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.
신뢰성보다는 속도가 중요시되는 네트워크에서 사용됨

(6) 인터넷 계층의 주요 프로토콜

프로토콜 내용
ARP(Address Resolution
Protocol, 주소 분석 프로토콜)
호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꿈
RARP(Reverse Address
Resolution Protocol
ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 함

 

SECTION 178 네트워크 관련 신기술

IoT(Internet of Things, 사물 인터넷) 정보 통신 기술을 기반으로 실세계(Physical World)와 가상 세계(Virtual World)의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
메시 네트워크(Mesh Network) 차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
대규모 디바이스의 네트워크 생성에 최적화되어 있음
NFC(Near Field Communication, 근거리 무선 통신) 고주파(HF)를 이용한 근거리 무선 통신 기술
아주 가까운 거리에서 양방향 통신을 지원하는 RFID 기술의 일종임
UWB(Ultra WideBand, 초광대역) 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 함
피코넷 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
애드 혹 네트워크(Ad-hoc Network) 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크
네트워크 슬라이싱(Network Slicing) 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술
파장 분할 다중화(WDM) 광섬유를 이용한 통신기술의 하나로, 파장이 서로 다른 복수의 신호를 보냄으로서 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 것
소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터를 의미함
개방형 링크드 데이터(LOD) Linked Data와 Open Data의 합성어로, 누구나 사용할 수 있또록 웹상에 공개된 연계 데이터를 의미함

 

 

SECTION 179 네트워크 구축

(2) 성형(Star, 중앙 집중형)

(3) 링형(Ring, 루프형)

(4) 버스형(Bus)

(5) 계층형(Tree, 분산형)

(6) 망형(Mesh)

노드의 수가 n개의 때, n(n-1)/2개의 회선이 필요하고 노드당 n-1개의 포트가 필요하다.

(8) LAN의 표준안

표준 규격 내용
802.3 CSMA/CD 방식의 매체 접근 제어 계층에 관한 규약
802.4 토큰 버스 방식의 매체 접근 제어 계층에 관한 규약
802.5 토큰 링 방식의 매체 접근 제어 계층에 관한 규약
802.11 무선 LAN에 관한 규약

 

SECTION 180 스위치

(1) 스위치(Switch) 분류

분류 내용
L2 스위치 OSI의 2계층에 속하는 장비임
일반적으로 부르는 스위치는 L2 스위치를 의미함
MAC 주소를 기반으로 프레임을 전송함
L3 스위치 OSI의 3계층에 속하는 장비임
L2 스위치에 라우터 기능이 추가된 것으로, IP 주소를 기반으로 패킷을 전송함
L4 스위치 OSI 4계층에 속하는 장비임
로드밸러닝 기능을 제공함
L7 스위치 OSI 7계층에 속하는 장비임

(4) Hierarchical 3 Layer 모델

Hierarchical 3 Layer 모델은 네트워크 구성 시 사용되는 모델의 한 종류로, 액세스 계층, 디스트리뷰션 계층, 코어 계층으로 나뉜다.

계층 내용
액세스 계층(Access Layer) 사용자가 네트워크에 접속할 때 최초로 연결되는 지점으로, 사용자들로부터 오는 통신을 집약해서 디스트리뷰션 계층으로 전송함
디스트리뷰션 계층(Distribution Layer) 액세스 계층의 장치들이 연결되는 지점으로, 액세스 계층에 서 오는 통신을 집약해서 코어 계층으로 전송함
코어 계층(Core Layer) 디스트리뷰션 계층에서 오는 통신을 집약해 인터넷에 연결하는 계층으로, 백본 계층이라고도 함

 

SECTION 181 경로 제어/트래픽 제어

(2) 경로 제어 프로토콜(Routing Protocol)

프로토콜 내용
IGP RIP(Routing Information Protocol)
거리 벡터 라우팅 프로토콜이라고 불리며 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용됨
최대 홉(Hop) 수를 15로 제한하므로 15 이상인 경우는 도달할 수 없는 네트워크를 의미
OSPF 대규모 네트워크에서 많이 사용됨
최단 경로로 라우팅을 지원함
다익스트라(Dijkstra) 알고리즘을 사용함

 

SECTION 188 회복/병행제어

회복 기법 설명
연기 갱신 기법 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법
즉각 갱신 기법 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
그림자 페이지 대체 기법 페이지마다 복사본인 그림자 페이지를 별도 보관해 놓고, 실제 페이지를 대상으로 갱신 작업을 수행하다가 장애가 발생하여 트랜잭션 작업을 Rollback 시킬 때는 갱신 이후의 실제 페이지 부분을 그림자 페이지로 대체하여 회복시키는 기법
검사점 기법 트랜잭션 실행 중 특정 단계에서 재실행할 수 있도록 갱신 내용이나 시스템에 대한 상황 등에 관한 정보와 함께 검사점을 로그에 보관해 두고, 장애 발생 시 트랜잭션 전체를 철회하지 않고 검사점에서 회복 작업을 수행하여 회복시간을 절약하도록 하는 기법

(3) 로킹 단위(Locking Granularity)

병행제어에서 한꺼번에 로킹할 수 이는 객체의 크기를 의미

데이터베이스, 파일, 레코드, 필드 등이 로킹 단위가 될 수 있다.

로킹 단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아진다.

로킹 단위가 작으면 로크 수가 많이 관리하기 복잡해 오버헤드가 증가

 

SECTION 189 교착상태

(2) 교착상태 발생의 필요 충분 조건

조건 설명
상호 배제(Mutual Exclusion) 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
점유와 대기(Hold and Wait) 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
비선점(Non-preemption) 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
환형 대기(Circular Wait) 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함

(3) 교착상태의 해결 방법

기법 설명
회피 기법(Avoidance) 주로 은행원 알고리즘(Banker's Algorithm)이 사용됨

 

반응형