리눅스 시그널의 우선순위와 비동기 신호 안전성 이해

시그널 우선순위의 개념 리눅스 환경에서 시그널은 소프트웨어적인 인터럽트로 취급됩니다. 하드웨어 인터럽트와 마찬가지로 시그널에도 처리 우선순위가 존재하며, 여러 시그널이 동시에 대기 중(Pending)일 때 어떤 시그널을 먼저 처리할지 결정하는 규칙이 있습니다. 실시간 시그널(Real-time Signals): 동일한 시그널 값이 여러 개 대기 중일 경우, 전송된 순서 ...

7월 30일 09:48에 게시됨

Linux 환경에서의 스레드와 프로세스 간 통신

스레드 메커니즘 분석 스레드의 본질적 특성 스레드는 경량 프로세스로 프로세스 공간 내에 완전히 종속됩니다. 각 스레드는 독립적인 스택 영역(기본 8MB)을 가지며, 텍스트 세그먼트, 데이터 영역, 힙 영역은 동일 프로세스 내에서 공유됩니다. 이 공유 구조는 통신 효율성을 보장하지만 자원 경쟁 위험을 동반합니다. 프로세스와 스레드 비교 구분프로세스스레드 ...

7월 16일 05:03에 게시됨

C 언어 환경에서의 파일 데이터 입출력 기법 분석

파일 조작의 기본 접근 방식 C 프로그래밍 환경에서 파일을 읽고 쓰는 작업은 크게 시스템 콜을 사용하는 저수준 API 와 표준 라이브러리 함수를 제공하는 고수준 API 로 나뉩니다. 각 방식마다 사용되는 헤더 파일과 동작 원리가 다르며, 용도에 따라 선택하여 사용해야 합니다. 1. POSIX 시스템 호출 기반 입출력 open(), read(), write(), close() 는 운영체제와 직접 ...

7월 7일 17:08에 게시됨