
윈도즈 운영체제 특징
- GUI 제공
- 선점형 멀티태스킹 방식 제공
- 자동감지 기능 제공
- OLE 사용
유닉스 계열 운영체제
- 대화식 운영체제 기능 제공
- 다중 작업 기능 제공
- 다중 사용자 기능 제공
- 이식성 제공
- 계층적 트리 구조 파일 시스템 제공
안드로이드 운영체제
- 리눅스 기반
- 자바와 코틀린 언어
- 런타임 라이브러리
- 안드로이드 소프트웨어 개발 키트
메모리 배치 기법
- 최초 적합(First Fit)
- 최적 적합(Best Fit)
- 최악 적합(Worst Fit)
페이징 기법의 문제점
- 스레싱 : 지속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간 보다 페이지 교체 시간이 더 많아지는 현상이다.
페이징 기법의 문제점 해결방안
- 워킹 세트 : 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하게 하여 빈번한 페이지 교체 현상을 줄인다.
- 페이지 부재 빈도 : 페이지 부재율의 상한화 하한을 정해서 직접적으로 페이지 부재율을 예측하고 조절한다.
프로세스 스케쥴링 유형
- 선점형 스케쥴링(Preemptive Scheduling) : 하나의 프로세스 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유한다.
- SRT(Shortest Remaining Time First), MLQ(Multi Level Queue), MLFQ(Multi Level Feedback Queue), RR(Round Robin)
- 비선점형 스케쥴링(Non-Preemptive Scheduling) : 한 프로세스가 CPU를 할당받으면 작업 종료할 때까지 다른 프로세스는 CPU를 점유할 수 없다.
- Priority, Deadline, HRN(Highest Response Ratio Next), FCFS(First Come First Service), SJF(Shortest Job First)
교착상태(Deadlock)
- 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원 할당을 무한정 대기하는 상태이다.
교착상태 발생 조건
- Mutual Exclusive
- Hold & Wait
- Non Preemption
- Circular Wait
교착상태 해결 방법
- Prevention
- Avoidance
- Detection
- Recovery
디스크 스케쥴링 종류
- FCFS
- SSTF
- SCAN
- C-SCAN
- LOOK(엘리베이터 알고리즘)
원거리 통신망(WAN) 연결 기술
- 전용 회선 방식(Dedicated Line)
- 회선 교환 방식(Circuit Switching)
- 패킷 교환 방식(Packet Switching)
전송 매체 접속 제어(MAC, Media Access Control)
- CSMA/CD : 유선랜(802.3)
- CSMA/CA : 무선랜(802.11)
프로토콜
- 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다.
프로토콜 3요소
- 구문(Syntax)
- 의미(Sementics)
- 타이밍(Timing)
2계층(데이터 링크 계층)
- 데이터 링크 계층은 링크의 설정과 유지 및 종료를 담당하며 노드 간의 회선 제어, 흐름 제어, 오류 제어 기능을 수행하는 게층이다.
- HDLC : 동기식 비트 중심
- PPP : 두 통신 노드 간의 직접적인 연결
- Frame Relay : 데이터 프레임들의 중계 기능과 다중화 기능을 수행
- ATM : 비동기식 시분할 다중화 방식의 패킷형 전송 기술
2계층의 오류 제어 종류
- 전진(순방향) 오류 수정(FEC)
- 해밍 코드 방식 : 수신측에서 오류가 발생한 비트를 찾아 재전송을 요구하지 않고, 자신이 직접 오류를 수정하는 방식으로 1비트의 오류 수정이 가능하다.
- 상승 코드 방식 : 여러 개 비트의 오류가 있더라도 경곗값, 순차적 디코딩을 이용하여 모두 수정할 수 있다.
- 후진(역방향) 오류 수정(BEC)
- 패리티 검사 : 7~8개 비트로 구성되는 전송 문자에 패리티 비트를 추가하여 오류를 검출하는 방식이다.
- Cycle Redundancy Check : 다항식을 통해 산출된 값을 토대로 오류를 검사하는 방식으로 집단 오류를 해결할 수 있다.
- Block Sum Check : 프레임의 모든 문자로부터 계산되는 잉여 패리티 비트들을 사용하는 2차원 패리티 검사 방식이다.
- Automatic Repeat Request : 신뢰성 있는 데이터 전달을 위해 재전송을 기반으로 하는 방식이다. (Stop-and-wait, Go-back-N, Selective Repeat)
3계층(네트워크 계층)
- 네트워크 계층은 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 위한 수단을 제공하는 계층이다.
- 라우팅, 패킷 포워딩, 인터 네트워킹 등을 수행한다.
- IP
- ARP : IP 주소를 MAC 주소로
- RARP : MAC 주소를 IP 주소로
- ICMP
- IGMP
- 라우팅 프로토콜
- NAT
IPv4
- 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 3계층 프로토콜이다.
- A 클래스 : 0.0.0.0 ~ 127.255.255.255
- B 클래스 : 128.0.0.0 ~ 191.255.255.255
- C 클래스 : 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
서브네팅
- IP 주소 고갈문제를 해결하기 위해 원본 네트워크를 여러 개의 네트워크로 분리하는 과정이다.
- FLSM 방식 : 서브넷의 길이를 고정적으로 사용한다.
- VLSM 방식 : 서브넷의 길이를 가변적으로 사용한다.
IPv6
- IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해 개발된 128비트 주소체계를 갖는 프로토콜이다.
- 특징
- IP 주소의 확장
- 이동성
- 인증 및 보안 기능
- 개선된 QoS 지원
- Plug&Play 지워
- Ad-hoc 네트워크 지원
- 단순 헤더 적용
- 실시간 패킷 추적 가능
IPv4에서 IPv6로 전환 방법
- 듀얼 스택 : IP 계층에 IPv4, IPv6 프로토콜이 모두 탑재되어 있고, 통신 상대방에 따라 해당 IP 스택을 선택하는 방법이다.
- 터널링 : IPv6 망에서 인접한 IPv4 망을 거쳐 다른 IPv6 망으로 통신할 때 IPv4 망에 터널을 만들고 IPv4에서 사용하는 프로토콜로 캡슐화하여 전송하는 방법이다.
- 주소 변환(Address Translation) : IPv4 망과 IPv6 망 사이에 주소 변환기를 사용하여 서로 다른 네트워크상의 패킷을 변환시키는 방법이다.
IP 통신 방식
- 멀티캐스트 프로토콜 : 인터넷에서 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 프로토콜이다.
- 멀티캐스트 라우팅 프로토콜 + 그룹관리 프로토콜
- 유니캐스트 프로토콜 : 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 프로토콜이다.
- 브로드캐스트 프로토콜 : 하나의 송신자가 같은 서브 네트워크상의 모든 수신자에게 데이터를 전송하는 프로토콜이다.
- 애니캐스트 프로토콜 : 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 데이터를 전달하는 프로토콜이다.
라우팅 프로토콜(3계층)
- 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신규약이다.
- 내부 라우팅 프로토콜
- RIP : Distance-Vector 알고리즘(벨만-포드 알고리즘), 15홉 제한, UDP 사용
- OSPF : Link-State 알고리즘(다익스트라 알고리즘), 라우팅 메트릭 지정, 홉 카운트 무제한, 멀티캐스팅 지원
- 외부 라우팅 프로토콜
- BGP : 변경 발생 시 대상까지의 가장 짧은 경로를 Path Vector 알고리즘을 통해 선정하고, TCP 연결을 통해 자치 시스템으로 라우팅 정보를 신뢰성 있게 전달한다. ISP 사업자들 상호 간에 주로 사용된다.
4계층(전송 계층)
- 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다.
- TCP
- UDP
TCP(Transmission Control Protocol)
- 신뢰성 보장
- 연결 지향적
- 흐름 제어
- 혼잡 제어
UDP(User Datagram Protocol)
- 비신뢰성
- 순서화되지 않은 데이터그램 서비스 제공
- 실시간 응용 및 멀티캐스팅 가능
- 단순 헤더
5계층(세션 계층)
- 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다.
- RPC
- NetBIOS
6계층(표현 계층)
- 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다.
7계층(응용 계층)
- 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다.
- HTTP
- FTP
- SMTP
- POP3
- IMAP
- Telnet
- SSH
- SNMP
- DNS
- DHCP
패킷 교환 방식의 종류
- 데이터그램 방식 : 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송한다.
- 가상 회선 방식 : 패킷이 전송되기 전에 송수신 스테이션 간의 논리적인 통신 경로를 미리 설정한다.
스토리지 시스템
- DAS : 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 스토리지이다.
- NAS : 서버와 저장 장치를 네트워크로 연결하여 구성하는 스토리지이다.
- SAN : 서버와 스토리지를 저장 장치 전용 네트워크로 상호 구성하여 데이터를 블록 단위로 관리하는 스토리지이다.
RAID
- 하나의 대형 저장 장치 대신 다수의 저용량의 저장 장치를 배열로 구성하는 기술이다.