File System Implementation Flashcards

1
Q

Problems with Linked Allocation of blocks?

A

Direct access is slow. Breaking one block potentially loses rest of file.

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

Problems with contiguous allocation?

A

External Fragmentation. Need to shift entire file every time new blocks are needed.

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

What is a FAT table?

A

File Allocation Table. Linked list allocation, but the pointers are stored in a table, rather than the blocks themselves.

A lot faster for direct access. Multiple tables are needed as table grows.

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

What is a FAT table?

A

File Allocation Table. Linked list allocation, but the pointers are stored in a table, rather than the blocks themselves.

A lot faster for direct access. Multiple tables are needed as table grows.

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

What is the difference between a journaling, and version file system?

A

Journaling only keeps track of the changes made to files, while versioning maintains a history of changes for each file.

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

What are the different ways to implement a versioning file system?

A

1) Copy every file

2) Log- Track the changes made to files, while only keeping the latest one.

3) Tree - Break the file down into a tree, which is traversed everytime a file is needed

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

Why version files?

A

1) Recover from mistakes

2) Restore damaged files

3) Implement security (revert to a version before breach)

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

When should a new version file be created?

A

Either with every write to the file, or only when the file is closed.

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

Characteristics of a log version system

A

1) Compact

2) Quick to access latest version

3) Need to go through and make all the changes in the log in sequential order (can be slow if many versions)

4) Can be solved with checkpoint files.

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

Characteristics of a tree version system

A

1) Accessing any version takes the same amount of time.

2) This can be too slow if tree gets really big

3) Easy to revert to an older version

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

In which aspect are log and tree versioning systems bad?

A

If the data between versions is very different (in this case it probably better to just keep direct copies).

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