정보처리기사

[정보처리기사 필기] 3과목 운영체제

반응형

제3과목 - 운영체제


1) 운영체제의 개요
  • 제어 프로그램

    감시 프로그램

    작업 제어 프로그램

    자료 관리 프로그램

  • 데이터(자료) 관리 프로그램

    자료 전송, 파일 조작 및 처리, 입/출력 논리적 연결 등

  • 컴파일러 언어, 어셈블리 언어로 작성된 프로그램 지칭은?

    Source program (원시 프로그램)

  • 어셈블러를 두 개의 패스로 구성하는 주된 이유는?

    두 개의 pass로 구성하면, 기호를 정의하기 전에 사용 가능

    즉, pass 한 개만 사용하면 기호를 모두 정의한 뒤에 사용 가능

  • 인터프리터와 컴파일러의 차이점

    목적 프로그램의 생산

    인터프리터 : 한 줄 단위로 번역 즉시 실행

    컴파일러 : 원시프로그램 번역해 기계어로 목적 프로그램 생산

  • 보조기억장치에서 주기억장치로 올려놓는 기능

    로더(Loader)

  • 로더의 기능

    재배치

    할당

    연결

    적재

  • 절대 로더

    절대 로더는 적재 기능만 수행

    할당 및 연결 - 프로그래머가 수행

    재배치 - 언어 번역 프로그램이 수행

  • 운영체제란?

    소프트웨어 장치

    하드웨어를 효율적으로 사용하도록 만들어 줌

    인터페이스 제공

    효율적인 스케줄링

    자원 공유

  • 운영체제 성능 평가 기준

    처리 능력

    반환 시간

    신뢰도

    사용 가능도

  • 각 사용자가 각자 독립된 컴퓨터를 사용하는 느낌을 주는 시스템은?

    시분할 시스템

  • 한정된 시간 제약조건 운영체제

    실시간 시스템

  • 운영체제 발달과정 순서

    일괄 > 시분할 > 다중 모드 > 분산

  • 동시에 프로그램을 수행할 수 있는 CPU 두개 이상을 두고 업부 분담 처리 시스템

    다중 처리 시스템

    (다중 프로그래밍은 1개의 cpu로 여러 프로그램)

2) 프로세스 관리
  • 프로세스란?

    실행 중인 프로그램

    프로시저의 활동

    운영체제 관리 실행 단위

    비동기적 행위

  • 프로세스 제어블록(PCB)

    부모 자식 서로 고유 PCB 갖고있음

    프로세스 할당 자원 정보 갖고있음

    프로세스 현 상태 알수있음

  • PCB가 갖고 있는 정보

    프로세스 상태

    프로그램 카운터(PC)

    처리기 레지스터

    할당된 자원 정보

  • CPU 할당 시간을 다 사용한 후 어떤 상태로 전이하는가?

    READY

  • 스레드

    경량 프로세스

    병행성, 다중

    독립

    효율적 통신

    처리율 향상

  • 스케줄링 목적

    공평성 유지

    처리량 최대화

    응답 시간 최소화

    오버헤드 최소화

  • 스케줄링 성능 평가 기준

    CPU 이용률

    처리량

    반환시간, 대기시간, 응답시간

    균형 있는 자원 이용

  • 선점 스케줄링 방식

    시분할 시스템 적합

    높은 우선순위 프로세스 우선처리

    인터럽트용 타이머 클록 필요

    강제적 빼앗기 가능(높은 우선수위 프로세스 들어오면)

    종류 : SRT, RR, 다단계 큐

  • 비선점 스케줄링 방식

    일괄처리 시스템 적합

    강제적 빼앗기 불가능

    공정한 처리

    종류 : FCFS, SJF, HRN

  • 문맥 교환(context switching)

    실행되고 있는 프로세스 상태 정보 저장, 앞으로 실행될 상태 정보 설정

  • SJF

    비선점 스케줄링 기법

    큐 대기 프로세스 중에 실행 시간 가장 짧은 프로세스 먼저 할당

    평균 대기시간 최소화

    우선 도착시간 0인 작업 시행하고, 그 이후 프로세스 중 실행시간이 짧은 순부터 진행

  • HRN

    (대기시간 + 서비스시간) / 서비스 시간

  • 에이징 기법

    기다린 시간에 비례하는 높은 우선순위 부여하는 기법

  • SJF 방법의 단점 보완 개발 - 대기시간에 따라 결정되는 스케줄링 방식은?

    HRN

  • FCFS 스케줄링

    대기시간 긴게 가장 먼저 나옴 (큐 방식)

    • 가장 먼저 실행되는 작업을 구하는 문제는 대기시간 가장 긴거 고르기
  • 세마포어

    Dijkstra의 제안 방법

    상호배제 (여러 개 프로세스가 동시에 그 값을 수정 못함)

    즉, 연산 처리 중에 인터럽트 불가능

  • 모니터

    상호 배제 시행

    자료 추상화, 정보 은폐 기법 기초

    병행성 구조

    모니터 외부 프로세스는 내부 접근 ‘불가능’

  • 임계 구역

    특정 프로세스가 독점 불가능

    하나의 프로세스만 접근 가능

    임계 구역 작업은 신속하게 진행되어야 함

  • Working set

    실행 중인 프로세스가 일정 시간 동안 참조하는 페이지 집합

    스래싱을 방지하는 방법

  • 교착 상태 (Deadlock)

    두 개 이상 프로세스들이 자원을 점유한 상태에 서로 요구하며 ‘무한정 기다리는 현상’

  • 교착 상태 발생조건

    • 상호배제
    • 점유와 대기
    • 비선점
    • 환형 대기

    (상호 종속이나 선점으로 헷갈리게 문제가 나옴)

  • 교착 상태 해결 방법

    • 예방 : 교착상태 가능성 미리 배제 (발생조건 모두 막아야함)
    • 회피 : 배제하지 않고 적절히 피하기(은행원 알고리즘)
    • 발견 : 교착 허용하는 대신, 교착 상태 자원을 검사하는 방법
    • 회복 : 교착상태 프로세스 종료하고, 할당 자원 회수해서 회복
  • 점유 및 대기 조건

    프로세스 진행되기 전에 모든 자원을 할당해 대기를 없애는 것

    한꺼번에 자기에게 필요한 자원을 모두 요구(점유)

  • 은행가 알고리즘이 속하는 분야는?

    교착 상태의 ‘회피’

  • RR 스케줄링

    작업 할당시간이 문제에 주어짐

    제출시간 순서대로 (실행시간-할당시간) 해주며 진행

    각 작업마다 반환시간은 마지막 실행시간이 끝난 시점

  • SJF 스케줄링

    평균 반환 시간 구하는 문제

    반환 시간 = 버스트 시간 + 대기 시간

    ​ 버스트 시간이 가장 짧은 순으로 진행하고,

    버스트 시간만큼 다음 작업에 대기 시간으로 더해줌(누적 형태)

  • HRN 스케줄링

    우선순위 가장 높은 작업 구하는 문제

    HRN 스케줄링은 (대기시간 + 서비스 시간) / 서비스 시간 이었음

    이대로 구해주고 가장 큰 수가 우선순위 가장 높음

