Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_Unix.doc
Скачиваний:
15
Добавлен:
26.11.2019
Размер:
2.41 Mб
Скачать

1.2 Базовые концепции

UNIX существует уже четыре десятилетия. UNIX - многозадачная, многопоточная, многопользовательская операционная система разделения времени.

UNIX является сетевой ОС, основной областью ее применения остаются крупные корпоративные сети со стеком протоколов TCP/IP за счет высокой надежности, возможности легкого масштабирования сети.

Эта операционная система в большей степени ориентирована на программирующих профессионалов, а не на "рядовых" пользователей как Windows.

Базовые концепции:

мобильность исходного кода - возможность портирования на компьютерах различной архитектуры;

организация процессов - вытесняющая многозадачность на основе процессов, работающих в изолированных адресных пространствах в виртуальной памяти;

взаимодействие процессов - реализует синхронизацию и коммуникацию параллельных процессов. поддержка асинхронных процессов;

файловая система – иерархическая с поддержкой жестких ссылок;

унификация ввода-вывода - поддержка независимых от устройств операций ввода-вывода (через специальные файлы устройств);

высокая технологичность - поддержка многочисленных инструментальных средств для разработки прикладного и системного программного обеспечения;

стандартный интерфейс для программ (программные каналы, IPC) и пользователей (командный интерпретатор, не входящий в ядро ОС);

встроенные средства учета использования системы.

Преимущества UNIX

Рассмотрим причины популярности UNIX.

Способ распространения системы. Корпорация BTL продавала лицензии и исходные коды системы по достаточно низкой цене. Поэтому UNIX стала популярной среди многих пользователей по всему миру. Так как в комплект поставки входили исходные коды, пользователи имели возможность экспериментировать с ними, улучшать их, а так же обмениваться друг с другом созданными изменениями. Корпорация BTL включала многие нововведения в следующие версии системы. Разработчики из Беркли действовали также. Учебные заведения, коммерческие организации и хакеры-энтузиасты из разных стран все принимали участие в развитии системы. Это был открытый процесс. Многие производители коммерческих вариантов UNIX поддержали концепцию открытых систем и тоже сделали свои разработки доступными.

Хороший дизайн UNIX. Красота в краткости. Ядро небольшого размера имело минимальный набор основных служб. Кроме того, был разработан набор полезных утилит. Механизм конвейера совместно с оболочкой (shell) позволял пользователям комбинировать эти утилиты различными способами и создавать свои инструменты.

Унифицированный интерфейс с устройствами ввода-вывода. Все устройства представлены как файлы. Система позволяет пользователям применять один и тот же набор системных вызовов для доступа и работы с различными устройствами, как с файлами. Разработчики могут не заботиться, с чем именно производится обмен, с файлом, терминалом, принтером или другим устройством.

Переносимость. Большая часть ядра написана на языке С. Система, написанная на ассемблере, выигрывала в производительности на 20%, а ее объем был на 20-40% меньше от объема системы, переписанной на С. Использование С позволило переносить UNIX на новые аппаратные платформы. Первая реализация системы была для PDP-11 и затем была перенесена на VAX-11.

Многозадачная и многопользовательская система.

Большое количество приложений, начиная от текстовых редакторов и заканчивая системами управления базами данных.

Недостатки UNIX

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

Графический интерфейс. Пользователям нужен простой унифицированный графический интерфейс. В первых системах UNIX его не было и пользователям это не нравилось.

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