Quiero saber si es posible hacer una operación como windows-xp que está escrita en lenguaje C como puedo escribir eso en java para que tenga las mismas características escritas en C¿Es posible hacer un sistema operativo usando Java?
Respuesta
En teoría sí, pero tú Todavía tendrá que tener un código ensamblador de bajo nivel para iniciar la máquina virtual Java que se ejecutará en la máquina, y también código de bajo nivel para acceder a los controladores de hardware.
De wikipedia:
Dado que Java de Sun Microsystems es hoy uno de los lenguajes orientados a objetos más dominantes, que, no es de extrañar que sistemas operativos basados en Java se han intentado. En esta área , idealmente, el kernel sería consiste en el mínimo requerido para admitir una JVM. Este es el único componente de dicho sistema operativo que debería escribirse en un lenguaje que no sea Java. Construido sobre que JVM y soporte de hardware básico, sería posible escribir el resto del sistema operativo en Java; incluso partes del sistema que son más escrito tradicionalmente en un idioma de nivel inferior como C, por ejemplo, controladores del dispositivo , se pueden escribir en Java.
Ejemplos de intentos de un sistema de este tipo operativo incluyen JX, JNode y JavaOS.
Los controladores de hardware también deberían escribirse en Java. –
Depende de lo que considere "funciones". Si se refiere a la interfaz gráfica, efectos de ventana de lujo, etc., entonces sí, aunque necesitará el lenguaje de ensamblaje o C para los bits más bajos (es decir, la interfaz con los puertos de E/S, etc.). Si también incluye los ABI de Windows como una característica, entonces se vuelve más difícil ya que siguen las convenciones de llamadas de Pascal.
Las API de Windows no son una parte necesaria de un sistema operativo. –
En teoría, sí. Pero necesitaría de alguna manera hacer que Java VM se ejecute usando código de bajo nivel (a menos que quiera compilar Java para ensamblar, lo que probablemente no sea posible sin sacrificar muchas características de Java).
Eli me ganó aproximadamente la misma respuesta ... –
Jikes RVM (anteriormente IBM Jalapeno) y Maxine de Sun Lab son dos ejemplos de JVM autohospedantes. El primero tiene alrededor de 1000 líneas de C. Java generalmente se compila en código máquina. –
@ TomHawtin-tackline, ¿hizo Maxine al público en general? –
Aquí hay una más. http://sourceforge.net/projects/jos/. Pero repito lo que dicen Eli Bendersky y Ron Gejman. –
¿Puedo instalarlo en VmWare? –
sistemas de operación están más cerca del hardware (como los conductores). en mi opinión, esto no es el área de Java (simplemente la solución incorrecta del sistema operativo del dominio del problema).
En teoría, podría escribir todo el sistema operativo en Java con un Java processor. Básicamente utiliza bytecode Java como el conjunto de instrucciones para el procesador
Como se mencionó anteriormente, ya se ha intentado. Jnode es el único que ha resistido la prueba del tiempo y se está trabajando activamente a pesar de que no han lanzado una nueva versión en años. Pero si miras sus confirmaciones de Git, están trabajando en un lanzamiento inminente mientras escribo esto. Soy un fanático de Java y espero con ansias el lanzamiento. Las personas que odian los lenguajes imperativos verbosos como Java se avergüenzan de la idea, pero no es para todos.
También es interesante la idea de implementar el código de bytes de Java en el hardware. No creo que vaya a ir a ninguna parte, ya que la fortaleza de Java es que no necesita preocuparse demasiado por el hardware. Solo necesita obtener un sistema operativo en Java y se puede ejecutar en cualquier JVM.
Creo que la verdadera potencia de Java en el dominio del sistema operativo es la virtualización. No puedo pensar en una mejor manera de tener un sistema operativo virtual, ya que Java está en todas partes.
Como otros carteles mencionados anteriormente, no se puede implementar completamente en Java sin una implementación de hardware de Java. Jnode está completamente escrito en ensamblaje y Java. Pero luego todos los sistemas operativos modernos usan algún lenguaje ensamblador.
- 1. ¿Es posible crear un sistema operativo usando Python?
- 2. ¿Es posible escribir un sistema operativo para un teléfono móvil?
- 3. Desarrollo de un sistema operativo
- 4. ¿qué es un sistema operativo sin tics?
- 5. ¿OSX es un sistema operativo POSIX?
- 6. ¿Es posible probar si el navegador/sistema operativo de un usuario admite un tipo determinado de enlace usando javascript?
- 7. Detectar el sistema operativo
- 8. malloc en un sistema integrado sin un sistema operativo
- 9. ¿Es posible abrir un túnel SSH usando Java?
- 10. Java VMs que no requieren un sistema operativo?
- 11. ¿Es posible ejecutar el ensamblaje x86 en un sistema operativo x64?
- 12. Detectar sistema operativo en Clojure
- 13. ¿Qué es lo que realmente hace un sistema operativo?
- 14. Java Antivirus ... ¿es posible? ¿Cómo?
- 15. ¿Cómo comprobar si el sistema operativo es Vista en Python?
- 16. Actualizar sistema operativo Android programáticamente
- 17. Sistema operativo de espacio aislado
- 18. ¿Es posible leer/escribir bits de un archivo usando JAVA?
- 19. Recursos para desarrollar un sistema operativo
- 20. ¿Cómo se lee 'List separator' del sistema operativo en Java?
- 21. ¿Cómo puedo cambiar las unidades usando el sistema operativo python?
- 22. En QEMU, ¿es posible interceptar paquetes enviados/recibidos por el sistema operativo invitado de Linux?
- 23. sistema operativo y aplicaciones WPF
- 24. incorrecta nombre del sistema operativo conseguir en Java
- 25. Obtener el tamaño de la memoria del sistema operativo Java
- 26. Cómo determinar el sistema operativo
- 27. jQuery - detectando el sistema operativo y la versión del sistema operativo
- 28. C biblioteca de sistema operativo independiente
- 29. ¿cuál es la diferencia entre la pila de software y el sistema operativo? ¿Por qué Android no es un sistema operativo sino una pila de software?
- 30. ¿Es posible formatear una tarjeta de memoria, pen drive o disco usando Java?
¡Ya existe ese sistema operativo! Mira esto => http://sourceforge.net/projects/jos/ – missingfaktor
JOS nunca llegó a ninguna parte ... http://www.jnode.org es un mejor ejemplo. –
Incluso una cantidad mínima de investigación revela que uno ya se ha creado. – Raedwald