Вербален алгоритъм за процеса на зареждане на компютъра. Етапи на зареждане на операционни системи

Буутлоудърът е системна програма, която извършва зареждане.Много товарачи също осигуряват движение и свързване. Някои системи разделят функцията за свързване от функциите за преместване и зареждане. Свързването се извършва от специална програма за свързване (или редактор на връзки), преместване и зареждане от зареждащия механизъм.

Свързването е свързването на две или повече отделни преведени програми.

Преместването е модификация на обектна програма, така че да може да бъде заредена от адрес, различен от оригиналния.

Функции на буутлоудъра:

  1. ОП разпределение;
  2. преместване на програма;
  3. свързващи модули;

Разпределение на ОП

Преместване на програма

Ако има адресни константи вътре в модулите, които се изчисляват от началото на модула, тогава адресите ще бъдат коригирани спрямо базата.

Свързване на модули

Видове буутлоудъри

Зареждащи програми за компилиране и изпълнение

Един от възможните начини за изпълнение на функцията за зареждане може да бъде да се организира работата на асемблера по такъв начин, че асемблерът, работещ в една част от паметта, поставя машинни инструкции и данни, докато се асемблират директно в разпределените клетки на паметта за тях. След като компилацията приключи, асемблерът предава контрола на входната точка на получената програма. Това е много просто решение, което ви позволява да правите без допълнителни процедури. Тази схема се нарича "компилиране-изпълнение", а "зареждащото средство" се състои от една единствена инструкция, която прехвърля контрола върху събраната програма.

Абсолютните зареждащи устройства са лесни за изпълнение, но имат редица функции:

  • задачата за разпространение на ОП се изпълнява от програмиста (с помощта на директивата за задаване на началната стойност на ОП);
  • задачата за преместване на програмата се изпълнява от компилатора;
  • свързване на модули - решава се от програмиста (повикване 600);
  • зареждане на програми в ОП и стартирането им за изпълнение.

Предимства:

  • по-малък размер на буутлоудъра (размер на паметта);
  • разделяне на фазите на компилиране и зареждане, което намалява времето за обработка на модулите;
  • възможността за използване на няколко езика за програмиране, т.к структурите на създадените обектни модули са идентични.

недостатъци:

Голямо количество работа пада върху програмиста. Необходимо е постоянно да се следят промените в началните адреси при модифициране на модули, т.к дължината им се променя.

Абсолютна файлова структура на обекта за зареждане

Информационният запис се състои от:

  1. знак;
  2. абсолютен адрес на ОП, където може да се прехвърля информация;
  3. брой информационни байтове в съобщението;
  4. байтове информация;
  5. контролни суми;
  6. номериране.

Контролният протокол се състои от:

  1. знак;
  2. адрес на входна точка.

Един прост абсолютен товарач работи:

  1. Проверете дали има достатъчно памет за тази програма (преглед на първия запис).
  2. Последователно четене на програмното тяло и поставяне на посочения адрес.
  3. Прехвърляне на управлението на адреса за изпълнение на програмата.

Настройка на буутлоудъра

За да се избегне необходимостта от повторно сглобяване на всички подпрограми, когато се направи промяна в една от тях, а също и за освобождаване на програмиста от задачите за разпределяне на паметта и комуникация на подпрограми, бяха разработени така наречените зареждащи устройства. Този буутлоудър позволява на програмата да има множество програмни сегменти и един сегмент от данни (общ сегмент). Асемблерът превежда всеки сегмент поотделно и предоставя на зареждащия механизъм текст и информация относно движенията и кръстосаните препратки между сегментите.

Резултатът от асемблера с тази схема е обектната програма и информация за всички други програми, към които има извиквания в тази програма. Освен това има информация за онези места, които трябва да се променят по време на товарене (информация за движение), т.е. за клетки, чието съдържание зависи от местоположението на програмата в паметта.

За всяка изходна програма асемблерът произвежда текст (резултат от превод) като изходна информация, предшестван от преходен вектор, съдържащ адресите на имената на подпрограмите, които са достъпни в изходната програма. Например, ако SQRT рутината е първата извикана рутина, тогава първата клетка от вектора за прескачане ще съдържа символното име SQRT. Изявленията, съдържащи извикване на SQRT рутина, ще бъдат преведени в инструкция за прескачане, указваща адреса на векторния елемент на разклонението, свързан със SQRT. Асемблерът също ще предаде допълнителна информация като общата дължина на програмата и дължината на вектора на разклоняване. След зареждане на текста на програмата и вектора за прескачане в паметта, товарачът ще зареди всяка рутина, посочена във вектора. След това той ще постави команда за преминаване към съответната подпрограма във всеки елемент от вектора. По този начин извикването на подпрограмата SQRT ще доведе до изпълнение на команда за прескачане към първата клетка от преходния вектор, която ще съдържа команда за прескачане към извиканата подпрограма.

Тази схема на зареждане с двустепенно предаване на управление често се използва в компютри с фиксиран формат на инструкции и директно адресиране.

