operating-system - saber - sistemas operativos de 32 y 64 bits
¿Qué sistemas operativos están disponibles para un microprocesador de 8 bits? (17)
¿Cuál es el objetivo aquí? Los SO integrados tienden a costar mucho. (MicroC / OS II, etc.)
Parece que puede estar apoyando el sistema operativo antes de lo que considero más importantes cuando se trata de la selección de dispositivos. Debe conocer los patrones generales de diseño para la plataforma en la que está trabajando. No intentes meter los conceptos de PC en el más pequeño de los chips integrados como este.
OMFG ... Java NO pertenece a un procesador de 8 bits. De hecho, probé ese chip Maxix / Dallas DS80C400. Tenía un sistema operativo simplificado (lectura: programador) y una pila de TCP / IP cocida en chip, y se veía muy bien en la hoja de datos. Fue un completo desastre. Lento, lento, lento!
Terminé con un procesador suave basado en FPGA y un MAC suave. Sin sistema operativo ... Funcionó muy bien. Una vez que un error FIFO envió paquetes tan rápido que todas las PC con Windows en la red bloquearon las interrupciones de manejo (incluso el mouse bloqueado) hasta que apagué la placa de desarrollo.
Personalmente me ha resultado bastante difícil escribir tanto código para un procesador de 8 bits que incluso NECESITA un sistema operativo. Estoy seguro de que algunas aplicaciones / situaciones pueden hacerlo más deseable de lo que he visto. El único uso para un sistema operativo que he encontrado es cuando tiene algún dispositivo complejo con controladores de dispositivo para un SO específico que le gustaría usar, y entonces ya no es una pregunta de "sistema operativo general".
Familiarícese con el ticker del temporizador de 1 ms tan común + lista de banderas globales "volatile char g_TASKS []" + un bucle principal simple () que verifica indicadores de tareas y subrutinas de llamadas. Las máquinas de estado son tus amigos. Tendrá un mejor manejo sobre cómo se ejecutará su sistema. Estos son los patrones de diseño de los procesadores de 8 bits.
En cualquier momento necesita que la tarea A espere a que se complete la tarea B, luego agregue un estado de máquina de estado a la tarea A, y haga que la tarea B establezca ese estado ... o algo similar.
Una lista mucho más útil (en mi humilde opinión) sería utilizar buenos procesadores de 8 bits, no sistemas operativos. Aquí estarían mis criterios: baja potencia, excelente depuración (OCD), excelente entorno de desarrollo (o solo integración de Eclipse), bajo costo, buena compatibilidad con el compilador de C y estabilidad general de la plataforma de depuración / depurador / etc.
No es necesario que sea un SO completo, sino que al menos debe tener capacidades multitarea (es decir, un programador).
Por favor, mencione en qué arquitectura de procesador trabaja.
Esta es una encuesta , por lo que las capacidades exactas no son realmente importantes. Piense en esto como un lugar para buscar posibilidades cuando surja su próximo proyecto integrado de 8 bits ...
Me doy cuenta de que la mayoría de los micro de 8 bits no requieren un sistema operativo, pero a modo de ejemplo, Rabbit Semiconductor ofrece el módulo de procesador RCM3710 con 4 puertos serie, un puerto Ethernet 10-BaseT, 512K RAM y Flash 512K. Todo por $ 39. Todo basado en un núcleo Z80 de 8 bits.
8 bits NO significa necesariamente restricción de recursos extrema.
A mediados de los años 70 escribí, y en 1982 dejé de enviar un sistema operativo de 8 bits (SDOS) para Motorola 6800/6801/6809. Esos sistemas operativos vienen en varios sabores:
- Tiempo Real multiproceso (2Kb ROM + cualquier RAM que quisieras)
- Sistema operativo de disco de un solo usuario (64 KB de memoria como máximo)
- Tiempo compartido multiusuario (15 usuarios en 1Mb de RAM con 65Kb de bancos de memoria, uno por usuario)
- Sistema operativo distribuido (sistema de usuario único o multiusuario con acceso a discos remotos)
¿Dónde estabas cuando necesitaba un cliente: -? (Lo dejé cuando quedó claro que IBM eligió a Bill Gates por rayo para ser el rey del microprocesador OS).
Corté mis dientes RTOS en el OS9 de Microware para el Motorola 6809. Brillante por su día y uso excelente de las funciones avanzadas del 6809 (entonces).
Creo que Contiki funcionará. Adam Dunkels hace algunas cosas realmente geniales.
Se ejecuta en muchas plataformas, incluido el Commodore 64.
Escribí uno hace unos años para el Z80, pero el z80 no es compatible con la multitarea o paginación de hardware, es posible la multitarea, pero su libertad es bastante limitada, tiene que rodar cosas como saltos absolutos o diferentes posiciones de inicio en diferentes programas.
Este podría ser un punto de vista inusual, pero recomiendo encarecidamente pensar dos o incluso tres veces antes de decidir usar un sistema operativo para una computadora de 8 bits. Los sistemas operativos son para aplicaciones complejas y las CPU de 8 bits no son la mejor opción para estas tareas.
No estoy diciendo que un sistema operativo nunca debería usarse para un 8 bits, solo que hay menos posibilidades de que sea la mejor solución.
Esto probablemente no es lo que quieres, pero para MSX y Armstrad hay un sistema operativo de GUI absolutamente sorprendente llamado SymbOS ( http://www.symbos.de/ ). Lo sorprendente es que fue hecho completamente por un tipo alemán llamado Prodatron ( http://www.prodatron.net/ ). Tiene una verdadera multitarea y muchas aplicaciones de lo que cabría esperar del sistema operativo moderno:
- SymCommander - Norton Commander clon.
- SymPlay - reproductor de video, los videos deben ser preprocesados, pero después de eso se ejecutan de manera muy fluida y simultánea con otras aplicaciones.
- SymSee - visor de imágenes, de nuevo las imágenes deben convertirse al formato CPC primero.
- SymAmp - reproductor de música, admite módulos de seguimiento e incluso MP3-s con hardware especial.
- Calculadora , Buscaminas , Panel de control , etc.
Lo he visto demo por su autor y el único comentario de la audiencia fue "¡Debes ser gracioso!". Nadie había visto antes tales características en una computadora MSX de 8 bits.
HACK-RTOS para microcontroladores Zilog eZ8, eZ80 y ZNEO
HI-TECH Salvo: características HI-TECH Salvo es un RTOS multitarea cooperativo, basado en eventos y basado en prioridades. Es para procesadores con RAM severamente limitada (<256 bytes), funciona dentro de una llamada de hardware; pila de devolución de 8 niveles o menos, admite 16 niveles de prioridad de tarea dinámica por separado, y proporciona comunicación y sincronización entre tareas, comunicación ISR a tarea e intercambio de recursos. Es extremadamente pequeña RAM y huella ROM, no requiere pila PUSH / POP o puntero de pila, ROMable y extensible. Baja latencia de interrupción, cambio de contexto rápido y portátil: escrito en ANSI C, con compilador mínimo.
He escrito un programador round-robin para i8051 (que es mucho más débil que i8085 / Z80) y un kernel pequeño para un TI DSP TMS320C54xx de 16 bits (programador con prioridades, llamadas al sistema, bloqueos / mutexes). Si puede programar en ensamblaje y puede hacer que funcionen los ISR de su temporizador, puede obtener funcionalidades básicas similares implementadas y funcionando en menos de una semana de trabajo.
He usado uC / OS en una Z180 (máquina de 8 bits). Tuve que hacer un puerto a nuestro modelo de memoria bancaria almacenada. Pero por lo demás fue genial, especialmente tener un libro detallado que describe toda la funcionalidad. Y a pesar de que era un RTOS, todavía teníamos que usar hilos, etc. con moderación.
Para aquellos que sugieren máquinas de estado en lugar de un sistema operativo porque tienen poca sobrecarga, es posible que desee comprobar Contiki. Es muy pequeño y gratis. No tiene un modelo de subprocesamiento tradicional, en su lugar utiliza ProtoThreads: http://www.sics.se/~adam/pt/ .
ProtoThreads le ofrece algo que se aproxima a la semántica de subprocesos sin la sobrecarga de un sistema operativo real con múltiples stacks, etc. ... Como beneficio adicional, no necesita ningún tipo de sistema operativo para usarlos Contiki o de otro modo.
Los hemos utilizado en un proyecto con gran éxito. Realmente hacen que escribir código complicado sea mucho más fácil.
Rabbit Semiconductor tiene un puerto del MicroC / OS II para sus procesadores.
Salvo: el RTOS que se ejecuta en lugares pequeños (TM). - La ROM modesta de Salvo y sus minúsculos requisitos de RAM significa que puede tener aplicaciones multitarea basadas en prioridades y orientadas a eventos en casi cualquier microcontrolador de un solo chip, con mucho espacio libre para su aplicación. Con Salvo, puede: Implementar nuevos diseños rápidamente * Mejorar la funcionalidad utilizando los recursos existentes * Mejorar el rendimiento en tiempo real * Multitarea.
También está Uzix, para las computadoras basadas en MSX (z80), como Unix Like, Posix Compliant, multitarea, preventiva y con una pila TCP / IP implementada.
Tengo algunas dificultades para visualizar el tipo de procesador de 8 bits que está planeando usar aquí; básicamente, si es lo suficientemente potente como para ejecutar algo así como un sistema operativo (un H8, por ejemplo), casi seguramente encontrará un ARM el micro codificado va a ser igual de barato.
Softools también proporciona un SO (llamado TurboTask) para los Rabbit Processors.
Hay una biblioteca que proporciona una programación de tareas básica para el Conejo. La biblioteca funciona con el compilador Softools, pero no con el compilador de conejos.