ipc 4

#030_WIndow_System_메모리 맵 파일

안녕하세요 삽잡이입니다.이번 시간에는 메모리 맵 파일에 대해서 알아보려고 합니다. 메모리 맵이 하는 일은 파일을 내 메모리처럼 사용할 수 있게 해주는 것입니다.이를 위해서는 파일 입출력이 필요합니다. 파일 입출력은 프로세스의 내용물을 영구적인 저장 장치(HDD, 플래시 메모리, SD 메모리 카드 등)에다가 쓰는 것을 말합니다.데이터를 그룹화하여 하나의 단위로 취급하는 것이 파일인데,이를 위해 WriteFile, ReadFile을 사용하지요... 아무튼... 영구적인 저장장치로부터 데이터를 프로세스에 올릴 때 ReadFile을 사용하게됩니다.그런데, 객체라는 데이터를 사용할때를 생각해봅시다.객체라는 데이터를 그대로 사용하게 될 때 그 안에 만약 참조가 들어있다고 한다면,그 참조 즉, 주소자체가 의미가 있을..

#029_WIndow_System_IPC_파이프(2)

안녕하세요 삽잡이입니다.이번 시간에는 파이프 통신하는 방법에 대해서 알아보도록 하겠습니다. 첫번째 인자로 파이프 이름을 받는데요,그 외에 읽고 쓰고를 가능하게 할지, 버퍼의 크기, 보안 속성등을 지정할 수 있습니다.여기서 우리는 네번째 인자를 봅도록 하겠습니다. 네번째 인자인 nMaxInstance의 경우 파이프를 최대 만들 수 있는 개수를 지정합니다.즉, 통신할 수 있는 파이프를 네번째 인자의 수 만큼 생성할 수 있게 지정하는 것입니다. 다섯번째, 여섯번째의 버퍼는 많은 곳에서 사용이 됩니다.파일에, DB에... 입출력을 필요로 하는 함수에서 버퍼의 존재를 심심치 않게 확인할 수 있습니다.아무튼... 다섯번째, 여섯번째의 버퍼는 입력 버퍼, 출력 버퍼의 사이즈를 명시하는 인자입니다. 자... 파이프를 ..

#028_WIndow_System_IPC_파이프(1)

안녕하세요 삽잡이입니다. 이번 시간에는 IPC 통신 기법중, 파이프에 대해서 배워보겠습니다. 예전에는 네트워크가 느렸기 때문에 프로세스간 통신을 위해 파이프를 사용했다는데 요즘은 잘 쓰지 않는다고 하네요...아무튼... 그렇지만 개념이 네트워크에서 사용하는 것과 비슷하다고 하니! 파이프에 대해서 알아봅시다! Windows, Linux에서 파이프나 메일슬롯은 파일처럼 다루고자 했다고합니다.그래서 파일 입출력과는 별개처럼 보이는데 CreateFile, ReadFile 과 같은 함수를 사용합니다. 여담으로는 파이프에 대해 알게 되면,파일 입출력을 배우지 않아도 똑같이 프로그래밍 할 수 있다네요...또한, 객체지향에 가면 파일을 직접 가지고 노는 경우는 극히 드물다고 합니다. 왜냐하면, 파일을 직접 가지고 놀게..

#027_WIndow_System_IPC_메시지

안녕하세요 삽잡이입니다. 여러개의 프로세스들은 각각 독립적으로만 움직일까요?아닙니다. 프로세스 간에 통신을 통해 서로 대화를 주고받을 수 있습니다.그래서 이번 시간에는 프로세스간에 통신의 방법 중 하나인 메시지에 대해서 알아보려고합니다. IPC는 Inter Process Communication 의 줄임말입니다.즉, 프로세스들 사이에 이야기를 하겠다는 뜻입니다.그렇다면 윈도우 시스템 프로그래밍의 IPC에 관련된 기술들을 살펴보도록하죠... 이전에 FindWindow 함수를 통해 프로세스 ID 혹은, 클래스 명을 알고 있다면 다른 프로세스의 핸들을 구할 수 있다는 사실을 확인하셨던 것 혹시 기억하십니까?왜 지금 이런 말을 언급하냐 하면, 핸들을 알고 있을 경우 다른 프로세스에게 통신이 가능할 수 있게 되기..