Този буутлоудър има редица недостатъци:

  • преходният вектор не е напълно удобен за зареждане и запазване на външни данни (намира се в друг програмен сегмент);
  • преходният вектор увеличава дължината на обектната програма;
  • Товарачът работи с програмни сегменти, но не улеснява достъпа до сегменти от данни, които могат да бъдат споделени от множество рутинни процедури.

Директно свързващ буутлоудър

Директно свързващият буутлоудър осигурява най-пълно възможността за преместване на програми и данни в паметта и в момента е най-често срещаният. Такъв товарач има предимството, че позволява използването на голям брой програмни сегменти и сегменти от данни и дава на програмиста пълна свобода за достъп до данни, разположени в други сегменти, като същевременно позволява отделен превод.

Асемблерът (транслаторът) трябва да предаде следната информация на буутлоудъра с всяка програма и сегмент от данни:

  1. дължина на сегмента;
  2. списък на всички сегментни символи, които могат да бъдат достъпни от други сегменти и техните относителни адреси;
  3. списък на всички символи, които не са дефинирани в този сегмент, които са достъпни в този сегмент;
  4. информация за местоположението на адресните константи в сегмента и описание на това как техните стойности трябва да се променят;
  5. машинни кодове, получени в резултат на превод и присвоени относителни адреси.

Един от недостатъците на зареждащото средство за директно свързване в неговата най-проста форма е, че всеки път, когато програмата се изпълнява, тя трябва многократно да изпълнява функциите за разпределение на паметта, преместване, свързване и зареждане на всички необходими подпрограми. Тези проблеми могат да бъдат решени чрез извършване на зареждане с помощта на две отделни програми: комбинатор и зареждащ модул. Изходът на комбинатора е набор от данни във формат, който позволява програмата да бъде заредена в паметта, и се нарича зареждащ модул.Съществуват няколко вида комбайни. Един от тях е така нареченият редактор на връзки, който съхранява информацията, необходима за преместване на модула в паметта, така че модулът като цяло да може след това да бъде конфигуриран и зареден в произволно място в паметта. В този случай зареждащият модул трябва да изпълнява функциите за разпределяне и преместване на памет, но остава свободен от сложната задача за свързване на обектни модули и подпрограми.

Динамичен товарач

Във всяка от разглежданите схеми се предполага, че всички необходими рутинни процедури са заредени в паметта едновременно. Ако общото количество памет, изисквано от рутинните процедури, е по-малко от наличната памет на машината, възникват проблеми. Тези трудности се преодоляват чрез използване на схема за динамично натоварване с последователно използване на комбинатор и товарач. Тази схема се основава на факта, че обикновено се изискват различни рутинни процедури по различно време и могат взаимно да се изключват. Като изрично дефинирате коя подпрограма съдържа извиквания към други подпрограми, можете да дефинирате така наречената наслагваща структура, която определя взаимно изключващи се подпрограми.

Товарният модул е ​​оформен. Може да се премества и трябва да има таблица за преместване. Освен това структурата на зареждащия модул трябва да съдържа информация за връзките. Товарачът трябва да съдържа такава част като мениджър на наслагване, той избира от модулите за зареждане точно тези, които стартират, и в процеса на работа организира зареждането на необходимите модули в OP.

Динамично свързване

Има случаи, когато, за да се осигури ефективно използване на паметта на машината, подпрограмите са динамично свързани по време на изпълнение на програмата. Тоест, подпрограмите се зареждат в паметта само както са извикани. Това може да бъде от полза, защото... При определени условия в програмата някои подпрограми може изобщо да не са необходими. Да разгледаме един пример:

ако (условие 1)
извикване на подпрограма 1
ако (условие 2)
извикване на подпрограма 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ако (условие m)
извикване на подпрограма m

Много от клоновете ще бъдат пропуснати и няма да е необходимо да се зарежда в OP, например, подпрограма 2, ако не е изпълнено условие 2. В този случай товарачът трябва да работи едновременно с програмата и да изпълнява функциите за свързване и зареждане на подпрограми.

Изпратете добрата си работа в базата знания е лесно. Използвайте формата по-долу

Студенти, докторанти, млади учени, които използват базата от знания в обучението и работата си, ще ви бъдат много благодарни.

Волжски университет на името на В. Н. Татищев

Факултет по компютърни науки и телекомуникации

Катедра „Информатика и системи за управление”

КУРСОВА РАБОТА

дисциплина: „Системен софтуер”

Предмет: " Товарач

Извършва се от ученик. ИС-303

Красноселцев IN. П.

Учител: Трубачева С.И.

Толиати

Въведение

1. Теоретична част

2. Проектна част

2.1 Постановка на проблема

2.2 Разработване на алгоритъм за решаване на проблема

2.3 Описание на алгоритъма за зареждане на приложната програма

2.4 Описание на алгоритъма за зареждане на ОС

2.5 Описание на алгоритъма за зареждане на Unix с помощта на зареждащия механизъм LILO

Заключение

Препратки

Въведение

