๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Group_Study/Operating System

[9์ฃผ์ฐจ] File System Implementation

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 1. 30.

File System Implementation

Allocation Methods

โœ” Continuous allocation

โœ” Discontinuous allocation

  • Linked allocation
  • Indexed allocation

Continuous Allocation

โœ” ํ•œ File์„ ๋””์Šคํฌ์˜ ์—ฐ์†๋œ block์— ์ €์žฅ

โœ” ์žฅ์ 

  • ํšจ์œจ์ ์ธ file ์ ‘๊ทผ (์ˆœ์ฐจ, ์ง์ ‘ ์ ‘๊ทผ)

โœ” ๋ฌธ์ œ์ 

  • ์ƒˆ๋กœ์šด file์„ ์œ„ํ•œ ๊ณต๊ฐ„ ํ™•๋ณด ์–ด๋ ค์›€
  • External fragmentation
  • File ๊ณต๊ฐ„ ํฌ๊ธฐ ๊ฒฐ์ •์ด ์–ด๋ ค์›€
    • ํŒŒ์ผ์ด ์ปค์ ธ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ ๋ ค ํ•„์š”

Linked Allocation (Discontinuous alloc.)

โœ” File์ด ์ €์žฅ๋œ Block๋“ค์„ Linked List๋กœ ์—ฐ๊ฒฐ

  • ๋น„์—ฐ์† ํ• ๋‹น ๊ฐ€๋Šฅ

โœ” Directory๋Š” ๊ฐ file์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ block์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง„๋‹ค

โœ” ์žฅ์ 

  • Simple, No external fragmentation

โœ” ๋‹จ์ 

  • ์ง์ ‘ ์ ‘๊ทผ์— ๋น„ํšจ์œจ์ 
  • ํฌ์ธํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๊ณต๊ฐ„ ํ•„์š”
  • ์‹ ๋ขฐ์„ฑ ๋ฌธ์ œ (์‚ฌ์šฉ์ž๊ฐ€ ํฌ์ธํ„ฐ ์‹ค์ˆ˜๋กœ ์ˆ˜์ •)

Linked Allocation : variation -> FAT

โœ” File Allocation Table (FAT)

  • ๊ฐ block์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋‹ค์Œ ๋ธ”๋ก์˜ ๋ฒˆํ˜ธ ๊ธฐ๋ก
  • direct access ๋“ฑ ํƒ์ƒ‰ ์‹œ ์ด์ 

โœ” MS-DOS, Windows ๋“ฑ์— ์‚ฌ์šฉ

Indexed Allocation

โœ” File์ด ์ €์žฅ๋œ block์˜ ์ •๋ณด(pointer)๋ฅผ Index block์— ๋ชจ์•„ ๋‘ 

โœ” ์ง์ ‘ ์ ‘๊ทผ์— ํšจ์œจ์ 

  • ์ˆœ์ฐจ ์ ‘๊ทผ์—๋Š” ๋น„ํšจ์œจ์ 

โœ” Filed ๋‹น Index block์„ ์œ ์ง€

  • Space overhead
  • Index block ํฌ๊ธฐ์— ๋”ฐ๋ผ ํŒŒ์ผ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ ์ œํ•œ

โœ” Unix ๋“ฑ์— ์‚ฌ์šฉ

Free Space Management

  1. Bit Vector
  2. Linked List
  3. Grouping
  4. Counting

Bit vector

โœ” ์‹œ์Šคํ…œ ๋‚ด ๋ชจ๋“  block๋“ค์— ๋Œ€ํ•œ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ 1 bit flag๋กœ ํ‘œ์‹œ

โœ” Simple and Efficient

โœ” Bit vector ์ „์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€ํ•ด์•ผ ํ•จ

  • ๋Œ€ํ˜• ์‹œ์Šคํ…œ์— ๋ถ€์ ํ•ฉ

Linked List

โœ” ๋นˆ Block์„ Linked List๋กœ ์—ฐ๊ฒฐ

โœ” ๋น„ํšจ์œจ์ 

Grouping

โœ” N๊ฐœ์˜ ๋นˆ block์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๊ณ , ๊ทธ๋ฃน ๋‹จ์œ„๋กœ linked list๋กœ ์—ฐ๊ฒฐ

โœ” ์—ฐ์†๋œ ๋นˆ block์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค

Counting

โœ” ์—ฐ์†๋œ ๋นˆ block๋“ค ์ค‘ ์ฒซ ๋ฒˆ์งธ block์˜ ์ฃผ์†Œ์™€ ์—ฐ์†๋œ block์˜ ์ˆ˜๋ฅผ table๋กœ ์œ ์ง€

โœ” Continuous allocation ์‹œ์Šคํ…œ์— ์œ ๋ฆฌ

'โญ Group_Study > Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[10์ฃผ์ฐจ] Disk Scheduling  (0) 2023.02.02
[10์ฃผ์ฐจ] I/O System  (0) 2023.02.01
[9์ฃผ์ฐจ] File Protection  (0) 2023.01.29
[9์ฃผ์ฐจ] Directory Structure  (0) 2023.01.28
[9์ฃผ์ฐจ] File System Overview  (0) 2023.01.27

๋Œ“๊ธ€