제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커널) 수준 스레드, 병형성 향상, 처리율 향상
프로그램 > 프로세스 > 단일/다중 스레드 > 레지스터, 스택
'정보처리기사 > [inflearn] 필기 (완)' 카테고리의 다른 글
정보처리기사 - 제5과목 정보시스템 구축 관리 / 소프트웨어 개발 방법론 활용 (0) | 2022.04.19 |
---|---|
정보처리기사 - 제4과목 프로그래밍 언어 활용 / 응용 SW기초 기술 활용 (2) (0) | 2022.04.12 |
정보처리기사 - 제4과목 프로그래밍 언어 활용 / 프로그래밍 언어 활용 (0) | 2022.04.11 |
정보처리기사 - 제4과목 프로그래밍 언어활용 / 서버 프로그램 구현 (0) | 2022.04.10 |
정보처리기사 - 제3과목 데이터베이스 구축 / 데이터 전환 (0) | 2022.04.10 |