Знайте, Intuit, лекция, по време на зареждане на системата

Анотация: Целта на лекцията се разглеждат основните етапи на стартиране на компютъра, като аванс на ядрото на Линукс (система независима част), както и по време на зареждане на системата (всъщност Linux). Подробности нивата на производителност и стартови скриптове. Описва необходимите стъпки, за да се спре системата.

Dosistemnaya товарене

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

Началният етап не зависи от каква операционна система е инсталирана на компютъра, за някои етапи във всяка операционна система предлага на своите решения - в голямата си част са взаимозаменяеми. Тази стъпка (изходна) dosistemnoy нарича изтегляне. От определен етап, ботуши компютърни вече управляват от самата Linux, използвани инструменти, скриптове и т.н. Тази стъпка (крайно) за натоварването на системата повикване.

Bootloader в ROM

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

Обикновено в обща компютърна програма цел от диска на потребителя нищо полезно не се случи: той е малък и винаги прави същото нещо. Леко се промени поведението на програмата от диска може да бъде по отношение на регистрираните данни в енергонезависима памет (понякога се нарича CMOS, понякога - NVRAM). Обемът на енергонезависима памет е много малък, и данните от него се съхранява след изключване на компютъра с автономно захранване (обикновено батерия като часа).

BIOS. Съкращение от "Basic за вход-изход", набор от практики в ROM. предназначени за най-простият достъпа на ниско ниво до компютър външни устройства. В съвременната операционна система се използва само в процеса на стартиране.

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

Секторът за зареждане и основната багажника

Най-често, размерът на първичния буутлоудъра твърд диск - програмата, която се дава контрол, след етапа нула - много малка. Това се дължи на изискванията на универсалността на този вид програми. Четене на данни от секторите на диска. размерът на които варира за различните видове дискови устройства (от половин до осем килобайт или повече). В допълнение, ако броим един, първия сектор на диска може да бъде винаги един и същ начин, а след това прочетох няколко сектора на команди към различни устройства може да изглежда различно. Ето защо основната зареждане на ОС обикновено отнема не повече от един сектор в началото на диска в сектора за начално зареждане.

Ако основният зареждане на ОС е малко повече, той най-вероятно самият можеше да разбере къде ядрото на операционната система. и аз ще бъда в състояние да се предположи, независимо неговото място в паметта, конфигуриране и прехвърли контрола на него. Въпреки това, ядрото на операционната система е доста сложна структура - и по този начин по-трудно начин на товарене; тя може да бъде доста голям, и че всичко неприятно, може да се намери кой знае къде на диска, се подчинява на законите на файловата система (например, се състои от няколко части, разпръснати из диска). Съвпадение всичко е основният зареждане на ОС не може. Неговата задача е по-скромни: да се определи къде е "голям" вторичен буутлоудъра на диска. изтеглите и да го стартирате. Средно товарач е проста, и може да се постави в предварително определен място на диск или в най-лошия, поставени в предварително определено място на картата. описвайки къде точно да търсят част (размера на средното зареждане на ОС е ограничено, така че да се изгради такава карта е възможно).

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

В случай на IBM-съвместим компютър с размерите на сектора за начално зареждане е само на 512 байта. от които не всички попадат на територията на програмата. Boot сектор IBM PC, наречен MBR (сектор за начално зареждане), също така съдържа разделяне на таблици. структурата на която е описана в Глава 11. Ясно е, че програмата на този размер не може да се похвали с разнообразие от функции. Стандарт за много системи зареждащ сектор може да се счита само таблицата на дяловете на диска. за да се определи така наречения зареждащ дял (активен дял) и изтеглите програмата, който се намира в началото на тази секция. За всеки тип диск може да има програма част MBR. която ви позволява да чете данни от всяко място на диска, в съответствие с неговия вид и геометрия. Въпреки това, можете да прочетете още не повече от един сектор от неизвестното, които се използват в този раздел, задаване на операционната система на втория и следващите сектори. Оказва се, че стандартния софтуер на MBR - е предварително зареждане. който чете и изпълнява истински първичен буутлоудъра от първия сектор на зареждащия дял.

