본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Developer_Study/정보처리기사

[정보처리기사 실기] 11과목 - 응용 SW 기초 기술 활용

by 케리's 2023. 3. 8.

01 운영체제의 특징

 

1. 운영체제 

1) 운영체제란?

사용자가 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어 

 

2) 운영체제 종류

윈도즈(Windows), 유닉스(Unix), 리눅스(Linux), 맥 (Mac), 안드로이드(Android)

윈도즈(Windows) GUI제공, 선점형 멀티태스킹 방식제공, 자동감지 기능 제공 (Plug and Play), OLE사용
유닉스(Unix) 대화식, 다중작업기능, 다중사용자기능, 이식성, 계층 트리 구조 파일 시스템제공
리눅스(Linux) 유닉스 기반 개발, 오픈소스, GUI제공, 파일시스템지원, BASH쉘 사용
맥 (Mac) 유닉스 기반 개발, GUI 기반 운영체제
안드로이드(Android) 휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어 GUI, 표준응용프로그램 포함

 

3) 운영체제 특징

편리성제공, 인터페이스기능, 스케줄링, 자원관리, 제어기능

 

4) 운영체제 구성 (커널 + 쉘)

커널 : 운영체제의 핵심, 시스템의 모든 작업을 제어

쉘 : 사용자가 커널과 통신할 수 있는 인터페이스이며 명령어 해석하고 실행

 

2. 메모리

1) 메모리 관리 기법 - 반배할교

기법 설명
반입 기법 메모리 적재 시기 결정 (When)
배치 기법 메모리 적재 위치 결정 (Where)
할당 기법 메모리 적재 방법 결정 (How)
교체 기법 메모리 교체 대상 결정 (Who)

 

2) 메모리 배치 기법

기법 설명
최초 적합
(First - fit)
프로세스가 적재될 수 있는 가용 공간중 첫 번째 분할에 할당
최적 적합
(Best - fit)
가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스 적재하는 방식
최악 적합
(Worst - fit)
가용 공간들 중 가장 큰 공간에 할당하는 방식

 

3. 프로세스

1) 프로세스 상태 전이 - 생준실대완

구분 설명
생성 (Create) 사용자에 의해 프로세스가 생성된 상태
준비 (Ready) CPU를 할당받을 수 있는 상태
실행 (Running) 프로세스가 CPU를 할당받아 동작 중인 상태
대기 (Waiting) 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료될 때 까지 대기 리스트에서 기다리는 상태
완료 (Complete) 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태

 

https://itwiki.kr/w/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4_%EC%83%81%ED%83%9C

관련 용어 설명
PCB
(Process Control Block)
특정한 프로세스를 관리할 필요있는 정보를 포함하는 운영체제 커널의 자료구조
운영체제가 프로세스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는 데이터베이스
문맥교환
(Context Switching)
CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록 (PCB)에 저장하고 다음 프로세스의 PCB로부터 문맥을 복원하는 작업을 문맥교환이라고 한다.
디스패치
(Dispatch)
준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU 할당함
할당 시간 초과
(Timer Runout)
CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장, CPU 반납 후 다시 준비상태로 전이됨, 타임슬라이스만료/ 선점시 타임아웃 발생
입출력발생
(Block)
실행 상태에 있는 프로세스가 지정된 할당 시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이됨
깨움
(Wake Up)
어느 순간에 입출력이 종료되면 대기상태의 프로세스에게 입출력 종료사실을 wait/signal 등에 알려주고 준비상태로 전이됨

 

2) 프로세스 스케줄링

프로세스 스케줄링 유형 설명  
선점형 스케줄링
(SMMR)
쇼 미더 머니 라운드 진출!
우선 순위가 높은 프로세스가 CPU를 점유하는 스케줄링
SRT
(Shortest Remaining Time First)
가장 짧은 시간이 소요되는 프로세스를 먼저 수행
CPU를 점유하고 있는 프로세스보다 남은 CPU 처리 시간이 짧은 프로세스가 준비 큐에 들어오면서 새로운 프로세스가 CPU를 선점할 수 있다.
RR
(Round Robbin)
프로세스는 같은 크기의 CPU할당
프로세스들에게 정해진 시간 할당량을 주고 그 시간안에 작업을 수행하게함
시간 할당량이 끝나면 다른 프로세스에게 CPU를 넘기고 맨 뒤에가서 다시 기다림
다단계 큐
(Multi Level Queue)
여러개의 큐를 이용하여 상위 단계 작업에 의한 하위단계 작업이 선점
준비 큐를 여러개의 큐로 나누고 각 큐에 우선순위를 부여하는 스케줄링 방식
ex) 대화형 프로세스 , 장기 실행 배치 프로세스 각각 다른 그룹 배치
다단계 피드백 큐
(Multi Level Feedback Queue)
큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드로빈 스케줄링 기법 혼합
프로세스들이 큐를 갈아탈 수 있는 스케줄링 방식

