[정보처리기사 실기] 11장 응용 SW 기초 기술 활용 - 운영체제의 특징

2022. 4. 27. 12:55정보처리기사/실기

728x90
반응형

운영체제 종류

운영체제 개념

(1) 개념 : 하드웨어를 쉽게 사용하도록 인터페이스 제공해주는 소프트웨어, 한전된 시스템 자원을 효과적으로 사용하도록 관리 및 운영, 인터페이스 기능 담당, 편리성 제공

 

(2) 특징 : 사용자 편리성, 인터페이스, 스케줄링, 자원 과닐, 제어기능 제공, 인터페이스는 쉘과 커널의 구조다.

- 커널은 프로세스, 기억장치, 주변 장치, 파일을 관리한다.

 

운영체제 종류

  • 윈도우즈 운영체제 : 멀티 태스킹 기능과 GUI 환경 제공
    • GUI 제공, 선점형 멀티태스킹 방식, 자동 감지 기능, OLE wprhd
  • 유닉스 계열 운영체제 : 데니스 리치와 켄 톰슨 제작, 다중 사용자 방식 시분할 운영체제
    • 대화식 운영체제 기능, 다중 작업 기능, 다중 사용자 기능, 이식석, 계층적 트리 구조 파일 시스템 제공
    • 리눅스 운영체제 : 데비안, 레드햇, 페도라, 우분투, 센토스 등
    • 맥 운영체제
    • 안드로이드 운영체제 : 리눅스 기반, 자바와 코틀린, 런타임 라이브러리, SDK

운영체제 기본 명령어 활용

운영체제 제어

- CLI와 GUI

윈도우즈 운영체제 기본 명령어

  • ATTRIB : 파일 속성 표시하거나 바꿈
  • CALL : 일괄 프로그램에서 다른 일관 프로 호출
  • CD : 디레토리 보여주거나 변경
  • CHKDSK
  • CLS
  • CMD
  • COMP : 두 개 이상 비교
  • DISKPART
  • ECHO
  • ERASE
  • EXIT

리눅스 유닉스 계열 기본 명령어

  • 시스템 관련
    • uname -a : 시스템 모든 정보 확인
    • uname -r : 배포 버전 출력
    • cat
    • uptime
  • 사용자
    • id
    • last : 부팅부터 현재까지 모든 사용자 정보 표시
    • who
  • 파일 처리 
    • ls, pwd,rm, cp, mv
  • 프로세스 
    • ps, pmap, kill
  • 파일 권한
    • chmod, chown
  • 네트워크 
    • ifconfig, host
  • 압축
    • tar, gzip
  • 검색
    • grep, find
  • 파일 이동
    • cp, rsync
  • 디스크 사용
    • df, du
  • 디렉토리 이동
    • cd

(1) 파일 접근 권한 관리 리눅스 유닉스

  • 개요 : 파일 읽거나 실행, open(), read(), wrtie(), 파일 정보는 i-node 값 읽게된다.
  • i-node = 각 파일의 물리적 위치, 생성, 수정, 사용 날짜 등 정보와 더불어 파일 소유자 그룹, 접근 권한 등의 파일 접근 제어와 관련된 정보가 수록 되며, 해당 정보를 이용해 DAC 기반 접근 제어 수행
  • 파일 접근 제어 매커니즘 : chown, chgrp : user group othrer

운영체제 핵심 기능 파악

운영체제 핵심 기능

- 운영체제는 CPU, 메모리, 스토리지, 주변 기기 적절히 관리, 메모리 자동으로 관리, 클라우드화 되면서 자원에 대한 관리 노력이 줄어듬

  • 메모리 관리 : 메모리 가용한 상태로 유지 및 관리, 메모리가 꽉 차게 되면 시스템 속도가 느려지고 멈추는 경우 발생, CP로 이동하여 처리 주소 사용하는데 MMU가 주소 매핑 역할
  • 프로세스 관리 : 프로세스 관리 기법에는 일시 중지 및 재실행, 동기화, 통신, 교착상태 처리, 프로세스 생성 삭제

(1) 메모리 관리 기법

  • 개요 
    • 반입 기법 : 적재할 다음 프로세스의 반입 시기 결정, 메모리 적재 시기 결정 : 요구 반입 기법, 예상 반입 기법
    • 배치 기법 : 주기억장치의 어느 위치에 저장할지 결정, 메모리 적재 위치 결정 : 최초, 최적, 최악 적합
    • 할당 기법 : 어떤 방법으로 메모리 할당, 메모리 적재 방법 결정 : 연속 할당 기법, 분산 할당 기법
    • 교체 기법 : 어떻게 제거 할지, 메모리 교체 대상 결정 : 프로세스 스왑 인아웃, 교체 알고리즘
  • 메모리 배치 기법
    • 최초 적합 : 가용 공간 중 첫 번째 분할에 할당하는 방식 메모리 크기 맞춰 안맞으면 다음 맞으면 그 전
    • 최적 적합 : 가용 공간 중 가장 비슷한 크기 공간 선택 - 공백 최소화 장점
    • 최악 적합 : 가장 큰 공간에 할당 - 메모리 낭비 시킴

