Загрузчик операционной системы

Содержание

Введение

  1. Операционная система……………………………………..…… …………6
    1. Механизм загрузки операционной системы на примере Windows XP…….…….………………………………………………………… ....6
  2. Загрузчик операционной системы……………….……………………….18
    1. Распространенные загрузчики………...……………...………………18
    2. Принцип работы загрузчика операционной системы… ……………22
  3. Автозагрузка в Windows XP …………...…………………………………31

Заключение…………………………………………………………………….33

Список использованных источников…..…………………………… ………35

 

Введение

В данной курсовой работе дается обзор  операционной системы Linux. Прежде всего, рассматриваются основные функции системы. Затем следует описание программ, реализующих эти функции.

Linux является Unix-подобной операционной системой, которая используется на различных  компьютерах PC-386. Впервые она была представлена как pасшиpение к операционной системе Minix и ее первые версии включали поддержку только файловой системы Minix.

Непрерывное снижение цен,  рост производительности в наше время и ожидаемое  появление новых микро- и супер-микрокомпьютеров делают мощь системы UNIX доступной для все большего круга  пользователей.  Системы UNIX или типа UNIX работают на любых машинах,  от уровня PC-XT до AT и выше.  Доступность больших объемов оперативной памяти и мощных микропроцессоров привела к возрастанию интереса к многозадачности,  системам мультипроцессирования - сфере,  в которой UNIX имеет солидную  репутацию.

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

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

-  рассмотреть составляющие операционной системы;

-  рассмотреть основные функции системы;

-  рассмотреть файловую систему;

-  рассмотреть и описать запуск системы и перезагрузку;

-  сделать соответствующие выводы, изложить материал.

Актуальность  работы объясняется тем, что сегодня  навыки пользователя – это одно из важнейших требований к современным  сотрудникам практически любого предприятия, изучить и разобраться  в операционных системах - это одна из важнейших задач в приобретении данных навыков.  
1. Операционная система.

    1. Механизм загрузки операционной системы на примере Windows XP.

Процесс загрузки компьютера начинается с процедуры начального те-стирования оборудования (POST – Power-On Self Test). Код, выполняющий POST, зашит в базовой системе  ввода-вывода (BIOS) каждого компьюте-ра, и именно ему передается управление при включении питания. Если в  процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура РОSТ завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master Boot Record) первичного жесткого диска системы, чем завершает-ся первая «аппаратная» стадия загрузки компьютера (весь процесс зави-сит только от аппаратуры компьютера, но не от установленного программ-ного обеспечения).

На второй стадии загрузочная запись, оперируя данными о разбиении  жесткого диска на логические тома, передает управление исполняемому коду, расположенному в загрузочном секторе. В операционной системе Windows XP этим кодом является загрузчик операционной системы ntldr. Загрузчик переходит  в защищенный режим работы и производит необходимые для успешного функционирования в этом режиме манипуляции с памятью. Кроме функций, позволяющих работать с памятью, ntldr имеет также несколько модулей, позволяющих работать с некоторыми другими базовыми ресурсами системы, в первую очередь с файловой системой. Все другие действия выполняются с помощью вызова прерываний BIOS.

После первичной инициализации  загрузчик предоставляет пользовате-лю возможность выбрать операционную систему, которая будет загружена из списка систем установленных на компьютере. С этой целью ntldr выводит на экран надпись: «OS Loader V5.0» и приглашение выбрать операционную систему; это сообщение выводится только в том случай если в файле boot.ini зарегистрировано более одной операционной системы. По-сле выбора операционной системы загрузчик запускает файл NTDETECT.COM. Этот компонент считывает из CMOS-памяти системную дату и время и производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу, NTDETECT возвращает управление и собранную им информацию обратно в ntldr.

Далее загружается и инициализируется ядро операционной системы ntoskrnl.exe и  уровень абстрагирования от оборудования hal.dll. При своей инициализации  ядро производит ряд действий в следующей  последова-тельности:

