tgool
Tgool
tgool
전체 방문자
오늘
어제
  • 분류 전체보기
    • Data Science
      • AI
      • Data Mining
      • ML(Machine Learning)
    • Computer Science
      • 자료구조
      • 알고리즘
      • 시스템 프로그래밍
      • 운영체제
      • 컴퓨터 구조
      • 컴퓨터 네트워크
      • 데이터 베이스
      • 파이썬
      • 자바
      • 아두이노
    • Math
      • 통계학
      • 확률론
      • 선형대수학
      • 수리통계학
      • 회귀분석
    • TOFEL
    • Git
    • Plan
    • Book
    • Working out
      • 영양과 생활
      • 운동 정보
      • 운동 기록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
tgool
Computer Science/컴퓨터 구조

[CSAPP] 10.2 File(파일)

[CSAPP] 10.2 File(파일)
Computer Science/컴퓨터 구조

[CSAPP] 10.2 File(파일)

2023. 3. 18. 02:19

10.2 File(파일)

  • 각 Linux 파일은 시스템에서의 역할을 나타내는 type을 가지고 있다.
    • 일반 파일(regular file)은 임의의 데이터를 포함한다. 응용 프로그램은 종종 텍스트 파일과 이외의 바이너리 파일을 구분한다. 그러나 커널의 입장에서는 텍스트와 바이너리 파일 사이의 차이는 없다.
    • 디렉토리(directory)는 링크(link) 배열로 구성된 파일이며, 각 링크는 파일 이름을 파일로 매핑한다. 각 디렉토리는 최소한 두 개의 항목을 포함한다. "."(점)는 디렉토리 자체를 가리키는 링크이고, ".."(점-점)는 디렉토리 계층 구조에서 부모 디렉토리를 가리킨다. mkdir 명령어로 디렉토리를 생성하고, ls로 내용을 확인하며, rmdir로 삭제할 수 있다.
    • 소켓(socket)은 네트워크를 통해 다른 프로세스와 통신하는 데 사용되는 파일이다(11.4 절 참조).
    • 기타 파일 유형으로는 이름이 지정된 파이프(named pipes), 심볼릭 링크(symbolic links) 및 문자 및 블록 장치(character and block devices)가 있습니다. 이는 이 책의 범위를 벗어난다.
  • Linux 커널은 / (슬래시)로 명명된 루트 디렉터리를 기준으로 모든 파일을 단일 디렉터리 계층 구조로 구성한다. 시스템의 각 파일은 루트 디렉터리의 직접 또는 간접 후손이다. 아래 Figure 10.1은 Linux 시스템의 일부 디렉토리 계층 구조를 보여준다.
  • 각 프로세스에는 현재 작업 디렉토리(current working directory)가 있어서 디렉토리 계층 구조에서 현재 위치를 식별한다. cd 명령어를 사용하여 쉘의 현재 작업 디렉토리를 변경할 수 있다.

  • 디렉토리 계층 구조에서 위치는 경로명으로 지정된다. 경로명은 슬래시로 구분된 파일 이름의 시퀀스 뒤에 옵션 슬래시가 따르는 문자열이다. 경로명에는 두 가지 형식이 있다.
    • 절대 경로명(relative pathname)은 슬래시로 시작하며 루트 노드에서의 경로를 나타낸다.
      • 예를 들어, Figure 10.1에서 hello.c의 절대 경로명은 /home/droh/hello.c이다.
    • 상대 경로명(relative pathname)은 파일 이름으로 시작하며 현재 작업 디렉토리에서의 경로를 나타낸다.
      • 예를 들어, Figure 10.1에서 /home/droh가 현재 작업 디렉토리인 경우, hello.c의 상대 경로명은 ./hello.c이다.  반면에 /home/bryant가 현재 작업 디렉토리인 경우, 상대 경로명은 ../home/droh/hello.c이다.

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

[CSAPP] 10.3 Opening and Closing Files  (0) 2023.03.18
[CSAPP] 10.1 Unix I/O  (1) 2023.03.18
[CSAPP] Chapter 10. System-Level I/O  (0) 2023.03.18
[CSAPP] 9.9 Dynamic Memory Allocation(동적 메모리 할당)  (0) 2023.03.08
[CSAPP] 4.5 Pipelined Y86-64 implementations  (0) 2023.03.01
    'Computer Science/컴퓨터 구조' 카테고리의 다른 글
    • [CSAPP] 10.3 Opening and Closing Files
    • [CSAPP] 10.1 Unix I/O
    • [CSAPP] Chapter 10. System-Level I/O
    • [CSAPP] 9.9 Dynamic Memory Allocation(동적 메모리 할당)
    tgool
    tgool
    Tgooltgool 님의 블로그입니다.

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.