프로세스란 디스크에 메모리가 할당된 하나의 프로그램을 의미하며 스레드는 프로세스 내에서 독립적으로 실행되는 작업의 단위입니다
프로세스는 각자의 메모리 영역을 가지지만 스레드는 메모리 구조에서 스택, 레지스터 영역을 제외한 코드, 데이터, 힙 영역을 공유합니다. 따라서 프로세스간 통신을 위해서는 소켓, 파이프와 같은 IPC기법을 이용해야 하지만 스레드는 힙 영역을 공유하므로 프로세스간 통신보다 스레드간 통신이 좀 더 비용이 적게든다는 특징을 가지고 있습니다.
인터럽트란 하드웨어 장치가 CPU에게 어떤 정보를 알려주거나 서비스를 요청해야 하는 경우 발생하는 정보입니다. CPU는 매번 프로그램 카운터가 가리키는 곳의 명령을 수행한 뒤, 인터럽트 라인을 확인하여 인터럽트 라인이 세팅되었는지 확인합니다. 이 때 인터럽트가 발생했으면 프로세스 처리를 잠시 멈추고 인터럽트 처리 루틴으로 이동하여 인터럽트를 처리합니다.
인터럽트는 크게 키보드, 마우스 등의 하드웨어 장치에 의해 발생하는 하드웨어 인터럽트와 소프트웨어 인터럽트가 있습니다. 소프트웨어 인터럽트는 익셉션이나 시스템콜로 인해 발생하게 됩니다.