▶ 운영체제
사용자가 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
▶ 운영체제의 종류
윈도우, 유닉스, 리눅스, 맥, 안드로이드
▶ 운영체제 핵심기능
⦁ 메모리 관리
⦁ 프로세스 관리
▶ 메모리 관리 기법 (반배할교)
⦁ 반입 기법 : 메모리로 적재 시기 결정
⦁ 배치 기법 : 메모리 적재 위치 결정
⦁ 할당 기법 : 메모리 적재 방법 결정
⦁ 교체 기법 : 메모리 교체 대상 결정
▶ 메모리 배치 기법
⦁ 최초 적합(First-fit) : 가용 공간 중 첫 번째 분할에 할당
⦁ 최적 적합(Best-fit) : 가장 크기가 비슷한 공간에 할당
⦁ 최악 적합(Worst-fit) : 가장 큰 공간에 할당
▶ 프로세스 상태 (생준 실대완)
⦁ 생성(Create) 상태 : 사용자에 의해 프로세스가 생성된 상태
⦁ 준비(Ready) 상태 : CPU를 할당받을 수 있는 상태
⦁ 실행(Running) 상태 : 프로세스가 CPU를 할당받아 동작중인 상태
⦁ 대기(Waiting) 상태 : 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기리스트에서 기다리는 상태
⦁ 완료(Complete) 상태 : CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
▶ 프로세스 상태 전이 (디타블웨)
⦁ 디스패치(Dispatch) : 준비상태의 프로세스중 실행될 프로세스를 선정해 CPU할당 (준비→실행)
⦁ 타이머 런 아웃(Timer run out) : 할당시간이 초과 (실행→준비)
⦁ 블록(Block) : 사건이 발생 (실행→대기)
⦁ 웨이크업(Wake-up) : 입출력 종료 (대기→준비)
▶ 프로세스 스케줄링
CPU를 사용하려는 프로세스 사이의 우선순위를 관리
▶ 프로세스 스케줄링 유형 (반 = 종-도/대 = 반-서)
◇ 선점형 스케줄링 (SMMR)
⦁ 라운드 로빈(Round Robin) : 같은 크기의 CPU 시간 할당
⦁ SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨
⦁ 다단계 큐(Multi Level Queue) : 작업들을 여려 종류 그룹 분할, 독자적인 스케쥴링을 가짐
⦁ 다단계 피드백 큐 : 큐마다 서로 다른 CPU시간 할당량 부여, FIFO와 라운드 로빈 스케줄링 기법을 혼합한 것
◇ 비선점형 스케줄링 (우기 HFS)
⦁ 우선순위(Priority) : 프로세스별 우선순위가 주어지고, 우선순위에 따라 CPU 할당
⦁ 기한부(Deadline) : 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
⦁ FCFS(First Come Frist Service) : 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당(FIFO)
⦁ SJF(Shortest Job First) : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유, 기아 현상 발생 → 기아현상은 에이징으로 해결
⦁ HRN(Highest Response Ratio Next) : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 현상 최소화 기법 (대기시간+서비스시간)/서비스시간
▶ 가상화(Virtualization)
물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 여러 개로 보이게 하는 기술 이를 통해 서버의 가동률을 60~70% 이상으로 올릴 수 있다.
▶ 가상화 기술요소 (컴스인컨분네)
⦁ 컴퓨팅 가상화 : 물리적으로 컴퓨터 리소스를 가상화해 논리적 단위로 리소스를 활용할 수 있도록 하는 기술
⦁ 스토리지 가상화 : 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가, 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술
⦁ I/O 가상화 : 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화해 효율적인 연결 지원
⦁ 컨테이너 : 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술
⦁ 분산처리 기술 : 여러 대의 컴퓨터 계산 및 저장능력을 이용해 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
⦁ 네트워크 가상화 기술 : 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단
▶ 클라우드 컴퓨팅(Cloud Computing)
인터넷의 서버를 통해 IT 관련 서비스를 한 번에 사용할 수 있는 컴퓨팅 환경
▶ 클라우드 컴퓨팅 분류 (사공하)
⦁ 사설(Private) 클라우드 : 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원(IDC, 서버등)을 사용하여 내부에 구축되어 운영되는 클라우드
⦁ 공용(Public) 클라우드 : 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원서비스를 제공하는 클라우드
⦁ 하이브리드(Hybrid) 클라우드 : 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드
▶ 클라우드 컴퓨팅 유형 (인플소)
⦁ 인프라형 서비스(laaS) : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
⦁ 플랫폼형 서비스(PaaS) : 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
⦁ 소프트웨어형 서비스(SaaS) : 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
▶ 네트워크(Network)
원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라
▶ 프로토콜(Procotcol)
서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약
▶ 프로토콜의 기본 3요소
⦁ 구문(Syntax) : 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호레벨 등의 규정
⦁ 의미(Semantic) : 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
⦁ 타이밍(Timing) : 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정
▶ 네트워크 프로토콜
컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙 체계
▶ 네트워크 프로토콜 특징
⦁ 단편화 : 전송이 가능한 작은 블록으로 나누어지는 기법
⦁ 재조립 : 단편화되어 온 조각들을 원래 데이터로 복원하는 기법
⦁ 캡슐화 : 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법
⦁ 연결 제어 : 데이터의 전송량이나 속도를 제어하는 기법
⦁ 오류 제어 : 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법
⦁ 동기화 : 송신과 수신 측의 시점을 맞추는 기법
⦁ 다중화 :하나의 통신 회선에 여러 기기들이 접속 할 수 있는 기술
⦁ 주소지정 : 송신과 수신지의 주소를 부여 하여 정확한 데이터 전송을 보장하는 기법
▶ IPv4 전송방식 : 유니, 멀티, 브로드
▶ IPv6 전송방식 : 유니, 멀티, 애니
유니캐스트 : 1 대 1
애니캐스트 : 가장 가까운 노드로 1 대 1
멀티캐스트 : 1 대 다
브로드캐스트 : 다 대 다
▶ 물리 계층(Physical Layer)
⦁ 0과 1 비트 정보를 회선에 보내기 위한 전기적 신호 변환
⦁ 전송 단위 : 비트(Bit)
▼ 장비 : 허브, 리피터
▶ 데이터 링크 계층(Data Link Layer)
⦁ 링크의 설정과 유지 및 종료 담당, 노드 간의 오류제어, 회선제어, 흐름제어를 수행
⦁ 전송 단위 : 프레임(Frame)
▼ 장비 : 브리지, 스위치
▼ 프로토콜 : HDLC, PPP, 프레임 릴레이, ATM
▶ 네트워크 계층(Network Layer)
⦁ 다양한 길이의 패킷 전송, 단말기 간 데이터 전송을 위한 최적화된 경로 제공
⦁ 라우팅, 패킷 포워딩, 인터 네트워킹 수행
⦁ 전송 단위 : 패킷(Packet)
▼ 장비 : 라우터, 게이트웨이, 스위치, 백본 스위칭 허브
⦁ 라우터 : LAN과 LAN / LAN과 WAN 연결, 최적의 경로 지정
⦁ 게이트웨이 : 프로토콜을 서로 다른 통신망에 접속할 수 있게 해줌
▼ 네트워크 계층 프로토콜 : IP, ARP, RAPR, ICMP, IGMP, 라우팅 프로토콜
⦁ IP(Internet Protocol) : 송수신 간의 패킷 단위로 데이터 교환, 네트워크에서 정보를 주고받는 데 사용
⦁ ARP(Address Resolution Protocol) : IP네트워크상에서 IP주소를 MAC주소(물리 주소)로 변환
⦁ RAPR(Reverse Address Resolution Protocol) : 호스트가 자신의 MAC주소는 알지만 IP주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해 사용
⦁ ICMP(Internet Control Message Protocol) : IP패킷을 처리할 때 발생되는 문제를 알려주는 메시지 형식 프로토콜
⦁ IGMP(Internet Group Management Protocol) : 인터넷 그룹 관리, 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용
⦁ 라우팅 프로토콜 : 데이터 전송을 위해 목적지까지 갈 수 있는 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜
▼ 라우팅 프로토콜의 구성
<내부라우팅 프로토콜(IGP)>
⦁ RIP(Routing Information Protocol) : AS 내에서 사용하는 거리 벡터 알고리즘에 기초해 개발된 내부 라우팅 프로토콜, 벨만-포드 알고리즘, 15홉 제한, IGRP
⦁ OSPF(Open Shortest Path First) : 규모가 크고 복잡한 TCP/IP네트워크에서 RIP의 단점 개선위한 링크 상태 알고리즘 적용해 최단 경로를 찾는 프로토콜, 다익스트라 알고리즘, 홉 제한 없음, ELGRP
<외부 라우팅 프로토콜(EGP)>
⦁ BGP : AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜
▼ 라우팅 알고리즘의 유형
⦁ 거리 벡터(Distance Vector) 알고리즘 : 인접 라우터와 정보를 공유해 목적지까지의 거리와 방향을 결정하는 알고리즘, 벨만-포드 알고리즘 사용
⦁ 링크 상태 알고리즘 : 링크 상태 정보를 모든 라우터에게 전달해 최단 경로 트리 구성, 다익스트라(Dijkstra) 알고리즘 사용
▶ 전송 계층(Transport Layer)
⦁ 종단 간의 사용자들에게 신뢰성 있는 데이터 전달, 송수신 프로세스 간의 연결
⦁ 전송단위 : 세그먼트(Segment)
▼ 전송 계층 프로토콜 : TCP, UDP
⦁ TCP(Transmission Control Protocol) : 신뢰성 보장, 연결 지향적 특징, 흐름 제어, 혼잡 제어
⦁ UDP(User Datagram Protocol) : 비신뢰성, 비연결성, 순서화되지 않은 데이터그램 서비스 제공, 단순 헤더, 실시간 응용 및 멀티캐스팅 가능
▶ 세션 계층(Session Layer)
⦁ 프로세스들의 논리적인 연결, 응용 프로그램 간의 대화를 유지하기 위한 구조 제공
⦁ 전송단위 : 데이터
▼ 세션 계층 프로토콜 : PRC, NetBIOS
⦁ RPC(Remote Procedure Call) : 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행 할 수 있는 프로세스 간 통신에 사용, 원격 프로시저 호출
⦁ NetBIOS : 응용계층의 애플리케이션 프로그램에게 API 제공해 상호 통신 가능
▶ 표현 계층(Presentation Layer)
⦁ 통신에 알맞은 형태로 만듦, 사용자가 이해할 수 있는 형태로 만듦. 부호교환, 암복호화
⦁ 전송단위 : 데이터
▼ 표현 계층 프로토콜 : JPEG, MPEG
⦁ JPEG : 이미지를 위해 만들어진 표준 규격
⦁ MPEG : 멀티미디어를 위해 만들어진 표준 규격
▶ 응용 계층(Application Layer)
⦁ 사용자와 네트워크 간 응용서비스 연결
⦁ 전송단위 : 데이터
▼ 응용 계층 프로토콜 : HTTP, FTP, SMTP, Telnet, POP3/IMAP
⦁ HTTP : 텍스트 기반의 통신규약, 인터넷에서 데이터를 주고받을 수 있는 프로토콜
⦁ FTP(File Transfer Protocol) : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
⦁ SMTP(Simple Mail Transter Protocol) : 인터넷에서 TCP 포트 번호 25번, 이메일을 보내기위해 이용
⦁ Telnet : 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
▶ 서킷 스위칭
네트워크 리소스를 특정 사용 층이 독점하도록 하는 통신 방식
▶ 패킷 스위칭
작은 블록의 패킷으로 데이터를 전송하며, 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식
▶ 패킷 스위칭 관련 기술
⦁ X.25 : 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
⦁ 프레임 릴레이 : ISDN을 사용하기 위한 프로토콜, ITU-T에 의해 표준으로 작성됨
⦁ ATM(Asynchronous Transfer Mode) : 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법
▶ 운영체제 운용
⦁ 서버 운영체제 운용 기준/ 개별 PC용 운영체제 운용 기준
▶ 개발환경 인프라 구성 방식
⦁ 온프레미스(On-Pramise)방식 : 외부 인터넷망이 차단된 상태에서 인트라넷 망만을 활용하여 개발환경을 구축하는 방식
⦁ 클라우드(Cloud)방식 : 아마존, 구글, 마이크로소프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식
⦁ 하이브리드 방식 : 온프레미스 + 클라우드
응용 : 데이터 / HTTP, FTP, SMTP, Telnet, POP3/IMAP
표현 : 데이터 / JPEG, MPEG
세션 : 데이터 / PRC, NetBIOS
전송 : 세그먼트 / TCP, UDP
네트 : 패킷 / 스위치, 라우터 / IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜
데링 : 프레임 / 브리지, 스위치 / HDLC, PPP, 프레임릴레이, ATM
물리 : 비트 / 허브, 리피터
라우팅 알고리즘
정적 라우팅 알고리즘
동적 라우팅 알고리즘
내부 라우팅 알고리즘 : RIP, OSPF
외부 라우팅 알고리즘 : BGP