비 선점형 스케줄링
(우기HFS)
우리 기업은 홈패밀리서비슬르 한다.
한 프로세스가 CPU를 할당 받으면 작업 종료 전까지 다른 프로세스는 CPU 점유 불가능한 스케줄링
우선순위
(Priority)
프로세스별 우선순위에 따라 CPU 할당
우선순위가 높은 프로세스가 먼저 CPU사용, 우선순위가 같은 프로세스는 FCFS방식 처리
기한부
(Deadline)
작업들이 명시된 기한 내에 완료되도록 계획
실시간 시스템에서 중요
HRN
(Highest Response Ratio Next)
대기중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 현상 최소화 기법
프로세스의 우선순위를 CPU처리기간과 대기시간을 동시에 고려해 결정함
* 우선순위 = (대기시간+서비스시간)/서비스시간
FCFS
(First Come First Service)
프로세스가 대기 큐에 도착한 순서에 따라 CPU할당 = FIFO
SJF
(Shortest Job First)
가장 짧은 작업부터 수행, 평균 대기 시간 최소화, 기아현상 발생

 

4. 가상화(Virtualization)

물리적인 리소스들을 사용자에게 하나로 보이게하거나,하나의 물리적인 리소스를 여러개로 보이게 하는 기술

 

1) 클라우드 컴퓨팅

인터넷을 통해 가상화된 컴퓨터 시스템 리소스 제공

 

2) 클라우드 컴퓨팅 유형

인프라형 서비스
(IaaS; Infrastructure as a Service)
서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
ex) Amazon Web Service(AWS), Microsoft Azure
플랫폼형 서비스
(PaaS; Platform as a Service)
애플리케이션 개발, 실행 관리 할 수 있게 하는 플랫폼을 제공하는 서비스
ex) Google App Engine, Heroku
소프트웨어형 서비스
(SaaS; Software as a Service)
클라이언트를 통해 접속하여 소프트웨어  서비스형태로 이용하는 서비스
ex)CRM, Gmail, Office365, GoogleDos

https://www.freshworks.com/ko/freshdesk/kblogs/iaas-paas-saas/

 

02 네트워크 계층 구조파악

원하는 정보를 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라

 

  • WAN(Wide Area Network) 광대역 네트워크 : LAN에 비해 전송거리가 넓음
  • LAN(Local Area Network)  근거리 네트워크 : 한 건물 또는 작은지역 커버

1. OSI 7계층

응용 계층
(Application Layer)
사용자와 네트워크 간 응용 서비스연결, 데이터 생성 • 프로토콜 :  HTTP, FTP, SMTP,POP3, IMAP, Telnet
전송 단위 : 데이터
• 장비 : L7 스위치
표현 계층
(Presentation Layer)
데이터 형식 설정, 부호교환, 암/복호화 • 프로토콜 :  JPEG, MPEG, SSL/TLS
• 전송 단위 : 데이터
• 장비 : L6 스위치, 게이트웨이
세션 계층
(Session Layer)
송수신 간의 논리적 연결
응용 프로그램간 대화를 유지하기 위한 구조 제공, 연결이 끊어지지 않도록 유지
• 프로토콜 :  X.225, ISO8327
• 전송 단위 : 데이터
• 장비 : L5 스위치, 게이트웨이
전송 계층
(Transport Layer)
송수신 프로세스 간의 연결, 데이터를 신뢰성 있게 전달하기 위한 프로토콜 정의
ex) TCP, UDP
• 프로토콜 :  TCP, UDP
전송 단위 : 세그먼트
• 장비 : L4 스위치
네트워크 계층
(Network Layer)
단말기 간 데이터 전송을 위한 최적화 된 경로 제공, 패킷전달
ex) IP, 라우팅 프로토콜
• 프로토콜 :  IP, ARP, RARP, ICMP
전송 단위 : 패킷
• 장비 : 라우터, L3스위치
데이터링크 계층
(Data Link Layer)
인접 시스템 간 데이터 전송, 전송 오류 제어
ex) 이더넷, MAC
• 프로토콜 :  HDLC, PPP
전송 단위 : 프레임
• 장비 : 스위치, 브리지
물리 계층
(Physical Layer)
0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
ex) 케이블, 허브
• 프로토콜 :  RS-232
• 전송 단위 : 비트
• 장비 : 허브, 리피터

링크계층 - 프레임, 인터넷계층 - 패킷, 전송계층 - 세그먼트 , 응용계층 - 데이터

 

2. 프로토콜

