Главная » Просмотр файлов » Операционные системы 2011

Операционные системы 2011 (1114689), страница 34

Файл №1114689 Операционные системы 2011 (Операционные системы 2011) 34 страницаОперационные системы 2011 (1114689) страница 342019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 34)

Рассмотрим теперь действия ядра при запуске.Сначала происходит инициализация аппаратных и программных компонентовсистемы. Эта инициализация включает установку начальных параметров в аппаратныхинтерфейсах: устанавливаются системные часы (для генерации прерываний),формируется диспетчер оперативной памяти, устанавливаются средства защитыоперативной памяти. Затем, исходя из параметров настройки операционной системы,осуществляется формирование системных программных структур данных (в частности,создается таблица процессов, устанавливается размер КЭШ-буфера).

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

Это означает, что нулевая запись таблицыпроцессов ссылается на контекст, в котором отсутствует ссылка на сегмент кода процесса.Итак, основными отличиями нулевого процесса являются следующие моменты:1171. Данный процесс не имеет кодового сегмента — это просто структура данных,используемая ядром, и процессом его называют потому, что онкаталогизирован в таблице процессов.2.

Он существует в течение всего времени работы системы (это чистосистемный процесс), и считается, что он активен, когда работает ядро ОС.0111КонтекстпроцессаКонтекстпроцессаКонтекстпроцессаКонтекстпроцессаКодовыйсегментКодовыйсегментКодовыйсегментexec()Рис. 88. Формирование нулевого и первого процессов.Следующим этапом ядро начинает формирование первого процесса, который такжесоздается нестандартным образом. При его создании выполняются следующие действия(Рис.

88). Ядро осуществляет копирование нулевой записи (в таблице процессов) впервую. После чего для первого процесса выделяется пространство оперативной памяти.В эту память загружается программа исполнения системного вызова exec(), после чеговнутри первого процесса происходит обращение к этому системному вызову с параметром/etc/init. Таким образом, можно отметить, что сам первый процесс формируетсянестандартным путем, но тело его в конце формируется уже «правильным» образомпосредством вызова exec().Итак, в итоге в рамках первого процесса сформирован процесс init, которыйсуществует в системе также на протяжении всего ее функционирования.

Процесс initподдерживает соответствующие режимы работы системы: однопользовательский либомногопользовательский. Эти режимы характеризуются параметрами, которыеопределяются на стадии загрузки ядра и инициализации системы. Соответственно,система опознает один из подключенных терминалов как системную консоль. Еслисистема работает в однопользовательском режиме, то происходит подключениеинтерпретатора команд к системной консоли (консоль регистрируется с корневымипривилегиями и доступ по каким-либо другим линиям связи невозможен). Если же режиммногопользовательский, то процесс init обращается к системной таблице терминалов,хранящей все терминальные устройства, которые могут быть в системе, и для каждогоготового к работе терминала из этого перечня он запускает процесс getty (Рис. 89).Процесс getty — это процесс, который обеспечивает работу конкретного терминала (т.е.сеанс работы пользователя).

Заметим, что процесс init создает процесс getty ужестандартным способом, и после вообще все процессы создаются лишь по схеме fork-exec.118“1”initgettyТерминал 1gettyТерминал 1…Терминал 1gettyРис. 89. Инициализация системы: создание многопользовательской среды.В свою очередь, процесс getty печатает на экране приглашение ввести логин(Рис. 90). После того, как пользователь вводит логин, процесс getty загружает на своеместо процесс подтверждения пароля login. Соответственно, процесс login запрашиваетввода пароля, после чего проверяет его.

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

В этой же записи файлаpasswd содержится информация о том интерпретаторе команд (shell), который долженбыть загружен в начале сеанса работы пользователя. То есть, с одной стороны, системапозволяет варьировать интерпретаторы команд для каждого из пользователей, а, с другойстороны, в качестве интерпретатора команд можно запустить любую программу (этоможет быть, например, программа, проверки целостности файловой системы).С точки зрения интерпретатора команд, сеанс работы пользователя представляетсяв виде обменов с файлом (т.е. в виде операций чтения и записи). Работа пользователя ссистемой заканчивается закрытием файла – подачей EOF (end of file) (код EOF вводитсяпутём нажатия комбинации клавиш Ctrl+D на клавиатуре).

После получения отпользователя EOF интерпретатор завершает свою работу. Процесс init фиксирует этуситуацию и снова запускает процесс getty.Такова общая схема функционирования Unix-систем. Она строится наиспользовании нулевого и первого процессов. Это единственные процессы в системе,которые создаются нестандартным образом (без обращения к системному вызову fork()).initinitfork()/exec()вводлогинаПосле окончанияработы shell создаетновый gettyокончание работыgettyshellПечатает login иожидает входа всистемуВызываетпользовательскиепрограммыневерный парольloginЗапрашивает парольи проверяет егоРис.

90. Схема работы пользователя с ОС Unix.119верный пароль2.3Планирование2.4Взаимодействие процессов2.4.1 Разделяемые ресурсы и синхронизация доступа к нимОдной из важных проблем, которые появились в современных операционныхсистемах, является проблема взаимодействия процессов.Будем говорить, что процессы называются параллельными, если их выполнениехотя бы частично перекрывается по времени. Т.е.

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

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

Главным образом, эти проблемы связаны с обеспечениемкорректного доступа к разделяемым ресурсам. Выделяют две важнейшие задачи ОС:распределение ресурсов между процессами и организация корректного доступа (т.е.организациязащитыресурсов,выделенныхопределенномупроцессу,отнеконтролируемого доступа со стороны других процессов). В частности, подорганизацией корректного доступа может пониматься требование, декларирующеенеобходимость обеспечения независимости работы параллельных процессов от порядка иинтенсивности доступа этих процессов к разделяемым ресурсам.Рассмотрим соответствующий пример (Рис. 91).

Характеристики

Тип файла
PDF-файл
Размер
2,98 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее