본문 바로가기

정보처리기사 필기/프로그래밍 언어 활용

[정보처리기사 필기요약] 4-3. 응용 SW 기초 기술 활용

728x90
728x90

1. 운용체제 기초 활용

(1). 운영 체제 종류

  • 운영체제의 기능

① 제어 프로그램(Control Program)

- 감시 프로그램(Supervisor Program) : 각종 프로그램의 실행과 시스템 전체의 작동 상태 감시 및 감독

- 작업 제어 프로그램(Job Control Program) : 작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당

- 데이터 관리 프로그램(Data Management Program) : 주기억장치와 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지보수 기능을 수행

 

  • 메모리 관리 기법

③ 메모리 할당 기법 

- 페이징 기법(Paging) : 가상기억장치 내의 프로세스를 일정하게 분할하여 주기억장치의 분산된 공간에 적재시킨 후 프로세스를 수행시키는 기법 

: 내부 단편화 현상 발생 

페이지 크기가 작을 경우 발생 현상 페이지 크기가 클 경우 발생 현상
- 더 많은 페이지 사상 테이블 공간이 필요
- 내부 단편화는 줄고, 특정한 참조 구역성만을 포함하기 때문에 기억 장치 효율이 좋음
- 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 커짐
- 디스크 접근 횟수가 많아져서 전체적인 입,출력 시간 증가
- 테이블 크기가 작아지므로 주기억 장치의 공간이 절약
- 페이지 정보를 갖는 갖는 페이지 맵 테이블의 크기가 작아져서 관리가 용이하고, 매핑 속도가 빨라짐
- 디스크 접근 횟수가 줄고, 전체적인 입,출력 시간 감소
- 페이지 단편화가 증가하고, 이에 따라 기억 공간의 낭비 초래

- 세그먼테이션 기법(Segmentation) : 가상기억장치 내의 프로세스를 가변적인 크기의 블록으로 나누고 메모리를 할당하는 기법

: 외부 단편화 발생 가능

 

④ 교체 기법 

: 교체 기법은 주기억 장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지 결정하는 기법

- FIFO(First in First Out) : 각 페이지가 주기억장치에 적재될 때마다 그떄의 시간을 기억시켜 가장 먼저 들어와 있던 가장 오래 있던 페이지를 교체하는 기법

- LRU(Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지를 선택하여 교체

- LFU(Least Requently Used) : 사용된 횟수를 확인하여 참조 횟수가 가장 적은 페이지를 선택하여 교체

 

  • 페이징 기법의 문제 및 해결방안

① 페이징 기법의 문제점 - 스레싱(Thrasing) 

: 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상

 

② 페이징 기법의 문제점 해결방안

- 워킹 세트(Working Set)

: 각 프로세스가 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하게 하여 빈번한 페이지 교체 현상을 줄이고자 하는 것 

- 페이지 부재 빈도(PFF;Page-Fault Frequency)

: 페이지 부재율의 상한과 하한을 정해서 직접적으로 페이지 부재율을 예측하고 조절하는 기법

- 구역성 관리(Locality)

: 프로그램이 어느 한 특정 부분만 집중적으로 참조하기 때문에, 페이징 성능이 좋아지는 현상(시간 구역성, 공간 구역성, 순차 구역성)

- 프리페이징(Prepaging)

: 과도한 페이지 부재를 줄이기 위해 모든 페이지를 한 번에 페이지 프레임에 적재하는 방법

- 페이지 프레임 조정(Page Fault Frequency)


(3). 프로세스 스케줄링

  • 프로세스

출처 : IT위키

③ 프로세스 상태 전이

- 디스패치(Dispatch) : 준비 상태에 있는 여러 프로세스(Ready List) 중 실행될 프로세스를 선정(Scheduling)하여 CPU를 할당(dISPATCHING) -> 문맥교환 발생

- 할당 시간 초과(Timeout) : CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장, CPU 반납 후 다시 준비 상태로 전이됨 

- 입출력 발생(Block) : 실행 상태에 있는 프로세스가 지정된 할당 시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이됨

- 깨움(Wake-up) :어느 순간 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 wait & signal 등에 의해 알려주고, 준비 상태로 전이됨

④ 프로세스 구성요소

- 사용자 작성 코드

- 사용자 사용 데이터

- 스택 : 함수 호출 및 인자값 전송에 사용

- 프로세스 제어블록(PCB) : 운영체제가 프로세스 관리를 위해 필요한 자료를 담고 있는 자료 구조로 식별자, 프로세스 상태, 프로그램 카운트, 레지스터 저장 영역 등으로 구성 

 

⑤ 스레드(Thread) 

: 프로세스보다 가벼운, 독립적으로 수행되는 순차적인 제어의 흐름이며, 실행 단위

: 생성 주체에 따라 커널 수준 스레드, 사용자 수준 스레드로 구분

구분 커널 수준 스레드 사용자 수준 스레드
개념 스레드를 생성하고 스케줄링하는 주체가 커널인 스레드 사용자 영역에서 라이브러리를 통해 구현되는 스레드
장점 - 커널이 각 스레드를 개별적으로 관리할 수 있음
- 다른 스레드가 입출력 작업이 다 끝날 때까지 다른 스레드를 사용해 다른 작업 진행 가능
- 커널이 직접 스레드를 제공해주기 때문에 안정성과 다양한 기능
- 스케줄링 결정이나 동기화를 위한 커널모드로 전환하지 않기 때문에 인터럽트가 발생할 때 오버헤드가 적음
- 사용자 영역 스레드에서 행동하기 때문에 os 스케줄러의 문맥 교환이 없음
단점 - 사용자 모드에서 커널 모드로의 전환이 빈번하게 이뤄져 오버헤드가 많음
- 사용자 스레드에 비해 생성 및 관리하는 것이 느림
- 스케줄링 우선순위를 지원하지 않으므로 어떤 스레드가 먼저 동작할지 알 수 없음

  • 프로세스 스케줄링

① 프로세스 스케줄링 유형

선점형 스케줄링
(Preemptive Scheduling)
비선점형 스케줄링
(Non Preemptive Scheduling)
하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식 한 프로세스가 CPU를 할당 받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식

② 프로세스 스케줄링 알고리즘

- 선점형 스케줄링 알고리즘

 

- 비선점형 스케줄링 알고리즘

 

1) SJF(Shortest Job First) 

