{"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\/es\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","title":{"rendered":"Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos modelos por ciclos y rutas.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>En la segunda parte del art\u00edculo sobre simuladores de sistemas inform\u00e1ticos, continuar\u00e9 explicando de manera sencilla sobre los simuladores inform\u00e1ticos, espec\u00edficamente sobre la simulaci\u00f3n de plataforma completa, con la que el usuario com\u00fan se encuentra m\u00e1s a menudo, as\u00ed como sobre el modelo por ciclos y las rutas, que son m\u00e1s comunes en los c\u00edrculos de desarrolladores. <\/p>\n<p><img decoding=\"async\" alt=\"Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos modelos por ciclos y rutas.\" 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 \/>\nEn <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">parte anterior<\/a><\/noindex> Ya he explicado qu\u00e9 son los simuladores en general, as\u00ed como los niveles de modelado. Ahora, bas\u00e1ndome en esos conocimientos, propongo profundizar un poco m\u00e1s y hablar sobre la simulaci\u00f3n de plataforma completa, c\u00f3mo construir rutas, qu\u00e9 hacer con ellas despu\u00e9s, y sobre la emulaci\u00f3n arquitect\u00f3nica de ciclos. <\/p>\n<h3>Simulador de plataforma completa (full platform simulator), o \u201cUno solo en el campo no es un guerrero\u201d. <\/h3>\n<p>\nSi se requiere investigar el funcionamiento de un dispositivo concreto, como una tarjeta de red, o escribir un firmware o un controlador para este dispositivo, se puede modelar por separado. Sin embargo, utilizarlo aislado del resto de la infraestructura no es muy pr\u00e1ctico. Para ejecutar el controlador correspondiente se necesitar\u00e1 un procesador central, memoria, acceso al bus para la transferencia de datos, entre otros. Adem\u00e1s, para el funcionamiento del controlador se requiere un sistema operativo (SO) y un stack de red. Tambi\u00e9n puede ser necesario un generador de paquetes separado y un servidor para recibir respuestas. <\/p>\n<p>Un simulador de plataforma completa crea un entorno para ejecutar toda la pila de software, que incluye todo desde la BIOS y el cargador hasta el propio SO y varios de sus subsistemas, como el stack de red, controladores y aplicaciones de nivel de usuario. Para ello, implementa modelos de software de la mayor\u00eda de los dispositivos de la computadora: el procesador y la memoria, el disco, dispositivos de entrada y salida (teclado, rat\u00f3n, pantalla), as\u00ed como esa misma tarjeta de red. <\/p>\n<p>A continuaci\u00f3n se presenta el diagrama de bloques del chipset x58 de Intel. En un simulador de computadora de plataforma completa basado en este chipset, es necesario implementar la mayor\u00eda de los dispositivos enumerados, incluidos aquellos que se encuentran dentro del IOH (Input\/Output Hub) y el ICH (Input\/Output Controller Hub), que no est\u00e1n representados con detalle en el diagrama de bloques. Sin embargo, como demuestra la pr\u00e1ctica, hay una cantidad considerable de dispositivos que no son utilizados por el software que planeamos ejecutar. No es necesario crear modelos de estos dispositivos. <\/p>\n<p><img decoding=\"async\" alt=\"Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos modelos por ciclos y rutas.\" src=\"\/wp-content\/uploads\/2020\/07\/3f62e2e7792ce06026c767146fed9912.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCon m\u00e1s frecuencia, los simuladores de plataforma completa se implementan a nivel de instrucciones del procesador (ISA, ver <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">el art\u00edculo anterior<\/a><\/noindex>). Esto permite crear el simulador de manera relativamente r\u00e1pida y econ\u00f3mica. El nivel ISA tambi\u00e9n es bueno porque permanece m\u00e1s o menos constante, a diferencia del nivel API\/ABI, que cambia con m\u00e1s frecuencia. Adem\u00e1s, la implementaci\u00f3n a nivel de instrucciones permite ejecutar lo que se denomina software binario no modificado, es decir, ejecutar c\u00f3digo ya compilado sin ning\u00fan cambio, tal como se utiliza en el hardware real. En otras palabras, se puede hacer una copia (\u201cdump\u201d) del disco duro, especificarlo como imagen para el modelo en el simulador de plataforma completa y \u2013 \u00a1voil\u00e0! \u2013 el sistema operativo y otros programas se cargan en el simulador sin necesidad de acciones adicionales. <\/p>\n<h3>Rendimiento de los simuladores <\/h3>\n<p><img decoding=\"async\" alt=\"Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos modelos por ciclos y rutas.\" src=\"\/wp-content\/uploads\/2020\/07\/870ef9d5e311044059ace05571d607ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nComo se mencion\u00f3 anteriormente, el proceso de simular todo el sistema en su totalidad, es decir, todos sus dispositivos, es un proceso bastante lento. Si adem\u00e1s se implementa todo a un nivel muy detallado, como a nivel microarquitect\u00f3nico o l\u00f3gico, la ejecuci\u00f3n se volver\u00e1 extremadamente lenta. Sin embargo, el nivel de instrucciones es una elecci\u00f3n adecuada y permite que el sistema operativo y los programas se ejecuten a velocidades suficientes para que el usuario pueda interactuar c\u00f3modamente con ellos. <\/p>\n<p>Aqu\u00ed es pertinente abordar el tema del rendimiento de los simuladores. Generalmente, se mide en IPS (instrucciones por segundo), m\u00e1s precisamente en MIPS (millones de IPS), es decir, el n\u00famero de instrucciones del procesador que el simulador ejecuta en un segundo. Al mismo tiempo, la velocidad de la simulaci\u00f3n tambi\u00e9n depende del rendimiento del sistema en el que se ejecuta la simulaci\u00f3n. Por lo tanto, quiz\u00e1s sea m\u00e1s correcto hablar de \"ralentizaci\u00f3n\" (slowdown) del simulador en comparaci\u00f3n con el sistema original. <\/p>\n<p>Los simuladores de plataformas completas m\u00e1s com\u00fanmente utilizados en el mercado, como QEMU, VirtualBox o VmWare Workstation, ofrecen un rendimiento bastante bueno. Para el usuario, puede que ni siquiera se note que est\u00e1 trabajando en un simulador. Esto se debe a la capacidad de virtualizaci\u00f3n especial implementada en los procesadores, los algoritmos de traducci\u00f3n binaria y otras cosas interesantes. Todo esto es un tema para un art\u00edculo aparte, pero en resumen, la virtualizaci\u00f3n es una capacidad de hardware de los procesadores modernos que permite a los simuladores ejecutar instrucciones directamente en el procesador real, siempre que, por supuesto, las arquitecturas del simulador y del procesador sean similares. La traducci\u00f3n binaria es la conversi\u00f3n del c\u00f3digo de m\u00e1quina del hu\u00e9sped al del anfitri\u00f3n y su posterior ejecuci\u00f3n en el procesador real. Como resultado, la simulaci\u00f3n es solo un poco m\u00e1s lenta, de 5 a 10 veces, y a menudo funciona a la misma velocidad que un sistema real. Sin embargo, muchos factores influyen en esto. Por ejemplo, si queremos simular un sistema con varias decenas de procesadores, la velocidad disminuir\u00e1 dr\u00e1sticamente en esas mismas decenas. Por otro lado, simuladores como Simics, en sus \u00faltimas versiones, soportan hardware de anfitri\u00f3n multiprocesador y paralelizan eficazmente los n\u00facleos simulados en los n\u00facleos del procesador real. <\/p>\n<p>En cuanto a la velocidad de simulaci\u00f3n a nivel de microarquitectura, esto es generalmente de varios \u00f3rdenes de magnitud, aproximadamente de 1000 a 10000 veces m\u00e1s lento que la ejecuci\u00f3n en una computadora normal sin simulaci\u00f3n. Y las implementaciones a nivel de elementos l\u00f3gicos son a\u00fan m\u00e1s lentas en varios \u00f3rdenes. Por lo tanto, se utilizan FPGA como emuladores en este nivel, lo que permite aumentar significativamente el rendimiento. <\/p>\n<p>El gr\u00e1fico a continuaci\u00f3n muestra la relaci\u00f3n aproximada entre la velocidad de simulaci\u00f3n y el nivel de detalle del modelo. <\/p>\n<p><img decoding=\"async\" alt=\"Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos modelos por ciclos y rutas.\" src=\"\/wp-content\/uploads\/2020\/07\/72189338a6a0c78554118f180a297813.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Simulaci\u00f3n por ciclos <\/h3>\n<p>\nA pesar de la baja velocidad de ejecuci\u00f3n, los simuladores de microarquitectura son bastante comunes. La modelizaci\u00f3n de los bloques internos del procesador es necesaria para simular con precisi\u00f3n el tiempo de ejecuci\u00f3n de cada instrucci\u00f3n. Aqu\u00ed puede surgir una confusi\u00f3n, ya que parece que simplemente se podr\u00eda programar el tiempo de ejecuci\u00f3n para cada instrucci\u00f3n. Sin embargo, un simulador de este tipo funcionar\u00eda de manera muy imprecisa, ya que el tiempo de ejecuci\u00f3n de la misma instrucci\u00f3n puede variar de una llamada a otra. <\/p>\n<p>Un ejemplo simple es la instrucci\u00f3n de acceso a la memoria. Si la celda de memoria solicitada est\u00e1 disponible en la cach\u00e9, el tiempo de ejecuci\u00f3n ser\u00e1 m\u00ednimo. Si la informaci\u00f3n necesaria no se encuentra en la cach\u00e9 (un \"fallo de cach\u00e9\"), esto incrementar\u00e1 significativamente el tiempo de ejecuci\u00f3n de la instrucci\u00f3n. Por lo tanto, se requiere un modelo de cach\u00e9 para una simulaci\u00f3n precisa. Sin embargo, el modelo de cach\u00e9 no es lo \u00fanico a considerar. El procesador no simplemente esperar\u00e1 a recibir los datos de la memoria si no est\u00e1n en la cach\u00e9. En su lugar, comenzar\u00e1 a ejecutar las siguientes instrucciones, eligiendo aquellas que no dependen del resultado de la lectura de la memoria. Esto se conoce como ejecuci\u00f3n \"fuera de orden\" (OOO, out of order execution), necesaria para minimizar el tiempo de inactividad del procesador. Tener en cuenta todo esto al calcular el tiempo de ejecuci\u00f3n de las instrucciones ayudar\u00e1 a modelar los bloques correspondientes del procesador. Entre estas instrucciones, que se ejecutan mientras se espera el resultado de la lectura de la memoria, puede haber una operaci\u00f3n de salto condicional. Si el resultado de la condici\u00f3n no es conocido en este momento, el procesador tampoco detiene la ejecuci\u00f3n, sino que hace una \"suposici\u00f3n\", realiza el salto correspondiente y contin\u00faa ejecutando de forma preventiva las instrucciones desde el punto de salto. Este bloque, conocido como predecidor de saltos, tambi\u00e9n debe ser implementado en un simulador de microarquitectura. <\/p>\n<p>La imagen de abajo muestra los bloques principales del procesador; no es necesario conocerla, se presenta \u00fanicamente para ilustrar la complejidad de la implementaci\u00f3n de la microarquitectura. <\/p>\n<p><img decoding=\"async\" alt=\"Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos modelos por ciclos y rutas.\" src=\"\/wp-content\/uploads\/2020\/07\/1248d47017346153a233d4c895635569.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl funcionamiento de todos estos bloques en un procesador real se sincroniza con se\u00f1ales de reloj especiales, sucediendo lo mismo en el modelo. A este simulador de microarquitectura se le llama simulaci\u00f3n c\u00edclica (cycle accurate). Su principal prop\u00f3sito es prever con precisi\u00f3n el rendimiento del procesador en desarrollo y\/o calcular el tiempo de ejecuci\u00f3n de un programa espec\u00edfico, como un benchmark. Si los valores resultantes son inferiores a los requeridos, ser\u00e1 necesario mejorar los algoritmos y bloques del procesador o optimizar el programa. <\/p>\n<p>Como se mostr\u00f3 anteriormente, la simulaci\u00f3n c\u00edclica es muy lenta, por lo que solo se utiliza al investigar ciertos aspectos del funcionamiento de un programa, donde es necesario conocer la verdadera velocidad de ejecuci\u00f3n y evaluar el futuro rendimiento del dispositivo cuyo prototipo se est\u00e1 simulando. <\/p>\n<p>Para simular el resto del tiempo de ejecuci\u00f3n del programa, se utiliza un simulador funcional. \u00bfC\u00f3mo ocurre realmente este uso combinado? Primero, se inicia el simulador funcional, en el que se carga el sistema operativo y todo lo necesario para ejecutar el programa en estudio. No nos interesa ni el sistema operativo en s\u00ed ni las etapas iniciales del inicio del programa, su configuraci\u00f3n, etc. Sin embargo, tampoco podemos omitir estas partes y pasar directamente a la ejecuci\u00f3n del programa desde la mitad. Por ello, todas estas etapas preliminares se ejecutan en el simulador funcional. Una vez que el programa ha llegado al momento de inter\u00e9s, hay dos opciones. Se puede cambiar al modelo c\u00edclico y continuar la ejecuci\u00f3n. El modo de simulaci\u00f3n en el que se utiliza el c\u00f3digo ejecutable (es decir, archivos de programas compilados) se llama simulaci\u00f3n basada en la ejecuci\u00f3n (execution driven simulation). Esta es la opci\u00f3n de simulaci\u00f3n m\u00e1s com\u00fan. Tambi\u00e9n es posible otro enfoque: la simulaci\u00f3n basada en trazas (trace driven simulation). <\/p>\n<h3>Simulaci\u00f3n basada en trazas <\/h3>\n<p>\nConsiste en dos pasos. Usando un simulador funcional o en un sistema real, se recopila y registra en un archivo un registro de las acciones del programa. Este registro se llama traza (trace). Dependiendo de lo que se est\u00e9 investigando, la traza puede incluir instrucciones ejecutables, direcciones de memoria, n\u00fameros de puerto, informaci\u00f3n sobre interrupciones. <\/p>\n<p>El siguiente paso es la \"ejecuci\u00f3n\" de la traza, cuando el simulador c\u00edclico lee la traza y lleva a cabo todas las instrucciones que contiene. Al final, obtenemos el tiempo de ejecuci\u00f3n de este fragmento de programa, as\u00ed como diversas caracter\u00edsticas de este proceso, como el porcentaje de aciertos en cach\u00e9. <\/p>\n<p>Una caracter\u00edstica importante del trabajo con trazas es la determinaci\u00f3n, es decir, al ejecutar la simulaci\u00f3n de la forma descrita anteriormente, reproducimos una secuencia de acciones id\u00e9ntica una y otra vez. Esto permite, al modificar los par\u00e1metros del modelo (tama\u00f1os de cach\u00e9, buffers y colas) y utilizando diferentes algoritmos internos o ajust\u00e1ndolos, investigar c\u00f3mo cada par\u00e1metro influye en el rendimiento del sistema y qu\u00e9 opci\u00f3n ofrece los mejores resultados. Todo esto se puede realizar con el modelo prototipo del dispositivo antes de crear un prototipo hardware real. <\/p>\n<p>La complejidad de este enfoque radica en la necesidad de ejecutar previamente la aplicaci\u00f3n y recopilar la traza, as\u00ed como en el gran tama\u00f1o del archivo de traza. Entre los aspectos positivos se encuentra que solo es necesario modelar la parte del dispositivo o plataforma que interesa, mientras que la simulaci\u00f3n de ejecuci\u00f3n generalmente requiere un modelo completo. <\/p>\n<p>As\u00ed que en este art\u00edculo hemos revisado las caracter\u00edsticas de la simulaci\u00f3n de plataforma completa, discutido la velocidad de las implementaciones en diferentes niveles, la simulaci\u00f3n c\u00edclica y las trazas. En el siguiente art\u00edculo, describir\u00e9 los principales escenarios de uso de los simuladores, tanto para fines personales como desde la perspectiva del desarrollo en grandes empresas.<br \/>\n<br \/>Fuente: <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 - 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\/es\/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\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Simuladores de sistemas inform\u00e1ticos: el conocido simulador de plataforma completa y los poco conocidos simuladores c\u00edclicos y de trazas | ProHoster","description":"En la segunda parte del art\u00edculo sobre simuladores de sistemas inform\u00e1ticos, continuar\u00e9 hablando de manera simple y accesible sobre los simuladores inform\u00e1ticos, centr\u00e1ndome en la simulaci\u00f3n de plataforma completa, con la cual se encuentra m\u00e1s frecuentemente.","canonical_url":"https:\/\/prohoster.info\/es\/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":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/87136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=87136"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/87136\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/87137"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=87136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=87136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=87136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}