КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Запуск – завершение процесса.Стр 1 из 4Следующая ⇒ ПРОЦЕССЫ В 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 (программу), и другой пользователь может начать работу за этим терминалом.
|