Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Понятие процесса в ОС ЮНИКС, отличие от предыдущих ОС, утилиты



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

Все программы ОС UNIX разделены на два класса: утилиты и прикладные.

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

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

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

Основные преимущества Unix можно сформулировать так:

1. Наличие единого языка взаимодействия пользователей с системой вне зависимости от применяемой ЭВМ.

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

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

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

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

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

24.Компоненты ОС ЮНИКС: SCCS и MAKE.

В систему UNIX включён координатор MAKE, который используется для улучшения взаимодействия отдельных модулей и действий, которые должны быть выполнены при их модернизации. Другой аспект создания больших программ это обнаружение и исправление ошибок. Обычно на этапе отладки обнаруживаются и исправляются почти все ошибки. В дальнейшем обнаружить оставшиеся ошибки гораздо труднее и стоимость их исправления намного выше. А с некоторого момента существования программного продукта исправление ошибок вырастает в серьезнейшую проблему. В готовом продукте коррекцию ошибок следует выполнять с осторожностью, так как возможно нарушение целостности программного продукта. Для улучшения поддержки эволюционирующих программ включён компонент SCCS.

MAKE – это программа, способная воспринимать описание взаимосвязей различных модулей в некотором программном комплексе. Описание взаимосвязей содержит команды, которые должны быть выполнены, если обнаружится, что некоторый модуль перестал соответствовать действительности (устарел). Такие команды обеспечивают реализацию всех необходимых для модернизации модуля действий.

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

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

Планирование в ОС ЮНИКС.

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

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

ожидание дискового ввода/вывода.

Ожидание дискового буфера.

Ожидание терминального ввода.

Ожидание терминального вывода.

Так же существуют процессы «ожидающий процесс в режиме ядра», к которым относится:

Ожидание завершения дочернего процесса.

Приоритет пользователя 0.

Приоритет пользователя 1.

Приоритет пользователя 2 и так далее.

Когда запускается низкоуровневый планировщик он ищет очередь начиная с наименьшего отрицательного значения (высший приоритет), пока не находит очередь, в которой есть хотя бы один такой процесс. Если процесс использует весь свой квант времени, то он помещается в конец очереди, а алгоритм планирования запускается вновь.

Примерно один раз в секунду приоритет каждого процесса пересчитывается по определенной формуле: Priority = CPU_Usage+ Nice+Base. на основе нового сосчитанного приоритета каждый процесс прикрепляется к новой очереди.

Параметр Nice имеет значение по умолчанию равное нулю, но допустимый диапазон его, как правило +/- 20. Процесс может установить значение Nice с помощью системного вызова. Только системный администратор может запросить обслуживание с более высоким приоритетом: то есть значение от -20 до -1.

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

Таким образом процессы, ограниченные производительностью (то есть находящиеся в положительных очередях) в основном обслуживаются после того как будут обслужены все процессоры, ограниченные вводом/выводом (то есть когда все эти процессы окажутся заблокированы в ожидании ввода/вывода).

26.Файловая система ОС ЮНИКС: понятие, возможности, структурные особенности.

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

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

Одно из нововведений в UNIX в том что устройства ВВ ассоциируются в системе с понятием специального файла. Доступ к любому устройству реализуется как обслуживание запроса к дисковому файлу. Файл в UNIX это последовательность байтов произвольной длинны. Размер имён от 14 до 255 символов (в зависимости от версии). По соглашению многие программы ожидают, что имена файлов состоят из основного имени и расширения. Расширения могут иметь произвольную длину, а файлы могут иметь по нескольку расширений. Каждое устройство ВВ представлено в системе по меньшей мере одним специальным файлом. UNIX обеспечивает существование целой системы каталогов. Программы пользователей могут читать файлы этого типа, но не в состоянии изменить их и ОС гарантирует сохранность структуры этих каталогов. В другой тип каталогов входят обычные файлы, файлы каталогов, специальные файлы и в некоторых версиях FIFO-файлы, поименованные конвейером.

Имена файлов разделяются на две группы:

1. Абсолютные – описывают путь к файлу от корневого каталога.

2. Относительные – описывают путь, начинающийся с высшего текущего каталога.

Для удобства пользователя каталоги хранятся на диске в виде файлов и до определённого предела с ним можно работать как с файлом. Каталоги могут содержать подкаталоги и корневой каталог, как правило, содержит несколько подкаталогов.

Каталоги в UNIX.

Каталог  
Bin Двоичные (используемые программы)
Dev Специальные файлы УВВ
Etc Любые системные файлы
Lib Библиотеки
Usr Пользователи

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





Дата публикования: 2014-11-29; Прочитано: 393 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...