Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Autor | Správa |
---|
Registrovaný: 04.11.09 Prihlásený: 28.11.09 Príspevky: 15 Témy: 3 | 3 |
Ahoj mam taku otazku.. co sa deje v skratke ked sa spusti nejaky program akoze potreboval by som trosku popisat ze ako sa zdrojovy kod toho programu zmeni na 1 a 0 a kam to putuje atd. aby to potom procesor vykonal
|
|
Registrovaný: 25.03.08 Prihlásený: 07.02.10 Príspevky: 72 Témy: 9 | 9 |
Inštrukcie programu uložené v operačnej pamäti sa vykonávaj v jadre procesora.
Super stručná odpoveď.
_________________ I am sorry, did I break your concentration? |
|
Registrovaný: 11.01.09 Prihlásený: 30.01.25 Príspevky: 1397 Témy: 10 | 10 Bydlisko: Hrinova |
Na odpoveď pre túto otázku by nestačilo pár riadkov. Je to dosť zložitá a rozsiahla téma, pričom je viacero postupov, napríklad pri používaní DLL alebo pre 16-bitové programy je postup dosť rozdielny, pri iných platformách operačného systému, hardware takisto hrá úlohu, atď. Proste neexistuje akási presná definícia, ale v podstate kolega to vystihol dosť presne, ale pre teba asi málo výstižne. Skúsim ti to opísať, ako by to asi prebiehalo na 32-bitových Windows:
danciwo píše: ked sa spusti nejaky program, ako sa zdrojovy kod toho programu zmeni na 1 a 0
Ono, keď spustíš program, tak ten program už nie je zdrojový kód - program už je binárny súbor, pričom tá "premena" sa vlastne deje pri kompilácii a linkovaní. Pri kompilácii sa celý zdrojový kód pretvorí (najčastejšie) na strojový kód, ku ktorému má najbližšie jazyk symbolických adries assembler (každá inštrukcia procesora má nejaké symbolické označenie). Každý PE-súbor (spustiteľný súbor, DLL, ovládač jadra, ...) má svoju určitú štruktúru, tzn. na akej adrese (bavíme sa o RAW adrese, tj adrese umiestenia v súbore, nie v pamäti) má uložené aké informácie o danom programe - teda kde začína program entry point, tabuľka importov, sekcií, atď. Takže ak dôjde k spusteniu určitého programu, ten bude načítaný do operačnej pamäte (v chránenom režime procesora nie sú dáta a kód v tom istom segmente) a bude mu pridelený určitý procesorový čas (ten závisí od privilégií tohto programu). Ak príde "rad" na tento náš program, nastavia sa potrebné registre, najmä páry registrov CS:EIP, ktorých kombinácia ukazuje na nasledujúcu inštrukciu programu, ktorá sa má vykonať. Takto budú prebiehať operácie, ktoré ma program vykonávať a po odovzdaní riadenia operačnému systému ho ten odstráni z operačnej pamäte.
|
|
Registrovaný: 20.11.07 Prihlásený: 04.07.12 Príspevky: 405 Témy: 89 | 89 |
A ako funguje slucka ja napisem program text na obrazovku a ten prejde do subora zkomplovaného mam strojovy kod.
Cize ten stroj musi mat nejaky system tiez a ako vie ze ma to poslat na obrazovku?
|
|
Registrovaný: 20.11.07 Prihlásený: 04.07.12 Príspevky: 405 Témy: 89 | 89 |
a ked chcem robit hry co sa mam ucit?aky jazyk a tak
|
|
Registrovaný: 17.04.08 Prihlásený: 29.01.25 Príspevky: 13280 Témy: 425 | 425 Bydlisko: Myjava |
hry? na hry si najmi kvalitny programatorsky team a priprav si kopec penazi. kedze si neuviedol,ake hry chces robit.
_________________ PC: MSI B450 GAMING PLUS / AMD Ryzen 5 2600 / SilentiumPC Fera 3 HE1224 / ADATA XPG Spectrix D40 DDR4 2x8GB / Gainward GeForce GTX 1060 Phoenix 6GB / Adata XPG Gammix S11 M.2 SSD 480GB NVMe / Seagate BarraCuda HDD 2TB / WD Green 4TB / WD My Book Essential 3.0 2000GB / WD Elements 2000GB / ASUS BW-16D1HT / Creative Sound Blaster Audigy RX / Corsair CX450M / SilentiumPC Regnum RG4T / Dell P2719H / Microsoft Natural Ergonomic Keyboard 4000 / Logitech G102 Prodigy Gaming Mouse / Microlab SOLO9C / Microlab B77 / SONY WH-1000XM4 / Koss Porta Pro / Microsoft Windows 10 64-bit FPP PC (history): ASUS M4A785TD-V EVO / Athlon II X4 640 / Hynix 8GB (2x4GB) DDR3 1600 MHz / Sapphire HD7750 1GB Ultimate Silent Series / AMD Radeon R3 120GB / Seagate 7200.12 500GB / Samsung SH-S223L / Creative Sound Blaster X-Fi XtremeMusic / Axago PCEU-43R USB3.0 / TP-LINK TG-3269 / Corsair VS450 / 24" BenQ G2420HDBL / Gigabyte GT-U8300 NTB: Huawei MateBook D15 NTB2: Alcatel PLUS 10 LTE NTB3: MSI M670X-091SK / Transcend 2x1GB DDR2 667MHz Phone: Samsung Galaxy S9 Phone2: Samsung Galaxy S20+ Turntable: Tesla NC 470 / Ortofon OM 5E |
|
Registrovaný: 11.01.09 Prihlásený: 30.01.25 Príspevky: 1397 Témy: 10 | 10 Bydlisko: Hrinova |
euthanan píše: a ako vie ze ma to poslat na obrazovku? Obrazovka je obyčajný výstup a každé vstupno/výstupné zariadenie komunikuje s procesorom cez určitú komunikačnú zbernicu. Teda ak chceš v programe vypísať nejaký text na obrazovku (pre jednoduchosť berme v úvahu 16-bitovú aplikáciu), použiješ na to službu prerušenia (napr int 21h). Vyvolá sa rutina prerušenia, ktorá vyšle grafickej karte potrebné údaje (text, farba, súradnice, ...) a tá to vykresli na obrazovku. (* opäť je to len zjednodušene povedané *) euthanan píše: a ked chcem robit hry co sa mam ucit?
Matematiku, fyziku a algoritmické riešenia úloh. Jazyk nie je až taký podstatný (i keď kvôli rýchlosti sa uprednostňuje C++).
|
|
Registrovaný: 02.11.07 Prihlásený: 18.03.15 Príspevky: 470 Témy: 22 | 22 Bydlisko: Zilinska Un... |
Mno ak ces tvorit hry, tak koli rychlosti ako uz bolo povedane C++ a v kombinacii s graf implementaciou Direct3D alebo OpnGL, je jedno co si vyberies, v podstate vysledny efekt je rovnaky, Ak s tym chces zacat, tak ti mozem pomoct kde a ako zacat a co si vybrat, co je v com lepsie DirectX or OpenGL.
Fico píše: Vyvolá sa rutina prerušenia, ktorá vyšle grafickej karte potrebné údaje (text, farba, súradnice, ...) a tá to vykresli na obrazovku.
Ano to je pravda, ale dnes sa uz vsetko riesi cez Shadery, cize graficky procesor GPU vsetko pocita sam aj vykresluje, cize data sa z ramky daju poslat priamo do GPU resp. ramky grafiky, cize CPU robi minimum, co sa tyka grafiky.
_________________ Notebook: HP EliteBook 8740w
You can see my work in my www |
|
Registrovaný: 12.10.06 Prihlásený: 30.01.25 Príspevky: 20652 Témy: 79 | 79 Bydlisko: Banska Byst... |
euthanan píše: a ked chcem robit hry co sa mam ucit?aky jazyk a tak
najprv by si mal vyrast z podobnych pubertalnych otazok, a az si zistis ako funguje PC a co sa kde pouziva, potom mozes o niecom takom rozmyslat.
_________________ Ryzen 7 3700X | SilentiumPC Fera 3 | Asrock X570M Pro4 | Kingston FURY 32GB DDR4 3600 MHz CL18 Beast Black | Gainward RTX4060 Ti Pegasus 8GB | Samsung 970evo Plus 250GB NVMe | Corsair MP510 1TB NVMe | Samsung 980 Pro 2TB NVMe | Corsair RM550x | 32" Samsung ViewFinity S60UA | 3x Noctua NF-S12B redux 1200 PWM Xiaomi 14T 256GB |
|
Registrovaný: 20.11.07 Prihlásený: 04.07.12 Príspevky: 405 Témy: 89 | 89 |
ono sa to akosi postupne uz zoskupuje vsetky programy a tak sa robia uz pomaly hardwerovo a menej softwerovo a vsetko sa to zmensuje integruje a zachvilu nebudeme vediet ani ze na zaciatku bola 1 a 0.
sak to sa neda naucit ja som z toho blbec
|
|
Registrovaný: 19.09.06 Prihlásený: 09.01.25 Príspevky: 749 Témy: 31 | 31 Bydlisko: Ružomberok&... |
euthanan píše: ono sa to akosi postupne uz zoskupuje vsetky programy a tak sa robia uz pomaly hardwerovo a menej softwerovo a vsetko sa to zmensuje integruje a zachvilu nebudeme vediet ani ze na zaciatku bola 1 a 0. sak to sa neda naucit ja som z toho blbec
a na to si ako prisiel? Ze kedysi si dostal zdrojovy kod v asembleri a musel si si ho tabulkou prepisat na 1/0 aby si mal program pre svoj pocitac a pred par rokmi nastupila "hardwerizacia", cize si dostal CD/DVD a teraz nastava miniaturizacia, kedze dostanes USB? Lebo inak si to co pises nedokazem vysvetlit. Si na tomto fore uz 2 roky (budes za 5 dni), nauc sa uz preboha precitat si to co po sebe napises a zamysliet sa nad tym ci to ma nejaky zmysel, prosim ta.
|
|
Registrovaný: 20.11.07 Prihlásený: 04.07.12 Príspevky: 405 Témy: 89 | 89 |
tak ako fungje pc musi tam mat obvody a nejake kody(dierkova paska nie")podla ktorych toto robi je to system nie zlozity vyvyjany dlho a pochopit ho od hello world je asi dost zlozite nemyslis?nedalo by sa to od 1 a 0 az po hello world?
|
|
Registrovaný: 19.09.06 Prihlásený: 09.01.25 Príspevky: 749 Témy: 31 | 31 Bydlisko: Ružomberok&... |
presne o tomto hovorim, dakujem za nazornu ukazku ako sa da napisat nezrozumitelny prispevok.
|
|
Registrovaný: 12.10.06 Prihlásený: 30.01.25 Príspevky: 20652 Témy: 79 | 79 Bydlisko: Banska Byst... |
euthanan píše: tak ako fungje pc musi tam mat obvody a nejake kody(dierkova paska nie")podla ktorych toto robi je to system nie zlozity vyvyjany dlho a pochopit ho od hello world je asi dost zlozite nemyslis?nedalo by sa to od 1 a 0 az po hello world?
omg...chces vediet ake ma PC obvody? bez za vyropbcom maticnej dosky.
chces vediet co s stane ked spustis program? bez za vyrobcom windowsu, vyrobcom grafiky, pamati, procesora. Ti ti to vysvetlia tak podrobne, ze budes z toho plakat, nakolko nic nepochopis.
A neviem co cakas ze najdes tuna, nik ti tu nebude pisat 2 stranovy epos o tom, ako sa program po spusteni nacita do RAM, posle do CPU, tam sa to dekoduje na instrukcie, prezenie sa to vypocetnymi jednotkami a na konci je zobrazeny text. Jednak to tu nik takto dopordobna nevie, a podruhe by si to aj tak nepochopil.
_________________ Ryzen 7 3700X | SilentiumPC Fera 3 | Asrock X570M Pro4 | Kingston FURY 32GB DDR4 3600 MHz CL18 Beast Black | Gainward RTX4060 Ti Pegasus 8GB | Samsung 970evo Plus 250GB NVMe | Corsair MP510 1TB NVMe | Samsung 980 Pro 2TB NVMe | Corsair RM550x | 32" Samsung ViewFinity S60UA | 3x Noctua NF-S12B redux 1200 PWM Xiaomi 14T 256GB |
|
Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
|