Уместността на моята курсова работа се крие във факта, че развитието на компютрите и техните операционни системи вървеше успоредно с разработването на различни програми за зареждане. Някои операционни системи изискват различни зареждащи програми за зареждане. Например, многопотребителската операционна система Unix изисква зареждащо устройство LILO и различни помощни програми. Всяко зареждане на операционната система засяга RAM, която се използва както от първичния, така и от вторичния буутлоудър. По време на зареждане възникват различни видове грешки, които буутлоудърът заобикаля или завършва процеса на зареждане (показва информационно съобщение).

Буутлоудърът е програма, без която повече от един компютър и повече от една операционна система просто не могат.

1 . Теоретична част

Процес на стартиране на Microsoft OS

Каквато и операционна система да обмисляме, за да започне ОС да управлява компютъра, тя трябва да бъде заредена в RAM. Затова нека да разгледаме как протича процесът на зареждане на различни операционни системи. Тъй като се интересуваме само от зареждане от твърди дискове, няма да разглеждаме характеристиките на зареждане от дискета, CD-ROM и по мрежата. Да започнем с MS-DOS и MS Windows.

Както знаете, когато включите компютъра си, първо се стартира програмата POST (Power On Self Test). Той определя количеството налична памет, тества я, определя наличието на други компоненти (клавиатура, твърд диск и т.н.) и инициализира адаптерните карти. На екрана обикновено се появяват съобщения за количеството памет, за нейното тестване, списък с открити устройства (флопи и твърди дискове, процесор, COM портове и др.).

След като тестването приключи, POST извиква Int 19h, който се опитва да намери устройство за зареждане. Търсенето се извършва в реда, определен в Setup BIOS, и се извършва чрез запитване на нулевите сектори на съответните устройства. Ако дискът е стартиращ, тогава в неговия нулев сектор има главен запис за зареждане - Master Boot Record (MBR). Последните два байта на MBR са „магическо число“, което е знак, че този сектор е MBR и следователно дискът може да се стартира. В допълнение към „магическото число“, MBR съдържа таблица с дялове на диска, която вече беше спомената по-горе, и малка програма - основният зареждащ механизъм, с обем от само 446 (0 * 1BE) байта.

Таблица 2.1 показва структурата на основния зареждащ сектор, създаден по време на инсталирането на Windows.

Таблица 2.1 Структура на основния зареждащ сектор

Прекъсване 19h BIOS зарежда основния буутлоудър в паметта на компютъра и прехвърля управлението на тази програма. Но такава малка програма не може да стартира операционната система; всичко, което може да направи, е да зареди по-мощна програма в паметта - вторичен буутлоудър.

За да направи това, той търси в таблицата на дяловете активния дял и чете в паметта вторичния буутлоудър, който се намира, започвайки от първия логически сектор на активния дял. Обърнете внимание на думата „начало“. Факт е, че вторичният буутлоудър в различните системи има различни дължини.

Вторичният буутлоудър зарежда първия слой от програми, необходими за стартиране на операционната система. В случай на MS - DOS, програмата за зареждане зарежда IO.SYS на адрес 700h, след това MSDOS.SYS и прехвърля контрола към секцията SYSINIT на модула IO.SYS.

Ако по някаква причина на диска не бъде открит активен дял, процесът на зареждане продължава чрез обработка на прекъсване 18h. Този клон рядко се използва изцяло, но тази функция може да бъде много полезна в някои ситуации. По време на дистанционно зареждане, когато ОС се зарежда от сървъра, това прекъсване се пренасочва от програмата POST към ROM на мрежовата карта.

Проблеми с големи дискове

В MS-DOS и първите версии на Windows достъпът до дисковете беше организиран чрез прекъсване 13 (Int 13h) на BIOS. В този случай се използва адресиране на сектори на диска въз основа на посочване на номерата на цилиндъра, главата и сектора на пистата (C/H/S). По-точно:

1)AH - избор на операция;

2)CP - младши 8 бита от номера на цилиндъра;

3)CL - битове 7-6 съответстват на най-значимите битове от номера на цилиндъра, битове 5-0 съответстват на номера на сектора;

4)DH - номер на четящата глава;

5)DL - номер на диска (80h или 81h).

Трябва да се отбележи, че всички горепосочени ограничения са значими само на етапа на зареждане на ОС, тъй като самият Linux и най-новите версии на Windows вече не използват BIOS прекъсване 13 при работа с дискове, а използват свои собствени драйвери за работа с дискове. Но преди системата да може да използва свой собствен драйвер, тя трябва поне да го зареди. Следователно, в началния етап на зареждане, всяка система е принудена да използва BIOS. Това води до ограничения върху поставянето на много системи над 8 GB; те не могат да стартират от там, въпреки че след успешно стартиране могат да работят с много по-големи дискове. За да разберем как можем да заобиколим тези ограничения, се нуждаем от известни познания за това как се зарежда Linux OS.

LILO зареждащо устройство от Linux OS дистрибуция

Преди да започнете да инсталирате втората ОС, трябва да изберете метод за организиране на избора на ОС на етапа на зареждане на компютъра. Програмите за зареждане решават този проблем. Има няколко програми от този вид. Тъй като говорим за Linux, първото нещо, което трябва да споменем е програмата LILO, която е включена във всяка Linux дистрибуция.

LILO е набор от няколко програми: самият буутлоудър, програми, използвани за инсталиране и конфигуриране на буутлоудъра и сервизни файлове:

Програмата /sbin/lilo, която работи под Linux, служи за запис на цялата информация, необходима по време на фазата на зареждане, на подходящите места. Трябва да се рестартира всеки път, когато се направи промяна в ядрото или конфигурационния файл на LILO;

Различни сервизни файлове, от които LILO се нуждае по време на зареждане. Тези файлове обикновено се намират в директорията /boot. Най-важните от тях са самият буутлоудър и файлът с карта (/boot/map), който показва местоположението на ядрото. Друг важен файл е конфигурационният файл на LILO, който обикновено се нарича /etc/lilo.conf;

Самият буутлоудър е частта от LILO, която първо се зарежда в паметта чрез прекъсване на BIOS и която зарежда ядрото на Linux или сектора за зареждане на друга операционна система. Буутлоудърът също се състои от две части. Първата част записва в сектора за зареждане и се използва за зареждане на втората част, която е много по-голяма по размер. И двете части обикновено се съхраняват на диск във файла /boot/boot.b.

При инсталиране на системата зареждащият сектор на LILO може да бъде поставен на следните места:

Секторът за стартиране на дискетата във формат Linux (/dev/fd0,...);

MBR на първия твърд диск (/dev/had, /dev/sda,...);

Секторът за стартиране на основния дял на файловата система на Linux на първия твърд диск (/dev/hda1, /dev/hda2,...);

Секторът за зареждане на логическия дял в разширения дял на първия твърд диск (/dev/hda5,…). Вярно е, че повечето програми като fdisk не предполагат, че можете да стартирате от разширен дял и отказват да го обявят за активен. Следователно LILO включва специална програма (активиране), която ви позволява да заобиколите това ограничение. Но програмата fdisk от дистрибуцията на Linux поддържа възможността за активиране на разширен дял. За да направите това, използвайте опцията -b или променливата BOOT.

Секторът за стартиране на LILO не може да бъде поставен на следните места:

Секторът за стартиране на дискета или първичен дял, форматиран в други файлови системи;

В суап дяла на Linux;

В допълнение към факта, че LILO също се нуждае от следните файлове по време на зареждане:

-/boot/map (създадена при изпълнение на /sbin/lilo);

Всички версии на ядрото за изтегляне (ако изберете версия на ядрото по време на фазата на изтегляне);

Сектори за стартиране на други операционни системи, които ще стартират чрез LILO;

Съобщения, издадени по време на зареждане (ако са дефинирани)

Когато LILO се стартира, той показва думата „LILO“. В този случай изходът на всяка буква показва завършването на определено действие или етап от зареждането на LILO. Ако изтеглянето е неуспешно, тогава по броя на показаните букви можете да прецените причината за проблема.

Нищо не се извежда - не е заредена част от LILO. Или LILO не е инсталиран, или дялът, на който се намира, не е активен

L [код на грешка] - основният товарач се зареди и стартира (контролът беше прехвърлен към него), но не успя да зареди вторичния товарач. Двуцифрен код за грешка показва конкретната причина за проблема. Това обикновено се дължи на дефекти в носителя или неправилна геометрия на диска. Освен ако LILO не спре в този момент, хвърляйки безкраен низ от кодове за грешки, проблемът обикновено се разрешава лесно.

LI - първичният товарач успя да зареди вторичния товарач, но не успя да го стартира за изпълнение. Това може да е причинено от грешка в настройката на геометрията на диска или защото /boot/boot.b е преместен без рестартиране на /sbin/lilo.

LIL - вторичният товарач стартира, но не можа да стартира дескрипторната таблица от картата. Причината обикновено е наличието на дефекти на диска или неправилно зададена геометрия на диска.

LIL? - вторичният буутлоудър е зареден на грешен адрес. Обикновено се причинява от грешка при настройване на геометрията на диска или защото /boot/boot.b е преместен без рестартиране на /sbin/lilo.

LIL- - дескрипторната таблица е унищожена. Обикновено се причинява от грешка при настройване на геометрията на диска или защото /boot/boot.b е преместен без рестартиране на /sbin/lilo.

LILO - всички части на LILO са заредени успешно.

Процесът на стартиране и файлът /etc/inittab

Както знаете, след включване на компютъра и завършване на хардуерното тестване, BIOS се чете от първия сектор на диска за зареждане, който е програмата за зареждане. Тази програма стартира основния системен зареждащ инструмент (например LILO), който от своя страна зарежда системното ядро ​​в паметта, която обикновено се съхранява във файла vmlinuz-x.y.z-a в директорията /boot.

Веднага след зареждане, ядрото монтира главната файлова система и стартира процеса на стартиране. Процесът на стартиране е програмата, която е отговорна за продължаване на процедурата за зареждане и прехода на системата от първоначалното състояние, което възниква след зареждане на ядрото, към стандартното състояние на обработка на заявки от много потребители.

