Система першого Mac'a: Finder і файлова система

У виникненні міфу про примітивність і нікчемність Mac "а винні його творці. Вони занадто добре зробили свою роботу. Система Mac'a була складнішою і цікавішою за всі популярні системи того часу, всередині. Зовні все було дуже просто, і просто працювало.

А навіщо користувачеві знання подробиць анатомії та фізіології його персонального помічника?


Найгірший різновид «експертів» - дилетанти, які нахапалися верхівок. Ті, хто і справді володів темою, Mac оцінили гідно. Їх не обдурила скупа простота інтерфейсу, вони знайшли його дуже продуманим, логічним і зручним. «Сьогодні я побачив, якими будуть комп'ютери років через п'ять», - говорили вони.

А ось «експерти» прийшли в подив: кому потрібна ця пластикова «балакуча» скринька, якщо в ній абсолютно неможливо розібратися? Немає ні командного рядка, ні текстових файлів зі скриптами або налаштувань налаштування. Нічого немає, взагалі! Ну ніяк не зазирнути йому «в душу»!

Розкрити корпус? На ньому табличка: «Не розкривати, всередині немає нічого цікавого». Хтось все-таки розкрив і, дійсно, нічого цікавого не знайшов. Плати, мікросхеми...

Цікаво, що вони сподівалися там побачити? Крихітного інопланетянина, прикутого до мікроскопічного пульту управління, з мискою сушених інопланетних черв'яків?

Finder і файлова система

Оболонка операційної системи Мас'ів з її першого дня і досі називається Finder. «Той, хто щось знаходить». На кордоні 80-х і 90-х, коли обсяги дискових сховищ стали великими, виник анекдот: Finder that finds nothing (Finder, який нічого не знаходить), але в 1984 році, на дискеті ємністю в 400 K сховати щось було нелегко.

Це класичний Масовський додаток, написаний Брюсом Хорном і Стівом Капсом. Брюс - геній і перфекціоніст, «псих-одиночка». Працювати з ним над одним завданням не міг ніхто і ніколи. Але восени 1983-го, коли до останнього і остаточного терміну завершення проекту залишалося всього нічого, Finder «застряг».


Стів Капс зміг знайти спільну мову з Брюсом. Проблеми були абсолютно об'єктивні, але вдвох вони впоралися. У грудні 1983 року Finder був готовий до виходу у світ. Того дня розробники Mac'a влаштували «день Стіва Капса» - всі прийшли одягненими, як одягався він.

На думку журналістів, головною функцією Finder було управління файловою системою Mac'a. Додамо до цього визначення лише одне слово: «Головною видимою функцією».... Це реалізація метафори «робочого столу», з документами та інструментами для роботи з ними.

Файлова система першого Mac'a називалася MFS (Macintosh File System). У ній не було ієрархії директорій, вона була «плоскою», як поганий жарт, але для дискети ємністю в 400 кілобайт, значну частину якої з'їдала система, це було необхідно.

Директорії (по Мас'овскі - папки) в MFS насправді були ілюзією. Їх було видно тільки в Finder. Посилання на всі об'єкти файлової системи зберігалися в одному невидимому файлі невеликого розміру.

Ієрархічна файлова система (HFS) була написана набагато раніше, але на час її прибрали в архів. Аж до System 3.0 на Mac'ax використовувалася тільки MFS.

На системній дискеті спочатку було дві теки - System Folder і Empty Folder. В Empty Folder користувач міг «прибрати» свої документи і програми, як у скриньку письмового столу. Взявши потрібний файл і перетягнувши його у відкриту або закриту теку. Empty Folder можна було перейменувати. І в момент завершення перейменування траплялося диво: на стільниці негайно з'являлася нова порожня тека з назвою Empty Folder.

Файлова система самого першого Mac'a називалася MFS (Macintosh File System), вона була призначена і оптимізована під односторонні 3,5-дюймові дискети з ємністю в 400 кілобайт, і над нею сміялися. Вона була «плоска». У ній були тільки «диск» (та сама дискета) і файли. Ієрархії директорій (папок, якщо по Мас'овскі) не було.



