728x90
반응형
2.4대 커널의 리눅스에서 파일 시스템을 다루는 방법에 대하여 간단히 정리해보도록 한다.
파일 시스템의 마운트에 있어 두 가지 유용한 방법이 있는데(네트워크),
nfs(network file system) : connection ness
rfs(remote file system) : connection oriented
의 방식을 들 수 있다. nfs와 rfs의 차이에는 connection 즉 시스템 로그인에 대하여 차이를 보이는 데,
nfs의 경우는 인증된 클라이언트가 시스템에 접속하게 되는 경우 별도의 로그인 과정을 거치지 않고
호스트의 파일 시스템을 마운트할 수 있다.
rfs의 경우 시스템 로그인 과정 후에 클라이언트는 호스트의 파일 시스템을 마운트 할 수 있으며,
원하는 작업이 끝난 후 로그아웃을 해야하는 차이를 보인다.
이와 유사하게 coda filesystem의 경우 connection이 끊겨도 재연결시에 data를 유지하는 특성이 있으며,
nfs, rfs와 유사한 용도로 사용하는 samba도 네트워크를 통한 파일 시스템의 마운트 작업을 할 수 있다.
하지만 ftp와 ssh를 사용하는 게 더 낫지 않은가 싶기도 하지만, 그래도 파일 시스템이니 계속 정리하도록 한다. ㅡ,.ㅡㅋ
커널 레벨에 존재하는 VFS(Virtual File System)에서는 여러 타입의 파일 시스템을 지원하고 있는 데,
그 중 주목할 만한 것으로 /proc 파일 시스템을 언급하지 않을 수 없다.
/proc의 경우 루트파일시스템에서 확인할 수 있는 데, 이 것의 특징은 디스크가 아닌 memory영역에 존재하며,
컴퓨터의 상태 정보를 확인할 수 있는 특수 파일 시스템이라 할 수 있다.
저장 장소를 기준으로 파일시스템에서 사용되는 용어가 분류 되는 데, 블록의 경우 디스크로 페이지 프레임의 경우 메모리로
그 존재 영역이 구분된다.
디스크 블록 관리 기법 또한 크게 두 가지로 나눌 수 있다.
연속할당 : 대용량 file 저장 용이성, 디스크 효율성 감소의 특징
불연속할당 : 블록 체인 사용으로 저장된 파일 관리의 용이성
위 두 방법의 공통적인 단점으로 대용량 파일 관리의 어려움을 들 수 있다.
불연속 할 당의 경우 index 블록을 사용하여 한 파일 마다 하나의 스트럭처를 지니게 되는 데,
리눅스/유닉스에서는 이를i-node structure라 하며, inode는 /include/linux/ext2_fs_i.h 파일에 정의되어 있다.
파일 관리는 4가지로 구분되며
direct -> 4*12 -> 48
indirect -> 4*1024 -> 4096(4M)
2 indirect -> 4*1024*1024 -> 4G
3 indirect -> 4*1024*1024*1024
위와 같이 구분되지만, 실제 리눅스에서는 2indirect 까지만 사용되며 3indirect의 경우는 흔히 사용되는 방법은 아니다.
(대용량의 파일을 전용으로 관리해야하는 필요가 있는 경우 사용)
작성 시간 관계상 다음 내용은 추후에 작성예정 -_-;;
파일 시스템의 마운트에 있어 두 가지 유용한 방법이 있는데(네트워크),
nfs(network file system) : connection ness
rfs(remote file system) : connection oriented
의 방식을 들 수 있다. nfs와 rfs의 차이에는 connection 즉 시스템 로그인에 대하여 차이를 보이는 데,
nfs의 경우는 인증된 클라이언트가 시스템에 접속하게 되는 경우 별도의 로그인 과정을 거치지 않고
호스트의 파일 시스템을 마운트할 수 있다.
rfs의 경우 시스템 로그인 과정 후에 클라이언트는 호스트의 파일 시스템을 마운트 할 수 있으며,
원하는 작업이 끝난 후 로그아웃을 해야하는 차이를 보인다.
이와 유사하게 coda filesystem의 경우 connection이 끊겨도 재연결시에 data를 유지하는 특성이 있으며,
nfs, rfs와 유사한 용도로 사용하는 samba도 네트워크를 통한 파일 시스템의 마운트 작업을 할 수 있다.
하지만 ftp와 ssh를 사용하는 게 더 낫지 않은가 싶기도 하지만, 그래도 파일 시스템이니 계속 정리하도록 한다. ㅡ,.ㅡㅋ
커널 레벨에 존재하는 VFS(Virtual File System)에서는 여러 타입의 파일 시스템을 지원하고 있는 데,
그 중 주목할 만한 것으로 /proc 파일 시스템을 언급하지 않을 수 없다.
/proc의 경우 루트파일시스템에서 확인할 수 있는 데, 이 것의 특징은 디스크가 아닌 memory영역에 존재하며,
컴퓨터의 상태 정보를 확인할 수 있는 특수 파일 시스템이라 할 수 있다.
저장 장소를 기준으로 파일시스템에서 사용되는 용어가 분류 되는 데, 블록의 경우 디스크로 페이지 프레임의 경우 메모리로
그 존재 영역이 구분된다.
디스크 블록 관리 기법 또한 크게 두 가지로 나눌 수 있다.
연속할당 : 대용량 file 저장 용이성, 디스크 효율성 감소의 특징
불연속할당 : 블록 체인 사용으로 저장된 파일 관리의 용이성
위 두 방법의 공통적인 단점으로 대용량 파일 관리의 어려움을 들 수 있다.
불연속 할 당의 경우 index 블록을 사용하여 한 파일 마다 하나의 스트럭처를 지니게 되는 데,
리눅스/유닉스에서는 이를i-node structure라 하며, inode는 /include/linux/ext2_fs_i.h 파일에 정의되어 있다.
파일 관리는 4가지로 구분되며
direct -> 4*12 -> 48
indirect -> 4*1024 -> 4096(4M)
2 indirect -> 4*1024*1024 -> 4G
3 indirect -> 4*1024*1024*1024
위와 같이 구분되지만, 실제 리눅스에서는 2indirect 까지만 사용되며 3indirect의 경우는 흔히 사용되는 방법은 아니다.
(대용량의 파일을 전용으로 관리해야하는 필요가 있는 경우 사용)
작성 시간 관계상 다음 내용은 추후에 작성예정 -_-;;
728x90
반응형
댓글