Autor
|
Tema: ASM, arquitecturas y procesadores compatibles (Leído 11,237 veces)
|
GeorgArming
Desconectado
Mensajes: 350
|
Según tengo entendido, cuando se crea un OS, éste es específico de una arquitectura determinada, no es portable. Tendrías que cambiar el código ASM para adaptarse a la nueva arquitectura.
Mi pregunta es si hay algún tipo de sintaxis ASM que sea multiplataforma. Por ejemplo, que funcione con procesadores Intel, con ARM,... (O alguna arquitectura multiplataforma). ¿Sabéis algo de eso?
Otra cosa, leí sobre un programador que hizo un OS muy simple pero multiplataforma, basándose en la arquitectura ewa. ¿Sabéis si esta arquitectura es verdaderamente compatible con todos los procesadores?
Básicamente, la pregunta es: hay alguna manera de programar un OS que sea portable a todas las arquitecturas?
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
como tu lo has dicho no es portable, por ejemplo el so windows se adapta a todas las pc porque trae varios páquetes de drivers, para que instala dependiendo del hardware, por eso si te has fijado tambien existe el winx86 y el winx64 eso es para aprovechar la nueva arquitectura de microprocesadores x64. programas talves podrian pero SO's hasta donde sé no. con los programas podrias depender de algunas librerias del SO pero como eso tambien estaria dependiendo del SO
|
|
|
En línea
|
|
|
|
GeorgArming
Desconectado
Mensajes: 350
|
¿entonces se tiene que programar un OS distinto para cada arquitectura? ¿seguro que no hay ninguna manera, aunque quede un OS muy minimalista, de que sea "universal"?
y, entonces, ASM no es portable a distintos procesadores... pero si programas íntegramente en C sí tendría que serlo, no?
|
|
|
En línea
|
|
|
|
GeorgArming
Desconectado
Mensajes: 350
|
me he estado documentando, y he encontrado algo muy interesante, que ya mencioné anteriormente. se trata de la arquitectura ewa.
resumiendo, se trata de arrancar una especie de máquina virtual directamente sobre el procesador, y a partir de ahí arrancar el OS. ¿Qué pensáis?
|
|
|
En línea
|
|
|
|
pucheto
Desconectado
Mensajes: 215
|
¿entonces se tiene que programar un OS distinto para cada arquitectura? ¿seguro que no hay ninguna manera, aunque quede un OS muy minimalista, de que sea "universal"?
y, entonces, ASM no es portable a distintos procesadores... pero si programas íntegramente en C sí tendría que serlo, no?
El tema es que cada arquitectura tiene un juego de instrucciones distinto, y tiene estructuras y registros del procesador distintos... Lo que si se hace es tener la mayoria del codigo en C y solo una parte lo mas minima posible en ASM, asi a la hora de portar el codigo no hay q cambiar todo.
|
|
|
En línea
|
|
|
|
GeorgArming
Desconectado
Mensajes: 350
|
El tema es que cada arquitectura tiene un juego de instrucciones distinto, y tiene estructuras y registros del procesador distintos... Lo que si se hace es tener la mayoria del codigo en C y solo una parte lo mas minima posible en ASM, asi a la hora de portar el codigo no hay q cambiar todo.
vale, es eso a lo que me refería. y una pregunta, y si hubiera un bootloader en ASM que cargase un programa en C... la parte en C sería portable, no? si incluyes ASM en C inline y lo compilas, es portable?
|
|
|
En línea
|
|
|
|
Unbr0ken
Desconectado
Mensajes: 248
|
Respondiendo a la pregunta principal: Subjetivamente diría que sí es posible. Mi afirmación se basa en el proyecto eWa. Claro está que mi opinión es relativamente cierta. Veamos el esquema eWa... Visto ésto, diría yo que sí es posible hacer un sistema multiplatafórmico, no obstante, con una imagen no se puede asegurar una afirmación; aquí te dejo el enlace del Proyecto eWa. (Le veo muy bueno, pero... tengo que profundizar un poco más para saber de qué va éste) Espero le des una hojeada, a lo mejor te sirva de algo . P.D.: Aquí está el cómo funciona su arquitectura, no está culminado, pero... es la idea principal. Salud.
|
|
|
En línea
|
Discutir con desconocidos por internet es un ejercicio de imbéciles; todos acaban siendo quinceañeros arrogantes con cantidades infinitas de tiempo libre. NO resuelvo dudas vía MP, para algo está el foro.
|
|
|
GeorgArming
Desconectado
Mensajes: 350
|
muchísimas gracias, Unbr0ken. yo ya sabía de la arquitectura ewa, pero que alguien que entienda del tema lo explique te dice mucho sobre el valor de dicha arquitectura. además, esta imagen no la había encontrado...
|
|
|
En línea
|
|
|
|
GeorgArming
Desconectado
Mensajes: 350
|
entonces me voy a documentar con el tema ewa.
otra cosa que se me ha ocurrido. hay varias máquinas virtuales. seguro que alguna está programada íntegramente en C. como C es portable, si se cargara de inicio esa máquina virtual, y en esa máquina virtual se creara un OS... sería portable, no?
|
|
« Última modificación: 30 Noviembre 2011, 23:31 pm por GeorgArming »
|
En línea
|
|
|
|
pucheto
Desconectado
Mensajes: 215
|
vale, es eso a lo que me refería. y una pregunta, y si hubiera un bootloader en ASM que cargase un programa en C... la parte en C sería portable, no?
si incluyes ASM en C inline y lo compilas, es portable?
Si incluis el ASM inline no es portable. El tema con las maquinas virtuales es muy relativo, vos podes hacer un sistema operativo para correr sobre una arquitectura virtual, pero estas atado a esa arquitectura virtual (no sos portable entre arquitecturas, dependes de estar corriendo sobre la maquina virtual). Y la maquina virtual, en algun momento va a tener q manejar registros especificos de cada procesador, manejar interrupciones (las estructuras para manejar interrupciones son distintas en cada procesador), etc. Podes tratar de alejarte lo mas que puedas del procesador, pero en algun momento alguien va a tener q manejarlo, seas vos, la maquina virtual, etc.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Compilar para distintas arquitecturas
Programación General
|
jankoitt
|
1
|
2,346
|
16 Noviembre 2010, 05:30 am
por Littlehorse
|
|
|
Futuro de las arquitecturas: ARM o x86
Hardware
|
GeorgArming
|
4
|
4,432
|
30 Diciembre 2011, 13:49 pm
por GeorgArming
|
|
|
Los nuevos Mac de Apple con procesadores ARM no serán compatibles con Windows 10
Noticias
|
El_Andaluz
|
0
|
4,773
|
25 Junio 2020, 19:13 pm
por El_Andaluz
|
|
|
Procesadores Compatibles
« 1 2 »
Hardware
|
B€T€B€
|
12
|
10,160
|
9 Junio 2022, 23:36 pm
por AC1
|
|
|
Exploiting en arquitecturas i386 Parte 1
Bugs y Exploits
|
D4lt0n
|
1
|
3,001
|
1 Diciembre 2023, 17:30 pm
por D3s0rd3n
|
|