Има версии на предварително зареждане. Тя предоставя на потребителя възможност да избират. с някои от секциите за извършване на натоварване 2 Например, BOOTACTV на pfdisk пакет или стандарт за FreeBSD предварително зареждане на boot0. който по силата на техните dosistemnosti. Тя може да се използва навсякъде. Това дава възможност за всеки един от инсталираните операционни системи за съхранение на основната му зареждане в началото на този раздел и да избират свободно между тях. В стандартната схема Linux обувка използва различен подход: прост първичен начално зареждане е написан директно в MBR. и избор на функцията се прехвърля към помощна зареждане на ОС на.

първично зареждане на ОС на. Първият етап на стартиране на компютъра: на програмата, размера и обхвата на които зависи от хардуерните изисквания и BIOS функции. Основната задача - да се зареди на вторичния зареждане на ОС.

ядрото товарач

Задачата на вторичния зареждане на ОС включва товарене и първоначална настройка на ядрото на операционната система. Обикновено, ядрото на системата се записва в конкретно име на файла. Но като вторичен зареждане на ОС, за да прочетете ядрото от файла. ако тази операция е функцията на ядрото в Linux. Този проблем може да бъде решен по три начина.

На първо място, ядрото не може да бъде даден файл на диска. Ако изтеглянето се случва в мрежата, то е достатъчно, за да поиска от сървъра "файл с такова име", а отговорът ще дойде цялата поредица от данни, съдържащи искания ядрото. Всички файлови операции, изпълнявани от сървъра, на който системата е вече създаден и работи. В други случаи, ядрото "задвижва" в специално по този раздел, където тя вече не е под формата на файл, и също непрекъснато парче, размера и местоположението са известни. Въпреки това, Linux не е направен, за да действа като място за специален дял на диска, например, IBM-съвместим компютър не може да бъде намерен.

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

Трето, можете да преподават вторичен зареждане на ОС да се признае, структурата на файлови системи и да намерят, където имената на файловете. Това значително ще увеличи своя размер и ще изисква "удвояване на функции" - всъщност точно същата, още по-мощен, признаването ще бъде в основата. Но от задънената улица може да се избегне, както е описано по-горе, ако, например, да не се изтрива стария си ядро ​​при инсталиране на ново и да го преименувате. След това, ако товарът на системата с новото ядро ​​не успее, може да се стартира отново, ръчно се посочва името на файла (или папка) със стария си ядро. което управлява всички работи правилно.

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

Много често, конфигурацията на вторичен зареждане на ОС осигурява няколко възможности, вариращи от няколко варианта зареждане на същото с различни настройки на ядрото (например, стандартна профил и профил с повишена изключен) до изпълненията зареждане на различни ядра, и дори различни операционни системи. Това изисква от зареждане на различни челни инструменти. От една страна, той трябва да може да работи в непретенциозна обстановка, като например обмен на данни с потребителя чрез сериен порт, който е свързан към конзолата на системата. От друга страна, ако има стандартно изображение I / O устройство, бих искал да се използва за зареждане и. Ето защо, всички товарачи са универсален текст базиран интерфейс (често доста богати възможности) и разнообразна графичен (често под формата на менюто).

Специална ситуация възниква в случаите, когато други операционни системи на компютъра (например, ако един персонален компютър се използва и за компютърни игри, е строго свързана с конкретно система). В този случай, за "универсалност" на вторичния товарач не гледайте. дори и да е в състояние да се прави разлика между множество файлови системи и множество формати за сваляне ядра. че е невъзможно да ги знае. Все пак, ако се стартира сектора на операционна система дял записани първичен зареждане на ОС. можете просто да го изтеглите, като ако това се случи точно след операцията MBR. По този начин, вторичният товарач може да действа като предварително зареждане. преминаване на управлението "верига" (chainloading). За съжаление, по-дълъг от веригата, толкова по-висока вероятност за скъсване: можете, например, зареждане на веригата на MS-DOS, извадете го с помощта на Linux дял, съдържащ вторичен товарач. и след това пак да направите тази раздел, и този резултат в компютъра неизползваем.

Средно товарач. Вторият етап на стартиране на компютъра: на програмата, размера и обхвата на които са практически независими от хардуерните изисквания. Основната задача - да се подготвят напълно и да започне зареждането на операционната система.