[Introduction] 목차 및 앞으로 배울 내용 / 리눅스 파일 종류

Jin Hur·2021년 7월 1일
1

[Linux] File system

목록 보기
1/22

reference: https://pages.cs.wisc.edu/~remzi/OSTEP/, 시스템 프로그래밍, 운영체제 수업(최종무 교수님)

source: https://www.deok.me/entry/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4-Ubuntu-CentOS-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%A0%95%EB%B3%B4-%EB%B0%8F-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0-%EC%BB%A4%EB%84%90-OS-%EB%B2%84%EC%A0%84-%EC%A0%95%EB%B3%B4

1. Issues on file

  • 파일 조작: create, access, remove..
  • 파일 이름과 디스크에 저장된 실제 데이터(디스크 블록)과의 연결
  • 파일 속성과 접근 제어 관리
  • 계층적 구조(directory)
  • 여러 객체를 파일 개념으로 접근(ex. device)

일종의 API, 커널에서 제공, 커널 모드에서 수행

  • open(), creat(): create a file, start accessing a file (authentication)

  • read(), write(): read/write bytes from/to a file

  • close(): finish accessing a file

  • lseek(): jump to a particular offset (location) in a file

  • unlink(), remove(): delete a file

  • fcntl(): control a file (file descriptor)


    리눅스 파일 종류

    ls 명령어로 표시되는 모든 것이 다 '파일'이라 할 수 있다.

정규 파일(Regular File)

  • 좁은 의미에서 파일의 정의
  • 텍스트 파일, 영상 파일, 이미지 파일 등
  • 커널의 관점에서는 모두 동일한 정규 팡리
  • 윈도우의 경우에도 텍스트 파일, 영상 파일이 구별된 것처럼 보이지만, 그저 파일의 확장자(.txt, .jpg)를 보고 구별하여 다루는 것 뿐

디렉터리(Directory)

  • 다른 파일 및 디렉터리를 담아둘 수 있는 파일

심볼릭 링크

  • 다른 파일을 가리키는 파일, 소프트 링크라고도 함
  • 심볼릭 링크 파일을 열면, 커널이 자동으로 연결된 파일을 열어 준다.
  • 원본 파일과 다른 inode와 연결되고, data 블록에 '원본 파일에 대한 포인터'가 쓰여져 있다.
  • 심볼릭 링크는 'Dangling Pointer'라는 문제점을 수반할 수 있다.
    • Dangling Pointer: 유효한 객체를 가리키고 있지 않는 포인터를 의미
    • 원본 파일이 삭제되었을 때 원본 파일 포인터가 유효한 파일을 가리키지 않으니 발생할 수 있다.

디바이스 파일

  • 디바이스(장치)를 파일로 표현
  • ex) /dev/sda: 첫 번째 HDD 또는 SSD를 의미
    • 파일 관련 API를 사용하여 이 파일에 접근하면 HDD든 SSD든 데이터를 기록하거나 읽을 수 있음
    • 이를 리눅스의 I/O 범용성이라 함
  • 디바이스 파일은 다루는 HW에 따라 크게 문자 디바이스 파일블록 디바이스 파일로 나뉨
    • 차이점: 원하는 시점에 원하는 곳에 접근할 수 있는지
    • 블록 디바이스: HDD, SSD ..
    • 문자 디바이스: 프린터, 모뎀 ..

이 외

  • TCP 소켓
  • ..

0개의 댓글