반응형 파일 입출력2 [C언어] 메모리 매핑 입출력(Memory Mapped I/O) 관련 시스템 콜(System call) Memory Mapped I/O (mmap)Memory Mapped I/O는 파일 디스크립터(fd)를 직접 사용하는 대신, 파일을 메모리에 매핑하여 접근하는 방식이다. 이를 통해 시스템 콜을 최소화하고, 데이터를 빠르게 읽고 쓸 수 있다.mmap() - 파일을 메모리에 매핑void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset);매개변수 설명addr : 매핑할 메모리 주소를 커널에게 '제안' (보통 0 입력하여 자동 지정)len : 매핑할 크기 (바이트 단위)prot : 메모리 보호 설정 (비트 OR 연산 사용 가능)PROT_READ : 읽기 가능PROT_WRITE : 쓰기 가능PROT_EXEC : 실행 가능flags : .. 2025. 3. 2. [C언어] File I/O (Unix vs Standard IO)관련 시스템 콜(System call) 파일 시스템과 I/O 개념File Table (OS)운영체제는 각 프로세스의 열려있는 파일들을 관리하기 위한 파일 테이블을 유지한다. 파일의 인덱스는 실제 파일명이 아니라 File Descriptor (fd)로 관리된다.각 파일 테이블의 엔트리는 다음과 같이 구성된다.inodefile offset (파일 위치)Access modes 이 포스트에서는 Unix IO의 파일 입출력 관련 System calls를 소개한 후, standard IO 라이브러리와 함수들을 소개 후, Unix와 standard IO를 비교하면서 장단점을 정리합니다.File Descriptor (fds)File Descriptor(fds)는 0부터 시작하는 정수 값이며, 실행 중인 프로세스가 파일을 열 때 부여된다. 하나의 프로세스 내.. 2025. 3. 2. 이전 1 다음