1. Инициализация диспетчера памяти.

2. Инициализация диспетчера объектов.

3. Установка системы безопасности.

4. Настройка драйвера файловой системы.

5. Загрузка и инициализация диспетчера ввода-вывода (обычно самая длительная фаза).

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

7. Загрузка Session Manager (Smss.exe), который:

- переключает Windows из текстового режима в графический;

- запускает менеджер входа в систему Logon Manager (systemroot \System32\Winlogon.exe);

- создает дополнительные файлы виртуальной памяти;

- если установлены новые программы и/или драйверы, то спросит пе-резагрузить систему.

8. Менеджер входа в систему Logon Manager (Winlogon.exe) запускает подсистему сервисов (Services.exe) и локальную систему безопасности (Local Security Authority, Lsass.exe) и делает возможным комбинацию клавиш CTRL+ALT+DEL, чтобы показать логин скрин.

Список основных системных сервисов :

1. Smss.exe – диспетчер сеансов (подсистема менеджера сеансов), который управляет другими сервисами и службами Windows, в том числе запускает Win32 (Csrss.exe) и некоторые системные утилиты, выполняемые на этапе загрузки; реализует графический пользовательский интерфейс, запуск процессов Csrss.exe и WinLogon.exe и производит установку системных переменных. После запуска данных процессов Smss ожидает их завершения. При нормальном завершении процессов система корректно завершает работу. Если процессы завершаются аварийно, Smss.exe заставляет систему прекратить отвечать на запросы.

2. Csrss.exe – данный модуль предназначен, главным образом, для ор-ганизации взаимодействия между компьютером и пользователем. Он яв-ляется частью подсистемы Win32 и поэтому этот процесс нельзя закрыть в менеджере задач. Csrss (client/server run-time subsystem – клиент /серверная подсистема) отвечает за консольные приложения, создание/удаление потоков и за 16-битную виртуальную среду MS-DOS.

3. Lsass.exe – служба, запускаемая WinLogon.exe и отвечающая за без-опасность системы. Она предоставляет возможность пользователю зарегистрироваться в системе, и только после того, как в системе зарегистрировался хотя бы один пользователь, загрузка считается успешной. Данный процесс является сервером аутентификации локальной защиты, создающим процесс, ответственный за проверку пользователей для службы Winlogon. Данный процесс использует пакеты аутентификации, такие как Msgina.dll. Если аутентификация успешна, процесс Lsass создает маркер доступа пользователя, который используется для запуска пользовательской оболочки. Другие процессы, инициализируемые пользователем, наследуют данный маркер.

Уже после загрузки операционной системы  пользователь, чтобы дока-зать, что  он тот, за кого себя выдает, должен пройти процедуру аутенти-фикации, то есть ввести собственное регистрационное  имя (логин) и па-роль. Данные действия при пониженных требованиях к  безопасности могут быть настроены  по умолчанию. Процедура подключения  к системе позво-ляет определить, кем является пользователь и обладает ли он правом входа и работы с  системой. При выполнении этой процедуры  службой WinLogon в системе происходят следующие события:

- процесс WinLogon отображает на экране фон рабочего стола (к этому моменту объект рабочего стола уже создан, но еще не отображается), а также приглашение к вводу пользователем логина и пароля; введенные данные передаются подсистеме безопасности;

- подсистема безопасности обращается к базе данных SAM (Security ccounts Manager) и проверяет, обладает ли пользователь полномочиями работы с системой;

- подсистема безопасности формирует для пользователя идентификатор доступа, если он является авторизированным пользователем системы, который вместе с управлением передает обратно процессу WinLogon.

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

Если операционная система не загружается  корректно, то при нажатии в процессе загрузки Windows XP клавиши F8 происходит переход в расширенное меню запуска, содержащее пункты:

- Безопасный режим – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств;

- Безопасный режим с загрузкой сетевых драйверов – как и предыдущий, но с поддержкой подключения к сети;

- Безопасный режим с поддержкой командной строки – такой же ре-жим, как и Безопасный режим, за исключением того, что загружает режим командной строки, а не GUI (Graphical User Interface);

- Включить протоколирование загрузки – позволяет записать этапы загрузки операционной системы Windows XP в файл Ntbtlog. txt;

- Включить режим VGA – режим, загружающий драйвер стандартного монитора VGA с разрешением 640 на 480 точек на дюйм и 16 цветами;

- Загрузка последней удачной конфигурации – режим, восстанавливающий последнюю неиспорченную копию реестра операционной системы Windows XP.

Базовая Система Ввода Вывода (BIOS, Basic Input Output System) – часть программного обеспечения вычислительной системы, поддерживающая управление адаптерами внешних устройств, экранные операции, те-стирование, начальную загрузку и установку операционной системы. BIOS – это стандартный интерфейс, обеспечивающий переносимость операционной системы между компьютерами с одинаковым микропроцессором. BIOS хранится в постоянном запоминающем устройстве компьютера. Управление устройствами осуществляется через механизм прерываний. Различают следующие прерывания:

- аппаратные прерывания – инициируются  аппаратными средствами;

- логические прерывания – инициируются микропроцессором, нестандартные ситуации в работе микропроцессора;

- программные прерывания – инициируются программным обеспечением.

При включении компьютера автоматически  загружается и выполняется специальная  программа POST(Power-On Self-Test) из состава BIOS. Эта программа производит самопроверку и тестирование при загрузке:

- проверка переключателей и CMOS-памяти на системной (материнской) плате, определение оборудования, которое подключено к компьютеру;

- тестирование оперативного запоминающего устройства;

- выполняет действия по загрузке операционной системы (загрузка в оперативную память и запуск Блока Начальной Загрузки операционной системы);

- выполняет другие специфические действия по подготовке компьютера и дополнительного оборудования к работе.

BIOS является своеобразной программной  оболочкой самого нижнего уровня  вокруг аппаратных средств компьютера, которая реализует доступ к  аппаратным средствам компьютера  через механизм прерываний. Струк-тура BIOS включает две главные части:

BootBlock – в его функцию входит  инициализация регистров чипсета  и распаковка главной части  в память для последующего  исполнения, при несовпадении подсчитанной  контрольной суммы запускает  программу аварийного восстановления (с дисковода).

Главный исполняемый код – состоит  из нескольких модулей и хранится в виде архива LHA, как правило, используются следующие названия для модулей  архива:

- original.tmp – главная часть размером 128k, в которой происходит ини-циализация компьютера и находится подпрограмма BIOS Setup;

- awardext.rom – расширение главной части, содержит подпрограмму вывода конфигурации;

- awardepa.bin – картинка Energy Star;

- другие встречающиеся части: cpucode.bin – таблица микрокодов для Intel-процессоров (PPro, P2/P3/P4, Celeron); acpitbl.bin – подпрограмма поддержки ACPI и др.

Доступ к BIOS Setup (программе настройки) осуществляется нажатием определенных комбинаций клавиш, обычно нажатием клавиши Delete в момент начальной загрузки системы. Структура меню программы  настроек и название блоков в каждой из версий BIOS могут отличаться, однако основные фразы меню могут повторяться или быть схожими. Программа настройки BIOS разделена на определенные блоки, каждый из которых позволяет настроить соответствующие группы параметров. Опции BIOS Setup:

- системные параметры и дисковые накопители – основные параметры: дата, время, конфигурация дисковых накопителей, порядок загрузки при обнаружении ошибок процедурой самотестирования Post;

- предупреждение отказов жестких дисков – все современные жесткие диски поддерживают технологию S.M.A.R.T., позволяющую заранее оповестить о потенциальных проблемах с дисками и их возможных отказах;

