I. 스레싱 예방을 위한 지역성 활용, Working Set Model 가. Working Set Model 매커니즘 프로세스가 많이 참조하는 페이지 집합을 메모리 공간에 계속 상주시켜 빈번한 페이지 교체현상(스레싱)을 줄이는 방법 II. Working Set Model 원리/장단점 구분 설명 특징 원리 – 지역성 가정을 기반으로 동작 – 지역성 기반 특징 – 과도기, 안정기가 주기적 반복 – 프로세스 변화
I. 페이지 교체시간 > 실행시간, 스레싱의 개요 가. 스레싱(Thrashing)의 개념 Page Fault가 연속적으로 발생하여 프로세스 수행시간보다 페이지 교체 시간이 많은 상태 나. 스레싱의 결과 개념도 설명 – 다중 프로그래밍 높아짐 따라 이용률 향상, 임계치 도달 후 낮아짐 – Multi-Processing System 발생 빈번 – 처리율 저하, 페이지 폴트 증가 – 발생빈도 최소화위해 여러방법필요 스레싱을 근본적으로 줄이기
I. 집중적 액세스, Locality의 개념 가. Locality의 의미 CPU가 기억장치의 특정 부분에 위치한 데이터나 프로그램 코드를 집중적으로 액세스하는 현상 컴퓨터의 구성요소 간 속도 차이로 인한 병목현상이 발생하지만 Locality의 특성을 이용하여 고비용/고속 저장장치의 효율적 사용 및 속도 향상 가능 나. Locality의 목표 목표 설명 빠른 접근 시간 – Cache Access Time의 최소화 적중률 최대화 – Cache
I. 예외상황 우선처리, 인터럽트 가. 인터럽트 (Interrupt)의 개념 예외상황 발생 시 진행중인 작업을 정지시키고 정의된 절차를 수행하기 위한 제어 프로세스 나. 인터럽트의 발생 원인/우선순위 원인 우선순위 설명 주변장치 인터럽트 높음 – 시스템 오류, 입출력(I/O) 요청 – 전원 이상 등의 인터럽트 프로세스 오류 중간 – CPU 연산 시 Page Fault, Device Zero, Overflow 등의 예외 발생
I. 스레드의 병렬 실행, 동시 멀티스레딩 가. 동시 멀티스레딩(Simultaneous Multithreading)의 개념 하드웨어 자원 사용률 극대화를 위해 스레드(Thread) 우선순위 선정하여 실행 효율을 개선한 병렬 실행 기술 나. 동시 멀티스레딩의 특징 효율성 개선 – 슈퍼스칼라 하드웨어 효율성(버블 제거) 논리적 개선 – 추가적 연산장치 없이 처리 스레드 증가 TLP – 성능 증가 위해 스레딩에 의존 병렬 처리 동시
I. 자원 공유 Light-Weight Process, 쓰레드(Thread) 가. Thread의 개념 명령어 독립 실행 가능한 제어흐름으로, 프로세스의 자원을 공유하고 Task를 처리하는 프로세서 사용 기본 단위 – 스레드 간 독립적 실행 – 실행/종료 예측 불가능 – 프로세스 제어명령에 의해 실행 – 스택, 카운터, 레지스터 보유 – 프로세스 내 Heap 영역 공유 – Context Switching 부하 적음 나. Thread의
I. 프로세스 상태 전이도 가. 프로세스 상태 전이도 멀티 프로세스 시스템 사용 시 프로세스 생성 ~ 종료까지 성능 최적화를 위한 프로세스 제어 기법 나. 프로세스 상태 상태 설명 생성 (Created) – 프로세스 최초 상태로, 주기억장치 적재되지 않고 보조 기억 장치에 저장되어 있는 실행 파일 상태 준비 (Ready) – 프로세스가 CPU를 사용하여 실행 준비 된 상태
I. 자원 할당 시 정보교환, 문맥교환의 개념 프로세스 실행 중 다른 프로세스의 CPU 사용 위해 작업 상태를 보관하고 새 프로세스 상태 적재 작업 II. 문맥교환의 절차 가. 문맥교환 절차도 나. 문맥교환 절차 단계 절차 설명 1 인터럽트/시스템 호출 – 운영체제에서 프로세스 스케쥴러에 의해 인터럽트 발생 2 커널 모드 전환 – 프로세스가 실행되는 사용자모드에서 커널
I. 프로세스 상태 저장 블록, PCB 가. PCB (Process Control Block)의 개념 운영체제에서 프로그램 실행 맟 문맥 교환을 위해 프로세스 정보를 저장하는 데이터 블록 나. PCB의 주요 역할 프로세스 생성 – 프로세스와 함께 생성, 고유 PCB 보유 프로세스 변경 – 문맥 교환 시 PCB 정보 저장/복구 프로세스 종료 – 프로세스 완료 시 함께 제거
I. 자원 할당 시 정보교환, 문맥교환의 개념 프로세스 실행 중 다른 프로세스의 CPU 사용 위해 작업 상태를 보관하고 새 프로세스 상태 적재 작업 II. 문맥교환의 절차 가. 문맥교환 절차도 나. 문맥교환 절차 단계 절차 설명 1 인터럽트/시스템 호출 – 운영체제에서 프로세스 스케쥴러에 의해 인터럽트 발생 2 커널 모드 전환 – 프로세스가 실행되는 사용자모드에서 커널