: 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유

: CPU 요구시간이 긴 프로세스는 기아 현상 발행(시스템 부하가 많아 낮은 등급에 있는 준비 큐에 있는 프로세스가 무한정 기다리는 현상) -> HRN 으로 해결

2) HRN(Highest Response Ratio Next)

: 대기 중인 프로세스 중 대기시간이 긴 프로세스일 경우 우선순위가 높아지게 하여 우숸순위를 결정하는 스케줄링 기법 

(대기시간 + 서비스시간) / 서비스 시간

 

 

  • 프로세스 관리 - 교착상태

: 교착상태는 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태

 

① 교착상태 발생 조건

- 상호배제(Mutual Exclusive) : 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 업는 상태

- 점유와 대기(Hold & Wait) : 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태

- 비선점(Non preemption) : 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능한 상태

- 환형 대기(Circular Wait) : 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태

② 교착상태 해결방법

- 회피(Avoidance) : 안전한 상태를 유지할 수 있는 요구만 수락, 은행가 알고리즘

 

 


2. 네트워크 기초 활용

(2). 네트워크 7계층

  • OSI(Open System Interconnection) 7계층

: 국제 표준화 기준인 ISO에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델 

: 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공

 

아파서 티내다, 피났다

계층 PDU
7 응용 계층(Application Layer) 메시지
데이터
6 표현 계층(Presentation Layer)
5 세션 계층(Session Layer)
4 전송 계층(Transport Layer) 세그먼트
3 네트워크 계층(Network Layer) 패킷
2 데이터 링크 계층(Data Link Layer) 프레임
1 물리 계층(Physical Layer) 비트

 

  • 네트워크 7계층 상세설명

① 계층1  - 물리 계층

: 물리 계층은 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부사항들을 정의하는 계층

 

* 물리 계층 장비

- 허브(Hub) : 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비

- 리피터(Repeater) : 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비

 

② 계층2 - 데이터 링크 계층

링크의 설정과 유지 및 종료를 담당하며 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류 제어, 흐름 제어, 회선 제어 기능을 수행하는 계층

 

* 데이터 링크 계층 장비

- 스위치(Switch) : 느린 전송속도의 브리지, 허브의 단점을 개선하기 위해 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치

- 브리지(Bridge) : 두 개의 근거리 통신망을 서로 연결해주는 통신망 연결 장치

* 오류제어 - 자동반복 요청 방식(ARQ)의 종류

- Stop-and-wait 방식 : 한 개의 프레임을 전송하고, 수신 측으로부터 ACK 및 NAK 신호를 수신할 때까지 정보 전송을 중지하고 기다리는 방식

- Go-back-N ARQ 방식 : 데이터 프레임을 연속적으로 전송하는 과정에서 NAK을 수신하게 되면, 오류가 발생한 프레임 이후에 전송된 모든 데이터 프레임을 재전송하는 방ㅎ식

- Selective-Repeat ARQ : 연속적으로 데이터 프레임을 전송하고 에러가 발생한 데이터 프레임만 재전송하는 방

 

③ 계층3 - 네트워크 계층 프로토콜 

: 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 위한 수단을 제공하는 계층

 

* 네트워크 계층 프로토콜 

- IP(Internet Protocol) : 송신, 수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신 규약
- ARP(Address Resolution Protocol) : IP 네트워크상에서 IP 주소를 MAC 주소(물리적 주소)로 변환하는 프로토콜

- RARP(Reverse Address Resolution Protocol) : IP 호스트가 자신의 물리 네트워크 주소(MAC)은 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜

- ICMP(Internet Control Message Protocol) : IP의 동작 과정에서 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜

- IGMP(Internet Group Management Protocol) : 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는데 사용하는 통신 프로토콜

- 라우팅 프로토콜

 

* 네트워크 계층 장비

- 라우터(Router) : 서로 다른 네트워크 대역에 있는 호스트들 상호 간에 통신할 수 있도록 해주는 네트워크 장비

 

④ 계층4 - 전송 계층

: 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층

 

* 전송 계층 프로토콜

- TCP(Transmission Control Protocol) : 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜

- UDP(User Datagram Protocol) : 비연결성, 신뢰성이 없으며, 순서화되지 않은 데이터 그램 서비스를 제공하는 전송 계층의 통신 프로토콜 

 

⑦ 계층7 - 응용 계층

: 응용 프로세스와 직접 관계하여 일반적인 응용서비스를 수행하는 역할을 담당하는 계층

 

* 응용 계층 프로토콜

- HTTP(Hyper Text Transfer Protocol) : 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜

- FTP(File Transfer Protocol) 

- SMTP(Simple Mail Transfer Protocol)

 


(3). IP

  • IP(Internet Protocool) 개념

: 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보 위주의 규약

  • IP(Internet Protocool) 특징

- 비신뢰성, 비연결성 : 흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않음

- 에러 제어와 흐름 제어 없음 : 정보의 전송이 가장 주요, 보낸 정보의 내용을 보장해주지 않음. 패킷은 에러 검출만 하고 만일 발견되면 폐기

- 대표적인 IP 주소 체계 : IPv4, IPv6는 확장 중 

- 패킷 분할, 병합 기능

- Best effort 원칙(현재 가능한 만큼만)에 따른 전송 기능 제공

 

IP(Internet Protocool) 개념

 

  • IPv4

① IPv4(Internet Protocol version 4) 개념

: 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소 체계를 갖는 네트워크 계층의 프로토콜

 

② IPv4 헤더(Header): IP 패킷의 앞부분에서 주소 등 각종 제어정보를 담고 있는 부분

 

* IPv4 헤더 구조

출처 : 위키피디아

- Header Length : IP 프로토콜의 헤더 길이를 4바이트 단위로 나타내는 필드, 즉 32비트

- Time to Live(TTL) : 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 표시하는 필드

- Total Length : IP를 제외한 패킷 전체의 길이. 최대 2의 16승-1

- Version Number : IP 프로토콜의 버전 번호

 

  • IPv4와 IPv6의 특징
  IPv4 IPv6
주소 길이 32bit 128bit
표시 방법 8비트씩 4부분으로 나뉜 10진수 16비트씩 8부분으로 나뉜 16진수
주소 개수 약 43억개 2의 128승개
주소할당 A,B,C,D 등 클래스 단위 비순차적 할당(비효율적) 네트워크 규모 및 단말기 수에 따른 순차적 할당(효율적)
헤더 크기 20바이트의 기본 헤더 부분과 가변적인 길이를 가지고 있는 옵션 부분으로 구성 40바이트의 고정된 길이
QoS Best Effort 방식(보장 곤란) 등급별, 서비스별 패킷 구분 보장
보안 기능 IPSec 프로토콜 별도 설치 보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안 기능을 강화
Plug & Play 지원 안함 지원
모바일 IP  곤란 용이
웹 캐스팅 곤란 용이
전송 방식 멀티 캐스트, 유니캐스트, 브로드 캐스트 멀티 캐스트, 유니캐스트, 애니캐스트
  • IPv4에서 IPv6으로 전환하는 방법

① 듀얼 스택 : IP 계층에 두 가지(IPv4와 IPv6)의 프로토콜이 모두 탑재되어 있고 통신 상대방에 따라 해당 IP 스택을 선택하는 방법

② 터널링 : IPv6망에서 인접한 IPv4 망을 거쳐 다른 IPv6망으로 통신할 때, IPv4 망에 터널을 만들고 IPv4에서 사용하는 프로토콜로 캡슐화하여 전송하는 방법③ 주소변환 : IPv4와 IPv6망 사이에 주소변환기를 사용하여 서로 다른 네트워크상의 패킷을 변환 시키는 방법

 

출처 : IT위키

  • 라우팅 프로토콜(3계층)

: 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 규약

 

① RIP(Routing Information Protocol) 개념

: AS(Autonomous System, 자치 시스템) 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜

 

특징 

- 벨만-포드 알고리즘 사용

- 최대 홉수 15홉으로 제한

- UDP 포트번호 520 사용

- 30초마다 정보 공유


(4). TCP/UDP

  • UDP

① UDP 개념

: 비연결성, 비신뢰성, 순서화되지 않은 데이터그램 서비스 제공하는 전송 계층(4계층)의 통신 프로토콜

: 실시간 응용 및 멀티태스킹 가능, 단순 헤더

728x90
반응형