2011. Машбук (1114722), страница 33

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

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

постоянное запоминающееустройство (ПЗУ). В этой области памяти постоянно находится программа, котораяназывается аппаратный загрузчик компьютера. При включении компьютера схемыуправления запускают работу компьютера с адреса точки входа в этот аппаратныйзагрузчик. Данный загрузчик в общем случае имеет информацию о перечне и приоритетахсистемных устройств компьютера, которые априори могут содержать операционнуюсистему. (Системное устройство – это блок-ориентированное устройство прямого доступа,на котором может размещаться ОС.) Приоритет определяет тот порядок, в которомаппаратный загрузчик по списку осуществляет перебор устройств в поискахпрограммного загрузчика операционных систем. (Например, бывает полезно сделатьfloppy-диск наиболее приоритетным для загрузки ОС, так как в нормальном режимеаппаратный загрузчик этот диск не обнаружит, и загрузка будет осуществляться сжёсткого диска, а в случае «гибели» жёсткого диска мы как раз воспользуемсявозможностью загрузки с floppy-диска.) Аппаратный загрузчик «знает» структурусистемного устройства.

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

Соответственно,если операционных систем несколько, то программный загрузчик может предложитьпользователю компьютера выбрать, какую систему загружать. После этого программныйзагрузчик обращается к соответствующему разделу данного системного устройства и изнулевого блока выбранного раздела считывает загрузчик конкретной операционнойсистемы, после чего начинает работать программный загрузчик конкретной ОС. Этотзагрузчик, в свою очередь, «знает» структуру раздела, структуру файловой системы инаходит в соответствующей файловой системе файл, который должен быть запущен вкачестве ядра операционной системы.Что касается Unix-систем, то программный загрузчик ОС осуществляет поиск,считывание в память и запуск на исполнение файла /unix, который содержит исполняемыйкод ядра ОС Unix.

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

При инициализации этого процесса резервируется память подего контекст и формируется нулевая запись в таблице процессов. Отметим, что здесь мыоперируем определением процесса в ОС 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 Разделяемые ресурсы и синхронизация доступа к нимОдной из важных проблем, которые появились в современных операционныхсистемах, является проблема взаимодействия процессов.Будем говорить, что процессы называются параллельными, если их выполнениехотя бы частично перекрывается по времени. Т.е. можно говорить, что все процессы,находящиеся в буфере обрабатываемых процессов, являются параллельными, т.к. в тойили иной степени времена их выполнения перекрываются друг с другом. Не стоитзабывать, что, говоря о параллельных процессах, речь идет лишь о псевдопараллелизме,поскольку реально на процессоре может исполняться только один процесс.Параллельные процессы могут быть независимыми и взаимодействующими.Независимые процессы используют независимые множества ресурсов; т.е.

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

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

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

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