3) 기억장치 관리
  • 반입(fetch) 전략 - when

    프로그램/데이터를 주기억장치로 가져오는 시기 결정

  • 배치(placement) 전략 - where

    프로그램/데이터의 주기억장치 내 위치 결정

  • 교체(replacement) 전략 - who

    빈 공간 확보 위해 제거할 프로그램/데이터 선택 결정

  • 배치 전략 종류

    • 최초 적합
    • 최적 적합
    • 최악 적합

    10k 프로그램을 할당할 때 영역 9k-15k-10k-30k의 배치 전략

    15k - 최초 적합 (첫 9k는 작기 때문에 10k 할당가능한 크기로 넘어감)

    10k - 최적 적합

    30k - 최악 적합 (가장 낭비되는 곳)

  • 오버레이

    작업의 크기가 더 커서 기억 공간에 수용할 수 없을 때, 모든 부분을 주기억장치에 있을 필요가 없으므로 작업을 분할해 필요한 부분만 교체하는 방법

  • 내부단편화와 외부단편화

    • 내부단편화 : 분할된 영역이 작업 크기보다 커서 남는 빈 공간
    • 외부단편화 : 분할된 영역이 작업 크기보다 작아서 사용하지 못하는 것
  • 메모리 관리 기법

    • 압축(Compaction) : 서로 떨어져 있는 낭비 공간 모으는 것
    • 통합(Coalescing) : 인접한 공백을 모으는 것
  • 가상 기억 장치

    용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법

  • 세그먼테이션 기법

    논리적 단위로 나눈 후 (크기 가변적) 주기억장치에 적재 및 실행

    기억장치 보호 키 필요

  • 페이징 기법

    크기를 동일하게 나눈 후 주기억장치에 적재 및 실행

    페이지 사상표를 보관할 장소 필요

  • 매핑(mapping)

    가상기억장치에서 주기억장치로 페이지를 옮겨 놓을 때 ‘주소를 조정’하는 것

  • 페이지 부재(page fault)

    참조할 페이지가 주기억장치에 없는 현상

  • LRU

    가장 오랫동안 사용되지 않았던 페이지를 먼저 대체하는 기법

  • NUR

    최근에 사용하지 않은 페이지를 먼저 교체하는 기법 (참조 비트, 변형 비트 필요)

  • 페이지 프레임 주고 페이지 부재 수 구하는 문제

    FIFO나 LRU 방법 나올 가능성 높음

    FIFO는 그냥 가장 먼저 넣은 페이지를 먼저 교체해주면 되고

    LRU는 넣은 페이지 중에 가장 오래 사용하지 않은 페이지를 교체하면 됨

  • 구역성(Locality)

    일정 부분만을 집중적으로 참조하는 것

  • 구역성 종류

    • 시간적 구역성

      최근 참조된 기억장소가 계속 참조될 가능성 높음 종류 : 루프, 서브루틴, 스택, 집계

    • 공간 구역성

      하나의 기억장소가 계속 참조될 가능성 높음

      종류 : 배열, 순차 수행

  • 스래싱

    페이지 부재 발생으로 프로세스가 수행시간 보다 페이지 교체 소비 시간이 더 많은 현상

  • 디스크 대기 큐 이동

    10, 40, 55, 35 순서일 때 FCFS 스케줄링 기법으로 헤드 이용 구하기

    (현 헤드 위치 50)

    FCFS는 가장 먼저 들어온 대기 큐 부터 시작

    따라서 순서 그대로 사용 (50 > 10 > 40 > 55 > 35)

    40+30+15+20 = 105

  • 헤드 총 이동거리 구하는 문제

    문제 시작부분에 트랙이 0번으로 향하는지 200으로 향하는 지 확인 우선

    (트랙이 0번으로 가는 기준으로)

    SSTF : 탐색거리 가장 짧은 순서부터 시작 (200까지가면 0으로 마지막 가기)

    SCAN : 끝까지 이동 후, 반대 방향 서비스 시행 (0까지 가고 반대 가기)

    C-SCAN : 항상 바깥쪽으로 이동 (0까지 가고 200부터 작은곳까지 가기)

  • N-step SCAN

    진행 도중 도착한 요청들은 모아서 반대 방향 시 서비스하는 것

  • Sector Queuing

    회전 지연시간을 최적화하기 위한 스케줄링 기법

4) 정보 관리
  • 파일 시스템 기능

    파일 생성, 변경, 제거

    접근 제어 방법 제공

    정보 손실 파괴 방지 ​

    ‘논리적’ 구조 제공

    장치 독립성

    복구 능력 및 암호 해독 능력

  • 파일 디스크립터 내용

    보조기억장치 유형

    파일 구조

    접근 제어 정보

    파일 크기

    파일 ID

    디스크 내 주소

  • 순차 파일

    자기 테이프

    파일 구성이 용이함

    불필요한 공간 낭비 없음

    일괄 처리에 적합

    모든 레코드를 순차로 검색하기 때문에 검색 효율이 낮음

  • 직접 파일

    자기 디스크

    물리적 주소를 통해 직접 접근

    해싱 등 사상 함수 사용

  • 색인 순차 파일

    순차 + 직접 파일

    구성 : 트랙, 실린더, 마스터

  • 디렉토리 구조

    1단계 구조 : ‘가장 간단한’

    2단계 구조 : 마스터 파일과 사용자 파일 디렉토리 구성

    트리 구조 : 루트와 종속 구성

    비주기 디렉토리 : 공용 허용, 떨어진 포인터 문제 발생

    그래프형 디렉토리 : 사이클 허용, 참조 카운터

  • 자원 보호 기법

    접근 제어 행렬

    접근 제어 리스트

    권한 리스트

    (권한 행렬은 해당 X, 이거로 문제 나옴)

  • 접근 제어

    사용자의 신원에 따라 서로 다른 접근 권한 허용

  • 보안

    • 외부 보안 : 불법 침입자나 천재지변으로부터 보호
    • 내부 보안 : 내장된 보안 기능으로 보호
    • 사용자 인터페이스 보안 : 운영체제를 통해 보호
  • 암호화 기법

    • 공개키 : 암호와 해독이 다른 키 (RSA)
    • 비밀키 : 암호와 해독이 동일한 키 (DES) - 비밀성 유지
  • 인증(Authentication)

    패스워드, 인증용 카드, 지문 검사

5) 분산 운영체제
  • 공유 버스 기법

    단일 버스로 연결한 구조, 단순함

  • 주/종 처리기 시스템

    주프로세서 : 운영체제, 입출력과 연산작업 수행

    종프로세서 : 연산만 담당 (입출력 발생시 주프로세서에 요청)

    주프로세서 문제시 프로그램 멈춤

  • 약결합 시스템

    독자적 운영체제

    독립된 메모리 가짐

    메시지 전달, 원격 프로시저 호출

  • 강결합 시스템

    공유 메모리 운영

    하나의 저장장치 공유

    프로세스간 경쟁 최소화

  • 분산 처리 시스템의 장점

    자원 공유도 향상

    처리율 향상

    신뢰성 향상

    (보안성 문제가 단점)

  • 투명성

    위치 투명성 - 물리적 위치 알 필요 없음

    이주 투명성 - 응용 프로그램 영향 받지 않고 정보 객체 이동

    복제 투명성 - 자원의 복사 자유로움

    병행 투명성 - 자원들을 자동으로 공유

  • 점진적인 확장

    병목 현상 제거 위해 필요한 자원 추가

  • 스타(성) 형

    하나의 중앙 노드에 직접 연결

    중앙 노드 고장 시 모든 통신 단절

  • 링 형

    전달방향이 단방향과 양방향

    각 사이트는 다른 두 사이트와 물리적 연결

6) 운영체제의 실제
  • UNIX 운영체제 특징 - 다중임을 기억하자

    높은 이식성

    계층적 파일 시스템

    네트워크 시스템

    다중 사용자 시스템

  • 커널

    UNIX 시스템의 핵심적인 부분

    기능 : 입출력, 기억장치, 프로세스 관리

  • 명령어 해석기로, 사용자 명령어를 인식하여 필요한 프로그램 호출 및 수행

    시스템과 사용자 간 인터페이스 담당

  • UNIX 파일 시스템 특징

    트리 구조

    파일 보호

    주변 장치를 파일과 동일 취급

  • UNIX 파일 시스템 구조

    부트 블록

    슈퍼 블록

    I-node 블록 : 최종 수정 시간, 파일 링크 수를 기록

    데이터 블록

  • fork

    프로세스 생성하는 시스템 호출

  • chmod

    파일의 접근을 제한, 권한을 주는 것

  • mount

    새로운 파일 시스템을 서브 디렉토리에 연결

  • cat

    파일 내용을 화면에 출력

  • DOS와 유닉스 명령어 유사한 것

    DIR - ls

    COPY - cp

    TYPE - cat


반응형