서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신 규약

  • 네트워크 프로토콜 (Network Protocol) : 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙 체계

1) 프로토콜 기본 3요소 - 구의타

요소 설명
구문
(Syntax)
시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨등 규정
의미
(Semantic)
시스템간 정보 전송을 위한 제어 정보로 조정과 에러처리 위한 규정
타이밍
(Timing)
시스템간 정보 전송을 위한 속도 조절과 순서 관리 규정

 

2) 데이터 링크 계층 프로토콜

구분 설명
HDLC
(High-level Data Link Contol)
점대점 방식이나 다중방식 통신에 사용되며 동기식 비트중심
PPP
(Point-to-Point Protocol)
네트워크 분야에서 두 통신 노드간의 직접적인 연결
프레임 릴레이
(Frame Relay)
프로토콜 처리를 간략화하여 데이터 처리 속도의 향상 및 전동 지연을 감소시킨 고속데이터 전송기술 
ATM
(Asynchronous Transport Mode)
53bite 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송기술

 

3) 네트워크 계층 프로토콜

구분 설명
IP
(Internet Protocol)
송 수신간의 패킷단위로 데이터를 교환하는 네트워크에서 정보를 주고받는데 사용
ARP
(Adress Resolution Protocol)
IP 네트워크상에서 IP주소를 MAC 주소로(물리주소)로 변환하는 프로토콜
RARP
(Reverse Address Resolution Protocol)
서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
즉, MAC주소를 IP주소로 변환하는 프로토콜
ICMP
(Internet Control Message Protocol)
IP 패킷을 처리할때 발생되는 문제를 알려주는 프로토콜
IGMP
(Internet Group Management Protocol)
호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹멤버십을 구성하는데 사용하는 통신 프로토콜
여러 장치가 하나의 IP주소를 공유하여 동일한 데이터를 수신할 수 있도록 하는 프로토콜 
라우팅 프로토콜
(Routing Protocol)
데이터 전송을 위해 최적의 경로를 설정해주는 라우터간의 상호 통신 프로토콜 

TCP/IP의 액세스 계층 프로토콜

Ethernet(IEEE 802.3) : CSMA/CD 방식의 LAN

IEEE 802 : LAN을 위한 표준 프로토콜

HDLC : 비트 위주의 데이터 링크 제어 프로토콜

X.25 : 패킷 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜

RS-232C : 공중 전화 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜

4) 라우팅 프로토콜

구분 종류 설명
내부
라우팅 프로토콜
(IGP; Interior Gateway Protocol)
RIP
(Routing Infomaiton Protocol)
AS(자율시스템) 내에서 사용하는 거리벡터 알고리즘에 기초하여 개발된 내부라우팅 프로토콜
최초의 라우팅 프로토콜, 벨만-포드알고리즘, 15홉제한 
인접한 라우터와 경로 정보를 주기적으로 교환
OSPF
(Open Shortest Path First)
RIP의 단점 개선, 최단 경로를 찾는 프로토콜,
링크상태 알고리즘 (다익스트라 알고리즘), 홉 제한 없음
최단 경로 우선 알고리즘을 사용하여 최적의 경로 결정
IGRP
(Interior Gateway Routing Protocol)
거리벡터방식의 내부라우팅 프로토콜, RIP보다  확장성 좋고 여러개 경로를 지원 (시스코사 장비에서만 사용)
EIGRP
(Enhanced IGRP)
IGRP 기능 향상시킨 라우팅 프로토콜, 거리벡터방식 + 링크상태방식을 결합한 하이브리드 프로토콜 (시스코사 사유프로토콜 - 일부 기능은 개방형)
외부
라우팅 프로토콜
(EGP; Exterior Gateway Protocol)
BGP
(Border Gate Way Protocol)
AS 상호간에 경로를 교환하기 위한 라우팅 프로토콜, 거리벡터알고리즘
BGP는 TCP 포트 179번을 통해 유니캐스트를 이용하여 라우팅 정보를 전송

 

5) 라우팅 알고리즘

구분 설명
거리-벡터 알고리즘 인접 라우터와 정보를 공유하여 목적지 까지의 거리와 방향을 결정하는 알고리즘
벨만포드 사용
링크-상태 알고리즘 링크상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 알고리즘
다익스트라 알고리즘 사용

 

6) 전송 계층 프로토콜

