С точки зрения любой операционной системы, директория - это всего-лишь файл с специфическим форматом содержимого.
Что-бы было понятнее - файлы .txt умеют обрабатывать текстовые редакторы, файлы xls - умеет обрабатывать MS EXCEL, jpg -Photoshop. Т.е. данные программы "знают" внутренний формат файлов, имеющих указанное расширение и поэтому могут с ними работать (при этом - не знают формат файлов с другими расширениями и работать с ними не умеют).
Точно также операционная система, как любая другая программа, тоже "знает" как работать с файлами определенных расширений. (Например, она "знает", что exe-файл надо просто загружать в ОЗУ и выполнять). При этом она ( а вернее - ее компонент, который выполняет функции управления доступом к информации на внешних носителях) "знает", что файл-директорий просто содержит внутри себя информацию - описание других файлов на том-же носителе, например - имя таких файлов, их физическое месторасположение, дату создания, дату модификацию, возможно - размер и т.д. Причем, в качестве таких файлов может выступать и другие директории, именно так связывая их в иерархию директорий на диске.
Так что ответ однозначен - первично понятие файла, понятие директории - вторично.