λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Computer Science/Operating System

14 File System

by Dowon Kang 2024. 1. 7.

파일 (File)

μ»΄ν“¨ν„°μ—μ„œ νŒŒμΌμ€ λ°μ΄ν„°λ₯Ό μ €μž₯ν•˜κ³  μ‘°μ§ν™”ν•˜λŠ” λ° μ‚¬μš©λ˜λŠ” λ‹¨μœ„μž…λ‹ˆλ‹€. νŒŒμΌμ€ ν…μŠ€νŠΈ, μ΄λ―Έμ§€, μŒμ•…, ν”„λ‘œκ·Έλž¨ μ½”λ“œ λ“±μ˜ μ •λ³΄λ₯Ό ν¬ν•¨ν•  μˆ˜ μžˆμœΌλ©°, μš΄μ˜ μ²΄μ œμ™€ νŒŒμΌ μ‹œμŠ€ν…œμ„ ν†΅ν•΄ κ΄€λ¦¬λ©λ‹ˆλ‹€. νŒŒμΌμ€ μ‚¬μš©μž λ° μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ λ°μ΄ν„°λ₯Ό μ˜κ΅¬μ μœΌλ‘œ μ €μž₯ν•˜κ³  ν•„μš”ν•  λ•Œ κ²€μƒ‰ν•˜κ³  μ½μ„ μˆ˜ μžˆλ„둝 ν•΄μ€λ‹ˆλ‹€.


νŒŒμΌμ€ μΌλ°˜μ μœΌλ‘œ κ³ μœ ν•œ μ΄λ¦„을 κ°€μ§€κ³  μžˆμœΌλ©°, ν•΄λ‹Ή μ΄λ¦„은 νŒŒμΌ μ‹œμŠ€ν…œ λ‚΄μ—μ„œ κ³ μœ ν•΄μ•Ό ν•©λ‹ˆλ‹€. νŒŒμΌμ€ λ””렉터리 λ‚΄μ— μœ„μΉ˜ν•˜λ©°, νŒŒμΌ μ‹œμŠ€ν…œμ€ νŒŒμΌμ˜ μœ„μΉ˜, ν¬κΈ°, κΆŒν•œ, μƒμ„±μΌ, μˆ˜μ •μΌ λ“±μ˜ μ •λ³΄λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

  1. 파일의 속성
  2. 이름(Name)
  3. ν™•μž₯자(Extension): 파일의 μ’…λ₯˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν™•μž₯μžκ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, ".txt"λŠ” ν…μŠ€νŠΈ νŒŒμΌμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  4. 크기(Size)
  5. νƒ€μž…(Type): 파일의 μ’…λ₯˜ λ˜λŠ” ν˜•μ‹μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, ν…μŠ€νŠΈ 파일, 이미지 파일, μ‹€ν–‰ κ°€λŠ₯ν•œ 파일 등이 μžˆμŠ΅λ‹ˆλ‹€.
  6. μœ„μΉ˜(Path): 파일이 μ €μž₯된 경둜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 디렉터리 ꡬ쑰λ₯Ό 따라 파일의 μœ„μΉ˜λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
  7. κΆŒν•œ(Permissions): νŒŒμΌμ— λŒ€ν•œ 읽기, μ“°κΈ°, μ‹€ν–‰ λ“±μ˜ κΆŒν•œμ„ μ œμ–΄ν•˜λŠ” μ •λ³΄μž…λ‹ˆλ‹€. μ‚¬μš©μž, κ·Έλ£Ή, 기타에 λŒ€ν•œ κΆŒν•œμ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  8. 생성일(Creation Date)
  9. μˆ˜μ •μΌ(Modification Date)
  10. μ•‘μ„ΈμŠ€μΌ(Access Date)
  11. μ†Œμœ μž(Owner)

μ΄λŸ¬ν•œ νŒŒμΌ μ†μ„±μ€ μš΄μ˜ μ²΄μ œ λ° νŒŒμΌ μ‹œμŠ€ν…œμ— λ”°λΌ λ‹€λ₯Ό μˆ˜ μžˆμœΌλ©°, νŒŒμΌμ˜ κ΄€λ¦¬μ™€ λ³΄μ•ˆμ— μ€‘μš”ν•œ μ—­ν• μ„ ν•©λ‹ˆλ‹€.

 

 


 

