728x90
반응형
유닉스 파일 시스템
- 유닉스 또는 유닉스 계열 운영체제에 쓰이는 파일 시스템으로 파일과 디렉토리의 집합
- 유닉스는 모든 정보와 장치를 파일로 조작하며 유닉스 시스템 내의 자원 접근도 파일로서 접근할 수 있음
- 유닉스 내의 모든 파일명은 하나의 유일한 NODE 를 가짐
유닉스 파일 시스템의 특징
- 효과적인 파일 처리 및 접근의 편의성 제공을 위한 계층적인 구조
- Kernal 에 의해 관리
- 파일과 디렉토리를 구분하지 않음
- 파일에 관한 정보는 i-node에 보관
- 데이터 형식을 강요하지 않고 스트림으로 취급
- 모든 파일은 허가모드를 가짐
- 이진 파일과 아스키 파일을 동등하게 취급
파일명 정의 규칙
- 문자, 숫자, _, . 등으로 구성
- 255자 까지 사용 가능
- 영문자 대소문자를 구분
유닉스의 파일 구조 시스템
- /
- 루트 디렉토리, 모든 유닉스 시스템의 최상위 디렉토리
- /bin
- 실행 가능한 유닉스의 고유 명령어 보관
- /deb
- 프린터와 키보드, 모니터 등 모든 입출력 장치 파일들을 보관
- /etc
- 시스템에서 사용되는 관리 파일 보관
- /usr
- 시스템 사용 시 고정된 공유 파일 보관
- /tmp
- 임시 파일을 만들기 위해 사용
i-node 란
- Unix 에서 i-node는 파일/디렉토리 정보를 통해 할당, 적용, 생성, 링크, 삭제의 역활을 수행함
- Unix 시스템에서 파일을 관리하기 위해 사용되는 자료구조
- 디스크 상의 파일과 디렉토리에 관한 정보를 보관함
i-node 구성요소
- inode
- 한 파일이나 디렉토리의 모든 정보 포함
- 소유자 정보, 접근 정보, 파일 정보, 링크, 유형
- inode table
- 한 파일 시스템에서, 파일이나 디렉터리들의 전체 inode를 갖고 있는 테이블
- i number
- inode가 i-list 에 등록되는 entry number
- addressing
- 블록 위치 정도를 13개의 필드로 관리
- Direct data block 10개
- Single indirect data block 1개
- Double indirect data lock 1개
- Triple indirect data block 1개
유닉스 디스크 블록의 구조
구성요소 | 설명 |
Boot Block | - 시스템의 운영체제를 부트 하거나 초기화에 관련되는 Boot Strap 코드를 저장 영역 |
Super Block | - 파일 시스템의 상태에 관한 종합적인 정보 보관 영역 - 파일 시스템의 크기 - 파일 시스템에 있는 블록의 총 수 - 파일 시스템 내의 자유 블록의 수 - 파일 시스템 내에서 사용 가능한 자유 블록의 리스트 - i-node 리스트의 크기 - 파일 시스템 내의 사용 가능한 i-node 의 수 - 파일 시스템 내의 사용 가능한 i-node의 리스트 |
Bitmap Block | i-node와 data block 의 할당 현황 표시 영역 |
i-node | 파일과 디렉토리에 관한 정보 보관 영역 - 파일명을 제외한 파일에 관한 정보 보관 - 파일 하나에서 i-node 한 개를 만듦 (파일 구분 용도) - i-node 의 리스트는 각 항은 하나의 파일과 대응되고 부팅 시 추가 정보가 포함되어 메모리에 복사 |
Data Block | 파일과 디렉ㅌ리의 실제 데이터 보관 영역 |
파일 시스템의 유형
유형 | 설명 |
일반 파일 | - 실행 가능한 프로그램 파일, 원시 프로그램 파일, 문서파일 등 사용자가 정의한 그대로의 파일을 디스크 등에 내용이 수록 |
디렉토리 파일 | - 디렉토리에 포함되어 있는 여러가지 파일들과 디렉토리에 관한 정보 등을 저장하는 논리적 영역 |
특수 파일 | - 유닉스 시스템에 부착된 장치들을 관리하기 위한 파일 - 주변 장치 또는 파이프와 소켓 같은 프로세스간 상호 통신, 표준 입출력 시스템 호출 |
i-node | - 각 파일에 대한 정보를 기억하는 구조체 |
일반 파일과 디렉토리 파일의 차이
- 디렉토리 내용은 데이터 블록에 있고 일반 파일처럼 i-node로 표현, i-node의 형태 필드만 일반 파일과 디렉터리 구분
- 일반 파일에는 없으나, 디렉터리에는 특별한 구조
- 경로명의 첫 글자가 / 이면 루트 디렉터리 이고, 그 외는 현재 디렉터리를 나타낸다.
- 사용자는 경로명으로 파일 참조, 파일 시스템은 i-node, 기억된 i-node를 사용하여 파일을 정의
일반 파일
- 실행 가능한 프로그램 파일, 원시 프로그램 파일, 문서 파일, 동영상 파일 등이 디스크 등에 수록
- 처리 되어질 수 있는 여러 가지 형태로 저장
유형 | 설명 |
텍스트 파일 | - ASCII코드 문자들로만 구성된 파일 - cat, more, tail 명령어를 이용한 내용 확인 가능 - 단말 장치나 프린트로 출력 가능한 파일 |
이전 (바이너리) 파일 | - 내용이 ASCII 코드가 아닌 모든 파일 - 실행 가능한 파일이나 데이터 파일, 그림 파일 등 - 단만 장치나 프린트로 출력 불가능한 파일 |
디렉토리 파일
- 디렉토리에 포함되어 있는 여러가지 파일들과 디렉토리에 관란 정보 등을 저장하는 논리적 영역
- 하나의 디렉토리는 일반 파일, 디렉토리, 특수 파일들을 모두 포함할 수 있음
- 계층적 구조를 지고 있으며, cd 명령어를 이용하여 자유롭게 이동이 가능
특수 파일
- 유닉스 시스템에 부착된 장치들을 관리하기 위한 파일
- \dev, \devices 디렉토리 내에 존재
- 주변 장치 또는 파이프와 소켓 같은 프로세스간 상호 통신, 표준 입출력 시스템 호출
- 표준 입출력 시스템 호출을 통해 참조되며, 장치를 파일로 취급함으로써 일관된 방법으로 관리
- 디스크, 프린터 등의 입출력 장치에 접근하고 관리하는 채널에 대한 정보를 가지고 있는 파일
유형 | 설명 |
심볼릭 링크 파일 | - 원본 파일을 가르키는 역활만 수행하는 특수 파일 - 윈도우 시스템의 바로가기 아이콘과 같은 역할 수행 |
문자 특수 파일 | - 버퍼링 되지 않은, 직접 접근을 테이프 장치 단말기와 같은 하드웨어 장치에 제공 |
블록 특수 파일 | - 디스크 장치 등과 같은 하드웨어 장치에 버퍼링된 접근을 제공하며, 이들의 세부 사항에 따라 어느 정도의 추상화를 제공 |
i- node ( index node )
- 각 파일에 대한 정보를 기억하는 구조체
- 파일 하나에 1개의 i-node 를 만듦
- i-node 번호라고 하는 번호로 구별
유닉스의 파일 종류
항목 | 크기 (Byte) | 설명 |
모드 | 2 | 파일 형태, 보호 비트 |
N링크 | 2 | i-node 에 대한 디렉토리 수 |
사용자 식별자 | 2 | 파일의 소유자(개별) |
그룹 식별자 | 2 | 파일의 그룹 소유자 |
크기 | 4 | 파일의 크기 |
주소 | 39 | 직접 블록과 간접 블록 정보 |
생성자 | 1 | 생성 번호 |
엑세스 시간 | 4 | 파일을 마지막으로 엑세스한 시간 |
수정 시간 | 4 | 파일을 마지막으로 수정한 시간 |
변경 시간 | 4 | i-node 를 마지막으로 수정한 시간 |
연속 파일 할당과 자유 공간의 단편화
- 쓰레기 수집으로 해결이 가능하나, 시스템의 처리 능력 저하
- 파일에 기스크 블록을 하나씩 할당하여 블록들이 파일 시스템의 여러 곳에 분산
- 데이터를 찾는 알고리즘을 복잡하게 함
- i-node 리스트에 파일의 데이터가 들어 있는 블록 번호 모두 담을 수 있지만, 이런 선형 목록은 관리 곤란
다중 블록 인덱스 파일 할당
- i-node의 크기 작게 유지하면서 비교적 큰 파일 지원
유닉스에서 파일과 디렉터리를 어떻게 구분할 수 있을까요
디렉터리 내용은 데이터 블록에 있고 일반 파일처럼 i-node로 표현되며, i-node의 형태 필드만 일반 파일과 디렉터리를 구분할 수 있습니다. 일반 파일에는 없으나, 디렉터리에 있는 특별한 구조로 경로명의 첫 글자가 /이면 루트 디렉터리이고, 그 외는 현재 디렉터리를 나타냅니다. 사용자는 기억된 i-node를 사용하여 파일을 정의한다는 점을 이용하면 파일과 디렉토리의 구분이 가능합니다. |
1. 유닉스 파일 시스템
1) 유닉스 파일 시스템의 특징
- 효과적인 파일 처리 및 접근의 편의성 제공을 위한 계층적인 구조
- Kernel에 의해 관리
- 파일과 디렉토리를 구분하지 않음
- 파일에 관한 정보는 i-node에 보관
- 데이터 형식을 강요하지 않고 스트림으로 취급
- 모든 정보와 장치를 하나의 파일로 취급
- 모든 파일은 허가모드를 가짐
- 이진 파일과 아스키 파일을 동등하게 취급
2) i-node란?
- Unix에서 i-node는 파일/디렉토리의 정보를 통해 할당, 적용, 생성, 링크, 삭제의 역할을 수행
- UNIX 시스템에서 파일을 관리하기 위해 사용되는 자료구조
- 디스크 상의 파일과 디렉토리에 관한 정보를 보관
- 파일 시스템의 구성
2. 유닉스 파일의 종류
유형설명
일반 파일 | 실행 가능한 프로그램 파일, 원시 프로그램 파일, 문서파일 등 사용자가 정의한 그대로의 파일을 디스크 등에 내용이 수록 |
디렉토리 파일 | 디렉토리에 포함되어 있는 여러가지 파일들과 디렉토리에 관한 정보 등을 저장하는 논리적 영역 |
특수 파일 | - 유닉스 시스템에 부착된 장치들을 관리하기 위한 파일 - 주변 장치 또는 파이프와 소켓 같은 프로세스간 상호 통신, 표준 입출력 시스템 호출 |
i-node | 각 파일에 대한 정보를 기억하는 구조체 |
-d dir | 홈 디렉토리의 절대 경로를 지정 |
-c comment | 사용자 정보를 기술 |
728x90
반응형
'TEAM STUDY > LINUX' 카테고리의 다른 글
CenOS7 가상머신 생성 (0) | 2020.12.23 |
---|---|
유닉스의 파일 조작하기 (0) | 2020.12.19 |
LINUX 스터디 계획 (2) | 2020.12.17 |
유닉스 접속 및 계정 관리하기 (0) | 2020.12.13 |
유닉스란 (0) | 2020.12.13 |