목차 개요 IPC 즉 프로세스간 통신의 한 종류인 파이프에 대해서 알아보자 먼저 파이프는 두 종류가 있는데 익명 파이프와 지명 파이프로 나뉘어져있다. 파이프를 구현하는데에는 여러가지 옵션을 고려해야하는데 단방향 통신인가? 양방향 통신인가? 양방향인 경우에는 반이중 방식인가? 전이중 방식인가? 두 프로세스 간에 부모-자식 같은 특정 관계가 존재하는가? 이번 포스팅에서는 양방향 통신도 가능하고 부모-자식 관계도 필요하지 않은 지명 파이프에 대해 알아보겠다. 익명 파이프에 대해서도 궁금하다면 ⬇⬇⬇ (읽는 것을 추천한다) 프로세스 :: 익명 파이프(anonymous pipes) 목차 개요 IPC 즉 프로세스간 통신의 한 종류인 파이프에 대해서 알아보자 먼저 파이프는 두 종류가 있는데 익명 파이프와 지명 파이프..
CS/Operating System
목차 개요 IPC 즉 프로세스간 통신의 한 종류인 파이프에 대해서 알아보자 먼저 파이프는 두 종류가 있는데 익명 파이프와 지명 파이프로 나뉘어져있다. 파이프를 구현하는데에는 여러가지 옵션을 고려해야하는데 단방향 통신인가? 양방향 통신인가? 양방향인 경우에는 반이중 방식인가? 전이중 방식인가? 두 프로세스 간에 부모-자식 같은 특정 관계가 존재하는가? 이번 포스팅에서는 단방향 통신만이 가능하고 부모-자식 관계에서만 동작하는 익명 파이프에 대해 알아보겠다. 지명 파이프에 대해서도 궁금하다면 ⬇⬇⬇ 2022.09.21 - [분류 전체보기] - 프로세스 :: 지명 파이프(named pipes) 개념 및 특징 두 프로세스가 통신할 수 있게 하는 전달자로서 프로세스간의 통신을 허용한다. 위에서 기술했다싶이 단방향 ..
목차 개요 현재는 인터넷의 발달로 인해 영상 등을 스트리밍 할때 버퍼링 화면을 자주 보지는 못하지만 초등학교때 처음 나왔던 갤럭시1으로 옆집의 와이파이를 잡아서 볼때는 까만 화면에 원이 돌고 있는 모습을 자주 봤었다. 그 당시엔 다들 버퍼링 심하다~ 라고 하길래 영상이 안나오면 버퍼링이구나 생각했던 시절이 있다. 이 포스팅을 보고 난 후엔 아~ 서버에서 클라이언트로 영상 파일을 다운을 하던 와중에 버퍼에 저장된 영상 매체가 없어서 load를 기다리는 과정이구나 라고 이해할 수 있을것이다. 버퍼 (buffer) 생산자는 무언가를 생산해낼거고 소비자는 생산물을 받는 입장일텐데 생산자에서 소비자로 직접 건네주는 방식은 생산을 하는 과정과 생산물을 받는 과정이 순차적으로 일어난다. 즉 두 과정이 동시에 실행되지..
목차 개요 상위의 포스팅에서는 IPC의 개념과 종류에 대해서 알아보았고 2022.08.29 - [OS :: 운영체제] - 프로세스 :: 프로세스 간 통신 IPC 프로세스 :: 프로세스 간 통신 IPC 목차 개요 이전 포스팅에서는 프로세스가 생성되고 종료되며 그러한 프로세스가 다중 프로그래밍 환경에서 적재와 할당 해제가 반복되면서 작업이 이루어지는 멀티테스킹; 병행 수행되는 경우 nstgic3.tistory.com 이번 포스팅에서는 IPC의 방식 중 하나인 메시지 전달 시스템에 대해서 자세히 알아볼 것이다. 메시지 전달 시스템 개념 운영체제가 메시지를 이용하여 프로세스간 통신을 하게 하는 기법 메모리 공유 시스템에 비해서 영역을 할당을 할 필요도 없고 프로세스 들끼리 메모리를 공유할 필요가 없다. 이에 따..
공유 메모리 시스템의 장단점과 shm_open, truncate, mapp, shm_unlink 를 사용하여 POSIX 에서 할당과 해지가 되는 코드의 예시를 보여준다. 목차 개요 상위의 포스팅에서는 IPC의 개념과 종류에 대해서 알아보았고 2022.08.29 - [OS :: 운영체제] - 프로세스 :: 프로세스 간 통신 IPC 이번 포스팅에서는 IPC의 방식 중 하나인 공유 메모리 시스템에 대해서 자세히 알아볼 것이다. 공유메모리(shared memory) 공유 메모리를 사용한 통신은 두 프로세서가 공통의 메모리에 액세스를 하여 프로세스 간 통신을 하는 경우이다. 일반적으로는 프로세스가 다른 프로세스의 메모리에 접근하는 것을 금지하는데 이러한 제약 조건을 제거한다. 이후 커널에 공유 메모리 공간을 요청..
목차 개요 이전 포스팅에서는 프로세스가 생성되고 종료되며 그러한 프로세스가 다중 프로그래밍 환경에서 적재와 할당 해제가 반복되면서 작업이 이루어지는 멀티테스킹; 병행 수행되는 경우를 알아보았는데 실행되는 병행프로세스는 다른 프로세스와 상호작용 유무에 따라서 독립적일 수도 있고 협력적 일 수도 있다. 독립 프로세스 : 실행중인 다른 프로세스 등과 정보를 공유하지 않음 협력 프로세스 : 실행 중인 다른 프로세스 들과 영향을 주거나 받는다. 따라서 이번 포스팅에서는 협력 프로세스를 제공하는 이유과 어떻게 통신을 하는지에 대해 알아보고 하위 포스팅으로 통신방법에 따른 OS에 적용된 방식나 간단한 구현 코드 API 등을 알아보도록 하겠다. 협력 프로세스 제공 이유 정보공유 (information sharing) ..