본문 바로가기
정보처리기사/11. 응용 SW 기초 기술 활용

Chapter 01. 운영체제의 특징

by HoPpangg 2021. 9. 29.
SMALL

1. 운영체제

  • 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인테페이스를 제공해주는 소프트웨어
  • 운영체제는 한정된 시스템자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공
  • 인터페이스(쉘) + 커널 구조

2. 운영체제 특징

  • 사용자 편리성 제공
  • 인터페이스 기능 담당
  • 스케줄링 담당
  • 자원 관리
  • 제어 기능

3. 커널의 기능

  • 프로세스 관리
  • 기억장치 관리
  • 주변장치 관리
  • 파일 관리

4. 윈도즈 운영체제 특징 (자선자 오)

  • 그래픽 사용자 인터페이스 (GUI) 제공
  • 선점형 멀티테스킹 방식 제공
  • 자동 감지 기능 제공
  • OLE (Object Linking and Embedding) 사용

5. 유닉스 계열 운영체제 특징 (대다 사이계)

  • 대화식 운영체제 기능 제공
  • 다중 작업 기능 제공
  • 다중 사용자 기능 제공
  • 이식성 제공
  • 계층적 트리 구조 파일 시스템 제공

6. 안드로이드 특징

  • 리눅스 기반
  • 자바와 코틀린 언어
  • 런타임 라이브러리
  • 안드로이드 소프트웨어 개발 키트 (SDK)

7. 운영체제 제어 방법

  • CLI
    • Command Line interface
    • 사용자가 직접 명령어 입력, 컴퓨터에 명령을 내리는 방식
  • GUI
    • Graphic User Interface
    • 마우스로 화면을 클릭하여 그래픽 위주로 컴퓨터를 제어하는 방식

8. 메모리 관리 기법 (반배할교)

  • 반입 기법
    • 주 기억장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법
    • 메모리 적재 시기 결정 (When)
    • 요구 반입 기법
    • 예상 반입 기법
  • 배치 기법
    • 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법
    • 메모리 적재 위치 결정 (Where)
    • 최초 적합 (First-fit)
    • 최적 적합 (Best-fit)
    • 최악 접합 (Worst-fit)
  • 할당 기법
    • 실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법
    • 메모리 적재 방법을 결정 (How)
    • 연속 할당 기법
    • 분산 할당 기법
  • 교체 기법
    • 재배치 기법으로 주기억장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지를 결정하는 기법
    • 메모리 교체 대상 결정 (Who)
    • 프로세스의 Swap In/Out
    • FIFO, Optional, LRU, LFU, 시계 알고리즘, MFU

9. 배치 기법 유형 (초적악)

  • 최초 적합 (First-fit)
    • 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
  • 최적 적합 (Best-fit)
    • 가용 공간 중 가장 크기가 비슷한 공간을 선택하여프로세스를 적재하는 방식 (공백 최소화)
  • 최악 적합 (Worst-fit)
    • 프로세스의 가용 공간들 중에서 가장 큰 공간에 할당하는 방식

10. 프로세스 상태 (생준 실대완)

  • 생성(Create) 상태
  • 준비(Ready) 상태
  • 실행(Running) 상태
  • 대기(Waiting) 상태
  • 완료(Complete) 상태

11. 프로세스 상태 전이 (디타 블웨)

  • 디스패치 (Dispatch)
    • 준비 상태에 있는 여러 프로세스(Ready List) 중 실행될 프로세스를 선정하여 CPU를 할당 -> 문맥 교환 발생
    • 프로세스는 준비상태에서 실행상태로 전이
  • 타이머 런 아웃 (Timer run out) = 할당 시간 초과
    • CPU를 할당 받은프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB저장, CPU 반납 후 다시 준비 상태로 전이됨
    • 프로세스는 실행 상태에서 준비 상태로 전이
  • 블록 (Block) = 입출력 발생
    • 실행 상태에 있는 프로세스가 지정된 할당 시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이

12. 프로세스 스케줄링 주요 용어

  • 서비스 시간
    • 프로세스가 결과를 산출하기까지 소요되는 시간
  • 응답 시간 (반환 시간)
    • Response Time or Turnaround time
    • 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간
    • 응답시간 = 대기시간 + 수행시간
  • 평균 응답 시간 (평균 반환 시간)
    • 대기 큐의 프로세스가 결과를 산출하기 소요되는 시간 평균
  • 대기시간
    • 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간
    • 프로세스가 도착 즉시 프로세서에 할당되면 대기시간은 '0'이 됨
  • 평균 대기 시간
    • 프로세스가 대기 큐에서 대기하는 평균 시간
  • 종료시간
    • 요구되는 Processing time을 모두 수행하고 종료된 시간
  • 시간 할당량(Time Quantum or Time Slice)
    • 한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량
  • 응답률
    • (대기시간 + 서비스 시간) / 서비스 시간
    • HRN 스케줄링에서 사용
    • HRN 스케줄에서 응답률이 높으면 우선순위가 높다고 판단

