떡밥위키
최근 변경
최근 토론
특수 기능
파일 올리기
작성이 필요한 문서
고립된 문서
고립된 분류
분류가 되지 않은 문서
편집된 지 오래된 문서
내용이 짧은 문서
내용이 긴 문서
차단 내역
RandomPage
라이선스
IP 사용자
216.73.216.107
설정
다크 모드로 전환
로그인
서버 점검 공지
|
개인정보 처리방침 개정 안내
Linux/커널
(r1 문단 편집)
닫기
RAW 편집
미리보기
=== 가상 파일 시스템 === 가상 파일 시스템은 여러 보조 저장 장치(USB 드라이브, SSD 등)를 하나처럼 작동하도록 보이게 하는 Linux 커널의 한 부분이다. Linux를 포함한 [[Unix]] 계열 운영체제에서는 모든 파일 시스템[* [[ext4]], [[NTFS]], [[FAT]] 등]을 [[Microsoft Windows]]에서처럼 C 드라이브, D 드라이브 등으로 나누지 않고, 하나의 계층 구조 아래에[* / 디렉토리 아래에 모든 파일 시스템을 탑재한다. ] 탑재하는데, 이를 가능하게 하는 것이 가상 파일 시스템이다. 모든 파일 시스템은 슈퍼블록이라는 구조체를 가지는데, 이 구조체는 파일 시스템에 관한 정보[* 파일 시스템 전체의 크기, 최대 파일 사이즈, 블록의 크기 등]를 저장한다. 가상 파일 시스템 레이어가 저장장치를 시스템에 탑재시킬 때, 이 구조체를 읽어들이고, 마운트 테이블에 이 구조체를 저장한다. 그리고 나서 파일 시스템의 정보를 저장할 공간을 메모리에 마련한 후, 해당 드라이브를 가상 파일 시스템에 통합시킨다. 리눅스 커널에는 파일 시스템을 위한 드라이버들이 있는데[* 리눅스 커널 소스에서 {{{/fs}}} 폴더 안에 있다.], 각 드라이버들은 가상 파일 시스템이 각 파일 시스템에서 필요로 하는 정보들을 채우도록 돕는 역할을 한다. 예를 들어 [[NTFS]] 파일시스템으로 포맷된 USB 드라이브에서 파일을 읽어온다고 하자. 파일을 불러오고 내용을 읽는 시스템 콜은 각각 하나 밖에 없는데[* Unix 계열(Unix-like)에서는 보통 open()과 read() 함수를 사용한다.], 각 파일 시스템마다 드라이브에 정보를 저장하는 방식이 다르기 때문에 그 시스템 콜에 NTFS 파일 시스템을 읽는 방법에 대한 코드를 직접적으로 탑재할 수는 없다. 따라서 NTFS을 비롯한 여러 파일 시스템들은 각자의 드라이버 소스코드 안에 자기들의파일 시스템에서 파일을 조작하는 함수를 미리 정의해놓아, 가상 파일 시스템은 현재 파일을 읽어야 하는 드라이브가 어떤 파일 시스템인지만 파악하고, 드라이버에 정의되어 있는 파일 불러오기와 읽기 함수를 실행하면 되도록 한다.
요약
문서 편집을
저장
하면 당신은 기여한 내용을
CC BY-NC-SA 2.0 KR
또는
기타 라이선스 (문서에 명시된 경우)
로 배포하고 기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다. 이
동의는 철회할 수 없습니다.
비로그인 상태로 편집합니다. 로그인하지 않은 상태로 문서 편집을 저장하면, 편집 역사에 본인이 사용하는 IP(216.73.216.107) 주소 전체가 영구히 기록됩니다.
저장
사용자
216.73.216.107
IP 사용자
로그인
회원가입
최근 변경
[불러오는 중...]
최근 토론
[불러오는 중...]