При вилученні Empty Folder (для цього її треба було перетягнути в «урну» (Trash) і вибрати в меню Special команду «Empty Trash». При спустошенні урни знищувалося все, що було в ній, - користувачів привчали до думки, що це невстановлено. Насправді, якщо з моменту знищення цих файлів не створювалося нових, все ще можна було поправити, за допомогою спеціального інструменту - правда, з'явився він, як мені здається, в 1985-му.

Теоретично відновити файл можна було за допомогою 16-річного редактора, вручну змінивши вміст невидимого списку файлів і тек, але це було за межами добра і зла: потрібно було знайти втрачений файл, правильно привести його положення на диску у позначення, зрозуміле «невидимому файлу», виправити інформацію самого «невидимого файлу» і ніде не помилитися - інакше системна дискета переставала завантажувати систему. Відправлений в урну помилково (або заради експерименту) файл можна було повернути на місце за допомогою команди Put Back в меню File. Якщо «сміття ще не виносили».

Імена файлів призначалися для користувачів, файлова система використовувала для їх ідентифікації унікальні ідентифікатори файлів (числа). У назвах файлів і тек можна було використовувати абсолютно будь-які символи, крім двокрапки.


MFS міг працювати з іменами файлів довжиною до 255 символів, але Finder обмежував політ фантазії користувача жалюгідними 63. В одній з версій (у 3.0, здається) довжину імені файлу ще раз обмежили, на цей раз 31 символом. Це обмеження дожило до 1998 року.

Тобто, якщо "системний шрифт для виводу імен файлів у Finder" знав кирилицю, тека могла б називатися "Я. Вибране. За 1984 р. 1987 роки ". А документи в ній, наприклад, «Казка про біглого бичка».


Вміст активного (вибраного) вікна при бажанні можна було роздрукувати, один в один. Якщо був принтер. Або надіслати факсом - якщо був модем і програма надсилання факсів.

MFS могла працювати з дисковим простором до 20 Мегабайт, або з 1400 файлами, у часи, коли єдиним доступним сховищем інформації були односторонні дискети ємністю в 400 К, ці обмеження були теоретичними.

Об'єкти файлової системи

Я в попередньому розділі називав видимі користувачем об'єкти файлової системи словом «файл». Це, з точки зору дизайнерів (в хорошому сенсі цього слова) Mac'a, гріх. У системі Mac'a файлів не було, були тільки програми, документи програм і документи системи.

Метафора стільниці - це така рольова гра.

Центральним елементом цієї гри були «документи», подвійним кліком по їх іконці вони відкривалися, і, якщо додаток ще не було запущено, відкривали і його. (Начебто тепер належить «клік» називати «клацанням», але мені цей термін не дуже подобається).


Роботу з додатком можна було почати подвійним кліком за його іконкою - якщо на диску не було документів потрібного типу або якщо так було зручніше. Або якщо у додатку не було жодних документів в принципі (гра, 16-річний редактор диска тощо).

У рольовій грі не брали участі тільки системні документи, за невеликим винятком подвійний клік по їхніх іконках не призводив ні до яких дій. Їх не стали ховати, і це добре. Вам доводилося встановлювати драйвер, наприклад, принтера, в PC DOS? А ось на Mac'e весь процес полягав у перетягуванні документа системи, наприклад «Image Writer LQ», в системну теку. Вилучити принтер з числа працюючих, не вилучаючи його цінний системний документ (драйвер), можна було, прибравши його іконку з System Folder.

Звідки документи і додатки знали, якими іконками зображуватися їх на екрані і як кого відкривати? Адже ніяких розширень файлів в MFS не було. Якщо ви не знали про те, як це робиться, але самі задалися цим питанням, я вами пишаюся.

Саме цей пошук мали на увазі автори назви Finder.

Текст зберігається у комп'ютерах як послідовність чисел. В епоху класичних ОС кожен символ позначався байтом, числом довжиною у 8 біт. Заголовні та рядкові літери, знаки перепинання, цифра, пробіл тощо. А ще - «недруковані» символи на кшталт «повернення рядка», «звукового сигналу», «переходу на наступний рядок» і подібні. У наші дні використовуються значно більш розорительні кодування, але я вам про них не розповім.


Інженери команди Macintosh придумали тип даних, OSType, значення якого було числом, але на екрані відображалося як послідовність з 4 букв. OSType застосовувався в Мас'івській системі для мнемонічного позначення самих різних сутностей.

Тип файлу відображався двома атрибутами типу OSType, перший з яких позначав його формат (Type Code), а другий (Creator Code), якщо файл - програма, зберігав мнемоніку APPL, якщо документ - тип програми, що створив цей документ. Це не всі можливі варіанти «творця», решта (системні документи, драйвери тощо) нас не цікавлять.

Яким би чином видимий користувачеві файл не виявлявся в сховищі MFS або HFS, система тут же заносила відомості про його атрибути та іконку в спеціальний файл, не видимий користувачами. Подвійний клік за документом включав алгоритм пошуку творця цього документа - програму з типом файлу, рівним творцеві файлу. Якщо в межах диска такого не було, шукався додаток, що вміє працювати з цим типом документів.

Конфлікти? Траплялися. Але набагато рідше, ніж у PC DOS. На Mac'e тип файлу позначався вісьмома символами замість трьох у PC DOS. Заголовні та рядкові літери в Масовському позначенні типів файлів різнялися, і ніхто не забороняв використовувати як унікальні значення будь-які символи.

Багатозадачність

Система перших Масів не підтримувала багатозадачність. У будь-який момент на комп'ютері працювала одна програма, або прикладна, або системна - тобто Finder.

Між тим, в процесі розробки Mac'a швидко виявилася потреба в утилітах, які завжди під рукою. Калькулятор, будильник, карта поточної розкладки клавіатури і багато чого ще.

Рішення було знайдено. Назвали його Desktop Accessories, або DA's. Аксесуари стільниці. За своєю природою це були драйвери спеціального типу. Жили вони в оперативній пам'яті, виділеній працюючому додатку. Можна було запустити будь-яке їх число, але при цьому запросто можна було завдати шкоди приютившему їх додатку.

Доступ до DA's здійснювався з меню «Яблуко», зміст якого не залежав від запущеної програми. DA писали не тільки в Apple, а й сторонні розробники.

Продовження слідує.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND