elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM, arquitecturas y procesadores compatibles
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: ASM, arquitecturas y procesadores compatibles  (Leído 11,372 veces)
GeorgArming


Desconectado Desconectado

Mensajes: 350


Ver Perfil
ASM, arquitecturas y procesadores compatibles
« en: 29 Noviembre 2011, 19:54 pm »

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 Desconectado

Mensajes: 1.908


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #1 en: 29 Noviembre 2011, 20:26 pm »

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 Desconectado

Mensajes: 350


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #2 en: 29 Noviembre 2011, 22:17 pm »

¿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 Desconectado

Mensajes: 350


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #3 en: 29 Noviembre 2011, 22:48 pm »

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 Desconectado

Mensajes: 215


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #4 en: 30 Noviembre 2011, 03:58 am »

¿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 Desconectado

Mensajes: 350


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #5 en: 30 Noviembre 2011, 16:19 pm »

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 Desconectado

Mensajes: 248



Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #6 en: 30 Noviembre 2011, 20:40 pm »

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

Cita de: Snowcrash
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 Desconectado

Mensajes: 350


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #7 en: 30 Noviembre 2011, 20:54 pm »

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 Desconectado

Mensajes: 350


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #8 en: 30 Noviembre 2011, 23:27 pm »

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 Desconectado

Mensajes: 215


Ver Perfil
Re: ASM, arquitecturas y procesadores compatibles
« Respuesta #9 en: 1 Diciembre 2011, 14:40 pm »

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

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Compilar para distintas arquitecturas
Programación General
jankoitt 1 2,380 Último mensaje 16 Noviembre 2010, 05:30 am
por Littlehorse
Futuro de las arquitecturas: ARM o x86
Hardware
GeorgArming 4 4,466 Último mensaje 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,912 Último mensaje 25 Junio 2020, 19:13 pm
por El_Andaluz
Procesadores Compatibles « 1 2 »
Hardware
B€T€B€ 12 10,255 Último mensaje 9 Junio 2022, 23:36 pm
por AC1
Exploiting en arquitecturas i386 Parte 1
Bugs y Exploits
D4lt0n 1 3,088 Último mensaje 1 Diciembre 2023, 17:30 pm
por D3s0rd3n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines