Глава 11. Программирование на в среде UNIX

Операционная система MS DOS, получившая дальнейшее развитие в виде Windows, долгое время была практически единственной ОС для персональных

компьютеров на базе процессоров Intel. Но с течением времени мощность процес­соров выросла настолько, что для них стало возможным работать под управлением операционных систем класса UNIX, использовавшихся обычно на более мощных компьютерах других компаний. В настоящее время существует свыше двадцати операционных систем для Intel, представляющих те или иные диалекты UNIX. Мы рассмотрим самые популярные из них:

Linux бесплатно распространяемая операционная система, соединяющая в себе особенности двух основных типов UNIX-систем (System V и BSD) приблизительно в равной мере. В ней много отличий и отступлений от лю­бых стандартов, принятых для UNIX, но они более эффективны;

FreeBSD - бесплатно распространяемая операционная система, представля­ющая вариант BSD UNIX. Считается наиболее стабильной из UNIX-систем

для Intel;

□ Solaris/x86 - коммерческая операционная система компании Sun Micro­systems, представляющая вариант System V UNIX, изначально созданная для компьютеров Sun, существует в версии для Intel 80x86. Распространяется

бесплатно с образовательными целями.

Несмотря на то что при программировании для UNIX обычно употребляется исключительно язык С, пользоваться ассемблером в этих системах можно, и даже: очень просто. Программы в UNIX выполняются в защищенном режиме с лью памяти flat и могут вызывать любые функции из библиотеки libc или других библиотек точно так же, как это делают программы на С. Конечно, круг задач, для которых имеет смысл использовать ассемблер в UNIX, ограничен. Если вы не за­нимаетесь разработкой ядра операционной системы или, например, эмулятора DOS, практически все можно сделать и на С, но иногда нужно создать что-то осо­бенное. Написать процедуру, выполняющую что-то как можно быстрее (напри­мер, воспроизведение звука из файла в формате МРЗ), или программу, использу­ющую память более эффективно (хотя это часто можно повторить на С), или программу, применяющую возможности нового процессора, поддержка которого еще не добавлена в компилятор, оказывается очень просто (если вы знаете ассем­блер для UNIX).