운영 체제(OS, Operating System): 하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.즉, 운영 체제는 사용자가 컴퓨터를
프로세스 : 프로그램을 메모리 상에서 실행 중인 작업스레드 : 프로세스 안에서 실행되는 여러 흐름 단위기본적으로 프로세스마다 최소 1개의 스레드 소유(메인 스레드 포함)프로세스는 각각 별도의 주소공간 할당(독립적)Code : 코드 자체를 구성하는 메모리 영역(프로그램
: 프로그램이 CPU에 의해 실행 → 프로세스 생성, 메모리에 프로세스 주소 공간이 할당됨프로세스 주소 공간은 코드, 데이터, 스택으로 구성코드 Segment : 프로그램 소스 코드 저장데이터 Segment : 전역 변수 저장스택 Segment : 함수, 지역 변수 저
: 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행 중인 작업을 즉시 중단하고 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것→ 지금 수행 중인 일보다 더 중요한 일이 발생하면 그 일을 먼저 처리하고 하던 일 처리함: CPU의 하드
: 운영 체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스사용자 프로그램이 디스크 파일을 접근하거나 화면에 결과를 출력하는 등의 작업이 필요한 경우, 즉 사용자 프로그램이 특권 명령의 수행을 필요로 하는 경우, 운영체제에
: CPU가 프로세스 여러 개일 때, CPU 스케줄링을 통해 관리하는 것→ CPU는 각 프로세스들이 누군지 알아야 관리가 가능함프로세스들의 특징을 갖고 있는 것이 Process MetadataProcess MetadataProcess IDProcess StateProc
: 프로세스 간에 통신하여 상호 커뮤니케이션 하는 기법→ 프로세스는 독립적으로 실행 → 다른 프로세스에게 영향을 받지 않음 (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받음)이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황에서 IPC 통신으로 해결프