지역성 (Locality)

I. 집중적 액세스, Locality의 개념 가. Locality의 의미 CPU가 기억장치의 특정 부분에 위치한 데이터나 프로그램 코드를 집중적으로 액세스하는 현상 컴퓨터의 구성요소 간 속도 차이로 인한 병목현상이 발생하지만 Locality의 특성을 이용하여 고비용/고속 저장장치의 효율적 사용 및 속도 향상 가능 나. Locality의 목표 목표 설명 빠른 접근 시간 – Cache Access Time의 최소화 적중률 최대화 – Cache

인터럽트 (Interrupt)

I. 예외상황 우선처리, 인터럽트 가. 인터럽트 (Interrupt)의 개념 예외상황 발생 시 진행중인 작업을 정지시키고 정의된 절차를 수행하기 위한 제어 프로세스 나. 인터럽트의 발생 원인/우선순위 원인 우선순위 설명 주변장치 인터럽트 높음 – 시스템 오류, 입출력(I/O) 요청 – 전원 이상 등의 인터럽트 프로세스 오류 중간 – CPU 연산 시 Page Fault, Device Zero, Overflow 등의 예외 발생

동시 멀티스레딩(Simultaneous Multithreading)

I. 스레드의 병렬 실행, 동시 멀티스레딩 가. 동시 멀티스레딩(Simultaneous Multithreading)의 개념 하드웨어 자원 사용률 극대화를 위해 스레드(Thread) 우선순위 선정하여 실행 효율을 개선한 병렬 실행 기술 나. 동시 멀티스레딩의 특징 효율성 개선 – 슈퍼스칼라 하드웨어 효율성(버블 제거) 논리적 개선 – 추가적 연산장치 없이 처리 스레드 증가 TLP – 성능 증가 위해 스레딩에 의존 병렬 처리 동시

쓰레드 (Thread)

I. 자원 공유 Light-Weight Process, 쓰레드(Thread) 가. Thread의 개념 명령어 독립 실행 가능한 제어흐름으로, 프로세스의 자원을 공유하고 Task를 처리하는 프로세서 사용 기본 단위 – 스레드 간 독립적 실행 – 실행/종료 예측 불가능 – 프로세스 제어명령에 의해 실행 – 스택, 카운터, 레지스터 보유 – 프로세스 내 Heap 영역 공유 – Context Switching 부하 적음 나. Thread의

프로세스 상태 전이

I. 프로세스 상태 전이도 가. 프로세스 상태 전이도 멀티 프로세스 시스템 사용 시 프로세스 생성 ~ 종료까지 성능 최적화를 위한 프로세스 제어 기법 나. 프로세스 상태 상태 설명 생성 (Created) – 프로세스 최초 상태로, 주기억장치 적재되지 않고 보조 기억 장치에 저장되어 있는 실행 파일 상태 준비 (Ready) – 프로세스가 CPU를 사용하여 실행 준비 된 상태

문맥교환 과정

I. 자원 할당 시 정보교환, 문맥교환의 개념 프로세스 실행 중 다른 프로세스의 CPU 사용 위해 작업 상태를 보관하고 새 프로세스 상태 적재 작업   II. 문맥교환의 절차 가. 문맥교환 절차도 나. 문맥교환 절차 단계 절차 설명 1 인터럽트/시스템 호출 – 운영체제에서 프로세스 스케쥴러에 의해 인터럽트 발생 2 커널 모드 전환 – 프로세스가 실행되는 사용자모드에서 커널

PCB (Process Control Block)

I. 프로세스 상태 저장 블록, PCB 가. PCB (Process Control Block)의 개념 운영체제에서 프로그램 실행 맟 문맥 교환을 위해 프로세스 정보를 저장하는 데이터 블록 나. PCB의 주요 역할 프로세스 생성 – 프로세스와 함께 생성, 고유 PCB 보유 프로세스 변경 – 문맥 교환 시 PCB 정보 저장/복구 프로세스 종료 – 프로세스 완료 시 함께 제거  

문맥교환 (Context Switching)

I. 자원 할당 시 정보교환, 문맥교환의 개념 프로세스 실행 중 다른 프로세스의 CPU 사용 위해 작업 상태를 보관하고 새 프로세스 상태 적재 작업   II. 문맥교환의 절차 가. 문맥교환 절차도 나. 문맥교환 절차 단계 절차 설명 1 인터럽트/시스템 호출 – 운영체제에서 프로세스 스케쥴러에 의해 인터럽트 발생 2 커널 모드 전환 – 프로세스가 실행되는 사용자모드에서 커널

태스크(프로세스) 동기화 방안

I. 태스크 동기화의 필요성 공유 데이터 병행 접근 시 데이터 불일치를 초래하므로 데이터 일관성 유지 위해 태스크 동기화 필요   II. 태스크 동기화 방안 구분 방안 설명 H/W 측면 test and set – “lock” 공유 Boolean 변수 compare and swap – value==expected 경우 swap Semaphore – P(), V() 연산 기반 원자적 수행 Bus-Locking – ARMv6

경쟁 조건/자원 경합 (Race Condition)

I. 동시 수행의 위험, 자원 경합의 의미 가. 자원 경합의 정의 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도하여 일관성 보장이 어려운 상태 나. 자원 경합의 특징 특징 설명 예측 불가 – 발생 현상, 빈도 등 예측이 전혀 불가능 비 균등 – 성능 변화가 불균등하여 일관성이 없음 분석 난해 – 연관 요인에 의해 원인분석