(2) 프로세스 관리

  • 상태 : 여러 가지 이벤트에 의해 일련의 서로 구분되는 상태 변화
    • 생성, 준비, 실행, 대기, 완료
  • 상태 전이 : 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기까지 프로세스의 상태가 준비, 실행 및 대기 상태로 변하는 활동
    • dispatch : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU 할당 문맥교환 발생, 준비에서 실행으로 전이
    • Timer run out = 할당 시간 초과 : 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장, CPU 반납 후 다시 준비 상태로 전이, 프로세스는 실행 상태에서 준비 상태로 전이, 타임 슬라이스 만료, 선점 시 타임아웃 발생
    • block = 입출력 발생 : 할당 시간 초과하기 전에 입출력이나 기타 사건이 발생하면 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이, 실행 상태에서 대기 상태로 전이, 즉시 실행 불가능한 시스템 콜, IO작업 시작, 프로세스 간 통신 시 블락 발생
    • Wake-up : 종료되면 대기 상태의 프로세스에게 종료 사실을 WAIT & SIGNanl 의해 알려주고, 준비 상태로 전이, 대기에서 준비로 전이

(3) 프로세스 스케줄링

  • 개념 : 우선순위 관리하는 작업, 처리율과 이용률을 증가 시키고, 오버헤드, 응답시간, 반환 시간, 대기시간 최소화, 특정 프로세스가 적합하게 실행되도록 CPU 교체 발생, 장기 중기 단기 스케줄러가 존재
  • 프로세스 스케줄링 주요 용어
    • 서비스 시간 : 결과 산출까지 소요 시간
    • 응답 시간 : 서비스 요청하고 반응까지 시간
    • 반환 시간 : 입력되어 수행하고 산출까지 소요 시간 -> 대기 시간 + 수행 시간
    • 대기 시간 : 할당 대기까지 큐에 대기 시간, 도착 즉시 프로세서 할당되면 대기 시간은 0
    • 평균 대기 시간 : 대기 큐에서 대기하는 평균 시간, 0인 시간도 합산해 도출
    • 종료 시간 : 프로세싱 타임을 모두 수행하고 종료된 시간
    • 시간 할당량 : 한 프로세스가 독점하는 것을 방지하기 위해 서비스 되는 시간
    • 응답률 : 대기 시간 + 서비스 시간) / 서비스 시간, HRN(highest response ratio next) 스케줄링 사용, 응답률이 높으면 우선순위가 높다 판단
  • 유형
    • 선점형 스케줄링 : CPU 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스 중단하고 CPU 점유하는 스케줄링 방식
      • 장점 : 비교적 빠른 응담, 대화식 시분할 시스템에 적합
      • 단점 : 높은 우선순위 프로세스들이 들어오는 경우 오버헤드 초래
      • 알고리즘
        • 라운드 로빈 : 같은 크기 시간 할당, 할당된 시간 내에 처리 완료 못하는면 큐 맨 뒤로 보내고, 다음 프로세스로 넘어감 : 균등한 CPU 점유 시간, 시분할 시스템 사용
        • SRT : 가장 짧은 시간이 소요되는 프로세스 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 선점 : 짧은 수행시간 프로세스 우선 수행
        • 다단계 큐 : 여러 종류 그룹으로 분할, 여러 개의 큐를 이용 상위 단계 작업에 의한 하위 단계 작업이 선점 , 큐는 독자적인 스케줄링 가짐 : 독립된 스케줄링 큐
        • 다단계 피드백 큐 : 입출력, CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 시간 할당량 부여, FCFS와 라운드 로빈 스케줄링 기법 혼합한 것, 새로운 프로세스는 높은 우선 순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이돌 마지막 단계는 라운드 로빈 적용 : 큐마다 다른 시간 할당량, 마지막은 라운드 로빈
      • 할당 : 실시간 응답 환경, deadline 응답 환경
    • 비선점형 스케줄링 : 할당 받으면 작업 종료 후 반환까지 다른 프로세스 점유가 불가능한 스케줄링 방식
      • 장점 : 응답 시간 예상이 용이, 모든 프로세스에 대한 요구를 공정하게 처리
      • 단점 : 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기
      • 알고리즘
        • 우선순위 : 우선순위 부여, 동일 순위는 FCFS : 주요 긴급 프로세스에 대한 우선 처리, 설정 자원 상황 등에 따른 우선 순위 선정
        • 기한부 : 명시된 시간이나 기한 내에 완료되도록 계획 : 요청에 명시된 시간 내 처리 보장
        • FCFS : FIFO : 도착 순서대로 처리
        • HRN : 현재 응답률이 가장 높은 것 선택, SJF의 약점인 기아 보완, (대기 시간 + 서비스 시간) / 서비스 시간 = 우선순위 : 기아 현상 최소화 기법
        • SJF : 도착 시점에 따라 가장 작은 서비스 시간 갖는 프로세스 종료시 까지 자원 점유, 준비 큐 작업 중 가장 짧은 작업부터 수행, 평균 대기 시간 최소, CPU 요구 시간이 긴 프로세스는 기아 발생 : 기아 현상 발생 가능성
      • 활용 : 처리시간 편하가 적은 특정 프로세스 환경

(4) 프로세스 관리 교착 상태

  • 개념 : 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특적 자원 할당을 무한정 대기하는 상태
  • 발생 조건 
    • 상호 배제 : 프로세스가 자원을 배타적으로 점유, 다른 프로세스가 그 자원 사용할 수 없는 상태
    • 점유와 대기 : 자원 점유하고 있으면서 다른 자원 요청하여 대기하고 있는 상태
    • 비선점 : 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능
    • 환형 대기 : 두 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형 구성한 상태
  • 해결 방법 
    • 예발 : 발생 조건 위배 방안 : 점유 자원 해제 후 새 자원 요청
    • 회피 : 안전한 상태를 유지할 수 있는 요구만 수학 : 은행가 알고리즘, Wound-wait, wit-die
    • 발견 : 감시 알고리즘 통해 교착 상태 검사 : 자원 할당 그래프, wait for graph
    • 복구 : 교착 없어질 때까지 프로세스 순차적으로 kil하여 제거 희생자 선택해야 하고 기아 상태 발생 : 프로세스 kill, 자원 선점

가상화, 클라우드

(1) 가상화

  • 개념 : 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술, 대부분 서버 용량의 20% 정도만 사용하는데, 가상화 통해 서버의 가동률을 60 ~ 70 % 이상 올릴 수 있다.
  • 종류
    • 플랫폼 가상화 : 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것 처럼 보여주는 기법
    • 리소스 가상화 : 독립된 하드웨어에 소프트웨어가 실행되는 것처럼 활용하는 기법, 메모리, 저장 장치, 네트워크 등 결합하거나 나누기 때문에 사용자는 가상화 된 물리적 장치들이 어떤 위치인지 알기 어려움
  • 기술 요소
    • 컴퓨팅 가상화 : 컴퓨터 자원 가상화해 논리적 단위로 리소스 활용, 서버 가상화 통해 하나의 시스템에서 1개 이상의 운영체제 동시에 가동 시킬 수 있으며, 서버 이용률이 크게 향상 : 하이퍼 바이저
    • 스토리지 가상화 : 스토리지와 서버 사이 SW/HW 계층 추가해 스토리지 논리적으로 제어 및 활용, 이기종 스토리지 통합 가능 : 분산 파일 시스템
    • IO 가상화 : 서버와 IO 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 자원을 물리적으로 분리하고 케이블과 스위치 구성 단순화 : 가상 네트워크 인터페이스 카드
    • 컨테이너 : 컨테이너 앱이 단일 운영체제에서 실행 : 도커
    • 분산처리 기술 : 여러 컴 계산 및 저장 능력 이용해 커다란 계산 문제나 대용량의 데이터 처리하고 저장하는 기술
    • 네트워크 가상화 기술 : 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계 장치의 가상화 통한 가상 네트워크 지원 : SDN, NFV

(2) 클라우드 컴퓨팅 

  • 개념 : 가상화된 컴퓨터 시스템 리소스 제공하고, 정보를 클라우드에 연결된 다른 컴퓨터에 처리, 구성 가능 자원 : 컴퓨터 네트워크, 데이터베이스, 서버, 스토리지, 애플리케이션, 서비스
  • 분류
    • 사설 클라우드 : 기업 또는 조직 내부에서 운영, 모든 하드웨어, 소프트웨어, 데이터 수용, 직접 통제와 보안이 높음
    • 공용 클라우드 : 업체에서 다중 사용자 위한 컴퓨팅 자원 서비스 제공하는 클라우드, 일정 비용 지불 하고 하드웨어, 소프트웨어 사용, 확장성 유연성이 높음
    • 하이브리드 클라우드 : 조직의 사설 클라우드와 공용 클라우드 모두 사용 클라우드, 사설의 약점인 구축 비용 문제와 공용 클라우드 약점인 보안성 확보, 업무의 중요도, 보안성 확보의 중요도 등에 따라 이용 형태 변경
  • 유형
    • IaaS 인프라형 서비스 : 시스템 자원을 클라우드로 제공, 컴퓨팅 자원에 운영체제나 앱 등의 소프트웨어 탑재 및 실행, 하위 제어 관리하지 않지만 스토리지, 앱에 대한 제어권 가짐
    • PaaS 플램폼형 서비스 : 인프라 생성, 관리 하는 복잡함 없이 앱 개발, 실행, 관리 하는 플램폼 제공 서비스, SaaS의 개념을 개발 플랫폼에도 확장한 방식으로 개발 위한 플랫폼 구축 없이, 필요한 요소를 웹에서 빌림, 앱과 앱 호스팅 환경 구성의 제어성 가짐
    • SaaS 소프트웨어형 서비스 : 중앙에 호스팅되고 사용자는 웹의 클라이언트 통해 접속해 소프트웨어 서비스 형태로 이용하는 서비스, 주문형 소프트웨어 
728x90
반응형