Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспет лекций ОСС.docx
Скачиваний:
22
Добавлен:
20.09.2019
Размер:
72 Кб
Скачать
☆

19. Обзор системы Unix.

UNIX — семейство переносимых, многозадачных и многопользовательских операционных систем. Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. Некоторые отличительные признаки UNIX-систем включают в себя:

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

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

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

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

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

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

• сохранить простоту и обойтись минимальным количеством функций;

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

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

Общность в ОС UNIX проявляется во многих аспектах:

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

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

• одни и те же механизмы обслуживают программные и аппаратные прерывания.

В настоящее время UNIX используются в основном на серверах, а также как встроенные системы для различного оборудования. На рынке ОС для рабочих станций и домашнего применения лидером является Microsoft Windows, UNIX занимает только второе (Mac OS X), третье (GNU/Linux) и многие последующие места. UNIX-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения. Также, в ходе разработки Unix-систем был создан язык Си.

20 Процессы Unix.

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

• пользовательском. Процесс выполняет пользовательскую программу и имеет доступ к пользовательскому сегменту данных;

• системном. Процесс выполняет программы ядра и имеет доступ к системному сегменту данных.

Когда пользовательскому процессу требуется выполнить системную функцию, он создает системный вызов. Фактически происходит вызов ядра системы как подпрограммы. С момента появления системного вызова процесс считается системным. Пользовательский и системный процессы являются двумя фазами одного и того же процесса, но они никогда не пересекаются между собой. Каждая фаза пользуется своим собственным стеком. Стек задачи содержит: аргументы; локальные переменные; другую информацию относительно функций, выполняемых в режиме задачи. Диспетчерский процесс не имеет пользовательской фазы.

В ОС UNIX используется разделение времени, каждому процессу выделяется квант времени:

• процесс завершается сам до истечения отведенного ему кванта времени;

• процесс откладывается по истечении кванта времени.

Пользовательским процессам устанавливаются приоритеты в зависимости от количества получаемого ими процессорного времени:

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

- процессам, которые получили небольшое количество процессорного времени, приоритет повышают.

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