{"id":87136,"date":"2020-07-04T01:42:40","date_gmt":"2020-07-03T23:42:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy"},"modified":"2020-07-04T01:42:40","modified_gmt":"2020-07-03T23:42:40","slug":"simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","title":{"rendered":"Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuntud mitmeplatvormiline simulaator ja kellelegi tundmatud takti ja rajad","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Artikli teises osas, mis k\u00e4sitleb arvutis\u00fcsteemide simulaatoreid, j\u00e4tkan arvutisimulaatorite, sealhulgas t\u00e4isplatvormilise simulaatori lihtsa \u00fclevaate andmist, millega tavakasutaja k\u00f5ige sagedamini kokku puutub, samuti takti mudelit ja radu, mis on rohkem levinud arendajate seas. <\/p>\n<p><img decoding=\"async\" alt=\"Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuntud mitmeplatvormiline simulaator ja kellelegi tundmatud takti ja rajad\" src=\"\/wp-content\/uploads\/2020\/07\/dbc7767cd563ce01b6145ac2e872d4c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nV <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">esimeses osas<\/a><\/noindex> R\u00e4\u00e4kisin, mis on simulaatorid \u00fcldiselt, ning mudelihierarhiatest. N\u00fc\u00fcd, tuginedes sellele teadlikkusele, kutsun teid s\u00fcgavamale laskuma ja r\u00e4\u00e4kima t\u00e4isplatvormilisest simulaatorist, kuidas rajad kokku panna, mida nendega hiljem teha ja taktikalise mikroarhitektuuri emulatsioonist. <\/p>\n<h3>T\u00e4isplatvormiline simulaator (full platform simulator), v\u00f5i \"\u00dcks lahingus ei ole s\u00f5dalane\". <\/h3>\n<p>\nKui on vajalik uurida konkreetse seadme, n\u00e4iteks v\u00f5rgukaardi t\u00f6\u00f6d v\u00f5i kirjutada sellele seadmele p\u00fcsivara v\u00f5i draiver, saab sellist seadet simuleerida eraldi. Siiski on selle kasutamine eraldi \u00fclej\u00e4\u00e4nud infrastruktuurist \u00fcsna ebamugav. Vastava draiveri k\u00e4itamiseks on vajalik keskpink, m\u00e4lu, juurdep\u00e4\u00e4s andmeedastuse bussile ja muu. Lisaks vajab draiveri toimimiseks operatsioonis\u00fcsteemi (OS) ja v\u00f5rguprotokolli. Sellele v\u00f5ib lisanduda eraldi pakettide generaator ja vastuste vastuv\u00f5tu server. <\/p>\n<p>T\u00e4isplatvormiline simulaator loob keskkonna kogu tarkvarakihi k\u00e4itamiseks, mis h\u00f5lmab k\u00f5ike alates BIOS-ist ja laadimisprogrammist kuni operatsioonis\u00fcsteemi ja erinevate alam\u00fcsteemideni, nagu samuti v\u00f5rguprotokoll, draiverid, ja kasutajataseme rakendused. Selleks on selles rakendatud enamik arvuti seadmete tarkvaramudeleid: protsessor ja m\u00e4lu, ketas, sisend-v\u00e4ljund seadmed (klaviatuur, hiir, ekraan) ning see sama v\u00f5rkaart. <\/p>\n<p>Allpool on Intel x58 kiibi plokk-diagramm. T\u00e4isplatvormi arvutisimulaatoris sellel kiibil on vajalik enamik loetletud seadmete rakendusi, sealhulgas neid, mis asuvad IOH (sisendi\/v\u00e4ljaande keskuses) ja ICH (sisendi\/v\u00e4ljaande juhtimiskeskuses), mis pole plokk-diagrammil detailidena joonistatud. Kuigi praktika n\u00e4itab, et paljusid seadmeid ei kasutata tarkvara, mida plaanime k\u00e4ivitada. Selliste seadmete mudeleid v\u00f5ib mitte luua. <\/p>\n<p><img decoding=\"async\" alt=\"Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuntud mitmeplatvormiline simulaator ja kellelegi tundmatud takti ja rajad\" src=\"\/wp-content\/uploads\/2020\/07\/3f62e2e7792ce06026c767146fed9912.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTavaliselt rakendatakse t\u00e4isplatvormi simulaatoreid protsessori k\u00e4su tasemel (ISA, vt. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">eelmist artiklit<\/a><\/noindex>). See, it's quite fast and inexpensive to create the simulator itself. The ISA level is also good because it remains more or less constant, unlike the API\/ABI level, which changes more frequently. Moreover, the instruction-level implementation allows for the execution of so-called unmodified binary software, meaning that already compiled code can be run without any alterations, just as it is used on real hardware. In other words, it's possible to create a copy (a dump) of the hard drive, specify it as an image for the model in a full-platform simulator, and voil\u00e0! \u2013 the OS and other programs load in the simulator without any additional actions. <\/p>\n<h3>Simulaatorite j\u00f5udlus <\/h3>\n<p><img decoding=\"async\" alt=\"Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuntud mitmeplatvormiline simulaator ja kellelegi tundmatud takti ja rajad\" src=\"\/wp-content\/uploads\/2020\/07\/870ef9d5e311044059ace05571d607ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu eespool mainitud, on kogu s\u00fcsteemi, sealhulgas k\u00f5igi selle seadmete simuleerimise protsess \u00fcsna aeglane. Kui seda teostatakse veel v\u00e4ga detailsel tasemel, n\u00e4iteks mikroarhitektuurses v\u00f5i loogilises, siis t\u00e4itmine muutub \u00e4\u00e4rmiselt aeglaseks. K\u00fcll aga on k\u00e4sutuste tase sobiv valik ja v\u00f5imaldab operatsioonis\u00fcsteemil ja programmide k\u00e4ivitamisel t\u00f6\u00f6tada kiirusel, mis on piisav kasutajale mugavaks suhtlemiseks nendega. <\/p>\n<p>Siin on paslik puudutada simulaatorite toimivuse teemat. Tavaliselt m\u00f5\u00f5detakse seda IPS-is (instructions per second), t\u00e4psemalt MIPS-is (millions IPS), mis t\u00e4histab protsessori poolt simulaatori poolt \u00fche sekundi jooksul t\u00e4idetud k\u00e4skude arvu. Samuti s\u00f5ltub simuleerimise kiirus s\u00fcsteemi j\u00f5udlusest, millel simuleerimine toimub. Seet\u00f5ttu on v\u00f5ib-olla \u00f5igem r\u00e4\u00e4kida simulaatori 'aeglustumisest' (slowdown) v\u00f5rreldes originaals\u00fcsteemiga. <\/p>\n<p>Turul turul olevad t\u00e4islahendusega simulaatorid, nagu QEMU, VirtualBox v\u00f5i VmWare Workstation, pakuvad head j\u00f5udlust. Kasutaja ei pruugi isegi m\u00e4rgata, et t\u00f6\u00f6 toimub simulaatoris. See juhtub t\u00e4nu protsessorites rakendatud virtualiseerimisele, binaarsele t\u00f5lkele ja teistele huvitavatele elementidele. See on k\u00f5ik teema eraldi artiklile, kuid l\u00fchidalt \u00f6eldes, virtualiseerimine on kaasaegsete protsessorite riistvaraline v\u00f5imalus, mis v\u00f5imaldab simulaatoritel mitte simuleerida k\u00e4ske, vaid edastada need otse reaalsesse protsessorisse, kui simulaatori ja protsessori arhitektuur on sarnased. Binaarne t\u00f5lge on k\u00fclalistem\u00fc\u00fcrikoodi t\u00f5lkimine host-koodi ja selle j\u00e4rgnevalt sooritamine reaalses protsessoris. Tulemuseks on, et simuleerimine on vaid veidi aeglasem, 5\u201310 korda, ja tihti t\u00f6\u00f6tab see \u00fcldse sama kiiresti kui reaalne s\u00fcsteem. Kuigi sellele m\u00f5jutab palju tegureid. N\u00e4iteks, kui soovime simuleerida s\u00fcsteemi, millel on m\u00f5ned tosinad protsessorit, siis kiirus kukub kohe mitmek\u00fcmne korra v\u00f5rra. Teiselt poolt toetavad Simicsi t\u00fc\u00fcpi simulaatorid viimastes versioonides mitme protsessoriga host-seadmeid ja t\u00f5husalt jaotavad simuleeritud tuumad uute protsessori tuumadele. <\/p>\n<p>Kui r\u00e4\u00e4kida mikroarhitektuuri simuleerimise kiirusest, siis on see tavaliselt mitme j\u00e4rgu v\u00f5rra, umbes 1000\u201310000 korda, aeglasem kui tavalise arvuti t\u00f6\u00f6tlemine ilma simulatsioonita. Ja rakendused, mis toimivad loogikas\u00fcsteemide tasemel, on veel aeglasemad. Seet\u00f5ttu kasutatakse sellel tasemel emulaatorina FPGA-sid, mis v\u00f5imaldab oluliselt suurendada j\u00f5udlust. <\/p>\n<p>Allolev graafik illustreerib simulatsiooni kiiruse s\u00f5ltuvust mudeli detailsusest. <\/p>\n<p><img decoding=\"async\" alt=\"Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuntud mitmeplatvormiline simulaator ja kellelegi tundmatud takti ja rajad\" src=\"\/wp-content\/uploads\/2020\/07\/72189338a6a0c78554118f180a297813.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>S\u00fcdametoonide simulatsioon <\/h3>\n<p>\nHoolimata madalast t\u00f6\u00f6tlemise kiirusest on mikroarhitektuuri simulaatorid \u00fcsna levinud. Protsessori sisemiste plokkide modelleerimine on vajalik, et t\u00e4pselt simuleerida iga k\u00e4su t\u00e4itmise aega. Siin v\u00f5ib tekkida arusaamatus \u2013 miks mitte v\u00f5tta ja programmeerida iga k\u00e4su t\u00e4itmise aeg? Kuid selline simulaator t\u00f6\u00f6taks v\u00e4ga ebat\u00e4pselt, kuna \u00fche ja sama k\u00e4su t\u00e4itmise aeg v\u00f5ib varieeruda s\u00f5ltuvalt kutsest. <\/p>\n<p>Lihtne n\u00e4ide \u2013 m\u00e4lu p\u00e4ringu juhend. Kui k\u00fcsitud m\u00e4lurakk on vahem\u00e4lus saadaval, siis t\u00e4itmise aeg on minimaalne. Kui selles vahem\u00e4lus ei ole vajalikku teavet (\"vahem\u00e4lu tabamine\", cache miss), siis see oluliselt pikendab k\u00e4skluse t\u00e4itmise aega. Seet\u00f5ttu on t\u00e4pseks simuleerimiseks vajalik vahem\u00e4lu mudel. Siiski ei piirdu asi vaid vahem\u00e4lu mudeliga. Protsessor ei hakka lihtsalt ootama andmete saamist m\u00e4lust, kui need pole vahem\u00e4lus saadaval. Selle asemel alustab ta j\u00e4rgmiste k\u00e4skluste t\u00e4itmist, valides need, mis ei s\u00f5ltu m\u00e4lu lugemise tulemusest. See on nii-\u00f6elda \u201ej\u00e4rjestusest k\u00f5rvalekaldumine\u201d (Out Of Order Execution, OOO), mis on vajalik protsessori seiskamisaja minimeerimiseks. K\u00f5igi nende aspektide arvestamine k\u00e4skluste t\u00e4itmise aja arvutamisel aitab simuleerida vastavaid protsessoriblokke. Nende k\u00e4skluste seas, mis t\u00e4idetakse, kuni oodatakse m\u00e4lu lugemise tulemust, v\u00f5ib esineda tingimusliku h\u00fcppe operatsioon. Kui tingimuse t\u00e4itmise tulemus ei ole hetkel teada, siis protsessor ei peatu t\u00e4itmist, vaid teeb \u201eeeldamise\u201d, aitab vastavat h\u00fcpet ja j\u00e4tkab ennetavalt k\u00e4skluste t\u00e4itmist h\u00fcppe asukohast. Selline plokk, mida nimetatakse haruhalduriks (branch predictor), peab samuti olema mikroarhitektuurisimulaatoris rakendatud. <\/p>\n<p>Allpool n\u00e4idatud pilt n\u00e4itab protsessori p\u00f5hibloke, mille tundmine pole h\u00e4davajalik; see on esitatud ainult mikroarhitektuurilise teostuse keerukuse n\u00e4itamiseks. <\/p>\n<p><img decoding=\"async\" alt=\"Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuntud mitmeplatvormiline simulaator ja kellelegi tundmatud takti ja rajad\" src=\"\/wp-content\/uploads\/2020\/07\/1248d47017346153a233d4c895635569.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00f5elise protsessori k\u00f5igi nende blokki t\u00f6\u00f6 s\u00fcnkroniseeritakse spetsiaalsete taktsignaalidega, nagu toimub ka mudelis. Sellist mikroarhitektuurilist simulaatorit nimetatakse taktsimulaatoriks (cycle accurate). Selle peamine eesm\u00e4rk on t\u00e4pselt prognoosida arendatava protsessori j\u00f5udlust ja\/v\u00f5i arvutada konkreetse programmi, n\u00e4iteks mingisuguse testprogrammi, t\u00e4itmise aega. Kui v\u00e4\u00e4rtused on madalamad kui vajalikud, tuleb t\u00f6\u00f6tada v\u00e4lja algoritme ja protsessori bloke v\u00f5i optimeerida programmi. <\/p>\n<p>Nagu \u00fclal n\u00e4idatud, on taktsimuleerimine v\u00e4ga aeglane, seet\u00f5ttu kasutatakse seda ainult teatud programmide t\u00f6\u00f6 uurimiseks, kus on vajalik teada programmide tegelikku t\u00e4itmise kiirus ja hinnata seadme tulevast j\u00f5udlust, mille protot\u00fc\u00fcp on simuleeritud. <\/p>\n<p>Samuti kasutatakse programmide t\u00f6\u00f6tamise \u00fclej\u00e4\u00e4nud aja simuleerimiseks funktsionaalset simulaatorit. Kuidas selline kombineeritud kasutamine tegelikult toimub? Esiteks k\u00e4ivitatakse funktsionaalne simulaator, kus laaditakse operatsioonis\u00fcsteem ja k\u00f5ik vajalik uuritava programmi k\u00e4ivitamiseks. Meid ei huvita ei operatsioonis\u00fcsteem ise, ei programmi k\u00e4ivitamise algstaadiumid, selle seadistamine jne. Kuid me ei saa need osad vahele j\u00e4tta ja kohe programmi t\u00e4itmise keskele minna. Seega k\u00f5ik need eelnevad etapid l\u00e4bivad funktsionaalset simulaatorit. P\u00e4rast seda, kui programm on t\u00e4idetud meie huvipakkuva hetkeni, on kaks v\u00f5imalust. Saame mudeli asendada taktis\u00fcsteemiga ja j\u00e4tkata t\u00e4itmist. T\u00e4itmisre\u017eiimi, kus kasutatakse t\u00e4idetavat koodi (st tavalisi kompileeritud programmifaile), nimetatakse t\u00e4itmisjuhtimise simuleerimiseks (execution driven simulation). See on k\u00f5ige levinum simuleerimise variant. Samuti on v\u00f5imalik teine l\u00e4henemisviis \u2013 j\u00e4lgede p\u00f5hine simuleerimine (trace driven simulation). <\/p>\n<h3>J\u00e4lgede p\u00f5hine simuleerimine <\/h3>\n<p>\nSee koosneb kahest sammust. Funktsionaalse simulaatori abil v\u00f5i reaalsetes s\u00fcsteemides kogutakse ja salvestatakse programmitegevuse logi faili. Sellist logi nimetatakse j\u00e4ljendiks (trace). S\u00f5ltuvalt uuritavast sisust v\u00f5ib j\u00e4ljend sisaldada teostatavaid instruktsioone, m\u00e4luaadresse, portide numbreid ja katkestuste teavet. <\/p>\n<p>J\u00e4rgmine samm on j\u00e4ljendi \u00abm\u00e4ngimine\u00bb, kui taktsimulaator loeb j\u00e4ljendi ja t\u00e4idab k\u00f5ik seal kirja pandud instruktsioonid. L\u00f5puks saame selle programmi t\u00fckikese t\u00f6\u00f6tamise aja ning erinevaid selle protsessi omadusi, n\u00e4iteks vahem\u00e4lu tabamuse protsendi. <\/p>\n<p>T\u00e4htis aspekt j\u00e4lgimise juures on determinismi olemasolu, see t\u00e4hendab, et k\u00e4ivitades simulatsiooni eelpool kirjeldatud viisil, kulgeb iga kord sama s\u00fcndmuste jada. See v\u00f5imaldab mudeli parameetreid (vahem\u00e4lu, puhver ja j\u00e4rjekorrad) muutuvaid ja kasutades erinevaid sisemisi algoritme v\u00f5i neid kohandades uurida, kuidas teatud parameeter m\u00f5jutab s\u00fcsteemi j\u00f5udlust ning milline variant annab parimaid tulemusi. K\u00f5ike seda saab teha seadme protot\u00fc\u00fcbi mudeliga enne reaalse riistvara protot\u00fc\u00fcbi loomist. <\/p>\n<p>Selle l\u00e4henemise keerukus seisneb rakenduse eelneva l\u00e4bimise ja j\u00e4lje kogumise vajaduses ning j\u00e4lje faili tohutu suuruses. Plusside seas on see, et piisab vaid huvipakkuva osa modelleerimisest seadmest v\u00f5i platvormist, samas kui t\u00e4itmise simulatsioon n\u00f5uab tavaliselt kogu mudelit. <\/p>\n<p>Nii, selles artiklis arutame p\u00f5hjalikult platvormip\u00f5hise simulatsiooni omadusi, r\u00e4\u00e4gime erinevatel tasanditel j\u00f5udluse kiirusest, takti simulatsioonist ja radadest. J\u00e4rgmises artiklis kirjeldan peamisi kasutusv\u00f5imalusi simulaatorite jaoks, olgu need isiklikuks otstarbeks v\u00f5i suurte ettev\u00f5tete arendustegevuses.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/509294\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0442\u0440\u0430\u0441\u0441\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b \u0432 \u043a\u0440\u0443\u0433\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u0432\u043e\u043e\u0431\u0449\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87137,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0442\u0440\u0430\u0441\u0441\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b \u0432 \u043a\u0440\u0443\u0433\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u0432\u043e\u043e\u0431\u0449\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0438 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0438 \u0442\u0440\u0430\u0441\u0441\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0442\u0440\u0430\u0441\u0441\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b \u0432 \u043a\u0440\u0443\u0433\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u0432\u043e\u043e\u0431\u0449\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-03T23:42:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-03T23:42:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Arvutis\u00fcsteemide simulaatorid: k\u00f5igile tuttav platvormip\u00f5hine simulaator ja v\u00e4hem tuntud takti ning rajad | ProHoster","description":"Teises osas arvutis\u00fcsteemide simulaatorite artiklist j\u00e4tkan, tutvustades lihtsalt ja arusaadavalt platvormip\u00f5hiseid simulaatoreid, millega tavaline kasutaja k\u00f5ige sagedamini kokku puutub, samuti taktidest ja radadest, mis on arendajate seas rohkem levinud. Esimeses osas r\u00e4\u00e4kisin simulaatorite olemusest ja tasemetest.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0438 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0438 \u0442\u0440\u0430\u0441\u0441\u044b | ProHoster","og:description":"\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0442\u0440\u0430\u0441\u0441\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b \u0432 \u043a\u0440\u0443\u0433\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u0432\u043e\u043e\u0431\u0449\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-03T23:42:40+00:00","article:modified_time":"2020-07-03T23:42:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87136","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:57:25","updated":"2022-09-27 17:57:48"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=87136"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87136\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/87137"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=87136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=87136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=87136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}