Глава 4
Несколько
предварительных замечаний
Если бы благодарное человечество было бы ещё и объективным (на что, увы, не приходится надеяться), то имена разработчиков операционной системы Амиги обязательно были бы отчеканены на каком-нибудь пантеоне. Амижной операционкой можно любоваться, как произведением искусства, а если вы, например, как автор этой книги, большую часть жизни плаваете "внутри" неё, то у вас обязательно должно возникнуть ощущение внутренней гармонии с окружающей средой. Слова "дружественная", "гибкая", "мощная", употребляемые обычно в подобных контекстах, все, разумеется, подходят к этой системе как нельзя лучше; однако здесь ещё можно употребить крайне редко произносимое скупыми на похвалу компьютерщиками слово — "красивая". Ничего похожего системные программисты ни до, ни после, на свет не производили.
Показательно уже то, что несмотря на невероятное разнообразие возможностей, ОС совершенно не тормозит работу машины, не требует десятков мегабайт на жёстком диске и не пожирает память навроде Гаргантюа после недельного поста, как например Windows (для справки: Workbench требует памяти в 8 (!!!) раз меньше, чем Windows 3.11, а работает в 15 раз быстрее при сопоставимой нагрузки системы; а уж что касается многозадачности, то тут и сравнивать не с чем). Видно уж на роду у Амиги написано то, что она не приемлит стандартных подходов к разработке как аппаратуры, так и программного обеспечения (забавно, что стандарты определяют те, кто не умеет мыслить нестандартно). При работе на Амиге меня постоянно преследует ощущение, что встроенные в неё системные средства настолько мощны, что постоянно используются, мягко говоря, не полностью. Для того, чтобы реализовать на Амиге всякие лихие идеи, совершенно не обязательно быть хакером и заниматься безумными программистскими выкрутасами, гордясь бездарно потраченным на битву с тупыми системными средствами временем. Закинув удочку в библиотеки Амиги, можно выудит всё, что ни пожелаете. Только в последнее время начинают появляться программы, которые пользуются большей частью встроенных в Амигу "красот и чудес" — например, Directory OPUS 5 или MUI. Программисты других компьютерных платформ, сотворяя значительные по замыслу проекты, зачастую вынуждены чуть ли не создавать заново под них всю операционную систему, настолько их машины "варятся в собственном соку" и далеки от требований дня. Это всё равно что каждый раз мостить асфальтом деревенскую улицу, чтобы проехаться по ней на "Порше"…
Если процессор, память и всякая там электроника является по сути "телом" компьютера, то ОС (операционная система) — его "душа", та волшебная палочка, которая позволяет нам добиться взаимопонимания с компьютером и выражать свои мысли в более-менее удобной для человека форме. От степени совершенства ОС зависит гораздо больше, чем думат многие, даже достаточно знакомые с работой компьютеров, люди. Если работать на ZX-Spectrum (надеюсь, критика синклеровской операционки уже никого не обидит, поэтому и упоминаю именно о ней) можно было без использования встроенной операционной системы (что все нормальные программисты и делали, т.к. тормозила она исполнение программ невероятно), то с Амигой такой номер не пройдёт (или пройдёт, но будет напоминать историю о том, как один человек посвятил всю свою жизнь высчитыванию знаков числа Π, но, к сожалению, ошибся на каком-то тридцатидвухтысячном знаке…). Впрочем, как говорится, "за баллотированного двух небаллотированных дают", и если кто-то решит писать на Амиге, минуя средства ОС, то искренне желаю ему удачи. Только сразу учтите, что никакого ощутимого замедления в работе программ, использующих средства ОС, не происходит. И "головных болей" по поводу возможной несовместимости с различными моделями и/или конфигурациями Амиг тоже практически нет, если писать программы "по-досовски". Зато во много раз ускоряются написание и отладка программ и во столько же раз увеличивается надёжность готовой программы. Кроме того, вы будете иметь гарантию, что ваши программы будут работать на любой из будущих моделей Амиг.
ОС должна понимать, какие именно действия она должна произвести, чтобы выполнить команды пользователя системы. Те средства, которые позволяют вам управлять ОС, называются системным интерфейсом. Амига имеет не один, а два стандартных системных интерфейса: графический интерфейс Workbench (дословно, "мастерская") и командный интерфейс Shell (оболочка, практически то же, что и CLI — интерфейс командной строки). Вы можете спросить — для чего нужны оба интерфейса, нельзя ли обойтись одним из них? Конечно же, можно! Если вы не компьютерщик старой закалки и не любите вручную набивать команды для ОС, то можете спокойно забыть про Shell (и не читать добрую половину этой книги). Работая в среде Workbench вы просто указываете мышкой на картинку на экране, да щёлкаете кнопками — и всё! Для огромного числа пользователей Амиг этого вполне достаточно. Образно говоря, Workbench — не что иное, как красивая обёртка для операционной системы Амиги. В конце концов, все "мышиные" манипуляции по сути являются практически теми же вызовами ОС-команд, которые происходят при ручной "набивке" их в среде Shell. Но вы должны ясно понимать, что графический интерфейс (как бы хорош он сам по себе не был) — всего лишь надводная часть огромного айсберга ОС Амиги… Полную же власть над машиной, в той мере, в которой она доступна для программиста, даёт только знание Shell-интерфейса. А поскольку эта книга написана в первую очередь для людей, любящих докапываться до сути, то её большая часть будет посвящена именно Shell-командам. Так, если где-либо далее по тексту вы увидите строки типа:
echo "Hello!!"
то знайте, что для этого вы должны:
- дважды щёлкнуть на рабочем столе Workbench по иконке диска с которого загрузился компьютер;
- в появившемся окошке дважды щёлкнуть по ящику с надписью "System";
- в появившемся окошке дважды щёлкнуть по иконке "Shell";
- и, наконец, набрать в новом окне требуемую фразу (команду) и нажать клавишу "Enter".
Следует заметить, что кроме встроенных интерфейсов для Амиги существует масса прикладных программ, выполняющих те же функции по "донесению" до ОС пользовательских команд (так называемые программы-оболочки). Наиболее мощная из них на настоящий момент — Directory OPUS 5 (автор — австралийский программист Jonathan Potter). Использование подобных программ гораздо удобнее ввода Shell-команд "в лоб", хотя по сути все они просто "сидят на шее" у ОС, интерпретируя пожелания пользователя. Однако, написание прикладных программ для Амиги отложим до следующей книги.