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 커널 모드 전환 – 프로세스가 실행되는 사용자모드에서 커널
I. 태스크 동기화의 필요성 공유 데이터 병행 접근 시 데이터 불일치를 초래하므로 데이터 일관성 유지 위해 태스크 동기화 필요 II. 태스크 동기화 방안 구분 방안 설명 H/W 측면 test and set – “lock” 공유 Boolean 변수 compare and swap – value==expected 경우 swap Semaphore – P(), V() 연산 기반 원자적 수행 Bus-Locking – ARMv6
I. 동시 수행의 위험, 자원 경합의 의미 가. 자원 경합의 정의 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도하여 일관성 보장이 어려운 상태 나. 자원 경합의 특징 특징 설명 예측 불가 – 발생 현상, 빈도 등 예측이 전혀 불가능 비 균등 – 성능 변화가 불균등하여 일관성이 없음 분석 난해 – 연관 요인에 의해 원인분석
I. 동기화 기법, 스핀락의 개념 가. 스핀락의 개념 프로세스가 사용하려는 lock을 타 프로세스 사용 시 명령어 루프를 실행하며 대기하는 locking 매커니즘 나. 스핀락의 특징 SMP 시스템 – SMP 시스템 위한 락으로 단일 프로세스에서는 사용 안함 Busy Waiting – 바쁜 대기의 한 종류의 동기화 기법 Spinning – 공유 자원에 대해 두 개 이상의 프로세스가 권한 획득