Основные характеристики

ОС UNIX.

Основные концепции системы

UNIX появилась в конце 70-х годов, в то время, когда эксплуатировалась система IBM OS/360.

 

Концепции:

  1. многопользовательская, многотерминальная система, т.е система мультипрограммирования. Раньше системы позволяли работать многим пользователям, но ограничивали работу ресурсами.
  2. Переносимая система. Предполагается, что систему можно переносить на различные вычислительные машины. Сначала была на машинах PDP, а потом на VAX.
  3. Мобильная система. UNIX впервые писалась на языке высокого уровня, на С, другие системы были написаны на assembler. UNIX совместим с другими прикладными программами, т.е пользователю давалась возможность выбрать функции своей ОС. Для того чтобы можно было взять модуль ОС и использовать их с другими программами.
  4. Используется древовидная независимая от устройств файловая система. UNIX независима от других устройств (физических).
  5. Хорошие возможности для передачи данных между процессами.
  6. возможность перенаправления ввода/вывода, т. е возможность перенаправить с одного компьютера на другой.

UNIX ориентирован на интерфейс командной строки. Хотя можно использовать и графический интерфейс типа Xwindows.

 

Функции ядра

  1. Управление памятью.
  2. Поддержка файловой системы.
  3. Управление процессами.

 

Ядро не поддерживает пользовательский интерфейс, команды которые задает пользователь исполняются не ядром, а утилитами. Это плохо, т.к внешняя команда (утилита) требует много времени на свое использование.

Главная функция состоит в управлении процессами, планировании, распределении ресурсами, а не в исполнении команд.

Альтернативный метод архитектуры UNIX ядра – это DOS. Та основные функции – исполнение команд.

 

 

Процесс

 

Идеология процессов была введена впервые UNIXом. Процесс- основной объект управления в UNIX.

Процесс- исполняемая программа, которая борется за все ресурсы системы.

Активный процесс получает все ресурсы: процессорное время, ОП, файлы.

Для пользователя, процесс – как виртуальная машина.

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

В любой момент времени система хранит в ОП полное описание процессов, которое называется образом процесса.

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

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

Fork ()

Exec (имя программы)

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

Если используется системный вызов exec с указанием имени программы, то создается процесс на базе другой программы, при этом дочерний процесс наследует открытые родительские файлы.

 

 

 

Существует три возможности завершения процесса в UNIX:

 

  1. Нормальное завершение. Процесс отец ждет завершения работы всех процессов сыновей. Если у всех сыновей есть свои сыновья (внуки), то завершение работы внуков отец может не ждать. При этом все процессы внуки переподчиняются процессу init.
  2. Ненормальное завершение. Процесс сын завершается, когда процесс отец не ждет его завершения.
  3. Преждевременный выход. Процесс отец заканчивается раньше своих сыновей. Все процессы сыновья переподчиняются процессу init.

Формально все процессы UNIX разделяются на 2 вида:

- Пользовательские.

- Системные.

 

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: