A Unix directory is a file containing a correspondence between filenames and inodes.
A directory is a special file that the kernel maintains. Only kernel modifies directories,
but processes can read directories. The contents of a directory are a list of filename
and inode number pairs. When new directories are created, kernel makes two entries
named . (refers to the directory itself) and .. (refers to parent directory).
System call for creating directory is mkdir (pathname, mode).