File Systems#
Learning Objectives#
After working through this topic, you should be able to:
describe how a file system is organised.
explain the most important differences between Unix-based and Windows-based file systems.
Materials#
Before working through this material, it should be helpful to go through the background material on the history of operating systems and on graphs.
Video:
Download the slides.
Some verbal explanations are reproduced below.
One important difference that is not mentioned in the screencast is that Unix-based file
systems are case-sensitive, whereas Windows-based file systems are not. This means that
Documents
and documents
are two different directories on Unix-based systems, but the
same directory on Windows. This can lead to subtle differences when running the same
code on different file systems; let alone sharing files via a cloud. E.g., Dropbox has
created a
specific flag for that case.
Unix File System#
/
is the root directory.etc
is a directory under root that contains configuration files.usr
is another directory under root, which contains several other directories, includingbin
(for executable files) andlib
(for library files).var
is a directory under root that contains variable data like system logging files, and log is a directory under var for log files.home
is a directory under root that contains personal directories for users, such asuser_1
. On MacOS,home
is calledUsers
(with capital U).user_1
has personal documents and download directories.mambaforge
is a directory underuser_1
that contains the mamba package manager for creating Python environments (unless you choose to install the entire Anaconda Python distribution).
Windows File System#
C:
is the root directory.Program Files
is where applications are typically installed.Users
is where user directories are located.user_1
represents theuser_1
’s home directory with Documents and Download as typical examples of subdirectoriesWindows
is where the operating system files are located.System32
is a directory withinWindows
that contains important system files.ProgramData
is used to store application and operating system data.mambaforge
is where the mamba package manager is located if you choose to install that.Each disk (physical or virtual) gets its own directory tree.
They are not connected, but you can jump between them using the drive letters.
Your favourite search engine and Wikipedia will guide your way. There is lots of accessible material around.