[컴퓨터공학]/[시스템 프로그래밍] 4

[시스템 프로그래밍] 파일 정보 검색(1) - inode 정보 검색

[시스템 프로그래밍] 파일 정보 검색(1) - inode 정보 검색 inode에는 파일에 관한 자세한 정보가 저장되어 있습니다. inode는 index-node의 줄임말로, 각 파일마다 고유한 inode값을 가지고 있으며, 파일 형식, 소유자, 그룹, 권한 모드 등 해당 파일에 대한 정보를 가지고 있습니다. 파일 시스템 내의 파일은 inode 값을 통해 식별이 가능합니다. 아래의 그림은 inode의 파일 모드에 관한 그림입니다. 총 16비트의 flag를 가지며, 각 비트에 해당하는 값은 아래와 같습니다. inode는 파일 모드 뿐 만 아니라, 링크 수, 소유자 ID, 그룹 ID, 파일 크기, 파일 주소, 마지막 접근, 마지막 수정, inode 수정 시간 등의 정보를 담고 있습니다. inode의 정보는 s..

[시스템 프로그래밍] Low-level File IO(3) - File access methods

[시스템 프로그래밍] Low-level File IO(3) - File access methods 파일 접근 방법에는 순차 접근(Sequential access)와 직접 접근(Directed access)가 있습니다. 순차접근은 fgetc() 와 같은 함수를 사용하여 File을 bytes 단위로 순서대로 접근하는 방법이고, 직접 접근은 lseek(), seek()와 같은 함수를 통해 원하는 위치로 직접 접근하는 방법입니다. 이번 포스팅에서는 직접 접근에 대해 알아보도록 하겠습니다. 1. $lseek()$ $ man -s 2 lseek lseek(int fd, off_t offset, int whence); fd(file descriptor) : 대상 file descriptor offset : 이동시킬 ..

[시스템 프로그래밍] Low-level File IO(2) - Read, Write

[시스템 프로그래밍] Low-level File IO(2) - Read, Write 이전 포스팅에서 File Open and Close와 그에 필요한 Parameters를 알아보았습니다. 이번 포스팅에서는 파일 읽고 쓰기에 대해 작성하겠습니다. 1. 파일 읽기 $ man -s 2 read 파일 읽기와 관련된 함수인 read 입니다. 파라미터로는 fildes, *buf, nbyte가 있습니다. fildes : file descriptor, 파일을 생성할 때 할당되는 file descriptor 입니다. 어떤 파일인지 알기 위한 인자(File ID)라고 생각하셔도 괜찮을 것으로 보입니다. buf : buffer, 읽은 내용을 저장할 buffer의 시작 주소입니다. nbyte : 파일에서 읽을 byte의 수 ..

[시스템 프로그래밍] Low-level File IO(1) - Open, Close

[시스템 프로그래밍] Low-level File IO(1) - Open, Close 파일 입출력 방법은 Low-Level File IO (System call)와 High-Level File IO (Buddered IO)로 나뉩니다. High-Level File IO는 File pointer를 사용하는 반면, Low-Level File IO는 File descriptor를 사용하여 입출력합니다. 이번 포스팅에서는 Low-Level File IO에 대해 알아보겠습니다. 1. File open and close 1-1 Open $ man -s 2 open man 명령어를 통해 open을 살펴보면 위와 같은 내용을 확인할 수 있습니다. 우선 "open"이라는 System call을 사용하기 위해서는 위에 보이..

반응형