6. 문맥교환 인터럽트는 현재 실행되는 프로세스와 별도로 외부에서 발생되는 여러 종류의 이벤트(예를들면 입출력 동작의 종료)에 의해 발생한다. 트랩은 소프트웨어가 발생시키는 메세지이지만 인터럽트는 하드웨어가 발생시키는 메세지입니다. 트랩은 부적절한 파일 접근이나 현재 실행중인 프로세스에 의해 발생되는 오류나 예외 상황 때문에 발생한다. 인터럽트의에는 대표적으로 입출력 인터럽트, 클록 인터럽트가 있다. 입출력 인터럽트 : 입출력 동작이 발생한 사실을 확인 후 이벤트를 기다리는 프로세스를 준비상태로 바꾸고 실행할 프로세스를 결정한다. 클록 인터럽트 : 현지 실행 중인 프로세스의 할당 시간을 조사하여 실행 중인 프로세스를 준비상태로 바꾸고 다른 프로세스를 디스패치하여 실행 상태로 바꾼다. 프로세스를 다른 프로..
1. 프로세스 개요 1-1. 프로세스 개념 프로세스는 '실행 중인 프로그램'이다. 여기서 실행중인 프로그램이란 디스크에 저장되어 있던 실행 가능한 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태를 말한다. 다시말해, 해당 프로세스가 사용하고 있는 메모리 영역이 존재함을 의미한다. 프로세스는 메모리에 아래와 같은 주소 공간을 갖는 능동적인 개체다. 프로세스 주소 공간의 각 영역 실행스택(Stack) : 호출된 프로시저(함수)의 복귀 주소와 지역 변수처럼 일시적인 데이터를 저장하는 영역 실행 힙(Heap) : 프로그램 실행 중 시스템 호출을 통해 사용되다가 해지되는 등 자유자재로 사용할 수 있다. 데이터(정적 변수) : 프로세스 실행 중에 동적으로 할당받는 영역으로 전역 또는 정적 변..