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

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

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

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

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

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

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

 

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

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

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

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

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

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


26. Компоненты ОС: SCCS и MAKE

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

 

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

 

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

 

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