Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Интерактивный режим работы в ОС UNIX. (24-2)

1. Входим в систему и набираем ls имя команды + enter

2. Далее управление передается интерпретатору shell, который анализирует введенный текст. Если в этот момент будет зафиксирована ошибка, то интерпретатор проинформирует об этом пользователя, выдав соответствующее сообщение, и снова вернет приглашение для ввода командной строки.

3. Если команда была задана корректно, то shell по средствам системного вызова fork порождает новый процесс.

4. Ядром системы выполняются стандартные действия, в том числе в таблицу процессов заносится запись о новом процессе.

5. Затем из shell выполняется системный вызов exec. В каталоге /bin/ отыскивается файл с именем ls и загружается в основную память. Сразу после порождения нового процесса (4) оба они: и процесс-отец (shell) и процесс-сын (ls) – начинают конкурентную борьбу за ресурсы системы. Но shell, будучи особым процессом, порождает другие процессы с меньшим приоритетом. Поэтому после порождения процесса управление вернется в shell, и он сможет выполнить системный вызов exec.

6. После его выполнения уже нельзя с определенностью сказать, какой процесс shell или ls получит управление.

7. Если окажется, что shell, то его необходимо приостановить, чтобы дать возможность выполниться процессу ls. Приостановка shell достигается с помощью системного вызова wait. В этой точке выполнение процесса shell прекратится, и он будет ожидать завершения работы процесса ls. После остановки shell начинает работу ядро ОС. Диспетчер процессов определяет процесс, который надо активизировать следующим.

8. Т.к. в нашем случае других готовых к выполнению процессов кроме ls нет, ему и будет передано управление.

9. Процесс ls начинает работу по выполнению своих функций.

10. В то время процесс shell будет находиться в состоянии ожидания. При выполнении процесса ls ему надо будет вводить результаты свой работы на экран терминала.

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

12. Выполнение процесса ls завершается системным вызовом exit.

13. Ядро системы по взаимодействию пары системных вызовов wait, exit переводит процесс shell в состояние готовности. Ввиду отсутствия других готовых процессов активизирует его.

14. Интерпретатор shell выполняет завершающее действие по обработке ls и выдает на экран терминала приглашение для ввода следующей команды.

<== предыдущая лекция | следующая лекция ==>
Начальная загрузка и выход на интерактивный режим в ОС UNIX. (25-2) | Системные вызовы работы с файлами open, creat, close, dup, dup2. (21-2, 19-2)
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 469; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.