디렉터리(Directory)

디렉터리(Directory)λŠ” νŒŒμΌ μ‹œμŠ€ν…œμ—μ„œ νŒŒμΌλ“€μ„ μ‘°μ§ν™”ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” λ° μ‚¬μš©λ˜λŠ” λ°μ΄ν„° κ΅¬μ‘°μž…λ‹ˆλ‹€. λ””λ ‰ν„°λ¦¬λŠ” κ³„측적인 λ””렉터리 νŠΈλ¦¬(Hierarchical Directory Tree)λ₯Ό ν˜•μ„±ν•˜λ©°, νŒŒμΌλ“€μ„ μ €μž₯ν•˜κ³  μ°ΎκΈ° μ‰½λ„둝 κ΅¬μ‘°ν™”ν•©λ‹ˆλ‹€.

디렉터리 μ—”νŠΈλ¦¬(Directory Entry)λŠ” νŒŒμΌ μ‹œμŠ€ν…œμ—μ„œ λ””렉터리에 μ†ν•œ κ° νŒŒμΌμ΄λ‚˜ μ„œλΈŒ λ””렉터리에 λŒ€ν•œ μ •λ³΄λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ°μ΄ν„° κ΅¬μ‘°μž…λ‹ˆλ‹€. κ° λ””렉터리 μ—”νŠΈλ¦¬λŠ” νŠΉμ • νŒŒμΌμ΄λ‚˜ λ””렉터리에 λŒ€ν•œ λ©”타데이터와 ν•΄λ‹Ή νŒŒμΌ λ˜λŠ” λ””λ ‰ν„°λ¦¬μ˜ μœ„μΉ˜μ— λŒ€ν•œ μ°Έμ‘°λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. μ¦‰, νŒŒμΌ μ‹œμŠ€ν…œμ΄ μ–΄λ–€ νŒŒμΌμ΄λ‚˜ λ””렉터리가 μ–΄λ””에 μ €μž₯λ˜μ–΄ μžˆλŠ”지λ₯Ό μΆ”μ ν•˜λŠ” λ° μ‚¬μš©λ©λ‹ˆλ‹€.

μ ˆλŒ€ 경둜(Absolute Path)
μ ˆλŒ€ κ²½λ‘œλŠ” νŒŒμΌμ΄λ‚˜ λ””λ ‰ν„°λ¦¬μ˜ 전체 경둜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 루트 λ””λ ‰ν„°λ¦¬μ—μ„œ μ‹œμž‘ν•˜μ—¬ νŠΉμ • νŒŒμΌμ΄λ‚˜ 디렉터리에 λ„λ‹¬ν•˜λŠ” 데 ν•„μš”ν•œ λͺ¨λ“  디렉터리λ₯Ό λ‚˜μ—΄ν•©λ‹ˆλ‹€. μ ˆλŒ€ κ²½λ‘œλŠ” 항상 νŠΉμ • μœ„μΉ˜μ—μ„œ μ‹œμž‘ν•˜λ©°, 전체 디렉터리 ꡬ쑰λ₯Ό λͺ…μ‹œμ μœΌλ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, Unix/Linux κ³„μ—΄μ—μ„œμ˜ μ ˆλŒ€ κ²½λ‘œλŠ” "/home/user/documents/file.txt"와 κ°™μ΄ λ£¨νŠΈ λ””λ ‰ν„°λ¦¬μ—μ„œ μ‹œμž‘ν•˜μ—¬ λͺ©ν‘œ νŒŒμΌκΉŒμ§€μ˜ κ²½λ‘œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

Windowsμ—μ„œμ˜ μ ˆλŒ€ κ²½λ‘œλŠ” "C:\Users\User\Documents\File.txt"와 κ°™μ΄ λ“œλΌμ΄λΈŒ λ¬Έμžμ™€ λ””렉터리 κ²½λ‘œλ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ©ν‘œ νŒŒμΌκΉŒμ§€μ˜ κ²½λ‘œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

