Характеристика Linux
Операционная система Linux поддерживает те возможности, которые имеются в других реализациях семейства UNIX, а также те, которых нет больше нигде.
Ниже дан краткий обзор основных возможностей системы Linux.
Характерные особенности Linux
Характерными особенностями Linux как операционной системы являются:
- многозадачность: одновременно выполняется множество программ;
- многопользовательский режим: большое число пользователей одновременно работают на одной и той же машине;
- защищенный режим процессора (386 protected mode);
- защита памяти процесса; сбой программы не может вызвать зависания системы;
- экономная загрузка: Linux считывает с диска только те части программы, которые действительно используются для выполнения;
- разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-x килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память;
- виртуальная память со страничной организацией (т.е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной памяти во время выполнения программ;
- общая память программ и дискового кэша: вся свободная память используется для буферизации обмена с диском;
- динамические загружаемые разделяемые библиотеки;
- дамп программы для пост-мортем анализа: позволяет анализировать отладчиком не только выполняющуюся, но и завершившуюся аварийно программу;
- совместимость со стандартами System V и BSD на уровне исходных текстов;
- наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным;
- управление заданиями в стандарте POSIX;
- эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он и используется;
- поддержка национальных алфавитов и соглашений, в т.ч. для русского языка; возможность добавлять новые;
- множественные виртуальные консоли: на одном дисплее несколько одновременных независимых сеансов работы, переключаемых с клавиатуры;
- поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы System V); наличие собственной передовой файловой системы объемом до 4 Терабайт и с именами файлов до 255 знаков;
- прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT;
- специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS;
- поддержка всех стандартных форматов CD ROM;
- поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д.
Одновременное выполнение нескольких программ
Так называемая виртуальная мультиконсоль дает возможность на одном дисплее организовать работу нескольких консолей. На первой консоли запускается процесс трансляции. Комбинацией клавиш Alt-F2 следует переход на вторую консоль. Трансляция продолжается, но при этом первая консоль на экране дисплея заменяется новой картинкой второй консоли, в которой запускается, например, редактор текста. Комбинацией Alt-F3 следует переход на третью консоль, в которой запускается отладчик и т.д. Обычно в системе 6 консолей, но можно установить до 64-х. В любой момент времени можно переключиться на любую консоль.
На отдельной консоли может работать как текстовая, так и графическая программа.
На одной из свободных консолей можно запустить оконную графическую систему X Window System. Открываете окно на экране и играете в DOOM (можно через сеть с партнером). В других окнах: база данных, почта, редактор, трансляция и т.д.
Таким образом, одновременно работает много консолей, а на одной из консолей еще и много окон X Window System.
Кроме того, в системе одновременно работают фоновые процессы, которые не выдают информации на дисплей, но делают свою работу, например, передают данные по модему, печатают на принтере, передают почту по сети и т.д. Фоновый процесс может инициировать как пользователь, так и сама ОС в соответствии со сложившимися условиями (есть почта для отправки, данные для печати, наступило время связи по модему и т.п.).
Linux обеспечивает физическое распараллеливание вычислений на многопроцессорных машинах (до 32 процессоров), но это не имеет прямого отношения к одновременному выполнению нескольких программ. Операционная система позволяет одновременно выполнять несколько задач на одном процессоре, сотни раз в секунду переключая процессор с задачи на задачу.
Работа нескольких пользователей на одной машине
Пользователь получает доступ к системе в результате регистрации. На консоль система выводит приглашение login:, а пользователь в ответ вводит свое имя и пароль доступа. После проверки прав доступа система выдает приглашение вводить команды на выполнение программ, принимает команды и выполняет их, например:
Welcome to ALT Linux Master 2.4 (Citron) / tty1 localhost login: root Password: Last login: Sun May 4 13:53:14 2008 from localhost on tty1 [root@localhost root]# /usr/sbin/apachectl restart Stopping httpd service: [ DONE ] Checking configuration sanity for httpd: [ DONE ] Starting httpd service: [ DONE ]
Welcome to ALT Linux Master 2.4 (Citron) / tty2 localhost login: root Password: Last login: Sun May 4 13:55:01 2008 from localhost on tty2 [root@localhost root]# cal May 2008 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Обычная практика состоит в том, что пользователь регистрируется на разных виртуальных консолях под разными именами. Например, для выполнения административных функций на консоли 1 пользователь регистрируется как root, для выполнения прикладной программы как oleg на консоли 2 и т.д. Смысл такого подхода в том, что различные пользователи обладают различными индивидуальностями в системе: правами доступа к ресурсам, начальными установками, файлами и т.д.
Если машина включена в сеть, то возможна удаленная регистрация пользователя с машины A в машину B, даже тогда, когда эти машины расположены на разных континентах (связь машин в планетарном масштабе обеспечивает сеть Internet).
Помимо сетевого подключения машина может иметь десятки терминалов, подключенных через последовательные порты. Терминал представляет собой экран и клавиатуру, т.е. консоль, на которой пользователь может регистрироваться обычным образом. Только в этом случае консоль не виртуальная, а представлена специализированным отдельным устройством. Терминалом может служить персональный компьютер, на котором выполняется программа, имитирующая логику работы консоли (прозрачный ввод с местной клавиатуры в Linux-машину и прозрачный вывод на местный дисплей данных от Linux-машины).
Все перечисленные способы регистрации пользователей в системе действуют совместно. Таким образом, в одной машине десятки и сотни пользователей, вошедших в систему по различным каналам связи, могут одновременно выполнять тысячи задач.
Документированность Linux
Операционная система Linux документирована так полно, как ни одна из коммерческих ОС. По Linux имеются книги, руководства, справочники и то, что недоступно в коммерческой системе — полные исходные тексты ОС с пояснениями и комментариями.
Объем документации по Linux непрерывно пополняется и расширяется, динамично отслеживая развитие системы.
Те, кто привык иметь дело с пиратскими программами, страдая от недостатка документации, в Linux столкнутся с ситуацией совершенно противоположного рода. Проблема не в том, что в Linux мало документации, а в том, что ее очень много, она представлена в многообразных формах и доступна из массы различных источников. Для того, чтобы сориентироваться в этом богатстве выбора, потребуются определенные усилия.
Из оригинальной документации по Linux можно выделить следующие основные, но не исчерпывающие формы: книги, руководства HOWTO, справочники FAQ, гипертекстовые справочники INFO, оперативные руководства MAN, описания программных пакетов. Книги распространяются в печатном и электронном виде, остальные формы, как правило, электронные, т.е. представленные в виде файлов в составе дистрибутивов системы Linux и пакетов программ, распространяемых через Internet и на компакт-дисках.
Часто один и тот же электронный документ доступен в виде нескольких файлов одного содержания, но разных форматов, например, ascii, postsсript, html. Один формат удобен для просмотра и поиска ключевых слов на текстовом экране дисплея, другие форматы приспособлены для печати с типографским качеством на лазерном принтере или для просмотра на графическом экране.
В сети новостей Usenet регулярно публикуются последние версии некоторых документов по Linux (одновременно они появляются на серверах Internet, откуда их можно получить различными способами, в т.ч. по электронной почте).
Отличие Linux от других ОС со свободной лицензией
Существует ряд других операционных систем, которые имеют лицензию, разрешающую свободное копирование. Из них в России наиболее популярна система FreeBSD.
Работа вLinux или FreeBSD для опытного специалиста не представляет труда. Но для новичка Linux проще в освоении и удобнее в эксплуатации.
Linux и FreeBSD сильно различаются концепцией развития. Более того, среди операционных систем Linux вообще уникальна по своей философии.
Это система, которую пользователи сделали для пользователей.
Linux не просто свободная система, которую каждый может копировать без ограничений. Это система со свободной открытой разработкой, и любой человек, будь он житель Вашингтона или Екатеринбурга, может стать соавтором Linux, сделав свой вклад, не имеет значения, большой или маленький.