concurrent programming을 하기 위해 가장 기본적으로 사용되는 함수가 바로 fork이다. fork는 기존에 존재하는 프로세스를 그대로 복사하여 하나의 프로세스를 생성하는 개념이다. 이때, 기존에 있던 프로세스를 부모 프로세스, 새로 만들어진 프로세스를
Pipe는 IPC의 대표적인 방법 중 하나입니다.앞으로 IPC의 수단들에 관해 살펴볼 것이지만 제일 먼저 Pipe에 대해 알아보겠습니다.pipe는 두 프로세스 간에 공유하는 하나의 파일이라고 생각하면 쉽습니다. pipe는 named pipe와 unnamed pipe가
lock에는 대표적으로 두 가지가 존재합니다. Writers’s lock: Exclusive lock으로 writing 하는 process 혹은 thread가 lock을 소유하면 다른 writer나 reader는 모두 writer lock을 반환할 때까지 기다려야 합니
handler에게 signum에 해당하는 signal을 보냅니다. signal은 한마디로 interrupt 하여 바로 실행하게 만드는 신호(?)입니다. 긴급하게 처리해야 될 event가 있을 때 주로 사용됩니다.signal과 관련된 함수는 너무 많으므로 대표적인 것들을
IPC는 Inter Process Communication의 약자로, 프로세스 간 통신을 뜻한다.앞서 살펴봤듯이, Pipe 외에도 많은 방법들이 존재한다. 이번 게시글에서는 IPC의 수단들을 구체적으로 다뤄보려고 한다.구조는 위와 같은 형태이다. 언뜻 보면 pipe와
Memory Mapped File은 File에 해당하는 공간을 Process address space에 mapping 시키는 것을 말한다. 여러 프로세스에 같은 file을 mapping 시켰을 경우 Inter-process communication이 가능하다.addr:
프로그램에서 time은 크게 calendar time과 Process/CPU time으로 나뉩니다.UTC (Coordinated Universal Time) / GMT (Greenwich Mean Time): 세계 공통으로 기준이 되는 시간Epoch time: 1970
네트워크 프로그래밍에 대해서 자세하게 소개를 하는 것은 시스템 프로그래밍을 정리하는 목적에서 볼 때 배보다 배꼽이 더 클 수 있으므로 간략하게 소개해보려 합니다.네트워킹을 위해서는 client와 server process가 필요합니다. server는 client의 연결