Each partition corresponds to a contiguous chunk of a storage device (though often, a single device is simply taken up by one big partition).
Each partition can store files and directories, each of which has an id number unique within that partition. Files are not necessarily stored contiguously, but this reality is disguised from programs that use files; as far as programs are concerned, a file is a logical sequence of some number of bytes.
A directory is a list of file/directory ids mapped to names. So files don’t really have names, they just have ids. The same id can be listed multiple times with different names and can in fact be listed in multiple directories. So it’s a bit of a fallacy to think of files and directories living in a particular directory.
A parition contains special directory, called the root directory. Ultimately, to refer to any file or directory on the partition by name, we refer to it via a filepath from this root, e.g.
In Windows, partitions themselves are mapped to drive letters: c:, d:, e: , etc. So the root directory of the partition mapped to c: is denoted by the filepath c:/
(Windows considers / and \ to be interchangeable in filepaths; Unix insists upon /.)
In Unix, one parition is mounted to the special path /, which is called root. So the file path / refers to the root directory of the partition mounted at /. Other partitions are mounted to directories of other already mounted partitions. So if we have a / partition, mounting partition X at /foo/bar means that directory found at path /foo/bar becomes a stand in for the root directory of partition X.
