sys/mman.hmmapmunmap다른 프로세스간 데이터의 교환 용도로 이용 가능파일 디스크립트를 직접 얻어서 하는 방식 (open, read 등)이 아닌 직접 메모리에 접근하여 데이터를 가져오는 방식으로 성능 향상을 기대할 수 있음.소스코드 (main.c)Makef
프로그램실행 가능한 코드, 실행되기를 기다리는 명령어와 정적인 데이터의 묶음.프로세스실행 중인 프로그램최소 한개의 스레드를 무조건 가지고 있다.플프로그램 이미지, 메모리 인스턴스, 커널 리소스 등의 정보스레드프로세스 내의 실행 단위를 의미.가상화 된 프로세서, 스택,
Untitledcode, data, file 데이터는 여러개의 스레드에서 공유되는 자원이다.register, stack 영역의 데이터는 각 스레드마다 독립적으로 사용된다.Single-thread로 사용하는 것 보다 Multi-thread가 성능이 훨씬 좋다.다만 Mul
시그널 보내 시그널 보내 찌릿찌릿찌릿찌릿시그널은 프로세스에게 특정한 사건의 발생을 알려주는 소프트웨어적인 통지이다.시그널은 대표적으로 아래에 대해서 사용중이다.Ctrl+CChild process terminationAlarmdivide by zerointer-proce
time(): 1970년 1월 1일 0시 0분 0초 부터 현재 시각까지 지난 초를 계산하는 함수gettimeofday(): 현재 시간값을 더 구체적으로 계산해서 timaval 구조체 에 저장함.localtime(): timezone 기반 시간 정보를 가져오는 함수gmt
Named Pipe는 파일 경로를 ID로 사용한다.양방향 통신을 지원한다.FIFO 생성과 open이 분리되어있다.open()시 read-side와 write-side가 동기화 된다.즉, 양쪽 모두 open 시도가 있어야 성공한다.open 시 O_NONBLOCK이 유용하
그림 출처: https://doitnow-man.tistory.com/110IPC 프로그래밍 기법 중 하나이다.익명의 PIPE를 통해서 동일한 PPID를 가진 프로세스들 간에 단방향 통신을 지원한다.단방향 통신을 지원하기 때문에 fork()를 사용하여 자식 프
메세지 기반 커뮤니케이션으로 pipe 나 Named pipe와는 달리 하나의 메세지를 기준으로 전송한다.IPC Key를 기반으로 데이터를 전송한다.POSIX와는 달리 mtype을 사용하여 메세지 큐에 있는 데이터를 구분해서 받을 수 있다.관련 툴ipcs, ipcrm사용
Message 기반의 커뮤니케이션을 제공한다.부분 바이트 read 없음Multiple message read 없음하나의 메세지 큐로 read/write 가능멀티 reader / 멀티 writer 기능 가능FILE I/O 기반 동작 → 이를 사용하여 I/O multipl
소켓이란 무엇인가? 소켓의 정의는 다음과 같다.Socket네트워크 소켓은 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다.즉, 프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 연결부이다. 이러한 소켓을 이용하여 통신하는 것을 소켓 통신 한다고 한다
그림 1. 하나의 공유 메모리를 사용하는 Process 들mmap을 사용한 메모리 공유 방법은 파일을 사용하여 메모리를 메핑한다. 하지만 이번에 소개할 Shared Memory는 파일을 사용하지 않고 직접적으로 메모리를 공유하는 방법에 대해서 기술한다. Shared M
그림 1. 하나의 공유 메모리를 사용하는 Process 들mmap을 사용한 메모리 공유 방법은 파일을 사용하여 메모리를 메핑한다. 하지만 이번에 소개할 Shared Memory는 파일을 사용하지 않고 직접적으로 메모리를 공유하는 방법에 대해서 기술한다. Shared M
Semaphore와 비슷한 개념으로 이는 여러 프로세스 또는 스레드가 하나의 파일을 열어서 작업할 경우 데이터 충돌을 줄이고자 사용되는 기법이다. 이러한 locking 기법은 두가지가 존재한다. advisory lockinglocking 하기로 한 프로세스간에 loc