유닉스 파일 다루기

유닉스 파일 다루기 워낙 오래전 문서다. 업데이트가 필요 할 듯. 2009-12-9Unix 는 모든것이 파일로 이루어진다. 일반적인 텍스트 정보, 바이너리 정보 뿐만 아니라, 소켓, 파이프(FIFO), 장치(device), 디렉토리까지 파일로 관리를 한게 된다. 이러한 개념은 Window 사용자에게는 생소한 개념이 될수가 있다.윈도 있어서 c== 파일 열...

버퍼사이즈가 읽기/쓰기 성능에 미치는 영향

버퍼사이즈가 읽기/쓰기 성능에 미치는 영향파일을 읽고 쓸때, 한번에 읽어들이는 데이터의 크기에 따라 읽기/쓰기 성능이 달라진다는 것은 상식선에서 알고 있을 것이다. 대략 알고 있는 바로는 1024 바이트 단위로 읽어올 때 가장 효과적인 것으로 알고 있다. 실제, 이러한 우리의 상식이 올바른지를 확인하기 위해서 버퍼 크기에 따른 읽기/쓰기 성능에 대한 자료...

dup를 이용한 파일지정번호 복사

dup를 이용한 파일지정번호 복사dup 함수가 하는일은 실제로 간단하다. 단순히 파일지정번호를 복사하는 일이다. 그런데 솔직히 말해서 "dup는 파일지정번호를 복사하기 위해서 사용한다" 라고 해보았자.. 도대체 이걸 어디에 사용할수 있을지, 절대 감이 오질 않는다.이래서야 쓰고 싶어도 써먹을수가 없으니 보통 슬픈일이 아니다. 그래서 이번문서에서는, 몇가지...

fcntl을 이용한 파일 및 레코드잠금

fcntl을 이용한 파일 및 레코드잠금fcntl을 이용한 파일잠금, 레코드 잠금의 방법과 그 응용에 대해서 알아본다. 파일잠금과 레코드 잠금은 여러 응용에서 필요로 한다. 멀티 쓰레드(DB와 같은경우에는 단지 파일잠금을 넘어서, 파일의 일정부분을 잠그는 레코드 잠금 기능을 필요로 할 것이다. 특정 레코드영역에 한번에 하나의 쓰레드만 접근하도록 제어해야 하...

seek를 이용한 파일 위치변경

seek를 이용한 파일 위치변경...

select를 이용한 입출력 다중화

select를 이용한 입출력 다중화입출력과 관련된 함수들은 기본적으로 봉쇄/동기적 으로 작동한다. 봉쇄형은 데이터를 처리하는 직관적인 방식이긴 하지만, 두 개 이상의 파일을 처리할 때 문제가 된다. 하나의 파일에서 봉쇄가 되어 버리면 다른 파일의 데이터는 영원히 읽지 못할 수도 있기 때문이다. 비 봉쇄 방식으로 처리하는 방법도 있으나 일반적으로 비봉쇄 방...

IPC : Inter Process Communication

IPC Inter Process Communication 을 의미한다. 유닉스(...

Unix Domain Socket를 이용한 계산기 만들기 예제

Unix Domain Socket를 이용한 계산기 만들기 예제...

FIFO 활용

FIFO 활용pipe 에 대한 내용은 를 참조하기 바란다.FIFO는 PIPE와달리 명명된(이름이 있는) 파일을 통하여 통신이 이루어지게 되므로, 서로다른 세션에 있는 프로세스라도 관계없이 통신을 할수가 있으며, 다중의 클라이언트를 받아들이기 위한 서버모델을 만들수있다. 그러나 Unix Domain 소켓과는 달리, 단일의 파일지시자를 통해서 연결이 되므로,...

IPC : 메시지 큐

IPC 메시지큐는 메시지를 queue 데이타 구조 형태로 관리한다. 큐(일반적인 배열을 접근방법에 따라 특수하게 분류한것이라고 생각하기 바란다.메시지큐는 커널에서 전역적으로 관리되며(이를테면 커널 전역변수형태로), 모든 프로세스에서 접근가능하도록 되어있으므로, 하나의 메시지큐 서버가 커널에 요청해서 메시지큐를 작성하게 되면, 메시지큐의 접근자(식별자)를 ...