운영체제의 특징
운영체제 종류
1) 운영체제 개념
: 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다.
인터페이스(쉘) + 커널의 구조이다
쉘은 가장 바깥 부분에 위치해 사용자 명령에 대한 처리를 담당하는 역할을 하고
커널은 하드웨어와 관련된 내부적인 역할을 담당한다.
커널의 기능
- 프로세스 관리
- 기억장치 관리
- 주변장치 관리
- 파일 관리
운영체제 종류
- windows 운영체제: MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 마이크로소프트사가 개발한 운영체제
- Unix 계열 운영체제: 대부분 C언어로 구현, 범용 다중 사용자 방식의 시분할 운영체제
- Linux 운영체제: 데비안, 레드헷, Ubuntu, CentOS, 대화식, 다중작업기능, 계층적 트리 구조 파일 시스템
- Mac 운영체제: 그래픽 사용자 인터페이스 기반
- Android 운영체제: 미들웨어, 사용자 인터페이스, 표준 응용 프로그램 포함, 리눅스 기반, 자바와 코틀린
2) 리눅스/유닉스 운영체제의 기본 명령어
리눅스/유닉스 운영체제의 파일 접근 권한 권리
(각 파일의 정보가 저장된 i-node 값을 읽게 된다.)
접근권한
- User
- Group
- Other
User | Group | Other | ||||||
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
r, w x 는 Read, Write, eXcute로 파일을 읽거나 쓰거나 실행 할 수 있는 3가지 모드로 구분한다
즉 chmod 777 은 모든 사용자에 rwx 권한을 설정하는 것이다.
운영체제 핵심 기능 파악
1) 운영체제 핵심 기능
메모리 관리 기법
- 반입 기법
- 배치 기법
- 할당 기법
- 교체 기법
메모리 배치 기법
- 최초 적합: 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
- 최적 적합: 가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
- 최악 적합: 프로세스의 가용 공간들 중에서 가장 큰 공간에 할당하는 방식이다.
프로세스 관리
프로세스 상태
- 생성
- 준비
- 실행
- 대기
- 완료
프로세스 상태 전이
- 디스패치: 준비 상태에 있는 여러 프로세스 중 실행될 프로세스 선정해 CPU를 할당 -> 문맥교환 발생
- 타이머 런 아웃
- 블록 = 입출력 발생
- 웨이크 업
프로세스 스케줄링
: CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업이다.
프로세스 스케줄링 유형
- 선점형 스케줄링: 하나의 프로세스가 CPU 차지하고 있을 때 우선순위 높은 다른 프로세스가 중단시키고 점유
- 라운드 로빈(Round Robin): 같은 크기의 CPU 시간을 할당, 시간 내에 처리 완료 못하면 준비 큐 리스트 가장 뒤로 보내지고 CPU는 대기중인 다음 프로세스로 넘어간다 (시분할 시스템 사용)
- SRT: 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점된다.
- 다단계 큐: 여러 종류 그룹으로 분할, 여러 개의 큐 이용하여 상위 단계 작업에 의한 하위단계 작업이 선점 당함(독립된 스케줄링 큐)
- 다단계 피드백 큐: 입출력 위주와 CPU 위주의 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량 부여 (FCFS와 라운드 로빈 스케줄링 기법 혼합, 마지막 단계 라운드 로빈)
- 비선점형 스케줄링: 한 프로세스가 CPU 할당 받으면 작업 종류 후 반환까지 다른 프로세스는 CPU 점유 불가
- 우선순위: 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU 할당
- 기한부: 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
- FCFS: 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당함 FIFO 알고리즘이라고도 함
- HRN: 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택(기아 현상 최소화 기법)
- SJF: 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유(기아 현상 발생 가능성)
프로세스 스케줄링 알고리즘 계산방법
- 반환시간 = 종료 시간 - 도착 시간
- 대기시간 = 반환시간 - 서비스 시간
프로세스 관리 - 교착상태
개념: 다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태이다.
교착상태 발생 조건 [상점비환]
- 상호 배제: 자원을 배타적으로 점유
- 점유와 대기: 자원 점유하면서 또 다른 자원 요청하여 대기
- 비선점: 점유한 자원에 대해 다른 프로세스가 선점할 수 없고 오직 점유한 프로세스만이 해제 가능한 상태
- 환형 대기: 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태
교착상태 해결 방법
- 예방: 상호 배제를 제외한 나머지 교착상태 발생 조건을 위배하는 방안
- 회피: 안전한 상태를 유지할 수 있는 요구만 수락 - 은행가 알고리즘
- 발견: 시스템의 상태를 감시 알고리즘 통해 교착 상태 검사
- 복구: 교착상태가 없어질 때까지 프로세스를 순차적으로 kill하여 제거
2) 가상화, 클라우드
가상화 개념: 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술이다.
가상화 기술요소
- 컴퓨팅 가상화: 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용 (하이퍼바이저)
- 스토리지 가상화: 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술(분산 파일 시스템)
- I/O 가상화: 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술 (가상 네트워크 인터페이스 카드)
- 컨테이너: 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술 (도커)
- 분산처리 기술: 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
- 네트워크 가상화 기술: 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치) 의 가상화를 통한 가상 네트워크를 지원하는 기술 (SDN, NFV)
클라우드 컴퓨팅
: 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술이다.
클라우드 컴퓨팅 유형
- IaaS 인프라형 서비스: 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- PaaS 플랫폼형 서비스: 인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
- SaaS 소프트웨어형 서비스: 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
네트워크 기초 활용하기
네트워크 계층 구조 파악
1) 네트워크 개념
: 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다.
거리에 따른 네트워크 분류
- WAN: 광대역 네트워크
- LAN: 근거리 네트워크
2) OSI(Open System Interconnection) 7계층
: 국제 표준화 기구인 ISO 에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.
OSI 7 Layer 특징
- 물리 계층: 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 / RS-232C / 비트 / 허브 리피터
- 데이터 링크 계층: 인접 시스템 간 데이터 전송, 전송 오류 제어, 흐름제어, 회선 제어 / HDLC, PPP / 프레임 / 브리지, 스위치
- 네트워크 계층: 단말기 간 데이터 전송을 위한 최적화된 경로 제공 / IP, ICMP / 패킷 / 라우터
- 전송 계층: 송수신 프로세스 간의 연결, 신뢰성 있는 통신 보장, 혼잡 제어 / TCP, UDP / 세그먼트 / L4 스위치
- 세션 계층: 송수신 간의 논리적인 연결 / RPC, NetBIOS / 데이터
- 표현 계층: 데이터 형식 설정, 부호교환, 암 복호화 / JPEG, MPEG
- 응용 계층: 사용자 네트워크 간 응용서비스 연결, 데이터 생성 / HTTP, FTP
3) 네트워크 장비
- 1계층
- 허브: 여러 대의 컴퓨터 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
- 리피터: 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비
- 2계층
- 브리지: 두 개의 근거리통신망을 서로 연결해 주는 통신망 연결 장치
- L2 스위치: 느린 전송속도의 브리지, 허브의 단점 개선하기 위해 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치
- 3계층
- 라우터: LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비, 패킷의 위치를 추출하여 그 위치에 대한 최적의 경로를 지정
- 게이트웨이: 프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치
- L3 스위치: 3계층에서 네트워크 단위들을 연결하는 통신 장비
네트워크 프로토콜 파악
1) 프로토콜
개념: 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다.
프로토콜의 기본 3요소
- 구문(Syntax): 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정
- 의미(Semantic): 제어 정보로 조정과 에러 처리를 위한 규정
- 타이밍(Timing): 속도 조절과 순서 관리 규정
2) 데이터 링크 계층(2계층)
: 링크의 설정과 유지 및 종료를 담당하며 노드 간의 회선 제어, 흐름제어, 오류 제어 기능을 수행하는 계층이다.
데이터 링크 계층 프로토콜
- HDLC: 점대점 방식이나 다중방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜
- PPP: 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
- ATM
3) 네트워크 계층(3계층)
: 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공하는 계층이다.
네트워크 계층 프로토콜
- IP: 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는데 사용하는 통신 프로토콜
- ARP: IP 네트워크상에서 IP주소를 MAC 주소로 변환하는 프로토콜
- RARP: IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
- ICMP: IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜로 메시지 형식은 8바이트의 헤더와 가변 길이의 데이터 영역으로 분리
- IGMP: 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜, 화상회의, IPTV에서 활용되는 프로토콜
- 라우팅 프로토콜: 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해준다
IPv4
개념: 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층의 프로토콜이다.
분류
- A클래스: 1~126(0, 127로 시작된 IP는 예약됨) 범위의 IP 주소를 가짐
- B클래스: 128~191 범위를 가진다
- C클래스: 192~223 범위를 가진다
- D클래스: 멀티캐스트 용도로 예약된 주소
- E클래스: 연구를 위해 예약된 주소
전송 방식: 유니캐스트(1:1), 멀티캐스트(특정한 수신자), 브로드 캐스트(모두)
IPv6
개념: 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6 인터넷 프로토콜로 재정된 차세대 인터넷 프로토콜을 말한다.
전송 방식: 유니캐스트, 멀티캐스트, 애니캐스트(가장 가까운 곳)
라우팅 프로토콜
: 데이터 전송 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로 설정
- RIP: AS내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜, 벨만-포드 알고리즘 사용
- OSPF: TCP/IP 네트워크에서 RIP 단점 개선하기 위해 자신을 기준으로 링크 상태 알고리즘 적용하여 최단 경로 찾는다, 다익스트라 알고리즘 사용, 라우팅 메트릭 지정
- BGP: AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜이다
4) 전송 계층(4계층)
개념: 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다.
TCP
: 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로 IP와 함께 TCP/IP 라는 명칭으로 사용된다.
특징
- 신뢰성 보장
- 연결 지향적 특징
- 흐름 제어
- 혼잡 제어
UDP
: 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터그램 서비스를 제공하는 전송 계층의 통신 프로토콜이다.
특징
- 비신뢰성
- 순서화되지 않은 데이터그램 서비스 제공
- 실시간 응용 및 멀티캐스팅 가능
- 단순 헤더
5) 세션 계층(5계층)
개념: 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다.
프로토콜
- RPC: 원격 프로시저 호출
- NetBIOS: 응용계층 애플리케이션 프로그램에게 API를 제공하여 상호 통신
6) 표현 계층(6계층)
개념: 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다.
프로토콜
- JPEG: 이미지를 위해 만들어진 표준 규격
- MPEG: 멀티미디어
7) 응용 계층(7계층)
개념: 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다.
프로토콜
- HTTP: 텍스트 기반 통신규약, 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
- FTP: TCP/IP 프로토콜 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
- SMTP: 인터넷에서 TCP 포트 번호를 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜
- POP3: 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
- IMAP: 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
- Telnet: 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
- SSH: Telnet보다 강력한 보안을 제공하는 원격접속 프로토콜
- SNMP: 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리
네트워크 전달 방식
패킷 교환 방식의 종류
- 데이터그램 방식: 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식
- 가상 회선 방식: 패킷이 전송되기 전에 송, 수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식
애드 혹 네트워크: 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크이다.
'▸정보처리기사' 카테고리의 다른 글
[정보처리기사 실기 요약정리] 9. 애플리케이션 테스트 관리 (0) | 2023.04.19 |
---|---|
[정보처리기사 실기] 단원별 요약, 정리 / 개념 정리 (0) | 2023.04.19 |
[정보처리기사 실기 요약정리] 8. 소프트웨어 개발 보안 구축 (0) | 2023.04.19 |
[정보처리기사 실기 요약정리] 7. 서버 프로그램 구현 (0) | 2023.04.18 |
[정보처리기사 실기 요약정리] 6. SQL 응용 (0) | 2023.04.18 |