File System Implementation Flashcards

(33 cards)

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

What structure is the common file system structure?

A

Data block
Inode table
Directories
Data bitmap
Inode bitmap
Superblock

(DIDDIS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
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
4
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
5
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
6
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
7
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
8
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
9
Q

Give the definition:
Index node

A

Inode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
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
11
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
12
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
13
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
14
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
15
Q

Are hybrid pointers better for small or big files?

A

Small

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
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

17
Q

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

A

Extent-based & linked lists

18
Q

⭐️ Give the definition:
A special type of file

19
Q

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

20
Q

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

21
Q

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

22
Q

What are bitmaps used for?

23
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

24
Q

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

25
⭐️ Give the definition: An on-disk structure where each bit indicates availability
Bitmap
26
How many bitmaps are used for inodes & data blocks?
1 for each
27
Is this a downside for free lists or bitmaps? Cannot get contiguous space easily
Free lists
28
Is this an upside for free lists or bitmaps? Easy to allocate contiguous space for files
Bitmap
29
⭐️ 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
Superblock
30
⭐️ Which file system operation doesn't do anything on disk?
close
31
What does the system use to avoid excessive I/O operations & improve the performance of FS operations?
Cache
32
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
Reading
33
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
Writing