Точният списък на тези операции зависи от така нареченото ниво на изпълнение. Нивото на изпълнение определя списъка с действия, извършвани от процеса на стартиране и състоянието на системата след зареждане, т.е. конфигурация на работещи процеси. Нивото на изпълнение се идентифицира с един символ. Има 8 основни нива на изпълнение в Linux OS:

1) Спиране на системата;

2) Режим за един потребител (за специални административни случаи);

3) Многопотребителски режим без NFS (същото като 3, ако компютърът не работи с мрежата);

4) Пълен многопотребителски режим;

5) Използването не е регламентирано;

6) Обикновено се използва за стартиране на системата в графичен режим;

S) (или s) - приблизително същото като режима за един потребител, но S и s се използват главно в скриптове.

Първото нещо, което процесът на init прави след стартиране, е да прочете своя конфигурационен файл /etc/inittab. Този файл се състои от отделни редове. Ако ред започва с # или е празен, той се игнорира. Всички останали редове се състоят от 4 полета, разделени с двоеточие:

документ за самоличност : нива на изпълнение : действие : процес

id - идентификатор на ред;

runlevels - нива на изпълнение;

процес - процес;

действие - действие;

Полето за действие съдържа ключова дума, която определя допълнителни условия за командата, зададена от полето за процес. Валидни стойности за полето за действие:

respawn - рестартирайте процеса, ако приключи;

веднъж - изпълнете процеса само веднъж при преминаване към посоченото ниво;

изчакайте - процесът ще се стартира веднъж при преминаване към посоченото ниво;

sysinit - Тази ключова дума обозначава действията, извършвани по време на процеса на зареждане на системата, независимо от нивото на изпълнение (полето id се игнорира).

зареждане - процесът ще бъде стартиран на етапа на зареждане на системата от нивото на изпълнение;

bootwait - процесът ще бъде стартиран на етапа на зареждане на системата от нивото на изпълнение и init ще изчака завършването му;

initdefault - редът, в който се появява тази дума в полето за действие, определя нивото на изпълнение, до което системата преминава по подразбиране.

изключено - игнорирайте този елемент;

powerwait - Позволява на процеса на стартиране да спре системата при загуба на захранване.

Ctrlaltdel - позволява на init да рестартира системата, когато потребителят натисне клавишна комбинация на клавиатурата.

Този списък не е изчерпателен. Повече информация за файла inittab може да бъде намерена в man страниците init(8), inittab(5) и getty(8).

2 . Проектна част

2.1 Постановка на проблема

Необходимо е да се изучи теоретичен материал по избраната тема, да се разработи алгоритъм за работа на товарача при прилагане на метода (представен под формата на блокова диаграма) и да се опише алгоритъмът.

2.2 Разработване на алгоритъм за решаване на проблема

Вход: Еднопроцесорна система, приложна програма, LILO зареждащо устройство, POST програма, взаимно изключване.

Фигура 1 показва алгоритъма за „зареждане на приложна програма“.

Фигура 2 показва алгоритъма за „зареждане на операционната система“

2.3 Описание на алгоритъма за зареждане на приложната програма

1) Приложната програма се стартира за изпълнение. След това се активира системната програма “Bootloader”.

2) След активиране сканирането на RAM започва да намира свободни области.

3) Ако се открият такива зони, тогава започва определянето на началото на адреса на местоположението на свободната зона. След това отиваме на този адрес и определяме размера на свободната площ.

4) След това се определя размера на кода на приложната програма, която се стартира за изпълнение.

5) Сравнете размера на кода и размера на свободната област в RAM.

6) Ако има достатъчно място в RAM за копиране на програмния код на приложението, тогава номерата на виртуалните страници на физическите страници се задават в таблицата на страниците. След това програмният код на приложението се копира в RAM. И завършване на процеса.

7) В противен случай ще разберем дали има достатъчно място в RAM за част от програмния код на приложението. Ако е така, тогава повтаряме тези стъпки, когато има достатъчно място за пълния код на приложната програма. Но след копиране на кода в RAM, част от кода се копира в областта за размяна.

8) Ако няма достатъчно място за част от кода, тогава се преминава към етапа на сканиране на RAM, за да се намерят свободни области.

2.4 Описание на алгоритъма за зареждане на ОС (Операционна система)

1) Програмата POST стартира. Тази програма тества наличната памет, определя наличието на други компоненти (различни компютърни устройства, например: клавиатура, твърд диск и т.н.) и инициализира адаптерните карти.

2) След като програмата POST стартира, резултатите от нейната работа се показват на екрана.

3) Обадете се на програмата 19H, която се опитва да намери устройството за зареждане.

4) Прекъсване 19H BIOS зарежда основния зареждащ механизъм в паметта на компютъра и прехвърля управлението на тази програма