- антивирусная защита – попытка аппаратной защиты от вирусов путем перезаписи загрузочных секторов дисков, практически опция не используется;

- центральный процессор – опции, отвечающие за функционирование процессора, за исключением установки частот и напряжений питания;

- параметры загрузки – определение порядка и скорости загрузки;

- клавиатура и мышь – устанавливает возможность установить некоторые режимы функционирования клавиатуры и мыши;

- пароли – используются для защиты от несанкционированной модификации значений опций в BlOS Setup и от нежелательного использования компьютера третьими лицами.

- затенение областей памяти – перенос в оперативную память из содержимого ПЗУ интеллектуальных карт расширения, имеющих свой BIOS; поскольку доступ к оперативной памяти требует меньше времени, чем об-ращение непосредственно к ПЗУ с BIOS карты, то и обмен данными про-исходит быстрее;

- настройка режимов работы оперативной памяти – в зависимости от того, правильно ли выполнены настройки оперативной памяти, зависит скорость и надежность работы компьютера;

- дополнительные возможности чипсета при работе с памятью – используется для настройки режимов обращения к памяти со стороны других устройств;

- функционирование шин PCI и ISA – играют важную роль в работе компьютера, так как указание неверных значений способно привести к нестабильной работе карт расширения, конфликтам между ними;

- режимы работы шины AGP и видеокарты – в большинстве случаев видеокарта подключается к шине AGP;

- параметры кэширования – перенос данных из медленной памяти в более быструю память (в данном случае перенос данных в оперативную память);

- дополнительные возможности BIOS – часть производителей материнских плат предлагают дополнительные опции, расширяющие возможности материнской платы;

- работа интегрированных устройств – чипсет сам содержит контроллеры некоторых устройств, таких как: жесткие диски и приводы чтения ком-пакт-дисков, порты, дисководы и т.п., в дополнение к этому производители часто размещают на материнских платах интегрированные устройства, например, звуковые карты;

- управление питанием – все материнские платы стандарта АТХ поддерживают программный доступ к функциям управления питанием, что позволяет, в частности, автоматически включать и выключать питание, переводить компьютер в энергосберегающие режимы, управлять пробуждением компьютера;

- распределение ресурсов – в большинстве случаев распределение ресурсов происходит автоматически, но если компьютер «перегружен» картами расширения, может потребоваться и ручное назначение прерываний и каналов прямого доступа к памяти;

- системный мониторинг – позволяет узнать реальные значения напряжений питания, выяснить, с какой скоростью вращаются кулер процессора и вентилятор блока питания, проконтролировать температуру процессора и температуру внутри корпуса системного блока;

- ручной контроль напряжений и частот – некоторые материнские платы позволяют вручную изменять напряжения, подаваемые на отдельные компоненты компьютера, указывать частоту системной шины, множитель процессора и т.п., но пользоваться ими следует очень осторожностью, так как при выставлении неверных значений компьютер может не запуститься. Опции BIOS Setuр:

1. Системные параметры и дисковые  накопители

Системные параметры. Расположение опций: пункт меню STANDARD CMOS SETUP (Main, Standard CMOS Features). Опции:

- Date (System Date) – позволяет установить текущую дату в формате: месяц, день, год;

- Time (System Time) – позволяет установить текущее время в формате: часы, минуты, секунды).

- Primary Master (IDE Primary Master, Pri Master) – характеристики накопителя (обычно жесткого диска), подключенного как основной к первичному каналу стандартного IDE-контроллера материнской платы установка для этой опции значения Auto решает большинство проблем;

- Primary Slave (IDE Primary Slave, Pri Slave) – характеристики накопите-ля, подключенного как ведомый, к первичному каналу стандартного IDE-контроллера материнской платы;

- Secondary Master (IDE Secondary Master, Sec Master) – характеристики накопителя, подключенного как основной, к вторичному каналу стандартного IDE-контроллера материнской платы;

- Secondary Slave (IDE Secondary Slave, Sec Slave) – характеристики накопителя, подключенного как ведомый, к вторичному каналу стандартного IDE-контроллера материнской платы;

- Drive A (Legacy Diskette A, Floppy Drive A) – указывается тип используемого дисковода гибких дисков (обычно: 1.44М, 3.5 in.).

- Drive В (Legacy Diskette В, Floppy Drive В) – если компьютер оборудован вторым дисководом гибких дисков указывается его тип, в случае отсутствия дисковода – None;

- Floppy 3 Mode Support – поддержка старых японских флоппи-дисководов, для современных дисководов опция должна быть выключена: Disabled;

- Video – позволяет указать тип видеоадаптера, для современных компьютеров устанавливается значение EGA/VGA (или просто VGA);

- Halt On – задает поведение компьютера при обнаружении ошибок:

- при установке значения No Errors – загрузка операционной системы будет возможна даже в случае обнаружения ошибки процедурой Post;

- при установке значения All Errors – загрузка возможна только при полном отсутствии ошибок;

- значения: All, But Keyboard позволяют игнорировать ошибки (или отсутствие) клавиатуры;

- значения: АИ, But Diskette – позволяют игнорировать ошибки (или отсутствие) дисковода;

- значения: АН, But Disk/Key – позволяют игнорировать ошибки (отсутствие) клавиатуры и дисковода;

- в большинстве случаев оптимальным является остановка загрузки при любой ошибке, значение All Errors;

- Language – выбор языка интерфейса BIOS Setup, устанавливается English.

Параметры дисковых накопителей. Для  указания типа устройства, возможны следующие  варианты:

- Auto – автоматическое определение типа устройства, если устройство – жесткий диск, то автоматическое определение его параметров;

- None – устройство отсутствует;

- CD-ROM – устройство чтения компакт-дисков;

- LS-120 – дисковод флоппи-дисков, совместимых со стандартом LS-120 (120 Мбайтные дискеты);

- ZIP – устройство Iomega ZIP 100 или 250 Мбайт;

- МО – дисковод  магнитооптических дисков;

- Other ATAPI Device – все остальные устройства, подключаемые к IDE-контроллеру.

Параметры накопителей:

- Translation Method – метод адресации к диску:

- для жестких дисков объемом до 504 Мбайт используется стандартный метод адресации Normal;

- для дисков объемом свыше 504 Мбайт – используется метод логи-ческой адресации блока LBA;

- значение Auto позволяет определить нужный тип адресации автоматически.

- Access Mode (Translation Method, MODE, Translation Method. Cylinders) – количество цилиндров жесткого диска;

- CYLS (Cylinders. Head) – количество головок жесткого диска;

- Sector – количество секторов;

- Рrесотр — предварительная компенсация записи, для современных жестких дисков не используется (значение 0);

- Landing Zone (LANDZ) – зона парковки головок жесткого диска при вы-ключении питания;

- Capacity (SIZE) – информационный параметр, сообщающий об объеме жесткого диска;

- CHS Capacity – информационный параметр, сообщающий об объеме жесткого диска при стандартном методе адресации;

- Maximum LBA Capacity – информационный параметр, сообщающий об объеме жесткого диска при логической адресации блока.

 

 

 

 

 

 

 

 

  1. Загрузчик операционной системы

    1.   Распространенные загрузчики

 

NTLDR (сокращение от англ. NT Loader) —  загрузчик операционных систем Windows NT. NTLDR может быть запущен как  с переносного устройства такого, как, например, CD-ROM или флэш-накопителя USB), так и с жёсткого диска. NTLDR также способен загружать  операционные системы, не основанные  на технологии NT, путём задания  соответствующего загрузочного сектора в отдельном файле. Для запуска NTLDR требуется, как минимум, наличие следующих двух файлов на активном разделе: NTLDR, который собственно и содержит код загрузчика, и boot.ini, в котором записаны команды для формирования меню выбора системы и параметры для её запуска. Чтобы загружать операционные системы на базе Windows NT, необходимо также наличие файла ntdetect.com.