13. 프로세스 스케줄링 유형

  • 선점형 스케줄링 (Preemptive Scheduling)
    • 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식
    • 비교적 빠른 응답
    • 대화식 시분할 시스템 적합
    • 높은 우선순위 프로세스들이 들어오는 경우 오버헤드 초래
  • 비선점형 스케줄링 (Non Preemptive Scheduling)
    • 한 프로세스가 CPU를 할당 받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식
    • 응답 시간 예상 용이
    • 모든프로세스에 대한 요구를 공정하게 처리
    • 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기

 

14. 선점형 스케줄링 (Preemptive Scheduling) (SMMR)

  • SRT (Shortest Remaining Time First)
    • 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리기간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨
  • MLQ (Multi-Level Queue - 다단계 큐)
    • 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위 작업에 의한 하위 단계 작업이 선점 당함
    • 각 큐는 자신만의 독자적인 스케줄링 가짐
  • MLFQ (Multi-Level Feedback Queue - 다단계 피드백 큐)
    • 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량 부여
    • FCFS(FIFO)와 라운드 로빈 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선 순위, 프로세스의 실행 시간이 길어질 수록 점점 낮은 순위 큐로 이동하고 마지막 단계는 라운드 로빈 방식으로 적용
  • Round Robin (라운드 로빈)
    • 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어감

15. 비선점형 스케줄링 (Non Preemptive Scheduling) (우기 HFS)

  • 우선순위 (Priority)
    • 프로세스 별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함
    • 동일 순위는 FCFS
  • 기한부 (Deadline)
    • 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
  • FCFS (First Come First Service)
    • 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당
  • HRN (High Response Ratio Next)
    • 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택
    • SJF의 약점인 기아 현상을 보완한 기법으로 긴 작업과 짧은 작업 간의 불평등 완화
    • HRN 우선 순위 = (대기시간 + 서비스시간) / 서비스 시간 == (대기시간 / 서비스 시간) + 1
  • SJF (Shortest Job First)
    • 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유
    • 준비 큐 작업 중 가장 짧은 작어부터 수행, 평균 대기 시간 최소
    • CPU 요구 시간이 긴 작업과 짧은 작업 간의 불평등이 심하며 CPU 시간이 긴 프로세스는 기아 현상 발생

17. 가상화

  • 가상화는 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
  • 플랫폼 가상화
    • 하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것처럼 보여주는 기술
  • 리소스 가상화
    • 게스트 소프트웨어 위에서 사용사는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용되는 기법

18. 가상화 기술 요소

  • 컴퓨팅 가상화
    • 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술
    • 하이퍼바이저 (hypervisor)
  • 스토리지 가상화
    • 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용 할 수 있도록 하는 기술
    • 이기종 스토리지 시스템의 통합을 가능하게 하는 기술
    • 분산 파일 시스템
  • I/O 가상화
    • 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술
    • 가상 네트워크 인터페이스 카드
  • 컨테이너
    • 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술
    • 하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음
    • 도커 (Docker)
  • 분산 처리 기술 (Distributed Computing)
    • 여러 대의 컴퓨터 계산 및 저장 능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
  • 네트워크 가상화 기술
    • 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치의 가상화를 통한 가상 네트워크를 지원하는 기술
    • SDN, NFV

18. 클라우드 컴퓨팅 분류 (사공하)

  • 사설 클라우드
    • 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축되어 운영되는 클라우드
  • 공용 클라우드
    • 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드
  • 하이브리드 클라우드
    • 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드

19. 클라우드 컴퓨팅 유형 (인플소)

  • 인프라형 서비스 (IaaS; Infrastructure as a Service)
    • 서버 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
    • 컴퓨팅 자원에 운영체제나 애플리케이션 등의 소프트웨어 탑제 및 실행
  • 플랫폼형 서비스 (PaaS; Platform as a Service)
    • 인프라를 생성, 관리하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
    • SaaS의 개념을 개발 플랫폼에도 확장한 방식으로 개발을 위한 플랫폼을 구축할 필요 없이, 필요한 개발 요소를 웹에서 빌려 쓸 수 있게 하는 모델
  • 소프트웨어형 서비스 (SaaS; Software as a Service)
    • 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 현태로 이용하는 서비스
    • 주문형 소프트웨어
728x90
LIST

댓글