2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

정보처리기사 - 프로그래밍 언어 활용(3장) 정리 1

2025. 5. 11. 18:29ㆍ개발공부/자격증 공부
728x90

응용 SW 기초 기술 활용

 

운영체제의 개념

 

운영체제의 목적

  • 처리 능력 : 일정 시간 내에 시스템이 처리하는 일의 양
  • 반환 시간 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
  • 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
  • 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도

 

운영체제의 구성

  • 제어 프로그램
    • 감시 프로그램
    • 작업 관리 프로그램
    • 데이터 관리 프로그램
  • 처리 프로그램
    • 언어 번역 프로그램
    • 서비스 프로그램

 

운영체제의 기능

  • 프로세서, 기억장치, 입●출력장치, 파일 및 정보 등의 자원을 관리
  • 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공
  • 사용자와 시스템 간의 편리한 인터페이스를 제공
  • 시스템의 각종 하드웨어와 네트워크를 관리, 제어 한다
  • 자원 보호 기능을 제공

 

Windows

 

선점형 멀티태스킹
동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식을 말한다

 

PnP
컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능

 

UNIX / LINUX / MacOS

 

UNIX의 특징

  • 대부분 C언어로 작서오디어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다
  • 다중 사용자, 다중 작업을 지원한다
  • 많은 네트워키 기능을 제공하므로 통신망 관리용 운영체제로 적합하다
  • 트리 구조의 파일 시스템을 갖는다
  • 전문적인 프로그램 개발에 용이하다

 

커널

  • UNIX의 가장 핵심적인 부분
  • 하드웨어를 보호하고, 프로그램들과 하드웨어간의 인터페이스 역할을 담당
  • 기능 : 프로세스 관리, 기억장치 관리, 파일 관리, 입●출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등

 

  • 사용자의 명령어를 인식하여 프로그램을 호출하고, 명령을 수행하는 명령어 해석기
  • 시스템과 사용자 간의 인터페이스를 담당
  • DOS의 COMMAND.COM과 같은 기능을 수행
  • 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능

 

파일 디스크립터

  • 파일 제어 블록 이라고도 한다
  • 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있다
  • 보조기억 장치 내에 저장되어 있다가 해당 파일이 OPEN될 떄 주기억장치로 옮겨진다
  • 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없다

 

기억장치 관리의 개요

 

기억장치 관리 전략

  • 종류 : 반입 전략, 배치 전략, 교체 전략
  • 배치 전략의 종류
    • 최초 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역중에서 첫 번째 분할 영역에 배치
    • 최적 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역중에서 단편화를 가장 작게 남기는 분할 영역에 배치
    • 최악 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역중에서 단편화를 가장 크게 남기는 분할 영역에 배치

 

가상기억장치 구현 기법 / 페이지 교체 알고리즘

 

페이징 기법
가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법

 

세그먼테이션 기법
가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행 시키는 기법

 

페이지 교체 알고리즘

  • 페이지 부재가 발생했을 때 가상기억장치의 필요한 페이지를 주기억장치에 적재할 때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법
  • 종류 : OPT, FIFO, LRU, LFU, NUR, SCR 등

 

페이지 교체 알고리즘 - FIFO
각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법

순번 참조 페이지 프레임 상태 페이지 부재(Page Fault)?
1 7 7 - -
2 0 7 0 -
3 1 7 0 1
4 2 0 1 2 ← 7 제거
5 0 0 1 2
6 3 1 2 3 ← 0 제거
7 0 2 3 0 ← 1 제거
8 4 3 0 4 ← 2 제거
9 2 0 4 2 ← 3 제거
10 3 4 2 3 ← 0 제거
11 0 2 3 0 ← 4 제거
12 3 2 3 0

 

페이지 교체 알고리즘 - LRU
각 페이지마다 계수기나 스택을 두어 현 시점에서 가장 오랫동안 사용하지 않은, 즉 가장 오래전에 사용된 페이지를 교체한다

순번 참조 페이지 프레임 상태 교체 여부 & 설명 페이지 부재
1 7 7 - - 새로 추가
2 0 7 0 - 새로 추가
3 1 7 0 1 새로 추가
4 2 0 1 2 ← 7 제거 7은 가장 오래 사용 안됨
5 0 0 1 2 이미 있음 (최근 사용 갱신)
6 3 0 2 3 ← 1 제거 1이 가장 오래 사용 안됨
7 0 0 2 3 이미 있음
8 4 0 3 4 ← 2 제거 2가 가장 오래 사용 안됨
9 2 3 4 2 ← 0 제거 0이 가장 오래 사용 안됨
10 3 4 2 3 이미 있음
11 0 2 3 0 ← 4 제거 4가 가장 오래 사용 안됨
12 3 2 0 3 이미 있음

 

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

 

페이지 크기가 작을 경우

  • 페이지 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어든다.
  • 불필요한 내용이 주기억장치에 적재될 확률이 적으므로 효율적인 워킹 셋을 유지할 수 있다.
  • Locality에 더 일치할 수 있기 때문에 기억장치 효율이 높아진다.
  • 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어진다.
  • 디스크 접근 횟수가 많아져서 전체적인 입●출력 시간은 늘어난다.

 

Locality

  • 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조되는 성질이 있다는 이론
  • 시간 구역성이 이루어지는 기억 장소 : 반복, 스택, 부 프로그램, 카운팅, 집계에 사용되는 변수
  • 공간 구역성이 이루어지는 기억 장소 : 배열 순회, 순차적 코드의 실행, 프로그래머들이 관련된 변수들을 서로 근처에 선언하여 할당되는 기억 장소, 같은 영역에 있는 변수를 참조할 때 사용

 

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

 

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

728x90