본문 바로가기

TEAM STUDY/LINUX

유닉스의 파일 개요

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