{"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\/ro\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","title":{"rendered":"Simulatoare de sisteme computerizate: simulatoarele de platform\u0103 complet\u0103 pe care toat\u0103 lumea le cunoa\u0219te \u0219i dou\u0103 simulat\u0103ri necunoscute.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen a doua parte a articolului despre simulatoarele sistemelor informatice, voi continua s\u0103 discut \u00eentr-o form\u0103 simpl\u0103 \u0219i accesibil\u0103 despre simulatoarele de calculatoare, \u00een special despre simularea pe platforme complete, cu care se confrunt\u0103 cel mai adesea utilizatorul obi\u0219nuit, precum \u0219i despre modelul pe cicluri \u0219i traseele care sunt mai comune \u00een cercurile dezvoltatorilor. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatoare de sisteme computerizate: simulatoarele de platform\u0103 complet\u0103 pe care toat\u0103 lumea le cunoa\u0219te \u0219i dou\u0103 simulat\u0103ri necunoscute.\" 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 \/>\n\u00cen <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">prima parte<\/a><\/noindex> Am explicat ce sunt simulatoarele \u00een general, precum \u0219i despre nivelurile de modelare. Acum, pe baza acestor cuno\u0219tin\u021be, v\u0103 propun s\u0103 ne aprofund\u0103m pu\u021bin \u0219i s\u0103 discut\u0103m despre simularea pe platforme complete, despre cum se construiesc traseele, ce se poate face cu ele \u0219i despre simularea arhitectural\u0103 pe cicluri. <\/p>\n<h3>Simulatorul pe platforme complete (full platform simulator) sau \u201eUnul \u00een c\u00e2mp \u2014 nu este un r\u0103zboinic\u201d <\/h3>\n<p>\nDac\u0103 este necesar s\u0103 cercet\u0103m func\u021bionarea unui dispozitiv specific, de exemplu, a unei pl\u0103ci de re\u021bea, sau s\u0103 scriem firmware sau driver pentru acest dispozitiv, atunci acel dispozitiv poate fi modelat separat. Cu toate acestea, utilizarea acestuia \u00een afara \u00eentregii infrastructuri nu este foarte convenabil\u0103. Pentru a lansa driverul corespunz\u0103tor, va fi necesar un procesor central, memorie, acces la magistrala de transfer de date etc. \u00cen plus, pentru func\u021bionarea driverului este necesar un sistem de operare (SO) \u0219i un stiv\u0103 de re\u021bea. La acestea se poate ad\u0103uga \u0219i un generator de pachete separat \u0219i un server de primire a r\u0103spunsurilor. <\/p>\n<p>Simulatorul pe platforme complete creeaz\u0103 un mediu pentru rularea \u00eentregului stiv\u0103 software, care include totul, de la BIOS \u0219i bootloader p\u00e2n\u0103 la SO-ul propriu-zis \u0219i diversele sale subsisteme, cum ar fi stiva de re\u021bea, driverele \u0219i aplica\u021biile de nivel utilizator. Pentru aceasta, \u00een simulator sunt implementate modele software pentru majoritatea dispozitivelor computerului: procesor \u0219i memorie, disc, dispozitive de intrare-ie\u0219ire (tastatur\u0103, mouse, ecran), precum \u0219i placa de re\u021bea. <\/p>\n<p>Mai jos este un diagram\u0103 a chipset-ului x58 de la Intel. \u00cen simulatorul complet al platformei pe acest chipset, este necesar\u0103 implementarea majorit\u0103\u021bii dispozitivelor enumerate, inclusiv a celor aflate \u00een interiorul IOH (Input\/Output Hub) \u0219i ICH (Input\/Output Controller Hub), care nu sunt reprezentate \u00een detaliu pe diagram\u0103. Cu toate acestea, a\u0219a cum arat\u0103 practica, exist\u0103 destul de multe dispozitive care nu sunt utilizate de software-ul pe care inten\u021bion\u0103m s\u0103-l rul\u0103m. Modelele acestor dispozitive ar putea s\u0103 nu fie necesare. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatoare de sisteme computerizate: simulatoarele de platform\u0103 complet\u0103 pe care toat\u0103 lumea le cunoa\u0219te \u0219i dou\u0103 simulat\u0103ri necunoscute.\" src=\"\/wp-content\/uploads\/2020\/07\/3f62e2e7792ce06026c767146fed9912.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCel mai adesea, simulatoarele complete ale platformei sunt implementate la nivelul instruc\u021biunilor procesorului (ISA, vezi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">articolul anterior<\/a><\/noindex>). Aceasta permite crearea relativ rapid\u0103 \u0219i economic\u0103 a simulatorului. Nivelul ISA este de asemenea benefic deoarece r\u0103m\u00e2ne mai mult sau mai pu\u021bin constant, spre deosebire de, de exemplu, nivelul API\/ABI, care se schimb\u0103 mai frecvent. \u00cen plus, implementarea la nivelul instruc\u021biunilor permite rularea a\u0219a-numitului software binar nemodificat, adic\u0103 rularea codului deja compilat f\u0103r\u0103 modific\u0103ri, exact a\u0219a cum este utilizat pe hardware-ul real. Cu alte cuvinte, se poate face o copie (\u201edump\u201d) a hard disk-ului, se poate specifica ca imagine pentru modelul din simulatorul complet al platformei \u0219i \u2013 voil\u00e0! \u2013 OS-ul \u0219i celelalte programe se \u00eencarc\u0103 \u00een simulator f\u0103r\u0103 nicio ac\u021biune suplimentar\u0103. <\/p>\n<h3>Performan\u021ba simulatoarelor <\/h3>\n<p><img decoding=\"async\" alt=\"Simulatoare de sisteme computerizate: simulatoarele de platform\u0103 complet\u0103 pe care toat\u0103 lumea le cunoa\u0219te \u0219i dou\u0103 simulat\u0103ri necunoscute.\" src=\"\/wp-content\/uploads\/2020\/07\/870ef9d5e311044059ace05571d607ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA\u0219a cum s-a men\u021bionat mai sus, procesul de simulare a \u00eentregului sistem, adic\u0103 a tuturor dispozitivelor sale, este un demers destul de lent. Dac\u0103 se implementeaz\u0103 totul la un nivel foarte detaliat, de exemplu, la nivel de microarhitectur\u0103 sau logic, atunci execu\u021bia va deveni extrem de lent\u0103. Nivelul instruc\u021biunilor este o alegere adecvat\u0103 \u0219i permite sistemului de operare \u0219i programelor s\u0103 ruleze la viteze suficiente utilizatorului pentru o interac\u021biune confortabil\u0103 cu acestea. <\/p>\n<p>Aici este potrivit s\u0103 abord\u0103m tema performan\u021bei simulatoarelor. Aceasta este de obicei m\u0103surat\u0103 \u00een IPS (instruc\u021biuni pe secund\u0103), mai precis \u00een MIPS (milioane IPS), adic\u0103 num\u0103rul de instruc\u021biuni ale procesorului executate de simulator \u00eentr-o singur\u0103 secund\u0103. \u00cen acela\u0219i timp, viteza simul\u0103rii depinde \u0219i de performan\u021ba sistemului pe care func\u021bioneaz\u0103 simularea \u00eens\u0103\u0219i. A\u0219adar, poate c\u0103 este mai corect s\u0103 vorbim despre \u201e\u00eencetinirea\u201d simulatorului \u00een compara\u021bie cu sistemul original. <\/p>\n<p>Cele mai comune simulatoare complete de pe pia\u021b\u0103, precum QEMU, VirtualBox sau VmWare Workstation, ofer\u0103 o performan\u021b\u0103 decent\u0103. Pentru utilizator, este posibil s\u0103 nu fie nici m\u0103car observabil faptul c\u0103 func\u021bionarea se desf\u0103\u0219oar\u0103 \u00eentr-un simulator. Acest lucru se datoreaz\u0103 capacit\u0103\u021bilor speciale de virtualizare implementate \u00een procesoare, algoritmilor de traducere binar\u0103 \u0219i altor aspecte interesante. Toate acestea sunt subiecte pentru un articol separat, dar, pe scurt, virtualizarea este o op\u021biune hardware a procesoarelor moderne, care permite simulatorilor s\u0103 nu simuleze instruc\u021biuni, ci s\u0103 le execute direct pe procesorul real, dac\u0103, desigur, arhitecturile simulatorului \u0219i procesorului sunt asem\u0103n\u0103toare. Traducerea binar\u0103 este procesul de conversie a codului ma\u0219in\u0103 al gazdelor \u00een codul ma\u0219in\u0103 al gazdelor \u0219i executarea ulterioar\u0103 pe procesorul real. Drept urmare, simularea este doar pu\u021bin mai lent\u0103, de aproximativ 5-10 ori, iar adesea func\u021bioneaz\u0103 chiar cu aceea\u0219i vitez\u0103 ca sistemul real. De\u0219i acest lucru depinde de foarte mul\u021bi factori. De exemplu, dac\u0103 dorim s\u0103 simul\u0103m un sistem cu zeci de procesoare, atunci viteza se va reduce imediat de c\u00e2teva zeci de ori. Pe de alt\u0103 parte, simulatoarele de tip Simics \u00een versiuni recente suport\u0103 hardware-ul gazdelor multiprocesor \u0219i eficient \u00eempart nucleele simulate pe nucleele procesorului real. <\/p>\n<p>C\u00e2nd vine vorba de viteza simul\u0103rii microarhitecturale, aceasta este de obicei cu c\u00e2teva ordine de magnitudine, aproximativ de 1000-10000 de ori, mai lent\u0103 dec\u00e2t execu\u021bia pe un computer obi\u0219nuit, f\u0103r\u0103 simulare. Implement\u0103rile la nivel de elemente logice sunt \u0219i mai lente cu c\u00e2teva ordine de magnitudine. De aceea, la acest nivel, se folosesc FPGA ca emulator, ceea ce permite cre\u0219terea semnificativ\u0103 a performan\u021bei. <\/p>\n<p>Graficul de mai jos arat\u0103 dependen\u021ba aproximativ\u0103 a vitezei de simulare \u00een func\u021bie de detalierea modelului. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatoare de sisteme computerizate: simulatoarele de platform\u0103 complet\u0103 pe care toat\u0103 lumea le cunoa\u0219te \u0219i dou\u0103 simulat\u0103ri necunoscute.\" src=\"\/wp-content\/uploads\/2020\/07\/72189338a6a0c78554118f180a297813.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Simularea pe ciclo <\/h3>\n<p>\n\u00cen ciuda vitezei de execu\u021bie relativ reduse, simulatoarele microarhitecturale sunt destul de r\u0103sp\u00e2ndite. Modelarea blocurilor interne ale procesorului este necesar\u0103 pentru a simula precis timpul de execu\u021bie al fiec\u0103rei instruc\u021biuni. Aici poate ap\u0103rea o ne\u00een\u021belegere \u2013 de ce nu ar putea fi pur \u0219i simplu programat timpul de execu\u021bie pentru fiecare instruc\u021biune? Dar un astfel de simulator ar func\u021biona foarte inexact, deoarece timpul de execu\u021bie al acelea\u0219i instruc\u021biuni poate varia de la apel la apel. <\/p>\n<p>Un exemplu simplu este instruc\u021biunea de acces la memorie. Dac\u0103 celula de memorie solicitat\u0103 este disponibil\u0103 \u00een cache, atunci timpul de execu\u021bie va fi minim. Dac\u0103 informa\u021bia nu este prezent\u0103 \u00een cache (\"cache miss\"), atunci acest lucru va cre\u0219te semnificativ timpul de execu\u021bie al instruc\u021biunii. Astfel, pentru o simulare precis\u0103, este necesar un model de cache. Totu\u0219i, modelul de cache nu este singurul aspect. Procesorul nu va a\u0219tepta pur \u0219i simplu s\u0103 ob\u021bin\u0103 datele din memorie atunci c\u00e2nd acestea nu se afl\u0103 \u00een cache. \u00cen schimb, va \u00eencepe s\u0103 execute urm\u0103toarele instruc\u021biuni, aleg\u00e2ndu-le pe cele care nu depind de rezultatul citirii din memorie. Aceasta este a\u0219a-numita execu\u021bie \"\u00een afara ordinii\" (OOO, out of order execution), necesar\u0103 pentru a minimiza timpul de inactivitate al procesorului. Luarea \u00een considerare a tuturor acestor aspecte la calcularea timpului de execu\u021bie al instruc\u021biunilor va fi ajutat\u0103 de modelarea blocurilor corespunz\u0103toare ale procesorului. Printre instruc\u021biunile desf\u0103\u0219urate \u00een timp ce se a\u0219teapt\u0103 rezultatul citirii din memorie, se poate \u00eent\u00e2lni o opera\u021biune de salt condi\u021bionat. Dac\u0103 rezultatul evalu\u0103rii condi\u021biei nu este cunoscut \u00een acel moment, procesorul nu va opri execu\u021bia, ci face o \"presupunere\", execut\u00e2nd saltul corespunz\u0103tor \u0219i continu\u00e2nd s\u0103 execute preventiv instruc\u021biunile de la locul saltului. Acest bloc, numit predictor de ramuri, trebuie, de asemenea, s\u0103 fie implementat \u00een simulatorul microarhitectural. <\/p>\n<p>Imaginea de mai jos arat\u0103 blocurile principale ale procesorului; nu este obligatoriu s\u0103 le cuno\u0219ti, ea este prezentat\u0103 doar pentru a ar\u0103ta complexitatea implement\u0103rii microarhitecturale. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatoare de sisteme computerizate: simulatoarele de platform\u0103 complet\u0103 pe care toat\u0103 lumea le cunoa\u0219te \u0219i dou\u0103 simulat\u0103ri necunoscute.\" src=\"\/wp-content\/uploads\/2020\/07\/1248d47017346153a233d4c895635569.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFunc\u021bionarea tuturor acestor blocuri \u00een procesorul real este sincronizat\u0103 prin semnale de ceas speciale, la fel cum se \u00eent\u00e2mpl\u0103 \u0219i \u00een model. Un astfel de simulator de microarhitectur\u0103 se nume\u0219te simulator de ciclu (cycle accurate). Principalul s\u0103u scop este de a prezice cu exactitate performan\u021ba procesorului \u00een dezvoltare \u0219i\/sau de a calcula timpul de execu\u021bie al unei anumite programe, de exemplu, al unui benchmark. Dac\u0103 valorile vor fi sub cele necesare, va fi nevoie s\u0103 se \u00eembun\u0103t\u0103\u021beasc\u0103 algoritmii \u0219i blocurile procesorului sau s\u0103 se optimizeze programul. <\/p>\n<p>Dup\u0103 cum s-a ar\u0103tat mai sus, simularea pe ciclu este foarte lent\u0103, de aceea este utilizat\u0103 doar \u00een cercetarea anumitor aspecte ale func\u021bion\u0103rii unui program, unde este necesar s\u0103 se cunoasc\u0103 viteza real\u0103 de execu\u021bie a programelor \u0219i s\u0103 se evalueze performan\u021ba viitoare a dispozitivului, prototipul c\u0103ruia este modelat. <\/p>\n<p>Pentru simularea restului timpului de lucru al programului se folose\u0219te un simulator func\u021bional. Cum se desf\u0103\u0219oar\u0103 o astfel de utilizare combinat\u0103 \u00een realitate? Mai \u00eent\u00e2i se lanseaz\u0103 simulatorul func\u021bional, pe care se \u00eencarc\u0103 sistemul de operare \u0219i tot ce este necesar pentru a rula programul investigat. Deoarece nu suntem interesa\u021bi nici de sistemul de operare, nici de etapele ini\u021biale de pornire a programului, configurarea acestuia \u0219i alte detalii. Totu\u0219i, nu putem s\u0103rat aceste p\u0103r\u021bi \u0219i s\u0103 trecem direct la execu\u021bia programului din mijloc. Prin urmare, toate aceste etape preliminare sunt parcurse pe simulatorul func\u021bional. Dup\u0103 ce programul a fost executat p\u00e2n\u0103 \u00een momentul de interes, sunt posibile dou\u0103 variante. Se poate schimba modelul cu cel pe ciclu \u0219i se poate continua execu\u021bia. Modul de simulare \u00een care se folose\u0219te codul executabil (adic\u0103 fi\u0219ierele compilate obi\u0219nuite ale programelor) se nume\u0219te simulare pe executare (execution driven simulation). Aceasta este cea mai r\u0103sp\u00e2ndit\u0103 variant\u0103 de simulare. Exist\u0103, de asemenea, \u0219i o alt\u0103 abordare \u2013 simularea bazat\u0103 pe trasee (trace driven simulation). <\/p>\n<h3>Simularea bazat\u0103 pe trasee <\/h3>\n<p>\nAceasta const\u0103 \u00een dou\u0103 pa\u0219i. Cu ajutorul simulatorului func\u021bional sau pe un sistem real, se adun\u0103 \u0219i se \u00eenregistreaz\u0103 \u00eentr-un fi\u0219ier jurnalul ac\u021biunilor programului. Acest jurnal se nume\u0219te traseu (trace). \u00cen func\u021bie de ceea ce este investigat, traseul poate include instruc\u021biuni executabile, adrese de memorie, numere de porturi, informa\u021bii despre \u00eentreruperi. <\/p>\n<p>Urm\u0103torul pas este \u201ereproducerea\u201d traseului, c\u00e2nd simulatorul pe cicluri cite\u0219te traseul \u0219i execut\u0103 toate instruc\u021biunile \u00eenregistrate \u00een acesta. La final, ob\u021binem timpul de execu\u021bie al acestei por\u021biuni de program, precum \u0219i diverse caracteristici ale acestui proces, de exemplu, procentajul de hit-uri \u00een cache. <\/p>\n<p>O caracteristic\u0103 important\u0103 a lucrului cu traseele este determinismul, adic\u0103, rul\u00e2nd simularea \u00een modul descris mai sus, de fiecare dat\u0103 reproducem aceea\u0219i secven\u021b\u0103 de ac\u021biuni. Aceasta permite, prin modificarea parametrilor modelului (dimensiunile cache-ului, buffer-elor \u0219i coadelor) \u0219i folosind diferite algoritmi interni sau configur\u00e2ndu-i, s\u0103 investig\u0103m cum un anumit parametru influen\u021beaz\u0103 performan\u021ba sistemului \u0219i care variant\u0103 ofer\u0103 cele mai bune rezultate. Toate acestea pot fi realizate cu modelul prototipului dispozitivului \u00eenainte de a crea un prototip hardware real. <\/p>\n<p>Complexitatea acestui demers const\u0103 \u00een necesitatea de a rula anterior aplica\u021bia \u0219i de a colecta traseul, precum \u0219i \u00een dimensiunea imens\u0103 a fi\u0219ierului cu traseul. Printre avantaje se num\u0103r\u0103 faptul c\u0103 este suficient s\u0103 model\u0103m doar partea de interes a dispozitivului sau platformei, \u00een timp ce simularea execu\u021biei necesit\u0103, de obicei, un model complet. <\/p>\n<p>A\u0219adar, \u00een acest articol am discutat despre particularit\u0103\u021bile simul\u0103rii complete a platformei, am vorbit despre viteza implement\u0103rilor la diferite niveluri, simularea pe cicluri \u0219i trasee. \u00cen articolul urm\u0103tor voi descrie principalele scenarii de utilizare a simulatoarelor, at\u00e2t \u00een scopuri personale, c\u00e2t \u0219i din perspectiva dezvolt\u0103rii \u00een mari companii.<br \/>\n<br \/>Sursa: <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 5.0.2.1 - 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.\" \/>\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\/ro\/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) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/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\udd47Simulatoare de sisteme informatice: familiarul simulator complet al platformei \u0219i simulatorii pe cicluri \u0219i trasee, mai pu\u021bin cunoscu\u021bi | ProHoster","description":"\u00cen a doua parte a articolului despre simulatoarele sistemelor informatice voi continua s\u0103 povestesc \u00eentr-o form\u0103 simpl\u0103 \u0219i informativ\u0103 despre simulatoarele informatice, \u0219i anume despre simularea complet\u0103 a platformei, cu care ne confrunt\u0103m cel mai adesea.","canonical_url":"https:\/\/prohoster.info\/ro\/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":"ro_RO","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.","og:url":"https:\/\/prohoster.info\/ro\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/87136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=87136"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/87136\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/87137"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=87136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=87136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=87136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}