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

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

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

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

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

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

seek를 이용한 파일 위치변경

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

select를 이용한 입출력 다중화

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

윈도 파일 프로그래밍

윈도 파일 프로그래밍뭐니 뭐니 해도 시스템 프로그래밍의 핵심은 파일. 리눅스 프로그래밍에 익숙한 관계로 리눅스(윈도에서 파일은 커널 Object로 관리된다. 파일을 포함한 모든 커널 Object는 Create로 시작하는 함수로 handle을 얻을 수 있다. 핸들은 커널 Object를 가리킨다. 파일외에 관리하는 커널 객체로는 아래와 같은 것들이 있다. 1...

AUFS와 도커 파일 시스템

aufs(advanced multi layered unification filesystem)은 리눅스 파일 시스템의 union mount를 구현하기 위해서 시작한 프로젝트다. 2006년 junjiro Okajima가 개발을 시작했으며, UnionFS를 완전히 새로 만들었다. 안정성과 성능을 향상시키는 이외에도 writable branch balancing와...