기출문제가 출제된 부분은 배경색으로 표시해 두었습니다
목차
1. 운영체제의 특징
2. 네트워크 기초 활용하기
3. 기본 개발환경 구축하기
운영체제의 특징
운영체제(OS, Operating System)
사용자가 컴퓨터의 HW를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 SW
용어 | 설명 |
쉘(Shell) | 운영체제의 가장 바깥 부분에 위치해 사용자 명령에 대한 처리를 담당 |
커널(Kernel) | 운영체제의 핵심이 되는 기능들이 모여있는 컴퓨터 프로그램 |
운영체제의 종류
용어 | 설명 |
윈도우(Windows) | MS-DOS의 멀티태스킹과 GUI 환경을 제공하는 MS사의 OS |
유닉스(Unix) | 교육 및 연구 기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제 |
유닉스 → 리눅스(Linux) | 유닉스 기반으로 개발, 오픈 소스 기반의 운영체제 |
유닉스 → 맥(Mac) | 애플이 유닉스를 기반으로 개발한 GUI 기반 운영체제 |
안드로이드(Android) | 리눅스 커널 위에서 동작하며, 자바를 활용해 응용 프로그램 개발 |
리눅스/유닉스 운영체제의 파일 접근 권한 관리
접근 권한 유형 (명령어: chown, chgrp)
접근 권한 | 설명 |
User | 파일을 사용하고 있는 사용자(Owner) |
Group | 소유자를 제외하고 파일과 같은 그룹에 속해있는 사용자 모임 |
Other | 그 밖의 사용자 |
파일 접근 모드 (명령어: chmod)
User / Group / Other | ||
R(Read, 읽기) | W(Write, 쓰기) | X(eXecute, 실행) |
4 | 2 | 1 |
예시: chmod 600 yoom.c (yoom.c 파일을 User에게 RW 권한 설정)
운영체제 핵심 기능
- 메모리 관리
- 프로세스 관리
메모리 관리 기법
💡 암기 TIP
반입, 배치, 할당, 교체 → 반배 할 교(방배초 할아버지 교장선생님)
기법 | 설명 |
반입 기법 | 메모리 적재할 다음 프로세스의 반입 시기 결정 |
배치 기법 | 디스크에 있는 프로세스를 메모리의 어느 위치에 저장할 것인지 결정 |
할당 기법 | 어떤 방법으로 할당할 것인지 결정 |
교체 기법 | 메모리 교체 대상 결정 |
메모리 배치 기법
💡 암기 TIP
최초, 최적, 최악 → 초적 악(초저녁의 악당)
용어 | 설명 |
최초 적합(First-fit) | 가용 공간 중 첫 번째 분할에 할당 |
최적 적합(Best-fit) | 가용 공간 중 크기가 가장 비슷한 공간에 할당 (공백 최소화) |
최악 적합(Worst-fit) | 가용 공간 중 가장 큰 공간에 할당 |
프로세스 상태
💡 암기 TIP
생성, 준비, 실행, 대기, 완료 → 생준 실대 완(생존을 위해 싫대라도 완두콩을 먹어야 함)
상태 | 설명 |
생성(Create) | 프로세스가 생성된 상태 |
준비(Ready) | CPU를 할당 받을 수 있는 상태 |
실행(Running) |
CPU를 할당 받아 동작 중인 상태 |
대기(Waiting) | I/O 처리 등으로 인해 CPU를 양도하고 완료될 때까지 기다리는 상태 |
완료(Complete) | CPU를 할당받아 수행을 종료한 상태 |
프로세스 스케줄링
CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업
용어 | 설명 |
서비스 시간 | 프로세스가 결과를 산출하기까지 걸리는 시간 |
응답시간(반환시간) | Response Time 또는 Turnaround Time으로, 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간 |
평균 응답시간 | 대기 큐의 프로세스가 결과를 산출하기까지 소요되는 시간의 평균 |
대기시간 | 프로세스가 프로세서 할당 대기까지 큐에 대기하는 시간 |
응답률 | (대기시간 + 서비스시간) / 서비스시간, HRN(Highest Response ratio Next)에서 사용 |
프로세스 스케줄링 - 선점형 스케줄링
하나의 프로세스가 CPU를 차지하고 있을 때 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유
알고리즘 | 설명 |
라운드 로빈(Round Robin) | 프로세스들은 같은 크기의 CPU 시간을 할당, 번갈아가며 CPU 점유 |
SRT(Shortest Remaining Time) | 가장 짧은 시간이 소요되는 프로세스를 먼저 수행 (선점도 가능) |
다단계 큐(Multi Level Queue) | 작업들을 여러 종류 그룹(쿠)으로 분할 |
다단계 피드백 큐 | 큐마다 서로 다른 CPU시간 할당량 부여, FIFO + 라운드 로빈 |
프로세스 스케줄링 - 비선점형 스케줄링
한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능
💡 TIP
각 알고리즘 별 계산 방법 알아두기
알고리즘 | 설명 |
우선순위(Priority) | 우선순위에 따라 CPU, 동일 순위는 FCFS |
기한부(Deadline) | 명시된 시간이나 기한 내에 완료하도록 계획 |
FCFS(First Come, First serve) | 대기 큐에 도착한 순서에 따라 CPU 할당 (=FIFO) |
SJF(Shortest Job First) | 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 점유 (기아 현상 발생, SRT는 언제든 짧은게 들어오면 선점 가능, SJF는 불가능) |
HRN(Highest Response Ratio Next) | 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 최소화 |
가상화(Virtualization)
물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 반대로 하나의 리소스를 여러 개로 보이게 하는 기술로, 대부분의 서버는 20% 정도만 사용하지만 가상화를 통해 가동률을 60~70% 이상으로 올릴 수 있다.
가상화 기술 요소 | 설명 |
컴퓨팅 가상화 | 물리적으로 컴퓨터 리소스를 가상화해 논리적 단위로 리소스를 활용할 수 있도록 하는 기술 |
스토리지 가상화 | 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가, 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술 |
I/O 가상화 | 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화해 효율적인 연결 지원 |
컨테이너 | 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술 |
분산처리 기술 | 여러 대의 컴퓨터 계산 및 저장능력을 이용해 대용량 데이터를 처리 |
네트워크 가상화 기술 | 물리적으로 떨어진 장비들을 연결하기 위한 수단 |
클라우드 컴퓨팅(Cloud Computing)
인터넷을 통해 가상화된 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술
💡 암기 TIP
사설, 공용, 하이브리드 → 사공 하이
클라우드 컴퓨팅 분류 | 설명 |
사설 클라우드 | 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축 |
공용 클라우드 | 클라우드 서비스 제공 업체에서 다중 사용자를 위한 서비스를 제공 |
하이브리드 클라우드 | 사설 클라우드 + 공용 클라우드 모두 사용 |
💡 암기 TIP
인프라, 플랫폼, 소프트웨어 → 인플 소(인플루엔자 소식)
용어 | 설명 |
인프라형(IaaS) | 서버, 스토리지 같은 시스템 자원을 클라우드로 제공 |
플랫폼형(PaaS) | 애플리케이션 개발, 실행, 관리의 플랫폼을 제공 |
소프트웨어형(SaaS) | SW를 서비스 형태로 이용 |
네트워크 기초 활용하기
프로토콜
서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신 규약
💡 암기 TIP
구문, 의미, 타이밍 → 구의 타(구의원 택시 타지 못함)
프로토콜 기본 3요소 | 설명 |
구문(Syntax) | 시스템 간 정보 전송을 위한 데이터 형식, 코딩, 신호레벨 등의 규정 |
의미(Semantic) | 시스템 간 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정 |
타이밍(Timing) | 시스템 간 정보 전송을 위한 속도 조절과 순서 관리 규정 |
네트워크 프로토콜
컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙 체계
OSI(Open System Interconnection) 7계층
💡 암기 TIP
Application, Presentation, Session, Transport, Network, Data Link, Physical → 아파서 티내다, 피나다
용어 | 설명 |
응용 계층(Application) | 사용자와 네트워크 간 응용 서비스 연결 |
표현 계층(Presentation) | 데이터 형식 설정, 부호 교환, 암/복호화 |
세션 계층(Session) | 송수신 간의 논리적 연결, 연결 접속 |
전송 계층(Transport) | 송수신 프로세스 간의 연결, 신뢰성 있는 통신 |
네트워크 계층(Network) | 데이터 전송을 위한 최적화된 경로 제공 |
데이터 링크 계층(Data Link) | 인접 시스템 간 데이터 전송 |
물리 계층(Physical) | 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 |
OSI 7계층 - 물리 계층(Physical Layer, 1계층)
0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환하는 계층으로, 전송 단위는 비트(Bit)
장비 | 설명 |
허브 | 여러 대의 컴퓨터를 연결해 네트워크로 보내거나, 송신하기 위한 장비 |
리피터 | 디지털 신호를 증폭 |
OSI 7계층 - 데이터 링크 계층(Data Link Layer, 2계층)
링크의 설정과 유지 및 종료를 담당하며, 노드 간의 회선 제어, 흐름 제어, 오류 제어를 수행하는 계층으로 전송 단위는 프레임(Frame)
장비 | 설명 |
브리지 | 두 개의 근거리 통신망(LAN)을 서로 연결해 주는 장치 |
L2 스위치 | 느린 전송속도의 브리지, 허브의 단점을 개선하여 MAC 기반으로 빠르게 전송 |
NIC | Network Interface Card의 약자 |
프로토콜 | 설명 |
HDLC(High-level Data Link Control) | 점대점 방식이나 다중방식의 통신에 사용, 동기적 비트 중심 |
PPP(Point-to-Point Protocol) | 두 통신 노드 간의 직접적인 연결 |
프레임 릴레이(Frame Relay) | 프로토콜 처리를 간략화한 고속 데이터 전송 기술 |
ATM(Asynchronous Transport Mode) | 비동기식 시분할 다중화 방식의 패킷형 전송 기술 |
OSI 7계층 - 네트워크 계층(Network Layer, 3계층)
다양한 길이의 패킷을 전송하고 단말기 간 데이터 전송을 위한 최적화된 경로를 제공하는 계층으로, 전송 단위는 패킷(Packet)
장비 | 설명 |
라우터 | LAN/LAN 또는 LAN/WAN을 연결, 최적의 경로 지정 |
게이트웨이 | 프로토콜을 서로 다른 통신망에 접속할 수 있도록 해주는 장치 |
프로토콜 | 설명 |
IP(Internet Protocol) | 송수신 간의 패킷 단위로 데이터 교환 |
ARP(Address Resolution Protocol) | IP 주소 → MAC 주소로 변환 |
RARP(Reverse ARP) | MAC주소는 알지만 IP주소를 모르는 경우, 서버로부터 IP 주소를 요청할 때 사용 |
ICMP(Internet Control Message Protocol) |
IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 |
IGMP(Internet Group Management Protocol) |
인터넷 그룹 관리 |
라우팅 프로토콜(Routing Protocol) | 목적지까지 갈 수 있는 최적의 경로를 설정해주는 라우터 간 프로토콜 |
IPv4
주소체계는 10진수로 총 12자리이며, 32bit로 구성되어 있다.
IPv4 클래스 | 설명 | 대역 |
A 클래스 | 최상위 클래스 | 0.0.0.0 ~ 127.255.255.255 |
B 클래스 | 두 번째로 높은 단위의 클래스 (128) | 128.0.0.0 ~ 191.255.255.255 |
C 클래스 | 최하위 클래스 (192) | 192.0.0.0 ~ 223.255.255.255 |
D 클래스 | 멀티캐스트 용도로 예약 | 224.0.0.0 ~ 239.255.255.255 |
E 클래스 | 연구를 위해 예약 | 240.0.0.0 ~ 255.255.255.255 |
IPv4 전송방식
- 유니캐스트: 하나의 네트워크 목적지에 1:1(One-to-One)로 트래픽 또는 메시지를 전송
- 멀티캐스트: 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송
- 브로드캐스트: 하나의 송신자가 같은 서브 네트워크상의 모든 수신자에게 전송
IPv6
IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해 개발된 128bit 주소체계
구분 | IPv4 | IPv6 |
주소길이 | 32bit | 128bit |
표시방법 | 8bit씩 4부분으로 나뉜 10진수 (192.168.10.1) |
16bit씩 8부분으로 나뉜 16진수 (2001:9e76:....:e11c) |
IPv6 전송방식
- 유니캐스트: 하나의 네트워크 목적지에 1:1(One-to-One)로 트래픽 또는 메시지를 전송
- 멀티캐스트: 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송
- 애니캐스트: 단일 송신자로부터 데이터그램을 토폴로지상의 잠재적인 수신자 그룹 안에서 가장 가까운 노드로 연결
라우팅 프로토콜(Routing Protocol)
데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 상호 통신 규약
내부 라우팅 프로토콜(IGP)
프로토콜 | 설명 |
RIP (Routing Information Protocol) |
AS내에서 사용하는 거리 벡터(Distance-Vector) 알고리즘에 기초하여 개발 (벨만-포드 알고리즘 사용, 15홉 제한) |
OSPF (Open Shortest Path First) |
규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점 개선을 위해 링크 상태(Link-State) 알고리즘을 적용하여 최단 경로를 찾음 (다익스트라 알고리즘 사용, 홉 카운트 제한 X) |
외부 라우팅 프로토콜(EGP)
프로토콜 | 설명 |
BGP (Border Gateway Protocol) |
AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜 |
라우팅 알고리즘 유형
알고리즘 | 설명 |
거리 벡터 알고리즘 (Distance-Vector) |
인접 라우터와 정보를 공유해 목적지까지의 거리와 방향을 결정 (벨만-포드) |
링크 상태 알고리즘 (Link State) |
링크 상태 정보를 모든 라우터에게 전달해 최단 경로 트리 구성 (다익스트라) |
OSI 7계층 - 전송 계층(Transport Layer, 4계층)
종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층으로, 전송 단위는 세그먼트(Segment)
💡 암기 TIP
TCP: 신뢰, 연결, 흐름, 혼잡 → 신연 흐혼 (신년에는 교통 흐름이 혼잡)
프로토콜 | 설명 |
TCP(Transmission Control Protocol) | 신뢰성 보장, 연결 지향적, 흐름 제어, 혼잡 제어 |
UDP(User Datagram Protocol) | 비신뢰, 비연결, 순서화 X, 실시간 응용 및 멀티캐스팅 가능 |
OSI 7계층 - 세션 계층(Session Layer, 5계층)
프로세스들 간의 논리적인 연결, 응용 프로그램 간의 대화를 유지하기 위한 구조 제공하는 계층으로, 전송단위는 데이터(Data)
프로토콜 | 설명 |
RPC(Remote Procedure Call) | 원격제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜 |
NetBIOS | 응용계층의 애플리케이션 프로그램에게 API를 제공 |
OSI 7계층 - 표현 계층(Presentation Layer, 6계층)
통신에 알맞은 형태로 정보를 가공, 부호 교환, 암/복호화를 수행하는 계층으로 전송 단위는 데이터(Data)
프로토콜 | 설명 |
JPEG | 이미지를 위해 만들어진 표준 규격 |
MPEG | 멀티미디어를 위해 만들어진 표준 규격 |
OSI 7계층 - 응용 계층(Application Layer, 7계층)
사용자와 네트워크 간 응용서비스를 연결하는 계층으로, 전송 단위는 데이터(Data)
프로토콜 | 설명 |
HTTP (HyperText Transfer Protocol) |
텍스트 기반의 통신 규약 |
FTP (File Transfer Protocol) |
TCP/IP를 이용해 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜 |
SMTP (Simple Mail Transfer Protocol) |
인터넷에서 포트 25번을 이용해 메일을 보낼 때 사용 |
POP3 (Post Office Protocol Version 3) |
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져옴 |
IMAP (Internet Messaging Access Protocol) |
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져옴 |
Telnet |
인터넷이나 로컬에서 네트워크 연결에 사용되는 네트워크 연결 프로토콜 |
기본 개발환경 구축하기
개발환경 인프라 구성 방식
구성방식 | 설명 |
온프레미스(On-Premise) 방식 | 외부 인터넷망이 차단된 상태에서 인트라넷 망만을 이용 |
클라우드(Cloud) 방식 | 아마존, 구글 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대 |
하이브리드(Hybrid) 방식 | 온프레미스 + 클라우드 |
'IT > 정보처리기사' 카테고리의 다른 글
2021 2회 정보처리기사 실기 후기 + 공부 방법 (0) | 2021.07.15 |
---|---|
정보처리기사 12단원(제품 소프트웨어 패키징) 요약 (2) | 2021.07.07 |
정보처리기사 10단원(애플리케이션 테스트 관리) 요약 (1) | 2021.07.06 |
정보처리기사 9단원(소프트웨어 개발 보안 구축) 요약 (0) | 2021.07.06 |
정보처리기사 8단원(서버 프로그램 구현) 요약 (1) | 2021.07.05 |
댓글