Обектите, с които оперират операционните системи се наричат файлове. Техният брой върху несменяемия диск може да надхвърли няколко десетки хиляди, например повече от 50 000 файла. Това означава, че ефективността на системата като цяло силно ще зависи от начина, по който файловете са съхранени, защото това ще определя и съответната стратегия за търсенето им.
Как е възникнала идеята за файловата организация при компютрите?
За да стане по-ясен този проблем, нека разгледаме следния пример:
Библиотека има 50 000 книги, а ние сме в ролята на библиотекари. Един от първите проблеми, които трябва да разрешим, е как да организираме работата си в книгохранилищата, тоест каква организация (наредба) на книгите да изберем, че търсенето им да се извършва възможно най-бързо. Могат да се посочат различни варианти:
• Не поддържаме никаква наредба на книгите;
• Подреждаме книгите по азбучен ред на авторите им;
• Подреждаме книгите по азбучен ред на издателствата;
• Подреждаме книгите във възходящ ред по годината на издаването им;
Ако детайлно обмислим същността на всеки един от тези варианти, представяйки си как ще търсим конкретна книга измежду всичките 50 000 книги, едва ли бихме приели да използваме на практика някой от тях. Както знаем, наредбата на книгите се базира на тематичното им групиране (класифициране). Така първоначалното множество от 50 000 книги би могло да се разбие примерно на 20 големи групи. При една по-фина класификация всяка от тези групи също би могла да се разбие на няколко подгрупи. Това води до създаване на йерархична структура, във възлите на която ще бъдат имената на групите, а елементите на всеки възел ще са данните за отделните книги.
Например ние се интересуваме от книгата „C++. Как да програмираме“. За да я намерим, най-напред ще погледнем в Главен каталог на библиотеката. Оттам ще научим къде се намира каталог Наука. В този каталог виждаме, че има няколко научни области, но тази, от която ние се интересуваме, е Информатика. Оттук научаваме къде е каталог Програмиране, а оттам „достигаме“ в каталог Обектно-ориентирано програмиране. Така, изминавайки пътя от каталози:
Главен каталог \Наука\Информатика\Програмиране\ Обектно-ориентирано програмиране,
стигаме до търсения каталог, откъдето ще научим къде в книгохранилището се намира търсената книга, ако тя изобщо е налична за библиотеката.
Разгледаният модел на йерархична организация на библиотека е твърде подобен на организацията на файловете в една ОС, поддържана от съответната файлова система. Вместо книга се използва файл, а вместо каталог по-често се използва думата директория.