Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Запуск – завершение процесса.




ПРОЦЕССЫ В UNIX.

Пользовательский аспект).

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

Многозадачность UNIX состоит в том, что в системе одновременно выполняется множество процессов. Организация взаимодействия между процессами требует специальных усилий при программировании. Одна программа может породить и несколько процессов (но чаще для работы 1-ой программы запускают один процесс). Программе, запущенной в одном процессе недоступны данные, с которых работают другие программы в других П., т.е. П. имеют собственное адресное пространство.

Часть данных из среды П. доступна:

- ОС

- самому П.

- другим П.

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

Одновременное выполнение нескольких процессов и более реальным (не многопроцессорной ЭВМ) и виртуальным (псевдо-, квази- реальным), когда один процессор переключается с одного процесса на другой.

Независимые П. конкурируют за ресурсы , но не обмениваются информацией.

Взаимодействующие П. либо обмениваются информацией, либо их выполнение определен. образом об упорядоченном (синхронизировано).

Механизмы UNIX для взаимодействия процессов:

- -сигналы;

- -программные каналы;

- разделяемая память;

- -семафоры;

- -сообщения;

- -общие файлы.

Запуск – завершение процесса.

После загрузки ядра ОС запускается специальный процесс с именем init, который является прародителем всех других процессов (PID=1). В некоторых версиях планировщик (sheduler) является частью ядра, а в некоторых – специальным процессом с (PID=0); планировщик и запускает init . Init, в свою очередь, запускает процесс getly (один или несколько), который осуществляет связь с терминалом(и) ЭВМ. Процесс getly выводит приглашение и вместо себя вызывает программу (процесс) login. Login осуществляет ввод имени и пароля и проверяет эту информацию в системных файлах пароля (letc/passwd и etc/shadow). Если информация корректна, login вызывает вместо себя оболочку, с которой затем и работает пользователь. В некоторых версиях UNIX login не завершает работу, а ждет окончание работы оболочки. Она в свою очередь, и порождает новые процессы, в рамках которых выполняются команды, вводимые пользователем. После окончания сессии командой logout или exit оболочка завершает работу, освобождая терминал. Init запускает новую getty (программу), и другой пользователь может начать работу за этим терминалом.

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 105; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты