정보처리기사,

4과목 - 3장: 응용 SW 기초 기술(1)

Aug 14, 2020 · 3 mins read

운영체제(OS; Operating System)

소프트웨어

  • 시스템SW: 운영체제
  • 응용SW

    정의
  • 시스템의 자원을 효율적으로 관리, 편리하고 효과적으로 사용할 수 있도록 환경 제공

    목적(기준)
  • 처리 능력 향상, 반환 시간 단축, 사용 가능도 향상, 신뢰도 향상

    기능
  • 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원 관리

    종류
  • Windows, UNIX, LINUX, MacOS


Windows

개요

  • GUI, 선점형 멀티태스킹(강제종료 가능)
  • PnP: 자동 감지 기능(프린터, USB 등)
  • OLE: 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집 가능

UNIX/LINUX/MacOS

UNIX 개요 및 특징

  • 대화식 운영체제
  • 다중 사용자(Multi-User, 다중 작업(Multi-Tasking)
  • 트리 구조의 파일 시스템

    UNIX 시스템 구성
  • 커널(kernel): UNIX의 가장 핵심적인 부분, 주기억장치에 적재된 후 상주하면서 실행
  • 쉘(Shell): 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기, 파이프라인 기능 지원

    기억장치 관리

    개요

  • 기억장치는 레지스트, 캐시 기억장치, 주기억장치, 보조기억장치와 같이 계층 구조로 분류

기억장치 관리 전략

  • fetch(반입 전력)
    • 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지 결정
      • 요구 반입(Demand Fetch): cpu가 직접 요구할 때 적재
      • 예상 반입(Anticipatory Fetch): 미리 예상해서 주기억장치에 적재

  • Placement(배치 전략)
    • 주기억장치의 어디에 위치시킬 것인지 결정
      • 최초 적합(First Fit): 빈 영역 중에서 첫 번째 분할 영역 배치
      • 최적 적합(Best Fit): 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역 배치
      • 최악 적합(Worst Fit): 단편화를 가장 많이 남기는 분할 영역에 배치

  • Replacement(교체 전략)
    • 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략.
      • FIFO, LRU, LFU, NUR 기법 등이 존재




주기억장치 할당 기법

개념

  • 연속 할당 기법: 연속으로 할당하는 기법, 단일 분할 할당과 다중 분할 할당 기법이 있다.
  • 분산 할당 기법: 사용자 영역을 분할하여 할당함. 페이징 기법, 세그멘테이션 기법이 존재

가상기억장치 구현 기법

개요

  • 보조기억장치(하드)의 일부를 주기억장치처럼 사용하는 것
    • 주기억장치의 용량보다 큰 프로그램을 실행
    • 주기억장치의 이용률과 다중 프로그래밍의 효율을 높을 수 있음.

페이징(Paging) 기법

  • 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재시켜 실행하는 기법.
  • 내부단편화는 발생할 수 있되 외부단편화는 발생하지 않음.

세그멘테이션(Segmentation) 기법

  • 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
  • 외부단편화는 발생할 수 있지만 내부단편화는 발생하지 않음


가상기억장치 기타 관리 사항

페이지 크기

  • 작을 경우: 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐
  • 클 경우: 페이지 맵 테이블의 크기가 작아지고, 매핑 속도가 빨라짐.

    Locality
  • 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질.

  • 워킹 셋(Working Set)
  • 데닝이 제안한 프로그램의 움직임에 대한 모델, 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합.
  • 워킹 셋은 시간에 따라 변경됨.

    프리페이징(Prepaging)
  • 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법.

    스래싱(Thrashing)
  • 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
  • 다중 프로그래밍의 정도가 높아짐에 따라 하나의 프로세스 수행 과정중 자주 페이지 부재가 발생함으로써 나타나는 현상

Written by