CS/CS

[11장] 응용 SW 기초 기술 활용 (1)

JWonK 2023. 7. 16. 18:10
728x90
반응형

※ 운영체제


: 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

 

 

 

※ 운영체제의 목적


  • 처리 능력 (Throughput)
  • 반환 시간 (Turn Around Time)
  • 사용 가능도 (Availability)
  • 신뢰도 (Reliability)

 

 

 

※ UNIX


: AT&T 벨(Bell) 연구소, MIT General Electric이 공동 개발한 운영체제

  • 시분할 시스템(Time Sharing System)
  • 트리(Tree) 구조의 파일 시스템

 

 

 

※ UNIX 시스템 구성


  • 커널(Kernel)
    • UNIX의 가장 핵심적인 부분으로 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 담당
    • 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입/출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러가지 기능을 수행
  • 쉘 (Shell)
    • 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
    • 시스템과 사용자 간의 인터페이스 담당

 

 

 

※ LINUX


: UNIX를 기반으로 개발한 운영체제

  • 오픈소스
  • 대부분의 특징이 UNIX와 동일

 

 

 

※ Android


: 구글(Google) 사에서 개발한 개방형 모바일 운영체제

 

 

 

※ 기억장치 관리 - 반입 전략


: 반입(Fetch) 전략은 보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전력

 

  • 요구 반입(Demand Fetch) : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
  • 예상 반입(Anticipatory Fetch) : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법

 

 

 

※ 기억장치 관리 - 배치 전략


: 배치(Batch) 전략은 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

 

  • 최초 적합 [First Fit]
  • 최적 적합 [Best Fit]
  • 최악 적합 [Worst Fit]

 

 

 

※ 주기억장치 할당 기법


: 프로그램이나 데이터를 실행 시키기 위해 주기억장치에 어떻게 할당한 것인지를 결정하는 기법

 

할당 기법 설명
연속 할당 기법 - 프로그램을 주기억장치에 연속으로 할당하는 기법
- 종류 : 단일 분할 할당 기법, 다중 분할 할당 기법
분산 할당 기법 - 프로그램을 틀정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법
- 종류 : 페이징 기법, 세그먼테이션 기법

 

 

 

※ 가상기억장치 [Virtual Memory]


: 보조기억장치의 일부를 주기억장치처럼 사용하는 것

 

  • 구현 방법 : 페이징 기법, 세그먼테이션 기법

 

 

 

※ 가상기억장치 구현 방법


  • 페이징 기법 [Paging]
    • 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 주기억장치의 영역에 적재시켜 실행하는 기법
    • 일정한 크기의 페이지(Page) 단위로 나누고 주기억장치의 단위를 페이지 프레임 (Page Frame)이라고 한다.
  • 세그먼테이션 기법 [Segmentation]
    • 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법

 

 

 

※ 페이지 교체 알고리즘


  • 페이지 부재(Page Fault)가 발생하면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법

종류 : OPT, FIFO, LRU, LFU, NUR, SCR 등

 

 

 

※ OPT


: 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법

 

페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘

 

 

 

※ FIFO [First In First Out]


: 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법

 

 

 

※ LRU [Least Recently Used]


: 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법

 

 

 

※ LFU [Least Frequently Used]


: 사용 빈도가 가장 적은 페이지를 교체하는 기법

 

 

 

※ NUR [Not Used Recently]


: 최근에 사용하지 않은 페이지를 교체하는 기법

 

 

 

※ SCR [Second Chance Replacement, 2차 기회 교체]


: 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하는 기법, FIFO 기법의 단점을 보완

 

 

 

※ Locality [국부성, 지역성, 구역성, 국소성]


: 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질

 

  • 시간 구역성(Temporal Locality) : 일정 시간 동안 집중적으로 액세스하는 현상
  • 공간 구역성(Spatial Locality) : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상

 

 

 

※ 워킹 셋 [Working Set]


: 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

 

 

 

※ 스래싱 [Thrashing]


: 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

 

 

 

※ 프로세스 [Process]


: 프로세서에 의해 처리되는 사용자 프로그램

 

  • PCB를 가진 프로그램
  • 실기억장치에 저장된 프로그램
  • 프로세서가 할당하는 실체로서, 디스패치가 가능한 단위
  • 프로시저가 활동 중인 것
  • 비동기적 행위를 일으키는 주체
  • 운영체제가 관리하는 실행 단위

 

 

 

※ PCB [Process Control Block]


: 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳

 

[저장되어 있는 정보]

  • 프로세스 현재 상태
  • 포인터
  • 프로세스 고유 식별자
  • CPU 레지스터 정보
  • 주기억장치 관리 정보
  • 입/출력 상태 정보
  • 계정 정보

 

 

 

※ 프로세스 상태 전이


: 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것

 

제출 → 접수 → 준비 → 실행 → (대기) → 종료

 

 

 

※ 프로세스 상태 전이 관련 용어


Dispatch 

: 준비상태에서 대기 중이던 프로세스가 프로세서를 할당 받아 실행 상태로 전이

 

Wake Up

: 대기 상태에서 준비 상태로 전이

 

Spooling

: 처리 속도를 보완하고 시스템 성능 향상을 위해 디스크에 저장하는 과정

 

 

 

※ 스레드 [Thread]


: 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위, 경량(Light Weught) 프로세스라고도 함

 

 

 

※ 스케줄링 [Scheduling]


: 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

 

 

 

※ 비선점 스케줄링 [Non-Preemptive]


: 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법

 

ex) FCFS, SJF, 우선순위, HRN, 기한부 등

 

 

 

※ 선점 스케줄링 [Preemptive]


: 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법

 

ex) Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등

 

 

 

※ HRN [Highest Response-ratio Next]


: 대기 시간과 실행 시간을 이용하는 기법

우선순위 높은 것부터 낮은 순으로 우선순위 부여

 

★ 우선순위 계산식 = (대기 시간 + 서비스 시간) / 서비스 시간

 

 

 

※ 환경 변수


: 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임

 

728x90
반응형