File System Implementation Flashcards

1
Q

Give the definition:
How files and directories are represented

A

On-disk structures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Give the definition:
(Internal) How on-disk structures get touched when performing FS operations

A

File system operations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What structure is this common for?
Data block
Inode table
Directories
Data bitmap
Inode bitmap
Superblock

A

File system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What in the file system is divided into blocks?

A

The disk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What do we call the simple layout of a file system?

A

Very Simple File System (VSFS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What blocks reserve a fixed portion of disk?

A

Data blocks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What sort of table is this:
Stores inodes, where each inode is 256 bytes & a block of 4KB can store 16 inodes

A

Inode table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does an inode table use its pointers to to indicate?

A

Block numbers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does this formula find?
(inode_number + sizeof(inode_table)) / block_size)

A

The block an inode is in

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Give the definition:
Index node

A

Inode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What sort of pointers used by an inode table refer to a data block?

A

Direct pointers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What sort of pointers used by an inode table have an issue with limited size?

A

Direct pointers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What sort of pointers used by an inode table refer to a block containing more pointers?

A

Indirect pointers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What sort of pointers used by an inode table have an issue with overhead & 2 disk reads for each access?

A

Indirect pointers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What sort of pointers used by an inode table have some direct & some indirect pointers?

A

Hybrid pointers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Are hybrid pointers better for small or big files?

17
Q

If the file that a hybrid pointer is going to point to is large what sort of index do we use?

A

Multi-level index

18
Q

What are the two approaches for pointers with an inode table that don’t use pointers?

A

Extent-based & linked lists

19
Q

Give the definition:
A special type of file

A

Directories

20
Q

What on-disk structure is this design common for?
Storing directory entries in files

21
Q

Give the definition:
Total bytes for a file name & any left over space in a directory

22
Q

Give the definition:
The actual length of a file name in a directory

23
Q

What are bitmaps used for?

A

Allocation

24
Q

What are the two on-disk structures that can be used by a file system to find free data blocks/inodes?

A

Free list & bitmap

25
Q

Give the definition:
An on-disk structure that points to the first free block

26
Q

Give the definition:
An on-disk structure where each bit indicates availability

27
Q

How many bitmaps are used for inodes & data blocks?

A

1 for each

28
Q

Is this a downside for free lists or bitmaps?
Cannot get contiguous space easily

A

Free lists

29
Q

Is this an upside for free lists or bitmaps?
Easy to allocate contiguous space for files

30
Q

Give the definition:
A block used for storing metadata about basic file system configuration & runtime status, such as:
- Block size
- How many inodes there are
- How much free space there is

A

Superblock

31
Q

Which file system operation doesn’t do anything on disk?

32
Q

What does the system use to avoid excessive I/O operations & improve the performance of FS operations?

33
Q

Is this what the system uses the cache to do when reading or writing to avoid excessive I/O operations & improve the performance of FS operations?
Using DRAM to store some important blocks

34
Q

Is this what the system uses the cache to do when reading or writing to avoid excessive I/O operations & improve the performance of FS operations?
Write buffering & delaying writes