Система unix



Скачать 78.74 Kb.
Дата11.07.2014
Размер78.74 Kb.
ТипДокументы
Система UNIX
UNIX -- группа переносимых, многозадачных и многопользовательских операционных систем.

Первая система UNIX была разработана в 1969 г. С тех пор было создано большое количество различных UNIX-систем. Юридически лишь некоторые из них имеют полное право называться «UNIX»; остальные же, хотя и используют сходные концепции и технологии, объединяются термином «UNIX-подобные» (Unix-like).

Основные отличительные признаки UNIX-систем включают в себя:


  • использование простых текстовых файлов для настройки и управления системой;

  • широкое применение утилит, запускаемых в командной строке;

  • взаимодействие с пользователем посредством виртуального устройства -- терминала;

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

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

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

UNIX-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения. Также, в ходе разработки Unix-систем был создан язык Си.


История образования и раскол

Дело было в конце 60-х, когда вся патриотическая общественность Соединенных Штатов была решительно настроена догнать и перегнать СССР в области вычислительной техники. С этой целью государственные и военные структуры США вкладывали немалые деньги в наукоемкие проекты: разработку новых вычислительных систем, средств хранения и передачи данных.

Разработкой одной из систем занималась тогда исследовательская лаборатория Bell Labs. Полным ходом шли исследования и эксперименты над составными частями системы Multics. Она дожила до создания работающего стенда и затем скончалась.

Первоначально UNIX была разработана в конце 1960-х годов сотрудниками Bell Labs Кеном Томпсоном, Денисом Ритчи и Дугласом Макилроем. В 1969 году Кен Томпсон, стремясь реализовать идеи, которые были положены в основу MULTICS, но на более скромном аппаратном обеспечении (DEC PDP-7), написал первую версию новой операционной системы, а Брайан Керниган придумал для неё название — UNICS (UNIplexed Information and Computing System) — в противовес MULTICS (MULTIplexed Information and Computing Service). Позже это название сократилось до UNIX.
Первые версии UNIX были написаны на ассемблере и не имели встроенного компилятора с языком высокого уровня. Примерно в 1969 году Кен Томпсон при содействии Дениса Ритчи разработал и реализовал язык Би (B), представлявший собой упрощённый вариант языка BCPL.

В 1972 году была выпущена вторая редакция UNIX, переписанная на языке Би. В 1969—1973 годах на основе Би был разработан компилируемый язык, получивший название Си (C). С 1974 года UNIX стал распространяться среди университетов и академических учреждений. С 1975 года началось появление новых версий, разработанных за пределами Bell Labs, и рост популярности системы. К 1978 году система была установлена более чем на 600 машинах, прежде всего, в университетах.

В начале 1980-х компания AT&T, которой принадлежали Bell Labs, осознала ценность UNIX и начала создание коммерческой версии UNIX. Эта версия, поступившая в продажу в 1982 году, носила название UNIX System III и была основана на седьмой версии системы.

Одним из главных центров стал Университет Беркли, Калифорния. В середине 70-х, когда движение UNIX стало замедляться, выяснилось, что множество наработок для UNIX выходят за рамки AT&T (и не подчиняются их политике лицензирования). Поэтому в Беркли стали готовить свой выпуск UNIX со всевозможными накопившимися изменениями и дополнениями. В итоге было предложено два интерфейса программирования сетевых приложений: BSD (сокет Беркли), использовавший стек протоколов TCP/IP, и интерфейс транспортного уровня TLI (англ. Transport Layer Interface) от AT&T.

Многое из того, что по сей день входит в состав операционных систем (даже совсем не UNIX), написано в конце 70-х и в 80-е годы в Беркли или для Беркли. Реализация сетевых протоколов TCP/IP (на которой основывается работа Internet) - проект, выполненный по заказу DARPA (военного ведомства) - считается на сегодня самой надежной и работоспособной.

Все это вызвало окончательное размежевание между двумя ветвями UNIX — BSD (университета Беркли) и System V (коммерческая версия от AT&T).

Современные реализации UNIX, как правило, не являются системами V или BSD в чистом виде. Они реализуют возможности как System V, так и BSD.
Все современные UNIX-системы можно отнести либо к гнезду USG (это прямые наследники творения Bell Labs: UnixWare, SCO Open Server, HPUX, AIX, Solaris), либо к гнезду BSD (все системы, название которых включает BSD, ядро Mac OS - Darwin, Tru64 и некоторые другие). Особняком стоят столь популярные сегодня системы с общим именем Linux. Строго говоря, они не наследуют ничего, кроме идей, хотя по архитектурным особенностям традиционно относятся к гнезду USG.
Структура UNIX

Рассмотрим теперь вкратце общее устройство UNIX как операционной среды.

Ядро Unix представляет собой монолитную архитектуру. Главное ее св-во — высокая степень мобильности, то есть переносимости на разные платформы. Все компоненты ОС, не считая ядра, являются полностью машинно-независимыми, которые хорошо изолированы друг от друга. При компиляции ядра можно разрешить динамическую загрузку и выгрузку очень многих компонентов ядра — модулей.
Ядро — это постоянно функционирующая часть ОС, которая в случае Linux занимает 5-7 Мбайт. Другие программы (системные или пользовательские) являются полностью машинно-независимыми и могут общаться с ядром посредством системных вызовов, которые по сути дела являются точками входа программ на языке Си в ядро. При исполнении системного вызова программа пользователя временно переходит в привилегированный режим, получая доступ к данным или устройствам, которые недоступны при работе в режиме пользователя!
Стандартная библиотека Unix — libc — обеспечивает C-интерфейс к каждому системному вызову. Это приводит к тому, что системный вызов выглядит как функция на языке С.

