-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b5fb42f
commit ead8486
Showing
2 changed files
with
21 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
layout: default | ||
title: "Lecture 20 - Filesystems 3: Case Studies, Buffering, Reliability, Transactions" | ||
parent: UCB CS 162 - Operating Systems and Systems Programming | ||
nav_order: 20 | ||
--- | ||
|
||
# Filesystems 3: Case Studies, Buffering, Reliability, Transactions | ||
|
||
In previous lectures, we saw that a directory is just a file mapping file names to file numbers. There are two such types of mappings - | ||
|
||
1. Hard links - Maps a file name to a file number. The fist hard link is created when the file is created. There can be multiple hard links, and hard links can be created and removed using syscalls like `link()` and `unlink()`. When all hard links to a file are removed, the file is deleted. | ||
2. Soft links - These are also called symbolic links (symlinks). They map a file name to a different file name. | ||
|
||
## Memory Mapped Files | ||
Traditional I/O involves reading and writing to regions of memory on disk, usually with buffers and caches in between. Memory mapping of files is a technique in which we "map" the file into RAM by giving it a virtual address, and then we can use the RAM as a cache without needing buffers, and the RAM is backed by the file in memory. This technique is often used to set up inter process communication. |