5) Поради липса на мощност на тази програма, заредете ОС. Следователно тя търси по-мощна програма, която е способна на това - вторичен буутлоудър. За да направи това, той търси в таблицата на дяловете активния дял и чете вторичния буутлоудър в паметта.

6) Вторичният зареждащ механизъм зарежда първия слой от програми, необходими за стартиране на операционната система. Програмата за зареждащо устройство зарежда модула IO.SYS на адрес 700h, след което MSDOS.SYS прехвърля контрола към секцията SYSINIT на модула IO.SYS.

7) Ако по някаква причина активният дял в таблицата на дяловете не е намерен на диска, процесът на зареждане продължава чрез обработка на 18-часовото прекъсване.

2.5 Описание на алгоритъма за зарежданеUnixизползвайки буутлоудъраЛИЛО

1) Стартирайте програмата /sbin/lilo, за да запишете цялата информация, необходима по време на фазата на зареждане, на подходящите места. Търсете сервизни файлове, изисквани от LILO по време на зареждане.

2) Ако файловете не бъдат намерени, се показва съобщение, указващо края на изтеглянето.

4) Ако първичният товарач не успя да зареди вторичния товарач, на екрана се показва информационно съобщение, указващо грешка по време на зареждането.

6) Ако основният товарач успешно зареди вторичния, но не успя да стартира, тогава се показва информационно съобщение за грешка по време на зареждането.

7) В противен случай се стартира вторичният буутлоудър.

8) Проверка дали вторичният буутлоудър се е заредил на правилния адрес.

9) Ако не, тогава се показва информационно съобщение за грешки по време на зареждането.

10) Проверка дали дескрипторната таблица е унищожена. Ако да, тогава се показва информационно съобщение за грешка по време на зареждане. И ако не, тогава таблицата с дескриптори се зарежда от файла на картата.

11) Проверка дали стартирането на дескрипторната таблица е успешно. Ако не, тогава при стартиране се показва информационно съобщение за грешка.

12) В противен случай изведете информационно съобщение за успешното зареждане на LILO.

Заключение

Тази курсова работа разглежда някои аспекти на зареждането на програми. Видове товарачи: подвижни, първични, вторични и др. Доказана е необходимостта от използване на буутлоудъра в различни операционни среди. Обхванати са различни методи за зареждане, като зареждане на приложение, зареждане на LILO и зареждане на ОС. Изучен е теоретичен материал по темата, разработени са алгоритми за работа на товарача при прилагане на метода (представени под формата на блокова схема).

Препратки

1. Таненбаум Андрю. Съвременни операционни системи / Андрю Таненбаум. - 2-ро изд. - Санкт Петербург: Питър, 2002. - 1037 с.: ил. - (Класици на компютърните науки). - ISBN 5-318-00299-4

2. Партика, Т.Л. Операционни системи, среди и обвивки: Урок за среди. проф. обр. rec. МО / Партика, Т. Л., Попов, И. И. - М.: ФОРУМ: ИНФРА - М, 2006. - 399 с.: ил. - (Професионално образование). - ISBN 5-8199-0072-5-16-001355-5

3. Олифер, В.Г. Мрежови операционни системи: Учебник. наръчник за университети MO / Olifer, V.G., Olifer, N.A. - Санкт Петербург: Питър, 2003. - 538 с.: ил. - ISBN 5-272-00120-6

4. Трубачева, С.И. Програмиране в операционни системи: Методическо ръководство / Трубачева, С.И. - Толиати: ВУиТ, 2006. - 44 с.

5. Терънс Чан. Системно програмиране на C++ за Unix / Изд. Коломицева. - Киев, 2004.

6. Такет Д., Барнет С. Специално издание. Използване на LINUX / превод. от английски - 4-то изд. Санкт Петербург: Уилямс, 2003.

7. Иванова Г.С. Програмиране на SI++ / Учебник. Изд. М.: MSTU, 2002.