구분 설명
TCP
(Transmission Control Protocol)
옥텟을 안정적이고 순서대로 에러없이 교환할 수 있게 해줌
3-way handshaking을통해 연결설정, 데이터 받은후에 ack를 보내 수신확인함
신연흐혼 - 신뢰성보장, 연결성, 흐름제어, 혼잡 제어 (데이터 손실과 중복 방지하며 순서대로 재조립함)
UDP
(User Datagram Protocol)
비연결성, 비신뢰성, 순서화되지 않은 데이터그램 서비스 제공
연결설정과수진 확인 과정이 없으므로 속도가 빠르고 네트워크 부하가 적음.
흐름/혼잡제어가 없으므로 데이터 손실과 중복, 순서 바뀜등 발생할 수 있음.

 

7) 응용 계층 프로토콜 

구분 설명
HTTP
(Hyper Text Transfer Protocol)
텍스트 기반의 통신규약, 하이퍼 텍스트를 빠르게 교환하기 위한 프로토콜
FTP
(File Transfer Protocol)
TCP/IP를 갖고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
SMTP
(Simple Mail Transfer Protocol)
인터넷에서 TCP 포트 25번을 사용하며 이메일을 보내기 위해 이용되는 프로토콜
POP3
(Post Office Protocol Version 3)
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
(메일 다운로드, 로컬 저장, 확인 메일 서버에서 삭제)
IMAP
(Internet Messaging Access Protocol)
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
(서버에 이메일 저장, 동기화)
Telnet 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
SSH
(Secure Shell)
서로 연결되어있는 컴퓨터 간 원격 명령 실행이나 쉘 서비스 등을 수행, 텔넷보다 강력한 보안제공
SNMP
(Simple Network Management Protocol)
라우터나 허브 등 네트워크 장치로 부터 정보를 수집 및 관리 

 

8) IPv4 vs IPv6

IPv4 - 4 (유멀브) 전환방법
 
IPv6 - 6 (유멀애)
32비트
8비트씩 4부분으로 나뉜 10진수
유니캐스트, 멀티캐스트, 브로드캐스트
듀얼스택
터널링
주소변환
128비트
16비트씩 8부분으로 나뉜 16진수
유니캐스트, 멀티캐스트 애니캐스트

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

 

3. 교환방식

1) 패킷 교환 방식 (Packet Switching) - 회선활용도높음, 신뢰성 낮음

작은 블록의 패킷으로 데이터를 전송하여 , 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신방식

통신할 데이터를 작은 단위 패킷으로 나누어 각각 다른경로로 전송하고 수신측에서 다시 조립하는 방식

요금을 데이터 양에 따라 부과

(이메일, 메시지)

 

 

(1) 가상회선방식

패킷을 전송하기 전에 미리 경로를 설정하고 패킷을 전송하는 방식.

이 경로는 패킷이 전송되는 동안 유지된다.

연결 설정과 해제 과정이 필요하기 때문에 데이터그램방식보다 전송 속도가 빠르고 신뢰성이 높다

 

(2) 데이터그램 방식

패킷을 전송할 때마다 경로를 설정하지 않고 패킷을 전송하는 방식.

이 방식에서는 각 패킷이 독립적으로 처리되기 때문에 경로가 유지되지 않는다.

경로 설정 과정이 없기 때문에 유연하게 대처할 수 있으며, 오류 발생 시 해당 패킷만 재전송하면 되기 때문에 전체적인 대역폭 사용률이 높아집니다.

 

2) 패킷 교환방식 기술

x.25 통신을 원하는 두 단말 장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜 (은행의 ATM기 신용카드결제)
프레임 릴레이 ISDN을 사용하기 위한 프로토콜, ITU-T에 의해 표준으로 작성됨 (인터넷 서비스 제공자, 대규모 네트워크)
ATM 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법 (광대역 통신망, 케이블 TV)

 

3) 서킷(회선) 교환방식 (Circuit Switching) - 회선 낭비 발생 가능, 신뢰성 높음

네트워크 리소스를 특정 사용층이 독점하도록 하는 통신방식

통신을 시작하기전에 미리 통신경로 확보하고 고정된 대역폭을 할당받아 사용

요금을 시간단위로 부과

(활용 : 영상,비디오, 일반 전화, 모뎀)

 

4) 애드 혹 네트워크 (Ad-hoc Network)

노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크 

컴퓨터나 장치들이 서로 직접 연결되어 통신하는 방식

ex) 유선 인터넷에 연결된 노트북을 무선 공유기로 만들어 다른 장치들과 인터넷 공유가 가능

03. 기본 개발환경 구축하기 

1) 개발환경 인프라 구성방식

온프레미스 방식
(On-Pramise)
외부 인터넷망이 차단된 상태에서 인트라넷 망만을 활용하여 개발 환경을 구축하는 방식
클라우드 방식 아마존, 구글, 마이크로소프튿 등 클라우드 공급 서비스를 하느 회사들의 서비스를 임대하여 개발 환경을 구축하는 방식
하이브리드방식 온프레미스 + 클라우드 

 

댓글