itec 502 컴퓨터 시스템 및 실습 chapter 11-1: file systems implementation mi-jung choi...

26
ITEC 502 컴컴컴 컴컴컴 컴 컴컴 Chapter 11-1: File Systems Implementation Mi-Jung Choi [email protected] DPNM Lab. Dept. of CSE, POSTECH

Upload: angela-williams

Post on 21-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

ITEC 502 컴퓨터 시스템 및 실습

Chapter 11-1:File Systems Implementation

Mi-Jung [email protected]

DPNM Lab. Dept. of CSE, POSTECH

Page 2: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Contents

File-System Structure File-System

Implementation Directory

Implementation Allocation Methods

ITEC502 컴퓨터 시스템 및 실습 2

Page 3: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Objectives

To describe the details of implementing local file systems and directory structures

ITEC502 컴퓨터 시스템 및 실습 3

Page 4: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

File-System Structure

File structure– Logical storage unit– Collection of related information

File system resides on secondary storage (disks)

File system organized into layers File control block – storage structure

consisting of information about a file

ITEC502 컴퓨터 시스템 및 실습 4

Page 5: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Layered File System

ITEC502 컴퓨터 시스템 및 실습 5

Page 6: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

A Typical File Control Block

ITEC502 컴퓨터 시스템 및 실습 6

Page 7: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

In-Memory File System Structures

The following figure illustrates the necessary file system structures provided by the operating systems

ITEC502 컴퓨터 시스템 및 실습 7

Page 8: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Virtual File Systems

Virtual File Systems (VFS) provide an object-oriented way of implementing file systems

VFS allows the same system call interface (the API) to be used for different types of file systems

The API is to the VFS interface, rather than any specific type of file system

ITEC502 컴퓨터 시스템 및 실습 8

Page 9: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Schematic View of Virtual File System

ITEC502 컴퓨터 시스템 및 실습 9

Page 10: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Directory Implementation

Linear list of file names with pointer to the data blocks– simple to program– time-consuming to execute

Hash Table – linear list with hash data structure– decreases directory search time– collisions – situations where two file names

hash to the same location– fixed size

ITEC502 컴퓨터 시스템 및 실습 10

Page 11: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Allocation Methods

An allocation method refers to how disk blocks are allocated for files:

Contiguous allocation

Linked allocation

Indexed allocation

ITEC502 컴퓨터 시스템 및 실습 11

Page 12: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Contiguous Allocation

Each file occupies a set of contiguous blocks on the disk

Simple – only starting location (block #) and length (number of blocks) are required

Random access

Wasteful of space (dynamic storage-allocation problem)

Files cannot grow

ITEC502 컴퓨터 시스템 및 실습 12

Page 13: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Contiguous Allocation

Mapping from logical to physical

LA/512

Q

R

Block to be accessed = ! + starting addressDisplacement into block = R

ITEC502 컴퓨터 시스템 및 실습 13

Page 14: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Contiguous Allocation of Disk Space

ITEC502 컴퓨터 시스템 및 실습 14

Page 15: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Extent-Based Systems

Many newer file systems (i.e. Veritas File System) use a modified contiguous allocation scheme

Extent-based file systems allocate disk blocks in extents

An extent is a contiguous block of disks– Extents are allocated for file allocation– A file consists of one or more extents.

ITEC502 컴퓨터 시스템 및 실습 15

Page 16: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Linked Allocation

Each file is a linked list of disk blocks: blocks may be scattered anywhere on the disk

pointerblock =

ITEC502 컴퓨터 시스템 및 실습 16

Page 17: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Linked Allocation (Cont.)

Simple – need only starting address Free-space management system – no waste of

space No random access Mapping

File-allocation table (FAT) – disk-space allocation used by MS-DOS and OS/2

Block to be accessed is the Qth block in the linked chain of blocks representing the fileDisplacement into block = R + 1

LA/511Q

R

ITEC502 컴퓨터 시스템 및 실습 17

Page 18: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Linked Allocation

ITEC502 컴퓨터 시스템 및 실습 18

Page 19: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

File-Allocation Table

ITEC502 컴퓨터 시스템 및 실습 19

Page 20: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Indexed Allocation

Brings all pointers together into the index block

Logical view

index table

ITEC502 컴퓨터 시스템 및 실습 20

Page 21: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Example of Indexed Allocation

ITEC502 컴퓨터 시스템 및 실습 21

Page 22: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Indexed Allocation (Cont.)

Need index table Random access Dynamic access without external fragmentation,

but have overhead of index block Mapping from logical to physical in a file of

maximum size of 256K words and block size of 512 words. We need only 1 block for index table

LA/512Q

R

Q = displacement into index tableR = displacement into block

ITEC502 컴퓨터 시스템 및 실습 22

Page 23: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Indexed Allocation – Mapping (Cont.)

Mapping from logical to physical in a file of unbounded length (block size of 512 words)

Linked scheme – Link blocks of index table (no limit on size)

LA / (512 x 511)Q1

R1

Q1 = block of index tableR1 is used as follows:

R1 / 512Q2

R2

Q2 = displacement into block of index tableR2 displacement into block of file:

ITEC502 컴퓨터 시스템 및 실습 23

Page 24: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Indexed Allocation – Mapping (Cont.)

Two-level index (maximum file size is 5123)

LA / (512 x 512)Q1

R1

Q1 = displacement into outer-indexR1 is used as follows:

R1 / 512Q2

R2

Q2 = displacement into block of index tableR2 displacement into block of file:

ITEC502 컴퓨터 시스템 및 실습 24

Page 25: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Indexed Allocation – Mapping (Cont.)

outer-index

index table file

ITEC502 컴퓨터 시스템 및 실습 25

Page 26: ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi mjchoi@postech.ac.kr DPNM Lab. Dept. of CSE, POSTECH

Combined Scheme: UNIX (4K bytes per block)

ITEC502 컴퓨터 시스템 및 실습 26