μƒλŒ€ 경둜(Relative Path)
μƒλŒ€ κ²½λ‘œλŠ” ν˜„μž¬ μž‘μ—… λ””렉터리λ₯Ό κΈ°μ€€μœΌλ‘œ νŒŒμΌμ΄λ‚˜ λ””λ ‰ν„°λ¦¬μ˜ κ²½λ‘œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” λͺ©ν‘œ νŒŒμΌμ΄λ‚˜ λ””렉터리가 ν˜„μž¬ μœ„μΉ˜ν•œ λ””렉터리λ₯Ό κΈ°λ°˜μœΌλ‘œ μƒλŒ€μ μœΌλ‘œ μ–΄λ””에 μœ„μΉ˜ν•˜λŠ”μ§€λ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, ν˜„μž¬ μž‘μ—… λ””렉터리가 "/home/user"이고, μƒλŒ€ κ²½λ‘œκ°€ "documents/file.txt"라면 λͺ©ν‘œ νŒŒμΌμ€ "/home/user/documents/file.txt"에 μœ„μΉ˜ν•œ κ²ƒμž…λ‹ˆλ‹€.

μƒλŒ€ κ²½λ‘œλŠ” "../"와 κ°™μ€ μƒμœ„ λ””렉터리λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŠΉμˆ˜ κΈ°ν˜Έλ₯Ό μ‚¬μš©ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ˜ˆλ₯Ό λ“€μ–΄, ν˜„μž¬ μž‘μ—… λ””렉터리가 "/home/user/documents"이고, μƒλŒ€ κ²½λ‘œκ°€ "../photos/picture.jpg"라면 λͺ©ν‘œ νŒŒμΌμ€ "/home/user/photos/picture.jpg"에 μœ„μΉ˜ν•œ κ²ƒμž…λ‹ˆλ‹€.

 

 


 

 

파일 μ‹œμŠ€ν…œ(File System)

파일 μ‹œμŠ€ν…œ(File System)은 μ»΄ν“¨ν„°μ—μ„œ λ°μ΄ν„°λ₯Ό μ €μž₯ν•˜κ³  μ‘°μ§ν•˜λŠ” λ° μ‚¬μš©λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ λ° λ°μ΄ν„° κ΅¬μ‘°μ˜ μ§‘합을 μ˜λ―Έν•©λ‹ˆλ‹€. νŒŒμΌ μ‹œμŠ€ν…œμ€ λ””μŠ€ν¬, SSD, λ„€νŠΈμ›Œν¬ μ €μž₯μ†Œ λ“± λ‹€μ–‘ν•œ λ§€μ²΄μ— λ°μ΄ν„°λ₯Ό μ €μž₯ν•˜κ³  κ²€μƒ‰ν•  μˆ˜ μžˆλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.


