{"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\/it\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","title":{"rendered":"Simulatori di sistemi informatici: il noto simulatore multi-piattaforma e gli sconosciuti simulatori di protocollo e rappresentazione grafica.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nella seconda parte dell'articolo sui simulatori di sistemi informatici, continuer\u00f2 a parlare in modo semplice e informativo sui simulatori di computer, in particolare sulla simulazione a piattaforma completa, con cui si imbatte pi\u00f9 spesso l'utente comune, nonch\u00e9 sul modello a ciclo e sulle tracce, che sono pi\u00f9 comuni nei circoli degli sviluppatori. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il noto simulatore multi-piattaforma e gli sconosciuti simulatori di protocollo e rappresentazione grafica.\" 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 \/>\nIn <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">parte uno<\/a><\/noindex> Ho spiegato cosa sono i simulatori in generale e i livelli di modellazione. Ora, basandomi su quelle conoscenze, propongo di immergerci un po' pi\u00f9 a fondo e parlare della simulazione a piattaforma completa, di come assemblare le tracce, cosa fare con esse e anche sull'emulazione microarchitettonica a ciclo. <\/p>\n<h3>Un simulatore a piattaforma completa (full platform simulator), o 'Nessuno \u00e8 un guerriero da solo' <\/h3>\n<p>\nSe \u00e8 necessario esplorare il funzionamento di un dispositivo specifico, come una scheda di rete, o scrivere un firmware o un driver per quel dispositivo, \u00e8 possibile simularlo separatamente. Tuttavia, utilizzarlo isolato dal resto dell'infrastruttura non \u00e8 molto pratico. Per far funzionare il driver corrispondente sono necessari un processore centrale, memoria, accesso al bus per il trasferimento dei dati e altro ancora. Inoltre, per il funzionamento del driver \u00e8 necessaria un sistema operativo (SO) e uno stack di rete. Inoltre, potrebbe essere richiesto un generatore di pacchetti separato e un server per ricevere le risposte. <\/p>\n<p>Un simulatore multipiattaforma crea un ambiente per l'esecuzione di un'intera stack software, che comprende tutto, dal BIOS e dal bootloader fino al sistema operativo stesso e a diverse sue sottosistemi, come lo stesso stack di rete, i driver, e le applicazioni di livello utente. Per questo motivo, implementa modelli software della maggior parte dei dispositivi del computer: il processore e la memoria, il disco, le periferiche di input-output (tastiera, mouse, display), cos\u00ec come la scheda di rete. <\/p>\n<p>Di seguito \u00e8 riportato un diagramma a blocchi del chipset x58 di Intel. In un simulatore completo di computer basato su questo chipset, \u00e8 necessaria l'implementazione della maggior parte dei dispositivi elencati, compresi quelli all'interno dell'IOH (Input\/Output Hub) e dell'ICH (Input\/Output Controller Hub), non rappresentati in dettaglio nel diagramma. Tuttavia, come dimostra la pratica, ci sono diversi dispositivi che non vengono utilizzati dal software che intendiamo eseguire. Non \u00e8 necessario creare modelli di tali dispositivi. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il noto simulatore multi-piattaforma e gli sconosciuti simulatori di protocollo e rappresentazione grafica.\" src=\"\/wp-content\/uploads\/2020\/07\/3f62e2e7792ce06026c767146fed9912.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe simulazioni complete sono pi\u00f9 comunemente implementate a livello delle istruzioni del processore (ISA, vedi. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">l'articolo precedente<\/a><\/noindex>). Questo consente di creare il simulatore stesso in modo relativamente rapido ed economico. Il livello ISA \u00e8 anche vantaggioso poich\u00e9 rimane pi\u00f9 o meno costante, a differenza, ad esempio, del livello API\/ABI, che cambia pi\u00f9 frequentemente. Inoltre, l'implementazione a livello di istruzioni consente di eseguire il cosiddetto software binario non modificato, ossia eseguire codice gi\u00e0 compilato senza alcuna modifica, cos\u00ec com'\u00e8 utilizzato sull'hardware reale. In altre parole, \u00e8 possibile fare una copia (\u00abdump\u00bb) del disco rigido, specificarlo come immagine per il modello in un simulatore full-platform e \u2013 voil\u00e0! \u2013 il sistema operativo e altri programmi si avviano nel simulatore senza ulteriori interventi. <\/p>\n<h3>Prestazioni dei simulatori <\/h3>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il noto simulatore multi-piattaforma e gli sconosciuti simulatori di protocollo e rappresentazione grafica.\" src=\"\/wp-content\/uploads\/2020\/07\/870ef9d5e311044059ace05571d607ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCome accennato in precedenza, il processo di simulazione dell'intero sistema, ovvero di tutti i suoi dispositivi, \u00e8 piuttosto dispendioso in termini di tempo. Se si tenta di implementarlo a un livello molto dettagliato, ad esempio, a livello di microarchitettura o logico, l'esecuzione diventa estremamente lenta. Tuttavia, il livello delle istruzioni \u00e8 una scelta appropriata e consente al sistema operativo e ai programmi di funzionare a velocit\u00e0 sufficienti per un'interazione confortevole da parte dell'utente. <\/p>\n<p>Qui vale la pena affrontare il tema delle prestazioni dei simulatori. Di solito, queste vengono misurate in IPS (istruzioni al secondo), e pi\u00f9 precisamente in MIPS (milioni di IPS), ovvero il numero di istruzioni del processore eseguite dal simulatore in un secondo. Allo stesso tempo, la velocit\u00e0 di simulazione dipende anche dalle prestazioni del sistema su cui la simulazione stessa \u00e8 in esecuzione. Pertanto, potrebbe essere pi\u00f9 corretto parlare di \"riduzione\" (slowdown) del simulatore rispetto al sistema originale. <\/p>\n<p>I simulator a piattaforma completa pi\u00f9 comuni sul mercato, come QEMU, VirtualBox o VmWare Workstation, offrono prestazioni soddisfacenti. Per l'utente, pu\u00f2 risultare persino impercettibile che l'operazione avvenga all'interno di un simulatore. Questo avviene grazie alle speciali funzionalit\u00e0 di virtualizzazione implementate nei processori, agli algoritmi di traduzione binaria e ad altri aspetti interessanti. Questo \u00e8 tutto un argomento per un articolo separato, ma se dobbiamo semplificare, la virtualizzazione \u00e8 una capacit\u00e0 hardware dei processori moderni che consente ai simulatori di non simulare le istruzioni, ma di passarle direttamente all'esecuzione sul processore reale, a condizione che le architetture del simulatore e del processore siano simili. La traduzione binaria consiste nella conversione del codice macchina guest in codice host e nella sua successiva esecuzione sul processore reale. Di conseguenza, la simulazione risulta solo leggermente pi\u00f9 lenta, da 5 a 10 volte, o spesso funziona alla stessa velocit\u00e0 del sistema reale. Tuttavia, molti fattori influenzano questo aspetto. Ad esempio, se desideriamo simulare un sistema con diverse decine di processori, la velocit\u00e0 diminuir\u00e0 immediatamente di molteplici ordini di grandezza. D'altra parte, simulatori come Simics nelle ultime versioni supportano hardware host multi-processore e parallelizzano in modo efficace i nuclei simulati sui nuclei del processore reale. <\/p>\n<p>Parlando della velocit\u00e0 della simulazione microarchitetturale, questa \u00e8 generalmente pi\u00f9 lenta di diversi ordini di grandezza, circa 1000-10000 volte, rispetto all'esecuzione su un computer normale, senza simulazione. Inoltre, le implementazioni a livello di elementi logici sono ancora pi\u00f9 lente di diversi ordini. Pertanto, per l'emulazione a questo livello si utilizzano le FPGA, che permettono di aumentare significativamente le prestazioni. <\/p>\n<p>Il grafico qui sotto mostra la relazione approssimativa tra la velocit\u00e0 di simulazione e il dettaglio del modello. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il noto simulatore multi-piattaforma e gli sconosciuti simulatori di protocollo e rappresentazione grafica.\" src=\"\/wp-content\/uploads\/2020\/07\/72189338a6a0c78554118f180a297813.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Simulazione a ciclo <\/h3>\n<p>\nNonostante la bassa velocit\u00e0 di esecuzione, i simulatori microarchitetturali sono abbastanza diffusi. La modellazione dei blocchi interni del processore \u00e8 necessaria per simulare con precisione il tempo di esecuzione di ciascuna istruzione. Qui potrebbe sorgere un malinteso: perch\u00e9 non semplicemente programmare il tempo di esecuzione per ogni istruzione? Ma un simile simulatore funzionerebbe in modo molto impreciso, poich\u00e9 il tempo di esecuzione della stessa istruzione pu\u00f2 variare da un invocazione all'altra. <\/p>\n<p>Un semplice esempio \u00e8 l'istruzione di accesso alla memoria. Se la cella di memoria richiesta \u00e8 disponibile nella cache, il tempo di esecuzione sar\u00e0 minimo. Se l'informazione non \u00e8 presente nella cache (un \"cache miss\"), ci\u00f2 aumenter\u00e0 significativamente il tempo di esecuzione dell'istruzione. Pertanto, per una simulazione accurata \u00e8 necessaria un modello di cache. Tuttavia, la questione non si limita solo al modello di cache. Il processore non attender\u00e0 semplicemente il recupero dei dati dalla memoria in assenza di essi nella cache. Invece, inizier\u00e0 a eseguire le istruzioni successive, scegliendo quelle che non dipendono dal risultato della lettura dalla memoria. Questo \u00e8 il cosiddetto esecuzione \"non in ordine\" (OOO, out of order execution), necessario per minimizzare il tempo di inattivit\u00e0 del processore. Considerare tutto ci\u00f2 nel calcolo del tempo di esecuzione delle istruzioni aiuter\u00e0 la simulazione dei corrispondenti blocchi del processore. Tra queste istruzioni, eseguite mentre si attende il risultato della lettura dalla memoria, potrebbe esserci un'operazione di salto condizionale. Se al momento il risultato della condizione non \u00e8 noto, il processore non interrompe l'esecuzione, ma fa un'\"ipotesi\", esegue il salto corrispondente e continua a eseguire preventivamente le istruzioni dalla posizione del salto. Questo blocco, chiamato branch predictor, deve anche essere implementato nel simulatore di microarchitettura. <\/p>\n<p>L'immagine qui sotto mostra i principali blocchi del processore; non \u00e8 necessario conoscerli, \u00e8 stata fornita solo per illustrare la complessit\u00e0 dell'implementazione della microarchitettura. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il noto simulatore multi-piattaforma e gli sconosciuti simulatori di protocollo e rappresentazione grafica.\" src=\"\/wp-content\/uploads\/2020\/07\/1248d47017346153a233d4c895635569.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl funzionamento di tutti questi blocchi in un processore reale \u00e8 sincronizzato da segnali di clock speciali, e lo stesso avviene nel modello. Un simulatore di microarchitettura del genere \u00e8 definito 'ciclo preciso' (cycle accurate). Il suo scopo principale \u00e8 prevedere con esattezza le prestazioni del processore in fase di sviluppo e\/o calcolare il tempo di esecuzione di un determinato programma, come ad esempio un benchmark. Se i valori sono inferiori a quelli necessari, sar\u00e0 necessario migliorare gli algoritmi e i blocchi del processore o ottimizzare il programma. <\/p>\n<p>Come mostrato sopra, la simulazione ciclica \u00e8 molto lenta, quindi viene utilizzata solo per l'analisi di specifici aspetti del funzionamento del programma, dove \u00e8 necessario conoscere la reale velocit\u00e0 di esecuzione e valutare le future prestazioni del dispositivo di cui si sta modellando il prototipo. <\/p>\n<p>Per simulare il resto del tempo di esecuzione del programma, si utilizza un simulatore funzionale. Come avviene realmente questo utilizzo combinato? Inizialmente viene avviato il simulatore funzionale, su cui si carica il sistema operativo e tutto il necessario per avviare il programma in esame. Non ci interessa n\u00e9 il sistema operativo stesso, n\u00e9 le fasi iniziali di avvio del programma, la sua configurazione e altro. Tuttavia, non possiamo neppure saltare queste fasi e passare direttamente all'esecuzione del programma a met\u00e0 percorso. Pertanto, tutte queste fasi preliminari vengono eseguite su un simulatore funzionale. Una volta che il programma \u00e8 stato eseguito fino al momento di nostro interesse, ci sono due possibilit\u00e0. Si pu\u00f2 passare a un modello basato sui cicli e continuare l'esecuzione. La modalit\u00e0 di simulazione in cui viene utilizzato il codice eseguibile (cio\u00e8 i normali file compilati delle applicazioni) \u00e8 chiamata simulazione basata sull'esecuzione (execution driven simulation). Questa \u00e8 la forma pi\u00f9 comune di simulazione. Esiste anche un altro approccio: la simulazione basata sulle tracce (trace driven simulation). <\/p>\n<h3>Simulazione basata sulle tracce <\/h3>\n<p>\nConsiste di due fasi. Utilizzando un simulatore funzionale o su un sistema reale, viene raccolto e registrato un file di log delle azioni del programma. Questo log \u00e8 chiamato traccia. A seconda di ci\u00f2 che viene analizzato, la traccia pu\u00f2 includere istruzioni eseguibili, indirizzi di memoria, numeri di porta e informazioni sulle interruzioni. <\/p>\n<p>Il passo successivo \u00e8 la \"riproduzione\" della traccia, in cui il simulatore a ciclo legge la traccia ed esegue tutte le istruzioni in essa registrate. Alla fine otteniamo il tempo di esecuzione di quel segmento di programma, insieme a varie caratteristiche di questo processo, come la percentuale di cache hit. <\/p>\n<p>Una caratteristica importante del lavoro con i tracciati \u00e8 la determinazione, cio\u00e8, eseguendo la simulazione nel modo descritto sopra, riproduciamo la stessa sequenza di azioni pi\u00f9 e pi\u00f9 volte. Questo consente di esplorare come un determinato parametro influisce sulle prestazioni del sistema modificando i parametri del modello (dimensioni della cache, buffer e code) e utilizzando diversi algoritmi interni o regolando questi ultimi, per verificare quale opzione offre i migliori risultati. Tutto ci\u00f2 pu\u00f2 essere fatto con un modello prototipale del dispositivo prima di creare un prototipo hardware reale. <\/p>\n<p>La complessit\u00e0 di questo approccio risiede nella necessit\u00e0 di eseguire in anticipo l'applicazione e raccogliere il tracciato, oltre alle enormi dimensioni del file di tracciamento. Tra i vantaggi c'\u00e8 il fatto che \u00e8 sufficiente simulare solo la parte rilevante del dispositivo o della piattaforma, mentre la simulazione per esecuzione richiede, di solito, un modello completo. <\/p>\n<p>In questo articolo abbiamo esaminato le caratteristiche della simulazione su piattaforma completa, discutendo della velocit\u00e0 di implementazione a diversi livelli, della simulazione ciclica e delle tracce. Nella prossima articolo descriver\u00f2 i principali scenari di utilizzo dei simulatori, sia per scopi personali sia dal punto di vista dello sviluppo nelle grandi aziende.<br \/>\n<br \/>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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\udd47Simulatori di sistemi informatici: il noto simulatore su piattaforma completa e i poco conosciuti ciclico e tracce | ProHoster","description":"Nella seconda parte dell'articolo sui simulatori di sistemi informatici continuer\u00f2 a parlare in modo chiaro e comprensibile dei simulatori informatici, in particolare della simulazione su piattaforma completa, con cui gli utenti comuni si confrontano pi\u00f9 frequentemente, e del modello ciclico e delle tracce, pi\u00f9 comuni tra i programmatori. Nella prima parte ho spiegato cosa sono i simulatori in generale e dei livelli.","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/87136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=87136"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/87136\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/87137"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=87136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=87136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=87136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}