정보처리기사 4과목 프로그래밍 언어 활용
3장. 응용 SW 기초 기술 활용
141 운영체제의 개념 Ⓐ
운영체제
- 프로세서, 기억장치, 입출력장치, 파일 등의 자원 관리
- 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경 제공
- 사용자와 하드웨어 간의 인터페이스
- 시스템의 오류 검사·복구
- ex) Windows, UNIX, LINUX, MacOS, MS-DOS
운영체제의 목적
- 처리 능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도(Availability) : 시스템 필요 시 즉시 사용 가능한 정도
- 신뢰도(Reliability) : 정확하게 해결하는 정도
143 UNIX / LINUX / MacOS Ⓐ
UNIX
- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제
- 이식성 높음
- Multi-User, Multi-Tasking
- 트리 구조의 파일 시스템
Kernel / Shell
- Kernel
- UNIX의 가장 핵심적인 부분
- 컴퓨터 부팅 시 주기억장치에 적재된 후 상주하면서 실행
- 프로그램과 하드웨어 간의 인퍼테이스 담당
- 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신 …
- Shell
- 명령어 해석기
- 시스템과 사용자 간의 인터페이스 담당
- 파이프라인 기능 지원
- Utility Program : 에디터, 컴파일러, 인터프리터, 디버거
144 기억장치 관리의 개요 Ⓐ
기억장치 계층 구조
◀───────── 접근 속도 ↑, 비트당 가격 ↑ ─────────
레지스터 - 캐시 기억장치 - 주기억장치 - 보조 기억 장치
───────── 접근 시간 ↑, 용량 ↑ ─────────▶
기억장치 관리 전략
-
반입(Fetch) 전략
- 프로그램이나 데이터를 언제 주기억장치로 적재할지 결정
- Demand Fetch : 프로세스가 특정 데이터를 요구할 때 적재
- Anticipatory Fetch : 미리 예상하여 적재
-
배치(Placement) 전략
- 최초 적합(First Fit) : 들어갈 수 있는 크기의 빈 영역 중에서 첫번째에 배치
- 최적 적합(Best Fit) : 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 영역에 배치
- 최악 적합(Worst Fit) : 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 영역에 배치
-
교체(Replacement) 전략
- 어느 영역을 교체하여 사용할 것인지 결정
- ex) FIFO, OPT, LRU, LFU, NUR, SCR
145 주기억장치 할당 기법 Ⓒ
연속 할당 기법
- 단일 분할 할당 기법 : 오버레이, 스와핑
- 다중 분할 할당 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법
분산 할당 기법 : 페이징, 세그멘테이션
단일 분할 할당 기법
- 한명의 사용자만이 주기억장치의 사용자 영역을 사용
- 오버레이(Overlay) : 프로그램을 분할 후 필요한 조각을 차례로 적재하여 실행, 공간이 부족하면 불필요한 조각을 overlay 하여 적재
- 스와핑(Swapping) : 프로그램 전체를 주기억장치에 할당하다 필요에 따라 다른 프로그램과 교체
다중 분할 할당 기법
- 고정 분할 할당 기법(정적 할당) : 사용자 영역을 여러 개의 고정된 크기로 분할하고 프로그램을 각 영역에 할당하여 수행, 내부 단편화 및 외부 단편화 발생
- 가변 분할 할당 기법(동적 할당) : 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할, 영역과 영역 사이 단편화 발생
146 가상기억장치 구현 기법 / 페이지 교체 알고리즘 Ⓐ
페이징(Paging)
- 프로그램과 주기억장치의 영역을 동일한 크기로 나눔
- Page : 프로그램을 일정한 크기로 나눈 단위
- Page Frame : Page의 크기로 일정하게 나누어진 주기억장치의 단위
- Page Map Table : 주소 변환을 위한 Page의 위치 정보를 가짐
- 내부 단편화 발생
- 페이지 크기 ↓ 페이지 맵 테이블 ↑
세그멘테이션(Segmentation)
- 프로그램을 다양한 크기의 논리적인 단위로 나눔
- Segment : 프로그램을 논리적인 크기로 나눈 단위
- Segment Map Table : 주소 변환을 위한 Segment의 위치 정보를 가짐
- 기억공간 절약 가능
- 주기억장치에 적재 시 다른 세그먼트에게 할당된 영역을 침범할 수 없음 -> 기억장치 보호키 필요
- 외부 단편화 발생
기억장치 교체 알고리즘
- OPT(Optimal replacement) : 앞으로 가장 오랫동안 사용하지 않을 페이지 교체
- FIFO(First In First Out) : 가장 먼저 들어온 페이지 교체
- LRU(Least Recently Used) : 가장 오랫동안 사용하지 않은 페이지 교체
- LFU(Least Frequently Used) : 사용 빈도가 가장 적은 페이지 교체
- NUR(Not Used Recently) : 최근에 사용하지 않은 페이지 교체, 참조 비트와 변형 비트 사용
(참조비트, 변형비트) = (0, 0)인 경우 가장 먼저 교체 / (1, 1)인 경우 가장 나중에 교체
147 가상기억장치 기타 관리 사항 Ⓐ
페이지 크기
- 페이지 크기 ↓ : 단편화 ↓, 효율적인 워킹 셋 유지, 기억장치 효율 ↑, 페이지 맵 테이블 크기 ↑, 입출력 시간 ↑
- 페이지 크기 ↑ : 단편화 ↑, 입출력 효율 ↑, 페이지 맵 테이블 크기 ↓, 매핑 속도 ↑, 주기억장치로 이동하는 시간 ↑, 불필요한 내용도 적재 가능
Locality
- 주기억장치를 참조 시 일부 페이지만 집중적으로 참조하는 성질
- 워킹 셋 이론의 기반
- Denning 교수에 의해 증명됨
- 시간 구역성 : 루프, 스택, 서브 루틴, 카운팅, 집계
- 공간 구역성 : 배연 순회, 순차적 코드 실행
워킹 셋
- 프로세스가 일정 시간동안 자주 참조하는 페ㅣ지들의 집합
- Denning이 제안
- Locality의 성질 이용
- 시간에 따라 변경됨
프리페이징(Prepaging)
- 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재
스레싱(Thrashing)
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 다중 프로그래밍의 정도를 감소시켜야 함
REFERENCE
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편[개정판]