мини|десно|300п|GNU/Linuks GRUB pokretač operativnog sistema. мини|десно|300п|GNU/Linuks LILO pokretač operativnog sistema.
Pokretač operativnog sistema () je računarski program za učitavanje operativnog sistema.
Računari mogu da izvršavaju samo programe koje nađu u ROM ili RAM memoriji. Operativni sistemi se nalaze na tvrdim diskovima, često i na prenosivim uređajima. Kada se računar uključuje, on nema učitan operativni sistem u memoriji. Računarski hardver ne može sam da izvršava učitavanje operativnog sistema s tvrdog diska, stoga se pojavljuje paradoks: da bi se učitao operativni sistem, jedan operativni sistem već mora biti učitan. Rešenje je pronađeno u malom programu, nazvanom -{bootloader}-. Njegova svrha je da učita programe koji su neophodni za pokretanje operativnog sistema.
Uz pomoć njega je moguće pokretati i nekoliko operativnih sistema na jednom računaru. Poznatiji pokretači operativnog sistema su GRUB i LILO.
Istorija
Primeri pre ROM memorije
Rani računari Rani računari u četrdesetim i pedesetim godinama prošlog veka bili su jedinstveni inženjerski proizvodi koji su zahtevali više nedelja za programiranje. Učitavanje programa bio je jedan od mnogih problema koji su morali rešiti. Rani računar, -{ENIAC}-, nije imao nijedan program pohranjen u memoriji.
-{EDSAC}- sistem je koristio uniselektor za prenos fiksnog programa u memoriju kada se pritisne tipka za pokretanje. Program pohranjen na ovom uređaju, koji je Dejvid Viler dovršio krajem 1948. godine, učitavao je dalja uputstva pokretanja za računar sa bušenih traka.
Prvi komercijalni računari Prva programibilni računari za komercijalnu prodaju, poput -{UNIVAC I}- i -{IBM 701}- imali su malo jednostavniji rad. Obično su uključivali uputstva za operacije unosa ili izlaza. Ista hardverska logika mogla se koristiti za učitavanje sadržaja bušenih kartica ili drugih ulaznih medija, poput magnetnog bubnja ili magnetne trake, koji su na sebi imali program za pokretanje.
thumb|250px|Program za učitavanje na bušenoj kartici za -{IBM 1130}- (1965) Računar -{IBM 701}- (1952–1956) imao je dugme „Učitaj“ koje je pokrenulo čitanje prve 36-bitne reči u glavnu memoriju sa bušene kartice, magnetne trake ili jedinice magnetnog bubnja. Leva 18-bitna polovina reči je imala uputstva za izvršenje, koja je obično učitavala dodatne reči u memoriju.From Gutenberg to the Internet, Jeremy M. Norman, 2005, page 436, Zatim se izvršavao početni program za učitavanje, koji je kasnije učitavao mnogo veći program sa istog medija u memoriju. Termin učitavanje (-{„boot”}-) se u tom smislu koristio od najmanje 1958. godine. thumb|250px|left|-{IBM System/3}- konzola iz 1970-ih. Prekidač za odabir u donjem levom čošku; Prekidač za učitavanje je u donjem desnom čošku.
IBM Sistem/360 i naslednici Na -{IBM System/60}- i njegovim naslednicima, uključujući trenutne -{z/Architecture}- mašine, postupak pokretanja poznat je kao Početno učitavanje programa (-{Initial Program Load - IPL}-).
-{IBM}- je ovaj izraz koristio za 7030 (-{Stretch}-), i ponovo ga koristio za -{System/360}- te ga nastavlja koristiti u tim okruženjima i danas.
Miniračunari thumb|250px|Prednja ploča -{PDP-8/E}- prikazuje prekidače koji se koriste za učitavanje programa za pokretanje Miniračunari, počevši od -{PDP-5}- i -{PDP-8}- (1965) su imali još jednostavniji način za pokretanje. Miniračunari su imali način da sačuvaju jedan mali program u svoju memoriju koja nije gubila informacije nakon što je ugašena. Međutim, neka greška u programu je mogla da prebriše čitavu tu memoriju koja je bila bazirana na feritnom magnetnom jezgru i onemogući pokretanje sistema.
Ostali miniračunari koji su koristili sličan sistem pokretanja uključuju Hjulet-Pakardovu seriju -{HP 2100}- (sredina 1960-ih), originalni -{Data General Nova}- (1969) i -{DEC}--ov -{PDP-11}- (1970).
Najraniji mikroračunari, poput Altair 8800 (1975) nisu imali hardver za pokretanje sistema.
Integrisana ROM memorija thumb|250px|-{Intel 2708 EPROM}- „čip” na elektroničkoj ploči. Proces pokretanja miniračunara i mikroračunara je uvođenjem memorije koja se može samo čitati (i nekim drugim varijantama kao što su -{EPROM}- i -{PROM}-) postao dosta lakši. Time je omogućeno da računar već ima na sebi uključen program za pokretanje. Uvođenje prvog eksternog ROM-a je izvela italijanska telekomunikacijska firma -{„Gruppi Speciali”}-, koji je 1975. patentirao Alberto Kijaramela, istraživač sa -{CSELT}--a.Ciaramella, Alberto. "Device for automatically loading the central memory of electronic processors." U.S. Patent No. 4,117,974. 1978-10-03. (submitted in 1975) -{Gruppi Speciali}- je, počevši od 1975. mogla jednim pritiskom na tipku učitati operativni sistem sa ROM memorije sastavljene od poluprovodnika, a ne iz feritnih jezgara.
Obično svaki procesor nakon ponovnog pokretanja ili paljenja, izvodi postupak pokretanja koji obično radi na principu „započni izvršavanje koda koji se nađe počev od određene adrese” ili „traži višebajtni kod na određenoj adresi i skoči na naznačenu lokaciju i započni sa izvršavanjem”. Sistem ima u sebi ROM koji se ne menja i na kojem su isprogramirane ove posebne lokacije tako da sistem može da se sam učita bez pomoći operatera. Na primer, Intel x86 procesori uvek započinju izvršavanje uputa koje počinju od adrese -{F000: FFF0}-.
Prvi Epl 1 predstavljen 1976. godine, sadržavao je PROM čipove koji su eliminirali potrebu za prednjim panelom za proces pokretanja (kao što je to bio slučaj s Altairom 8800)
-{IBM}- računari su imali firmver na -{ROM}--u koji se zvao -{BIOS}-; jedna od funkcija tog firmvera bila je obavljanje samoprovjere pri uključivanju kad je uređaj pokrenut, a zatim učitavanje softvera sa uređaja za pokretanje i njegovo izvršavanje. Firmver kompatibilan sa -{BIOS}--om na -{IBM}- računarima se koristio i na -{IBM PC}- kompatibilnim računarima. -{EFI}- kojeg je razvio Intel je bio sledeći korak u evoluciji programa za pokretanje, prvobitno za mašine bazirane na Itanijumu, a kasnije i za x86, uključujući Epl Mak računare koji su koristili Intelove procesore.
Juniks radne stanice izvorno su imale firmver na -{ROM}--u. San majkrosistems je kasnije razvio -{OpenBoot}-, kasnije poznat kao -{Open Firmware}-, koji je sadržavao interpreter -{Forth}-. Standardizovan je od strane -{IEEE}- kao -{IEEE}- standard 1275-1994; i korišten je na -{PowerPC}- Mak računarima.
Moderni programi za pokretanje
Kada se računar isključi njegov operativni sistem i podaci ostaju na neizbrisivoj memoriji kao što je tvrdi disk. Kada je računar uključen, operativni sistem ili njegov program za pokretanje nisu u memoriji nasumičnog pristupa (RAM). Računar prvo izvršava relativno mali program pohranjen u memoriji samo za čitanje (ROM), zajedno s malom količinom potrebnih podataka, kako bi pristupio uređaju ili uređajima s kojih se programi i podaci operativnog sistema mogu učitati u RAM.
Mali program koji pokreće ovaj sled poznat je kao učitavač (-{bootstrap loader}-, -{bootstrap}- ili -{boot loader}-). Jedini zadatak ovog malog programa jeste učitavanje drugih podataka i programa koji se tada izvode iz RAM-u.
Prvostupni pokretač
Pokretački učitavači mogu se suočiti sa jedinstvenim ograničenjima, posebno u pogledu veličine; na primer, na IBM PC-u i kompatibilnim komponentama, sektor za pokretanje bi obično trebalo da radi u samo 32 KB (kasnije relaksirano do 64 KB) sistemske memorije i da koristi samo uputstva podržana originalnim 8088/8086 procesorima. Prva faza PC učitavača (FSBL, prvostepeni pokretački program) koji su locirani na fiksnim diskovima i prenosnim drajvovima mora da se uklopi u prvih 446 bajtova glavnog pokretačkog zapisa kako bi se ostavilo prostora za podrazumevanu 64-bajtnu particijsku tabelu sa četiri particiona unosa i dvobajtni pokretački potpis, koji BIOS zahteva za valjan pokretački program - ili čak i manje, kada dodatne funkcije uključuju više od četiri particiona unosa (do 16 sa po 16 bajtova svaki), potpis diska (6 bajtova), vremenske oznake diska (6 bajtova), naprednu aktivnu particiju (18 bajtova) ili posebni višestruke učitavače, takođe moraju biti podržani u nekim okruženjima. U flopi i superflopi pokretačkim zapisima, do 59 bajtova je zauzeto proširenim BIOS blokom parametara na -{FAT12}- i -{FAT16}- particijama od DOS 4.0, dok -{FAT32}- EBPB uveden sa DOS 7.1 zahteva čak 87 bajtova, ostavljajući samo 423 bajta za pokretački učitavač kada se pretpostavi da je veličina sektora 512 bajtova. Majkrosoftovi pokretački sektori su stoga tradicionalno nametali određena ograničenja u procesu pokretanja, na primer, datoteka za pokretanje morala je da se nalazi na fiksnom položaju u osnovnom direktorijumu sistema datoteka i da se čuva u vidu uzastopnih sektora, uslovi koje obezbeđuje -{SYS}- naredba i koji su donekle relaksirani u kasnijim verzijama DOS-a. Pokretački učitavač je tada mogao da učita prva tri sektora datoteke u memoriju, koja je sadržala još jedan ugrađeni pokretački pokretački program koji može da se učita ostatak datoteke u memoriju. Kada je Majkrosoft dodao podršku za -{LBA}- i -{FAT32}-, oni su čak prešli na pokretački učitavač koji je dosezao dva fizička sektora i koristio 386 uputstava zarad veličine. Istovremeno, drugi proizvođači su uspeli da sabiju mnogo više funkcionalnosti u jedan pokretački sektor sistema, bez ublažavanja originalnih ograničenja na samo minimalnu dostupnu memoriju (32 KB) i podršku procesora (8088/8086). Na primer, DR-DOS pokretački sektori mogu da pronađu pokretačku datoteku u sistemima datoteka FAT12, FAT16 i FAT32, i da je učitaju u memoriju kao celinu putem CHS ili LBA, čak i ako datoteka nije uskladištena na fiksnom mestu i u uzastopnim sektorima.
Mrežno pokretanje Većina računara ima ugrađenu podršku za pokretanje putem računarske mreže. U ovom se slučaju operativni sistem se nalazi na disku servera, a određeni delovi sistema se prenose klijentu pomoću jednostavnog protokola poput TFTP. Nakon što su ovi delovi preneseni, operativni sistem preuzima kontrolu nad procesom pokretanja.
Mrežno pokretanje započinje korištenjem generalnih metoda pristupa mreži koji pruža ROM mrežne kartice, koji obično sadrži PXE sliku.
Lični računari (PC)
Uređaji za pokretanje thumb|250px|-{Windows To Go}- pokretački flaš uređaj Uređaj za pokretanje je uređaj sa kojeg se učitava operativni sistem. Moderni -{UEFI}- ili -{BIOS}- računara podržava pokretanje s različitih uređaja, obično preko lokalnih uređaja za pohranjivanje, optičkih diskova, USB uređaja, i mrežnog učitavanja.
Sled pokretanja Nakon pokretanja, x86 procesor izvršava naredbe smeštene na pretpostavljenoj adresi (adresa fizičke memorije na 16-bitnim x86 procesorima i za 32-bitne i 64-bitne x86 procesore ) koji ga upućuje na početnu tačku firmvera (-{UEFI}- ili -{BIOS}-) unutar ROM-a. Ovaj program pokreće samotestiranje pri uključivanju (POST) radi provere i inicijalizacije potrebnih uređaja poput DRAM-a.
Nakon inicijalizacije potrebnog hardvera, firmver (-{UEFI}- ili -{BIOS}-) prolazi kroz unapred postavljenu listu uređaja za pokretanje (-{„boot device sequence”}-) dok ne nađe onaj sa kojeg se može pokrenuti operativni sistem.
Napomene
Reference
Spoljašnje veze
Категорија:Рачунарски програми Категорија:Информатика Категорија:Рачунарство