파일 μ‹œμŠ€ν…œμ΄ μˆ˜ν–‰ν•˜λŠ” μ£Όμš” κΈ°λŠ₯

  1. 파일 λ° λ””렉터리 κ΄€λ¦¬: νŒŒμΌ μ‹œμŠ€ν…œμ€ νŒŒμΌκ³Ό λ””렉터리λ₯Ό μƒμ„±, μ‚­μ œ, λ³΅μ‚¬, μ΄λ™ν•˜λŠ” λ“±μ˜ μž‘업을 κ΄€λ¦¬ν•©λ‹ˆλ‹€. λ””λ ‰ν„°λ¦¬λŠ” νŒŒμΌμ„ μ‘°μ§ν™”ν•˜κ³  κ³„μΈ΅μ μœΌλ‘œ κ΅¬μ‘°ν™”ν•˜λŠ” μ—­ν• μ„ ν•©λ‹ˆλ‹€.
  2. μ €μž₯ 곡간 관리: 파일 μ‹œμŠ€ν…œμ€ 물리적인 μ €μž₯ 곡간을 효율적으둜 κ΄€λ¦¬ν•˜λ©°, νŒŒμΌμ΄λ‚˜ 데이터 블둝을 μ €μž₯ν•˜κ³  κ²€μƒ‰ν•˜λŠ” 데 ν•„μš”ν•œ λ©”μ»€λ‹ˆμ¦˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
  3. 파일의 읽기 및 μ“°κΈ°: μ‚¬μš©μž 및 μ‘μš© ν”„λ‘œκ·Έλž¨μ€ 파일 μ‹œμŠ€ν…œμ„ 톡해 데이터λ₯Ό νŒŒμΌμ— κΈ°λ‘ν•˜κ±°λ‚˜ 읽을 수 μžˆμŠ΅λ‹ˆλ‹€. 파일 μ‹œμŠ€ν…œμ€ νŒŒμΌμ— λŒ€ν•œ 읽기 및 μ“°κΈ° μž‘μ—…μ„ 효율적으둜 μ²˜λ¦¬ν•©λ‹ˆλ‹€.
  4. 파일 κΆŒν•œ 및 λ³΄μ•ˆ: 파일 μ‹œμŠ€ν…œμ€ νŒŒμΌμ— λŒ€ν•œ μ•‘μ„ΈμŠ€ κΆŒν•œ 및 λ³΄μ•ˆμ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‚¬μš©μžλ‚˜ ν”„λ‘œκ·Έλž¨μ΄ νŒŒμΌμ— λŒ€ν•œ μ μ ˆν•œ κΆŒν•œμ„ 가지고 μžˆμ„ λ•Œμ—λ§Œ νŒŒμΌμ„ μ½κ±°λ‚˜ μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€.
  5. 파일 μ‹œμŠ€ν…œμ˜ 일관성 및 볡ꡬ: 파일 μ‹œμŠ€ν…œμ€ λ°μ΄ν„°μ˜ 일관성을 μœ μ§€ν•˜κ³ , μ‹œμŠ€ν…œμ΄ μ€‘λ‹¨λ˜κ±°λ‚˜ μž₯μ• κ°€ λ°œμƒν–ˆμ„ λ•Œ 데이터λ₯Ό λ³΅κ΅¬ν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

 

파일 μ‹œμŠ€ν…œμ˜ μ’…λ₯˜ 

  1. FAT(File Allocation Table)
  2. NTFS(New Technology File System)
  3. ext4
  4. APFS(Apple File System)
  5. HFS+(Hierarchical File System Plus)
  6. XFS
  7. ZFS(Zettabyte File System)

각 파일 μ‹œμŠ€ν…œμ€ νŠΉμ • 운영 μ²΄μ œλ‚˜ μš”κ΅¬ 사항에 맞게 μ„€κ³„λ˜μ—ˆμœΌλ©°, 각각의 νŠΉμ„±κ³Ό μ„±λŠ₯ νŠΉμ§•μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€.

 

 


파일 (File)
Data storage unit on a computer containing information. Identified by a unique name, files can be created, modified, and deleted within a file system.

디렉터리 (Directory)
A container for organizing files and subdirectories. Forms a hierarchical structure within a file system.

μ ˆλŒ€ 경둜 (Absolute Path)
Specifies the complete location of a file or directory from the root directory, providing the full path.

μƒλŒ€ 경둜 (Relative Path)
Specifies the location of a file or directory in relation to the current working directory, offering a path based on the current position.

파일 μ‹œμŠ€ν…œ (File System)
The method an operating system uses to organize and store files on storage devices, managing data storage and retrieval. Examples include NTFS, FAT32, ext4, and APFS.

 

'Computer Science > Operating System' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

15 Partitioning & Formatting  (0) 2024.01.07
13 Paging 2 - Thrashing (μŠ€λž˜μ‹±)  (0) 2024.01.07
12 Paging (νŽ˜μ΄μ§•)  (1) 2024.01.07
11 Swapping (Feat. λ©”λͺ¨λ¦¬ ν• λ‹Ή)  (1) 2024.01.07
10 Deadlock (ꡐ착 μƒνƒœ)  (0) 2024.01.06

λŒ“κΈ€