Студопедия

Главная страница Случайная страница

Разделы сайта

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






Процесс загрузки DOS






Последовательность загрузки состоит из этапов, которые система выполняет при включении или перезагрузке, например при нажатии кнопки сброса. Она всегда начинается со специальной программы загрузки, которая находится в системном ROM BIOS. Система BIOS должна обязательно несколько этапов для тестирования и конфигурирования системы до загрузки любой операционной системы.

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

Если BIOS нашел загрузочный сектор на устройстве, начинается процесс загрузки DOS. Далее рассмотрен процесс загрузки с жесткого диска. Загрузка с гибкого диска отличается только несколькими первыми этапами, так как структуры гибкого диска несколько отличаются от структур жесткого диска. На гибких дисках невозможно образовать разделы, поэтому на них нет главной загрузочной записи и разделов. Поэтому для гибких дисков пропускается этапы поиска главной загрузочной записи. Вот какие этапы выполняются в процессе загрузки DOS:

1. BIOS по окончании своих операций загружает загрузочный код из главной загрузочной записи и передает ему управление. Начинается выполнение кода главной загрузочной записи. Если загрузочным устройством оказывается гибкий диск, процесс продолжается с этапа 6.

2. Главный загрузочный код анализирует главную таблицу разделов, отыскивая два объекта. Во-первых, необходимо определить, имеется ли загрузочный раздел, указанный в таблице разделов.

3. Если главный загрузочный код находит на диске расширенный раздел, он загружает расширенную таблицу разделов, которая описывает первый логический том в расширенном разделе. Анализируется расширенная таблица - не указывает ли она на другую расширенную таблицу разделов. Если ссылка имеется, то данная таблица содержит информацию о втором логическом томе в расширенном разделе, поэтому она загружается и выполняется. (Напомним, что логические тома в расширенном разделе имеют сцепленные расширенные таблицы разделов.) Этот процесс продолжается до загрузки и опознавания системой всех расширенных разделов.

4. После загрузки всей информации о расширенном разделе (если она есть) код пытается загрузить первичный раздел, который отмечен как активный (загрузочный). Если нет разделов, отмеченных как активные, процесс загрузки прекращается с сообщением об ошибке. Часто выдается такое же сообщение, какое выдает BIOS при отсутствии загрузочного устройства, и выглядит примерно так " No boot device" (Нет загрузочного устройства), но может быть и другим " NO ROM BASIC - SYSTEM HALTED".

5. Если имеется первичный раздел, отмеченный как активный, код загружает его. Последующие этапы предполагают, что им является первичный раздел DOS.

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

7. Загрузочный код тома проверяет правильность структур на диске. Если что-то неверно, процесс загрузки прекращается с сообщением об ошибке.

8. Код отыскивает в корневом каталоге загрузочного устройства файлы, содержащие операционную систему. Для MS-DOS - это файлы " IO.SYS", " MSDOS.SYS" и " COMMAND.COM".

9. Если файлы операционной системы не найдены, программа загрузки отображает сообщение об ошибке обычно в виде " Non-system disk or disk error - Replace and press any key when ready" (Несистемный диск или дисковая ошибка - Замените и при готовности нажмите любую клавишу).

10. Если файлы операционной системы обнаружены, программа загрузки считывает их в память и передает им управление. Эти файлы содержит более полный код операционной системы, который загружает и инициализирует остальные структуры операционной системы. Для MS-DOS это означает загрузку командного интерпретатора, а затем считывание и интерпретацию содержания системных управляющих файлов CONFIG.SYS и AUTOEXEC.BAT.

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

 

 

10. История развития операционных систем. Поколения ОС.

Важный период развития ОС относится к 1965-1975 годам. В это время в

технической базе вычислительных машин произошёл переход от отдельных

полупроводниковых элементов типа транзисторов к интегральным микросхемам,

что открыло путь к появлению следующего поколения компьютеров. В этот

период были реализованы практически все основные механизмы, присутствующие

современным ОС: мультипрограммирование, мультипроцессирование, поддержка

многотерминального многопользовательского режима, виртуальная память,

файловые системы, разграничение доступа и сетевая работа. В эти годы

начинается расцвет системного программирования. Революционным событием

данного этапа явилась промышленная реализация мультипрограммирования. В

условиях резко возросших возможностей компьютера по обработке и хранению

данных выполнение только одной программы в каждый момент времени оказалось

крайне неэффективным. Решением стало мультипрограммирование – способ

организации вычислительного процесса, при котором в памяти компьютера

находилось одновременно несколько программ, попеременно выполняющихся на

одном процессоре. Эти усовершенствования значительно улучшили эффективность

вычислительной системы. Мультипрограммирование было реализовано в двух

вариантах – в системах пакетной обработки и разделения времени.

Мультипрограммные системы пакетной обработки так же, как и их

однопрограммные предшественники, имели своей целью обеспечение максимальной

загрузки аппаратуры компьютера, однако решали эту задачу более эффективно.

