diff options
-rw-r--r-- | share/docs/kernel/disk.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/share/docs/kernel/disk.txt b/share/docs/kernel/disk.txt new file mode 100644 index 0000000..4b7f6e5 --- /dev/null +++ b/share/docs/kernel/disk.txt @@ -0,0 +1,49 @@ +======================================= + Device filesystem (/dev) interface +======================================= + + USER + / \ + /dev/sd0, /dev/sd1 + / \ + namei() namei() + / \ + vop() vop() + / \ + driver driver + / \ + HARD DRIVE 0 HARD DRIVE 1 + +======================================= + Hyra disk engine framework +======================================= + USER + | + HDEI [ hyra disk-engine interface: like disk_io() ] + kernel -- | + HDE [ hyra disk engine: drives the core disk logic ] + | + HDF [ hyra disk framework (core logic) ] + / \ + HARD DRIVE 0 HARD DRIVE 1 + + + [DRIVER] <-> [DISK ENGINE] + ^ + | + V + [ SLS / FILESYSTEM] + ^ + | + V + [USER] + + + NOTES: + + - Unix filesystem-like strucuture with indirection + for orthogonally persistent objects + + - Explicit storage lifetime (i.e., persistent or ephemeral) + during allocation at a page-level granularity + |