운영체제 종류
(1) 운영체제의 개념
- 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다.
- 운영체제는 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공
(2) 운영체제의 종류
- Windows 운영체제
- 특징: GUI 제공, 선점형 멀티태스킹 방식 제공, 자동감지 기능 제공, OLE 사용
- Unix 계열 운영체제
- 특징
- 처음부터 다양한 시스템에 서로 인식할 수 있고, 멀티 태스킹을 지원
- 대화식 운영체제 기능, 다중 작업 기능, 다중 사용자 기능, 이식성, 계층적 트리 구조 파일 시스템
- 리눅스 운영체제
- 유닉스 기반으로 개발, 소스 코드가 공개된 오픈소스
- 맥 운영체제
- 유닉스 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제
- 안드로이드 운영체제
- 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 운용 프로그램을 포함하고 있는 운영체제
- 리눅스 기반, 자바와 코틀린, 런타임 라이브러리, 안드로이드 소프트웨어 개발 키트
- 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 운용 프로그램을 포함하고 있는 운영체제
- 특징
(3) 운영체제 핵심 기능
- 운영체제는 중앙처리장치, 메모리, 스토리지, 주변 기기 등을 관리(메모리 관리, 프로세스 관리)
(4) 메모리
- 메모리 관리 기법
- 반입 기법: 주기억장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법(요구 반입 기법, 예상 반입 기법)
- 배치 기법: 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법(최초 적합, 최적 적합, 최악 접합)
- 할당 기법: 실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법(연속 할당 기법, 분산 할당 기법)
- 교체 기법: 재배치 기법으로 주기억장체 있는 프로세스 중 어떤 프로세스를 제거할 것인지를 결정하는 기법(프로세스의 Swap In/Out)
- 메모리 배치 기법
- 최초 적합: 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
- 최적 적합: 가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
- 최악 적합: 프로세스의 가용 공간 중에서 가장 큰 공간에 할당하는 방식
- 메모리 할당 기법
- 연속 할당 기법
- 실행을 위한 각 프로세스를 주기억장치 공간 내에서 인접되게 연속하여 저장하는 방법
- 연속 할당 기법은 프로세스를 주기억장치에 연속으로 할당하는 기법
- 단일 분할 할당 기법, 다중 분할 할당 기법
- 분산 할당 기법
- 하나의 프로세스를 여러 개의 조각으로 나누어 주기억장치 공간 내 분산하여 배치하는 기법
- 주로 가상기억장치에서 사용
- 페이징 기법, 세그먼테이션 기법, 페이지/세그먼테이션 기법
- 연속 할당 기법
- 메모리 교체 기법
기법 | 설명 |
FIFO | 각 페이지가 주기억장치에 적재될 때마다 가장 오래 있던 페이지를 교체 |
LRU | 가장 오랫동안 사용되지 않은 페이지를 교체 |
LFU | 참조 횟수가 가정 적은 페이지를 선택하여 교체 |
OPT | 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체 |
NUR | 최근에 사용하지 않은 페이지를 교체 |
SCR | FIFO의 단점을 보완 |
(5) 프로세스
- 개념
- CPU에 의해 처리되는 프로그램
- 실행 중인 프로그램을 의미, 작업 또는 태스크라고도 불림
- 상태
- 생성 상태: 사용자에 의해 프로세스가 생성된 상태
- 준비 상태: CPU를 할당받을 수 있는 상태
- 실행 상태: 프로세스가 CPU를 할당받아 동작 중인 상태
- 대기 상태: 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태
- 완료 상태: 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
- 프로세스 상태 전이
- 개념: 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기 까지 프로세스의 상태가 준비, 실행 및 대기 상태로 변하는 활동
- 종류
- 디스패치: 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU를 할당(문맥교환 발생)
- 타이머 런 아웃: CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB저장, CPU 반납 후 다시 준비상태로 전환
- 블록: 실행 상태의 프로세스가 지정된 시간을 초과하기 전에 사건이 발생하면 CPU를 스스로 반납하고 입출력 완료까지 대기상태로 전이
- 웨이크 업: 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 알려주고, 준비 상태로 전이
- 프로세스 스케줄링
- 개념
- CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리
- 처리율과 CPU 이용률을 증가시키고 오버헤드, 응답시간, 반환시간, 대기시간을 최소화
- 유형
- 선점형 스케줄링
- 비선점형 스케줄링
- 개념
구분 | 선점형 스케줄링 | 비선점형 스케줄링 |
장점 | -비교적 빠른 응답 | -응답시간 예상이 용이 |
단점 | 높은 우선순위 프로세스들이 들어오는 경우 오버헤드 | 짧은 작업을 수행하는 프로세스가 긴 작업 종료까지 대기 |
알고리즘 | -라운드 로빈 -SRT -다단계 큐 -다단계 피드백 큐 |
-우선순위 -기한부 -FCFS -HRN -SJF |
활용 | 실시간 응답 환경 | 리시간 편차가 적은 특정 프로세스 환경 |
선점형 스케줄링 알고리즘 유형
알고리즘 유형 | 동작 방식 | 특징 |
라운드 로빈 | 프로세스는 같은 크기의 CPU 시간을 할당, 할당 시간내 처리되지 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기중인 다음 프로세스로 넘어가는 기법 | -균등한 CPU점유시간 -시분할 시스템 사용 |
SRT | 가장 짧은 시간이 소요되는 프로세스를 먼저 수행, 남은 처리시간이 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점 | 짧은 수행 시간 프로세스를 우선 수행 |
다단계 큐 | 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 당하는 스케줄링 기법 | 독립된 스케줄링 큐 |
다단계 피드백 큐 | FCFS와 라운드 로빈을 혼합한 것 | 큐마다 다른 시간 할당량 |
비선점형 스케줄링 알고리즘 유형
알고리즘 유형 | 동작 방식 | 특징 |
우선순위 | 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당하는 기법 | 주요/긴급 프로세스에 대한 우선 처리 |
기한부 | 작업들이 명시된 기간이나 기한 내에 완료되도록 계획하는 기법 | 요청에 명시된 시간 내 처리를 보장 |
FCFS | 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당(FIFO) | 도착한 순서대로 처리 |
SJF | 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원을 점유 | 기아 현상 발생 가능성 |
HRN | 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택 | 기아 현상 최소화 기법 |
- 프로세스 관리-교착상태
- 교착상태 개념: 다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
- 교착상태 발생 조건
- 상호 배제: 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없는 상태
- 점유와 대기: 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태
- 비선점: 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능한 상태
- 환형 대기: 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태
- 교착상태 해결 방법
- 예방, 회피, 발견, 복구
(6) 가상화
- 가상화 개념
- 가상화는 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
- 대부분의 서버는 용량의 20% 정도만을 사용하는데, 가상화를 통해 서버의 가동률을 60~70% 이상으로 올릴 수 있다
- 가상화 종류
- 플랫폼 가상화: 하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것처럼 보여주는 기법
- 리소스 가상화: 게스트 소프트웨어 위에서 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용하는 기법
- 가상화 기술요소
기술요소 | 설명 |
컴퓨터 가상화 | - 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술 - 서버 가상화를 통해 하나의 시스템에서 1개 이상의 운영체제를 동시에 가동시킬 수 있으므로, 서버 이용률이 크게 향상 - 하이퍼바이저 |
스토리지 가상화 | - 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술 - 이기종 스토리지 시스템의 통합을 가능하게 하는 기술 - 분산 파일 시스템 |
I/O 가상화 | - 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 i/o 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적으로 연결을 지원하는 기술 - 가상 네트워크 인터페이스 카드 |
컨테이너 | - 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술 - 하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음 - 도커 |
분산처리기술 | -여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술 |
네트워크 가상화 기술 | -물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치의 가상화를 통한 가상 네트워크를 지원하는 기술 - SDN |
(7) 클라우드 컴퓨팅
- 클라우드 컴퓨팅 개념
- 클라우드 컴퓨팅 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술
- 클라우드 컴퓨팅 분류
- 사설 클라우드: 기업 또는 조직 내부에서 보유하고 있는 컴퓨터 자원을 사용하여 내부에 구축되어 운영되는 클라우드(보안성)
- 공용 클라우드: 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드(확장성, 유연성)
- 하이브리드 클라우드: 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드(형태 변경 가능)
- 클라우드 컴퓨팅 유형
- 인프라형 서비스(IaaS): 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- 플랫폼형 서비스(PaaS): 인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
- 소프트웨어형 서비스(SaaS): 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
네트워크 기초 활용하기
(8) 네트워크 개념
- 네트워크: 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라
- 분류
- WAN: 광대역 네트워크로 LAN에 비해 전송거리가 넓음. 라우팅 알고리즘 필요
- LAN: 근거리 네트워크로 한 건물 또는 작은 지역을 커버하는 네트워크
(9) OSI 7계층
계층이름, 설명, 프로토콜, 전송단위, 장비
응용계층, 사용자와 네트워크 간 응요어비스 연결, HTTP,FTP, 데이터, 호스트
표현 계층, 데이터 형식 설정, 부호교환, 암,복호화, 압축 , JPEG,MPEG
세션 계층, -송수신 간의 논리적인 연결, -연결 접속, 동기제어, RPC, NetBIOS
전송 계층, -송수신 프로세스 간의 연결, -데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어, TCP,UDP, 세그먼트 L4
네트워크 계층, -단말기 간 데이터 전송을 위한 최적화된 경로 제공, IP,ICMP, 패킷, 라우터
데이터링크 계층, -인접 시스템 간 데이터 전송, 전송 오류 제어 -동기화, 오류 제어, 흐름 제어, 회선 제어, HDLC,PPP, 프레임, 브리지,스위치
물리 계층, -0과1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환,RS-232C, 비트 ,허브
(10) 프로토콜
- 프로토콜 개념
- 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약
- 프로토콜 3요소
- 구문, 의미, 타이밍
- 네트워크 계층 프로토콜
- IP: 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고 받는 데 사용하는 통신 프로토콜
- ARP: IP 네트워크상에서 IP 주소를 MAC 주소로 변환하는 프로토콜
- RARP: IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위한 프로토콜
- ICMP: IP 동작 과정에서의 전송 오류가 발생하는 경우에 오류 정보를 전송하는 목적으로 사용하는 프로토콜
- IGMP: 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버쉽을 구성하는 데 사용하는 통신 프로토콜
- 라우팅 프로토콜: 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 합격 후기 (0) | 2024.06.24 |
---|---|
[정보처리기사 실기] 7. 애플리케이션 테스트 케이스 관리 (0) | 2024.04.08 |
[정보처리기사 실기] 6. 소프트웨어 개발 보안 설계 (1) | 2024.04.06 |
[정보처리기사 실기] 5. 개발환경 구축 (0) | 2024.04.05 |
[정보처리기사 실기] 4. 통합 구현 (0) | 2024.03.17 |