В мультипрограммном пакетном режиме процессор не простаивал, пока одна

программа выполняла операцию ввода-вывода (как это происходило при

последовательном выполнении программ в системах ранней пакетной

обработки), а переключался на другую готовую к выполнению программу. В

результате достигалась сбалансированная загрузка всех устройств компьютера,

а следовательно, увеличивалось число задач, решаемых в единицу времени.

В мультипрограммных системах пакетной обработки пользователь по-

прежнему был лишен возможности интерактивного взаимодействия со своими

программами. Для того, чтобы хотя бы частично вернуть пользователям

ощущение непосредственного взаимодействия с компьютером, был разработан

другой вариант мультипрограммных систем – системы разделения времени. Этот

вариант рассчитан на многотерминальные системы, когда каждый пользователь

работает за своим терминалом. В числе первых операционных систем разделения

времени, разработанных в середине 60-х годов, были TSS/360 (компания IBM),

CTSS и MULTICS (Массачусетский технологический институт совместно с Bell

Labs и компанией General Electric). Вариант мультипрограммирования,

применяемый в системах разделения времени, был нацелен на создание для

каждого отдельного пользователя иллюзии единоличного владения

вычислительной машиной за счёт периодического выделения каждой программе

своей доли процессорного времени. В системах разделения времени

эффективность использования оборудования ниже, чем в системах пакетной

обработки, что явилось платой за удобства работы пользователей.

Многотерминальный режим использовался не только в системах разделения

времени, но и в системах пакетной обработки. При этом не только оператор,

но и все пользователи получали возможность формировать свои задания и

управлять их выполнением со своего терминала. Такие ОС получили название

систем удалённого ввода заданий. Терминальные комплексы могли располагаться

на большом расстоянии от процессорных стоек, соединяясь с ними с помощью

различных глобальных связей – модемных соединений телефонных сетей или

выделенных каналов. Для поддержания удалённой работы терминалов в

операционных системах появились специальные программные модули, реализующие

различные (в то время, как правило, нестандартные) протоколы связи. Такие

вычислительные системы с удалёнными терминалами, сохраняя централизованный

характер обработки данных, в какой-то степени являлись прообразом

современных сетей, а соответствующее системное программное обеспечение –

прообразом сетевых операционных систем.

В компьютерах 60-х годов большую часть действий по организации

вычислительного процесса взяла на себя операционная система. Реализация

мультипрограммирования потребовала внесения очень важных изменений в

аппаратуру компьютера, непосредственно направленных на поддержку нового

способа организации вычислительного процесса. При разделении ресурсов

компьютера между программами необходимо обеспечить быстрое переключение

процессора с одной программы на другую, а также надёжно защитить коды и

данные одной программы от непреднамеренной или преднамеренной порчи другой

программы. В процессорах появился привилегированный и пользовательский

режим работы, специальные регистры для быстрого переключения с одной

программы на другую, средства защиты областей памяти, а также развитая

система прерываний.

В привилегированном режиме, предназначенном для работы программных

модулей операционной системы, процессор мог выполнять все команды, в том

числе и те из них, которые позволяли осуществлять распределение и защиту

ресурсов компьютера. Программам, работающим в пользовательском режиме,

некоторые команды процессора были недоступны. Таким образом, только ОС

могла управлять аппаратными средствами и исполнять роль арбитра для

пользовательских программ, которые выполнялись в непривилегированном,

пользовательском режиме.

Система прерываний позволяла синхронизировать работу различных

устройств компьютера, работающих параллельно и асинхронно, таких как каналы

ввода-вывода, диски, принтеры и т.п.

Ещё одной важной тенденцией этого периода является создание семейств

программно – совместимых машин и операционных систем для них. Примерами

семейств программно – совместимых машин, построенных на интегральных

микросхемах, являются серии машин IBM/360, IBM/370 и PDP-11.

Программная совместимость требовала и совместимости операционных

систем. Однако такая совместимость подразумевает возможность работы на

больших и малых вычислительных системах, с большим и малым количеством

разнообразной периферии, в коммерческой области и в области научных

исследований. Операционные системы, построенные с намерением удовлетворить

всем этим противоречивым требованиям, оказались чрезвычайно сложными. Они

состояли из многих миллионов ассемблерных строк, написанных тысячами

программистов, и содержали тысячи ошибок, вызывающих нескончаемый поток

исправлений. Операционные системы этого поколения были очень дорогими. Так,

например, разработка OS/360, объём кода для которой составил 8 Мбайт,

стоила компании IBM 80 миллионов долларов.

Однако, несмотря на необозримые размеры и множество проблем, OS/3600 и

другие ей подобные операционные системы этого поколения действительно

удовлетворяли большинству требований потребителей. За это десятилетие был

сделан огромный шаг вперёд и заложен прочный фундамент для создания

современных операционных систем.

 

11. Классические проблемы межпроцессорного взаимодействия. Проблемы обедающих философов, читателей и писателей, спящего брадобрея.

 

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.