Операционная система UNIX

Предназначенная для опытных программистов, операционная система UNIX характеризуется небольшим количеством базовых элементов, которые можно комбинировать бесконечным числом способов, и имеет достаточное количество средств, с помощью которых программисты могут и совместно работать, и управлять использованием общей информации. Каждая программа должна выполнять всего одну функцию, но делать это хорошо – одно из основных правил системы UNIX.

Предназначенная для опытных программистов, операционная система UNIX характеризуется небольшим количеством базовых элементов

Операционную систему UNIX можно рассматривать в виде пирамиды, у основания которой располагается аппаратное обеспечение, состоящее из центрального процессора, памяти, дисков, терминалов и других устройств. Функция UNIX заключается в управлении аппаратным обеспечением и предоставлении всем программам системных вызовов. Эти системные вызовы позволяют программам создавать процессы, файлы и прочие ресурсы и управлять ими. При этом, программы обращаются к системным вызовам, помещая аргументы в регистры центрального процессора и выполняя команды прерывания для переключения из пользовательского режима в режим ядра и передачи управления операционной системе UNIX.

Все версии UNIX содержат большое количество стандартных программ, к которым относятся командный процессор (оболочка), компиляторы, редакторы, программы обработки текста и утилиты для работы с файлами. Именно эти программы и запускаются пользователем с терминала.

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

Графический интерфейс пользователя операционной системы UNIX состоит не только из оболочки, но также из большого числа стандартных обслуживающих программ, называемых утилитами. Стандартизация этих программ заключается в том, чтобы можно было писать оболочки, которые работали бы на всех системах UNIX. Кроме этих утилит, существует еще масса прикладных программ, таких как web-браузеры, программы просмотра изображений и т. д.

Процессы операционной системы UNIX очень похожи на последовательные классические процессы – каждый может запускать одну программу и изначально получает один поток управления, а несколько независимых процессов могут работать одновременно. У каждого пользователя может быть одновременно несколько активных процессов, так что в большой системе могут одновременно работать сотни и даже тысячи процессов. У процесса есть один счетчик команд, указывающий на следующую исполняемую команду процессора. UNIX позволяет процессу после того, как он запущен, создавать дополнительные потоки.

Операционная система UNIX имеет иерархическую, с файлами и каталогами, файловую систему. Все диски монтируются в единое дерево каталогов, начинающееся в одном корне. Отдельные файлы могут быть связаны с любым каталогом дерева.

Инструменты