정보처리기사/[inflearn] 필기 (완)

정보처리기사 - 제4과목 프로그래밍 언어 활용 / 응용 SW기초 기술 활용 (1)

web_seul 2022. 4. 12. 12:43
반응형

 제4과목 프로그래밍 언어 활용 

▷ 응용 SW기초 기술 활용 A

> 운영체제의 개념

- 운영체제(OS; Operating System)의 정의 : 시스템의 자원을 효율적으로 관리, 편리하고 효과적으로 사용할 수 있도록 환경 제공

- 운영체제의 목적 : (일정 시간내)처리 능령 향상, 반환 시간 단축, 사용 가능도 향상(즉시 사용가능), 신뢰도 향상

- 운영체제의 기능 : 프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원 관리, 인터페이스

- 운영체제의 주요 자원 관리 : 프로세스 관리, 기억장치 관리, 주변장치 관리, 파일 관리

- 운영체제의 종류 : Windows, UNIX(Bell), LINUX(무료), MacOS, MS-DOS 등

> Windows

- Windows의 개요

  그래픽 사용자 인터페이스(GUI: Graphic User Interface) <-> CUI

  선점형 멀티태스킹(Preemptive Multi-Tesking) : 동시 여러 프로그램 실행, 강제종료

  PnP(Plug and Play, 자동 감지 기능) : ex. usb

  OLE(Object Linking and Embedding) : 개체내 개체삽입가능

  255자의 긴 파일명, 특수문자x

  Single-User 시스템

 

> UNIX/LINUX/MacOS

- UNIX 의 개요 및 특징

  대화식 운영체제, 이식성이 높음

  다중 사용자(Multi-User), 다중작업(Multi-Tasking) 지원, 시분할의 대화식 운영체제

  트리구조의 파일 시스템

- UNIX 시스템의 구성

  커널(Kernel) : UNIX의 가장 핵심적인 부분, 상주

  (Shell) : 사용자의 명령어를 인식(인터페이스)하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기, 보조기억장치에서 보조

- LINUX : unix 축소화, 무료공개

- MacOS

 

▷ 응용 SW기초 기술 활용 B

> 기억장치 관리의 개요

- 기억장치 계층 구조의 특징 : 기억장치는 레지스터(cpu내부에 존재, 속도가 가장 빠름), 캐시 기억장치(cpu와 메모리 사이에서 메모리는 저장해주는 것), 주기억장치(Main Memory), 보조기억장치(자기테이프) 계층 구조로 분류

- 기억장치의 관리 전략의 개요 : 한정된 주기억장치의 공간을 효율적으로 사용- 반입 전략, 배치 전략, 교체 전략

- 반입(Fetch) 전락 : 언제 주기억장치로 적재할 것인지 결정(요구반입, 예상반입)

- 배치(Placement) 전략 : 주기억장치의 어디에 위치시킬 것인지를 결정- 최조적합, 최적 적합, 최악 적합

- 교체(Replacement) 전략 : 어느 영역을 교체하여 사용할 것인지를 결정하는 전략- FIFO,  LRU, LFU, OPT(최적교체 알고리즘), NUR(참조, 변형), SCR 등

  LRU : 가장 긴시간동안 참조하지않은 것 교체

  LFU : 참조된 횟수가 가장 적은 페이지 교체

 

> 주기억장치 할당 기법

- 주기억장치 할당의 개념

  연속 할당 기법 : 연속으로 할당하는 기법, 단일 분할 할당 기법, 다중 분할 할당 기법

  분산 할당 기법 : 분산하여 할당하는 기법, 페이징 기법, 세그먼테이션 기법

- 단일 분할 할당 기법 : 1인 user가 주기억장치(사용자영역) 접근 가능

  오버페이 기법 : 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법, 중첩에서 사용

  스와핑 기법 : 필요에 따라 다른 프로그램과 교체하는 기법, 전체를 사용하고 필요시 교체해서 사용

- 다중 분할 할당 기법

  고정 분할 할당 기법(정적 할당기법) : 고정된 크기로 분할, 프로그램전체가 주기억장치에 위치해야함, 내/ 외부 단편화로 주기억장치 낭비 발생

  가변 분할 할당 기법(동적 할당기법) : 필요한 만큼의 크기로 영역을 분할하는 기법

 

▷ 응용 SW기초 기술 활용 C

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

- 가상기억장치의 개요 :  보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것, 주기억장치의 용량보다 큰 프로그램 실행, 주기억장치의 이용률과 다중 프로그래밍의 효율 향상

- 페이징(Paging) 기법 : 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재, 외부단편화 발생x, 내부단편화 발생o

- 세그먼테이션(Segmentation) 기법 : 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행, 외부단편화 발생o, 내부단편화 발생x

- 페이지 교체 알고리즘 : 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법

  OPT(최적 교체) : 앞으로 사용하지 않을것으로 예상되는 페이지 교체, 빈도최하

  FIFO(First In First Out) : 먼저 들어온것 교체

  LRU(Least Recently Used) : 오랫동안 사용되지 않은 페이지 교체 / 스택(최하단 제거, 최상단 새로운 페이지)

  LFU(Least Frequently Used) : 빈도가 가장 적은 페이지 교체

  NUR(Not Used Recently) : 참조비트와 변형비트로 순서 결정

  SCR(Second Chance Replacement, 2차 기회 교체) : FIFO의 단점 교환

 

▷ 응용 SW기초 기술 활용 D

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

- 페이지 크기 

  작을 경우 : 페이지맵 테이블의 크기가 커지고,  매핑 속도가 늦어짐, 페이지 단편화가 줄어듦(기억장치 효율 향상), 디스크 접근횟수 증가(전체시간 증가)

  클 경우 : 페이지 맵 테이블의 크기가 작아지고, 매핑 속도가 빨라짐, 입출력 효율성 증가, 단편화 증가, 메모리 이동시간 증가

- Locality(국부성, 지역성, 구역성, 국소성) : 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조, 시간지역성(loop, stack/공간지역성(배열, 순회)

- 워킹 셋(Working Set) : 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합, 지역성의 특징을 이용하여 보조기억장치에 상주시킴

- 프리페이징(Pregaing) : 필요할 것 같은 모든 페이지를 한번에 페이지 프레임이 적재하는 기법

- 스래싱(Thrashing) : 프로세스의 처리시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상, 다중프로그램의 정도가 높아질 때 발생

 

> 프로세스의 개요

- 프로세스(Process)의 정의 : 실행중인 프로그램, OS가 관리하는 실행단위, 비동기적 행위를 일으키는 주체(규칙적x, 연속적x, 독립적 실행)

- PCB(Process Control Block, 프로세스 제어 블록) : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳, 프로세스 현상태, 포인터(부모, 자식), 프로세스 고유 식별자, 스케줄링, 우선순위, PC정보 등 저장

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

  상태 : 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), (대기(Wait)), 종료(Terminated, Exit)

                                           준비-dispatch-실행/ 대기-wake up-준비

- 스레드(Thread) : 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위, 경량 프로세스, 각 스레드마다 고유의 레지스터와 스택을 가짐, 사용자(라이브러리)/커널(OS커널) 수준 스레드, 병형성 향상, 처리율 향상

  프로그램 > 프로세스 > 단일/다중 스레드 > 레지스터, 스택

 

반응형