
Jde sám o sobě nabootovat program?
Vytvoril jsem program v C++/Visual Studiu 2013 a chci se zeptat jestli jde napr v BIOSu sam o sobe nabootovat bez dalsiho OS?
Vytvoril jsem program v C++/Visual Studiu 2013 a chci se zeptat jestli jde napr v BIOSu sam o sobe nabootovat bez dalsiho OS?
Zpět do poradny Odpovědět na původní otázku Nahoru
záleží od programu,... samozrejme ak je naprogramovaný tak, tak to jde....
obvykle ne.
podívej se, jak vypadají různá bootovací .iso
ještě že už jdou prázdniny do pr...
Cože? Třeba že chceš nabootovat kalkulačku? A nejlépe .exe, ne?
Pověz nám o programu víc.
Nejde, OS je potreba vzdy, muze byt soucasti programu, ale musi tam byt.
Nemusi, ale pokud budes tvorit cokoli slozitejsiho, tak se k potrebe OS (nebo neceho jako OS) stejne dostanes.
Napriklad i bez OS muzes napsat program, ktery po spusteni zacne ve smycce posilat nuly a jednicky na dany port, kam kdyz pripojist repracek, tak se ti ozve ton - je to program, OS nepotrebuje, pamet muze mit alokovanou staticky, vlakna neresi, ani priority, ani preruseni ci preriferie, proste haze bity vidlema z jedne hromady na druhou, celkem zabere par byte (tak radove 20-30), kde tam vidis minimalisticky OS?
program musi bezat na nejakom OS, aj uplne minimalistickom, ale OS byt proste musi.
Nemusi.
OS je program - na jakem OS podle tebe bezi OS? :)
OS nie je program... Definíciu nájdeš napr. na Wikipedii...
https://cs.wikipedia.org/wiki/Opera%C4%8Dn%C3%AD_s yst%C3%A9m
Operační systém je v informatice základní programové vybavení počítače ...
ma to instrukce identicke s instrukcemi "obycejnych" programu, pouziva to stejne postupy, stejny HW, stejne misto v pameti, jen se neco spusti driv a neco pozdeji. Neni mezi tim podstatny rozdil.
co bolo skorej, kura ci vajce.
ako pise kolega, OS je daco ine.
keby si takto rozmyslal, nedoberies sa nikdy vysledku.
Program ktory je robeny tak aby bezal bez OS moze bezat aj bez OS.
Nejake exe z visual C++ 2013 bez specialnych uprav bez OS samozrejme bezat nebude ani nahodou.
Áno, "neumišProgramovat"... Človek, ktorý nerozumie tomu ako funguje OS, pre ktorý "vytvoril" program, by sa do toho nemal vôbec srať...
Zalezi od programu, (mozna i jeho frameworku), naprogramovani, vytvoris bootovaci sektor, at na Lin. jadre, nebo kdyz na to dojde, pres MS-DOS, Smartdrv.EXE , Autoexec.bat etc, vytvoris/"Boot_Loader, BootMain " , v c++ asi v Master Boot Record (MBR) ulozis ho do /vpíses pod 0000:7C00 u bootovaci sekvenci.
(nebo zkratka, aby se alespon nekde mohl skompilovat)
TiP~ Zezen jsi nakou knihu "DOS" pro uplné zacatecniky.
Visual studio 2013 nevie robit ani 16bitove aplikacie, ani linuxove aplikacie, takze z toho bude asi dost smutny :) Ano ked chce rychly boot tak bud 16bitovy DOS program alebo linux alebo UEFI aplikaciu
V principu jde (i OS je pouha smecka programu a knihoven sikovne zorganizovanych a teoreticky by sla napsat v tom C++), ale prakticky to, co ti vypadne z Visual studia (i jednoduchy Hello World) predpoklada pritomnost OS kazdym krokem, od samotneho zavedeni do pameti, prez nahrani knihoven az po prima volani OS pro vsechny sluzby.
Pokud se musis takto ptat, tak si muzes byt takrka jist, ze cokoli napises ti bez OS nepobezi, natoz spravne, nemluve o tom, ze by to bez nej neco delalo.
ono sú programi ktoré bežia bez OS, bez MBR na disku atd (áno napríklad jeden program za ktorého meníš velkosť particií na disku "partition magic pro" je vlastne program ktory sa bootuje,...) ale musia mať vlastné "microjadro" DOSu,... proste ak nemá zavádeč tak nemá ho jak spustiť.
Aj DOS je OS. Ten program bezi na OS.
Kdyz pomineme legrace uvnitr v CPU (on takovy klasicky CISC jako X86 uz je v soucasnosti emulovan uvnitr RISCu pomoci mikroinstrukci ...),
tak po zapojeni pocitace CPU je "zadratovane" tak, ze skoci na dane misto v pameti, kde je obvykle ROM s programem, kteremu se se casto rika BIOS (nebo noveji UEFI) a zacne tam provadet nejake instrukce.
Tento program vetsinou otestuje spoustu veci, jako treba jestli je nejaka dostupna RAM, disky, klavesnice, graficke adaptery a jine veci, ktere muzou a nemusi byt a muzou se lisit a kdyz ma o tom nejakou predstavu (a co je potreba, tak tomumu poslal nejake instrukce, co to ma jako udelat, terba iniciovat tu grafiku, pokud je), tak se bud zacne venovat pozadavkum u8zivatele (setup screen), nebo si nekde (dle nastaveni na disku, siti, ...) najde nejekay jiny program, ktery natahne do pameti a preda mu rizeni (MBR, bootloadery a tak)
Takovy bootloader se treba podiva na dalsi mista na disku, neco si odtamtud natahne do pameti (sve pokracovani), necim se zkonfiguruje, pocka si, jetli uzivatel treba neco nechce a kdyz ne, tak si najde neco dalsiho (nejaky vhodny program) ke spusteni, treba takovy memtest, nebo operacni system, nebo tak neco, zase to nahraje do pameti a preda tomu rizeni
Takovy OS si zase precte nejruznejsi konfigurace, osaha pocitac zevnitr a rozvrhne treba spravu pameti a tak, pospousti nejake programy z disku nebo odjinud a trebe se i casem podiva, jestli uzivatel neco nechce, treba spustit nejake dalsi programy ...
Ovsem nikde neni psano, ze bootloader musi spustit OS (treba takovy memtest OS vlastne nepouziva), ba dokonce, ze vubec musi spustit neco - klidne si muze bezet az do vypnuti stroje, psat po obrazovce, cist klavesy, reagovat na sit, cist disk (stejne tohle vsechno v ruzne mire dela) a pak treba vynout pocitac, aniz by vubec nejaky OS spustil.
Ostatne to muze klidne i BIOS, vubec nemusi spoustet nejake bootloadery. A neni problem si "vypalit" vlastni pamet s nejakym programem a dat ho misto BIOSu, takze se po zapnuti pocitace spusti tento program. (muze byt problem takovy program napsat, aby byl spravne a zajimavy a tak dal, stejne jako u jakehokoli jineho programu - stejne to nakonec jsou jen nejake nuly a jednicky kdesi)
Sam si ted nejake takove programky pisu (sice ne pro X86, ale pro jine pocitace, principialne zadny rozdil), a ty fakt bezi na holem zeleze a zadny OS, ani mikrojadro neobsahuji.
Kde je podle tebe mikrojadro v nasledujicim programu:
nepouziva zadne knihovny, zadne rutiny ulozene kdekoli jinde, da se do nej primo nabootovat, neco malo dela a krome nej tam nebezi uz nic jineho
Naprogramuj si UEFI aplikaciu. Jak, najdi si googlom.
Alebo si urob CD s WinPE alebo live XP apod a spustaj svoj program v tom.