Основные функции и состав ядра:



  • Инициализация системы — запуск, bootstrap — процедура раскрутки и загрузки полного ядра в память, запуск ядра;

  • Управление процессами и нитями — создание, завершение и отслеживание процессов и нитей, разделение между запущенными процессами времени процессора(-ов в SMP), распараллеливание процессов;

  • Управление памятью — создание ФС, файлов, доступ к внешним устройствам на уровне ФС;

  • Коммуникации и обмен данными между процессами локальными и сетевыми (IPC = Inter-Process Communications), а также между процессами и драйверами;

  • Создание программного интерфейса — функция доступа к возможностям ядра со стороны пользовательских процессов с помощью системных вызовов, оформленных в виде библиотек функций.


Многозадачность и поддержка потоков
В отличие от классических ОС для ПК (DOS, Windows, OS/2, NetWare), UNIX является многопользовательской многозадачной ОС с разделением времени. UNIX очень близка к ОС больших машин. Известны конфигурации UNIX систем для онлайнового обслуживания 10000 пользователей.

Система имеет возможность параллельного выполнения нескольких пользовательских программ. Каждому такому выполнению соответствует процесс ОС. Поскольку каждый процесс выполняется в собственной виртуальной памяти, процессы в системе защищены друг от друга. Диспетчер процессов, обеспечивающий распределение ресурсов процессоров между процессами, использует кольцевой режим планирования – время процессора(ов) делится на кванты фиксированного размера, а процессоры, готовые к выполнению, выстраиваются в кольцевую очередь. Очевидно, что чем больше процессоров в системе, тем меньше процессов остается в очереди на исполнение, поскольку они распределяются на любые свободные в данный момент ЦПУ.


Реальное время
Системы, поддерживающие режимы реального времени, можно разделить на два типа - с "мягким" и с "жестким" реальным временем. Жесткое реальное время означает, что любое событие в системе должно обрабатываться за время, гарантированно меньшее установленного для данного события предела. Режим мягкого реального времени предполагает, что некоторые процессы получают права на получение ресурсов основной памяти и процессора, превосходящие права остальных процессов. Большинство версий UNIX в настоящее время поддерживают мягкое реальное время. Кроме того, существуют реализации UNIX-подобных систем c жестким реальным временем. Такие ОС широко используются для управления интеллектуальными контроллерами, в системах сбора информации, для создания интерактивных систем ввода и т.д.
Распространенность
ОС UNIX является одной из самых распространенных операционных систем в мире. Версии этой ОС существуют практически для всех аппаратных платформ. Начиная с 1992 года после появления первых 64-х разрядных процессоров Alpha 21064 и MIPS R4000 появились 64-х разрядные версии UNIX. Важность поддержки 64-х разрядной обработки данных и адресации для современных приложений очевидна:

  • поддержка технологии сверхбольших моделей организации памяти (VLMR),

  • увеличение производительности

  • эффективная работа со сверхбольшими файловыми системами.


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

  1. Автоматическое переконфигурирование системы после выхода из строя отдельных компонент

  2. Дублирование наиболее критические компоненты систем

  3. Производство автоматической перезагрузки системы в случае ее краха.

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



Масштабируемость
Системы UNIX хорошо удовлетворяют требованиям масштабирумости:

  • практически отсутствует предел на количество запускаемых процессов

  • с ростом количества процессов накладные расходы на диспетчерезацию увеличивается незначительно (что особенно показательно по сравнению с NT)

  • системные и сетевые сервисы тоже хорошо распараллеливаются.



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


Безопасность
Основные принципы и уровни безопасности для ОС UNIX разрабатываются на основе документа известного как "Оранжевая книга". Она определяет иерархию 4 уровней безопасности, каждый последующий из которых строже предыдущего:

D: минимальная безопасность;

C: дискреционная защита;

B: мандатная защита;



A: верифицируемая защита.

Похожие:

Система unix iconФайловая система unix
При минимальном механизме и сильно ограниченном количестве системных вызовов операционная система unix тем не менее предоставляет...
Система unix iconЛабораторная работа №1 «Установка операционной системы Freebsd» 1
В настоящее время все большее распространение приобретают операционные системы семейства Unix. В россии Unix-подобные системы являются...
Система unix iconТрадиционная файловая система s5 Типы файлов
Файловая система unix s5 поддерживает логическую организацию файла в виде последовательности байтов. По функциональному назначению...
Система unix iconЛабораторная работа №1 основные понятия операционной системы unix часть I
Целью данной работы является ознакомление с базисными понятиями командного интерфейса пользователя ос unix
Система unix iconКурсы повышения квалификации основы администрирования ос unix (Solaris)
Получить практические навыки администрирования ос unix на примере Solaris 10 во время лабораторных работ, составляющих более половины...
Система unix iconО кодировках символов в компьютере 1
Кодовая таблица таблица соответствий символов и их компьютерных кодов. В РФ распространены следующие кодировки: win1251 (Windows),...
Система unix iconСигналы ос unix
Сигналы – механизм, специфичный для всего семейства unix. Они дают возможность вызвать какую-либо функцию, которая называется обработчик...
Система unix iconФайловая система ос линукс
Цель: Научить работе с файлами и папками в среде unix подобных операционных систем, применяя опыт работы с ос windows. Показать основные...
Система unix iconА. В. Яковлев Операционные системы и системное программирование Раздел Операционная система unix учебное пособие
Допущено Ученым советом института в качестве учебного пособия для обучения курсантов по специальности 220200 – «Автоматизированные...
Система unix iconКомпании Sun, базирующаяся на unix system V release Она включает: базовую операционную систему Sunos X и систему сетевой поддержки onc (Open Network Computing)
Компания Sun доработала исходный код unix system V release 4 в соответствии со своими потребностями. Новая ос solaris X имеет несколько...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org