반응형 CS 지식/시스템 프로그래밍16 [C언어] Signal 프로그래밍 개념과 예제 시그널 프로그래밍의 이해시그널은 운영체제가 프로세스 간 통신을 위해 제공하는 비동기적 메시지 전달 메커니즘이다. 시그널은 프로세스에 특정 이벤트가 발생했음을 알리거나 작업을 중단하도록 요청하기 위해 사용된다. 이 글에서는 시그널의 동작 원리, System V와 POSIX 표준에 기반한 시그널 프로그래밍, 그리고 운영체제와 시그널의 관계를 자세히 설명한다.시그널의 기본 개념시그널의 정의시그널은 정수로 표현되는 작은 메시지로, 특정 이벤트를 알리기 위해 사용된다. 프로세스는 시그널을 받으면 이를 처리하거나 무시한다.시그널의 주요 상태Pending: 시그널이 도착했지만 아직 처리되지 않은 상태.Blocked: 프로세스가 시그널을 처리하지 않고 차단한 상태.Not Queued: 동일한 시그널이 여러 번 발생해도.. 2024. 10. 17. [c언어] 멀티 프로세스 프로그래밍 멀티프로세스의 이해멀티프로세스는 운영 체제에서 하나의 프로그램이 여러 개의 프로세스를 생성하여 병렬 작업을 수행하는 기법입니다.CPU는 여러 프로세스 또는 스레드가 마치 '동시에' 실행되는 것 처럼 행동합니다.메모리 분리: 각 프로세스는 독립적인 메모리 공간을 할당받습니다. CPU는 메모리 상에 각각의 프로세스를 실행하는데 필요한 코드와 데이터를 로드합니다. 프로세스 간 메모리 영역은 운영체제에 의해 보호되며, 서로 접근할 수 없습니다.싱글 코어 CPU의 경우 (중요!) 1. CPU멀티 프로세스 실행: 실제로 싱글 코어 CPU는 하나의 프로세스만 실행할 수 있습니다. 따라서 CPU는 시간 분할(Time Slice) 방식으로 각 프로세스에 CPU 시간을 할당하고 빠르게 전환합니다. 이는 멀티태스킹처럼 보이.. 2024. 10. 17. 이전 1 2 3 다음