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

ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-1: File Systems Implementation Mi-Jung Choi [email protected] DPNM Lab. Dept. of CSE, POSTECH.

Jan 21, 2016

Download

Documents

Angela Williams
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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