Подобни документи

    Общи характеристики на системата Android, преглед на нейните аналози. Необходими компоненти, за да започнете работа с Android. Настройване на конфигурации на Ubuntu. Писане на скриптове за опростяване на генерирането на Linux. Отстраняване на грешки и тестване на програмата на платката freescale i.MX53.

    курсова работа, добавена на 12.10.2012 г

    Разглеждане на характеристиките на мениджърите за зареждане. Описание на Download Accelerator Plus, Download Master, FlashGet, GetRight, ReGet, Go!Zilla. Сравнителни характеристики на мениджърите за зареждане на Windows. Програми за операционни системи Unix, Linux и Mac.

    резюме, добавено на 09/06/2014

    Концепцията и структурата на дистрибуциите на операционната система Linux, историята на техния произход и основните разработчици. Класификация на дистрибуциите по естеството на сглобяване и инсталиране, модификация на техните готови версии. Описание на начините за създаване на собствена дистрибуция.

    курсова работа, добавена на 02.04.2014 г

    Обща схема на процеса на товарене, неговите основни етапи и отличителни черти. Първични и вторични зареждащи устройства, тяхната функционалност и посоки на действие. Места за евентуално поставяне на boot сектора. Изисквания за дисково пространство.

    презентация, добавена на 20.12.2013 г

    Анализ на техническите възможности на операционната система Mandriva Linux - GNU/Linux дистрибуция, разработена от френската компания Mandriva, която произвежда безплатни, търговски и корпоративни версии на своята дистрибуция. Стъпки за инсталиране на Linux shell.

    презентация, добавена на 23.05.2010 г

    Акценти от историята на операционните системи, които свързват хардуер и приложни програми. Характеристики на операционната система Microsoft Windows Seven, анализ на операционната система Linux. Предимства и недостатъци на всяка операционна система.

    курсова работа, добавена на 07.05.2011 г

    Избор на инструменти за разработване на инсталационна програма за разпространение. Внедряване на модул за дистрибуцията на Gentoo, работещ съгласно ръководството за потребителя на тази система. Тестване на инсталационната програма на различни архитектури.

    дисертация, добавена на 18.07.2013 г

    Етапи на зареждане на Linux система, регистрация. Управление на потребителски акаунти. Принципът на именуване на устройствата, предназначението и използването на специални файлове. Управление на файлове, достъп до файловата система, задачи. Основна файлова структура на Linux.

    ръководство за обучение, добавено на 15.11.2014 г

    Разглеждане на различни дистрибуции на операционни системи. Проучване на протоколи за обмен на данни и формати за физическо съхранение на данни. Разработване на дистрибуция, базирана на операционната система Linux за работа като част от мрежовото хранилище StarNAS.

    курсова работа, добавена на 05.11.2015 г

    Характеристики на зареждане на операционната система Linux в терминален режим, влизане и регистриране на потребители. Извършване на преназначаване на файлове, използване за работа с команди на операционната система. Приложение на софтуерни канали (конвейери).

Операционната система се съхранява във външна памет, обикновено на твърд диск, по-рядко на дискета. За нормалната работа на компютъра е необходимо основните модули на операционната система да са в RAM. Следователно, след включване на компютъра, операционната система автоматично се презаписва (зарежда) от диска в RAM. Най-важните аспекти на това натоварване са изобразени под формата на алгоритъм на фиг. 9.13.

Ориз. 9.13.Алгоритъм за зареждане на операционната система от диск в RAM

След като включите компютъра, виждате как се променят числата на екрана. Тези цифри отразяват процеса на тестване на RAM от програмата BIOS. Ако бъде открита повреда в RAM клетките, ще се покаже съобщение.

След успешно завършване на хардуерното тестване се осъществява достъп до устройството с флопи диск А, като индикаторната лампичка до него светва. Ако зареждате операционната система от дискета, тогава преди или по време на тестването трябва да поставите системния диск в устройство A. В противен случай, ако няма операционна система на диск A, твърдият диск е достъпен, както се вижда от индикатора светлина до него.

Започва четене в RAM на 0-ия сектор от 0-та страна на диска, в който се намира буутлоудъра (BOOT RECORD). Контролът се прехвърля към буутлоудъра, който проверява за наличието на разширителния модул IO.SYS и базовия модул MSDOS.SYS на системния диск. Ако са на определеното им място (см.ориз. 9.10), след което ги зарежда в RAM, в противен случай ще се покаже съобщение за липсата им. В този случай се препоръчва повторно изтегляне. Сигналът за рестартиране прехвърля управлението към постоянния BIOS модул, който отново записва блока за зареждане от диска в RAM и т.н.

Помня!За рестартирайте операционната системанатиснете клавишите едновременно в паметта .

След успешно зареждане на разширителния модул IO.SYS и базовия модул MSDOS.SYS в RAM, се зарежда командният процесор COMMAND.COM и се обработва конфигурационният файл CONFIG.SYS, който съдържа команди за свързване на необходимите драйвери. Този файл може да липсва, ако сте доволни от базовата версия на операционната система.



След това пакетният файл AUTOEXEC.BAT се обработва. С помощта на този файл можете да конфигурирате параметрите на работната среда. Например, създайте виртуален диск, сменете режимите на печат, заредете спомагателни програми и т.н.

внимание!Файловете с разширение .BAT играят специална роля при работа в системна среда. Те съдържат набор от команди на операционната система или имена на изпълними файлове. След стартиране на файл с разширение .BAT всички записани в него команди се изпълняват автоматично една след друга.

Файл със стандартно име AUTOEXEC.BAT се различава от другите файлове от типа .BAT по това, че изпълнението на поставените в него команди започва автоматично веднага след зареждането на операционната система.

Ако файлът AUTOEXEC.BAT липсва, ще бъдете подканени да въведете дата и час:

ако натиснете клавиша enter, така наречените системни параметри, определени от таймера на компютъра, ще бъдат приети като текуща дата и час;

Ако искате да нулирате системната дата и час, след това в отговор на подканата въведете стойностите в една от предоставените форми, например:

10-25-1997 (месец ден година)

7:30:10.00r (часове:минути:секунди)