При загрузке NTLDR выполняет следующие  шаги:

  1. Переводит процессор в «плоский» 32-битный режим работы (англ. 32-bit flat memory mode).
  2. Организует доступ к текущей файловой системе.
  3. Если присутствует файл hiberfil.sys и загрузчик обнаруживает образ спящего режима, содержимое образа загружается в оперативную память, и система восстанавливается в предыдущее состояние.
  4. В противном случае, он читает файл boot.ini и выводит пользователю соответствующее меню для выбора запускаемой операционной системы. Если была выбрана не система семейства Windows NT (например, Windows 98), тогда он загружает файл, указанный в boot.ini (bootsect.dos, если не указан иной файл, являющийся полноценной загрузочной записью), и управление передаётся этому файлу, либо он загружает операционную систему на базе DOS. Если же была выбрана система на базе Windows NT, то запускается программа ntdetect.com, которая собирает информацию о составе оборудования.

Запускает файл ntoskrnl.exe (ядро операционной системы), передавая ему собранную информацию о составе оборудования, после чего происходит собственно запуск операционной системы.

Как уже было сказано, NTLDR позволяет  пользователю выбрать желаемую операционную систему для запуска из меню; также, для операционных систем Windows NT и  более поздних, могут быть указаны  дополнительные опции загрузки ядра. Все эти настройки хранятся в файле boot.ini, который должен находиться в корне того же логического диска, что и NTLDR.

Для формирования меню, показанного  выше, был использован файл boot.ini.

LILO разработал Werner Almesberger, далее, разрабатывал John Coffman (версии 20—22), на текущий день  разрабатывает Йохим Видорн.

LILO не зависит от файловой  системы и поэтому может загружать  операционную систему с жёсткого  диска или с дискеты. В связи с этим LILO хранит пункты меню и положение загружаемых ядер непосредственно в теле загрузчика и требует обновления (при помощи запуска утилиты lilo) при каждом изменении конфигурации (изменении в файле lilo.conf или в расположении загружаемых ядер на диске).

LILO поддерживает до 16 пунктов меню при загрузке.

Два вида загрузки, поддерживаемые LILO — это загрузка Linux-ядра с опциональной поддержкой initrd и передача управления другому загрузчику (chainloading).

LILO может быть установлен в  главном загрузочном секторе  MBR или загрузочном секторе раздела.

LILO использует BIOS для доступа к  жёстким дискам, с присущими этой  схеме ограничениями.

loadlin — загрузчик Linux, который позволяет запустить Linux из-под DOS или операционных систем Microsoft Windows (только 95, 98 или ME). Его главная особенность в том, что загрузка происходит без изменения уже установленых систем DOS/Windows и их файлов. Также loadlin полезна, когда DOS нужна для настройки каких-либо устройств, например, звуковой карты, для которой существуют программы, которые переключают её в режим совместимости с Sound Blaster, после чего Linux может использовать стандартный драйвер для Sound Blaster.

loadlin и ядро должны быть доступны из-под DOS/Windows. Загрузчик останавливает текущую ОС, временно удаляет её из памяти и загружает ядро в память из файла. Также устанавливаются разнообразные параметры, предназначенные для настройки выполнения ядра, которому передаётся управление. Ядро читает параметры, инициализируется и выполняется. После следующей загрузки загрузится та же ОС (DOS/Windows), которая была до запуска Linux.

Дополнительно ядро можно снабдить RAM-диском с файловой системой, приготовленном в специальном файле — образе файловой системы. Причём можно передать с помощью loadlin такие параметры, которые заставят ядро использовать эту файловую систему как корневую. Зачастую, эта файловая система содержит программы, которые монтируют файловую систему, которая уже находится на жёстком диске, и переключают ядро на использование имеено этой файловой системы как основной.

Загрузчик операционной системы