След като файлът AUTOEXEC.BAT приключи и ако този файл не бъде намерен, на екрана на дисплея ще се покаже подкана за системен диск, напр. C:\>.Това показва, че процесът на зареждане е завършил нормално и можете да започнете работа, като въведете името на приложението или командата на операционната система.

Забележка.Файловете CONFIG.SYS и AUTOEXEC.BAT може да липсват. В този случай настройките на работната среда ще бъдат зададени по подразбиране.

Помня!Твърдият диск трябва постоянно да съхранява операционната система.

Когато включите компютъра си, всички флопи устройства трябва да са отворени.

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



ТЕХНОЛОГИЯ НА РАБОТА В MS DOS

§ Преглед на командите

§ Основни команди за работа с директории

§ Основни команди за работа с файлове

§ Основни команди за работа с дискове

§ Създаване и използване на пакетен файл

§ Команден файл за автоматично конфигуриране на операционната система AUTOEXEC.BAT

§ Конфигуриране на операционната система с помощта на конфигурационния файл CONFIG.SYS

ОБЩА ИНФОРМАЦИЯ ЗА ЕКИПИТЕ

Алгоритъм за зареждане на операционната система

Операционната система се съхранява във външна памет, обикновено на твърд диск, по-рядко на дискета.

Струва си да се каже, че за нормалната работа на компютъра е изключително важно основните модули на операционната система да са в RAM. Поради тази причина след включване на компютъра операционната система автоматично се пренаписва (зарежда) от диска в RAM.

- пренаписване на операционната система от диск (твърд или флопи) в RAM.

След включване на компютъра се наблюдава промяна в числата на екрана. Тези числа отразяват процеса на тестване на RAM с програмата BIOS. Ако бъде открита повреда в RAM клетките, ще се покаже съобщение.

След успешно завършване на хардуерното тестване се осъществява достъп до устройството с флопи диск А, като индикаторната лампичка до него светва. Ако операционната система е заредена от флопи диск, трябва да поставите системния диск в устройство A преди или по време на тестване.В противен случай, ако няма операционна система на диск A, твърдият диск е достъпен, както се вижда от индикатора светлина до него.

Започва четене в RAM на 0-ия сектор от 0-та страна на диска, в който се намира буутлоудъра (BOOT RECORD). Контролът се прехвърля към буутлоудъра, който проверява за наличието на разширителния модул IO.SYS и базовия модул MSDOS.SYS на системния диск. Ако са на мястото, определено за тях, тогава ги зарежда в RAM, в противен случай ще се покаже съобщение за липсата им. В този случай се препоръчва повторно изтегляне. Сигналът за рестартиране прехвърля управлението към постоянния BIOS модул, който отново записва блока за зареждане от диска в RAM и т.н.

ЗАБЕЛЕЖКА!За рестартирайте операционната системанатиснете клавишите едновременно в паметта<Сtгl> <АLT> .

След успешно зареждане на разширителния модул IO.SYS и базовия модул MSDOS.SYS в RAM, се зарежда командният процесор COMMAND.COM и се обработва конфигурационният файл CONFIG.SYS, който съдържа команди за свързване на необходимите драйвери. Този файл може да липсва, ако потребителят е доволен от основната версия на операционната система.

След това се обработва командния файл AUTOEXEC.BAT. Този файл се използва за конфигуриране на параметрите на работната среда. Например, създайте виртуален диск, сменете режимите на печат, заредете спомагателни програми и т.н.

Забележка!Файловете с разширение .BAT играят специална роля при работа в системна среда. Οʜᴎ съдържат набор от команди на операционната система или имена на изпълними файлове. След стартиране на файл с разширение .BAT всички записани в него команди се изпълняват автоматично една след друга.

Файл със стандартно име AUTOEXEC.BAT се различава от другите файлове от типа .BAT по това, че изпълнението на поставените в него команди започва автоматично веднага след зареждането на операционната система.

Ако файлът AUTOEXEC.BAT липсва, ще бъдете подканени да въведете дата и час:

ако натиснете клавиша enter, така наречените системни параметри, определени от таймера на компютъра, ще бъдат приети като текуща дата и час;

Ако искате да нулирате системната дата и час, след това в отговор на подканата въведете стойностите в една от предоставените форми, например:

10-25-1997 (месец ден година)

7:30:10.00r (часове: минути: секунди)

След като файлът AUTOEXEC.BAT приключи работата си, а също и ако този файл не бъде открит, на екрана на дисплея ще се покаже подкана за системен диск, напр. C:\>.Това показва, че процесът на зареждане е завършил нормално и можете да започнете работа, като въведете името на приложната програма или командата на операционната система.

Забележка.Файловете CONFIG.SYS и AUTOEXEC.BAT може да липсват. В този случай настройките на работната среда ще бъдат зададени по подразбиране.

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

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

Тестван от програмата

Заредете Без товар

на гъвкав твърд бр

диск диск

Четене от дискета Прочетете. с жест диск

IO.SYS, MSDOS.SYS в сектора за зареждане"

Заредете Няма съобщение

правилно? „Няма системни файлове“

командване. Com „Няма системни файлове“

и файла CONFIG.SYS