La verdadera pregunta es de qué manera desea compararlos. Hay tantos grados diferentes de libertad, desde modelos de protección, opciones de implementación, tamaño, objetivos de escala, etc. Hay libros escritos que comparan sistemas operativos.
Así que creo que primero debes decidir sobre el alcance de tu comparación. Elige una idea importante. Alguien sugirió uKernel (EL sistema desde el 60 hasta Mach 4) vs Kernel híbrido (Windows / NT, OSx, Tru64-OSF / 1) vs Monolithic (Multics, OS / 360, Tops, Tenex, familia tradicional UNIX y Linux) – que es un
Otro vector está mirando cómo los diferentes sistemas operativos manejan las cosas básicas como el almacenamiento. Por ejemplo, un artículo realmente bueno e interesante sería examinar cómo se manejan los segmentos y los objetos en Multics, frente a cómo se manejan en su pseudo hijo, Unix. Tendrás que aprender mucho sobre los fundamentos del sistema operativo con esa inmersión profunda y comprender por qué las personas hicieron las compensaciones que tienen.
Los modelos de proceso de estos sistemas también son diferentes. La familia Mach (que incluye OSx), Solaris y otros tienen procesos y subprocesos como ciudadanos de primera clase en el núcleo (a veces llamado soporte de subprocesos M x N). Tradicional UNIX y sus contemporáneos, el enhebrado era un problema de espacio de usuario y hay problemas con el bloqueo. Linux tiene un modelo extraño, que funciona para él, pero no lo es (hay soporte en el kernel y básicamente los hilos son procesos, por lo que son más pesados que en OSx o Solaris).
- Si tengo una distribución binomial con p = 0.8, ¿qué distribución normal se puede usar para aproximar la distribución binomial?
- Quiero hacer el curso de NetApp. ¿Qué debería hacer ahora?
- Si tengo un retraso en casi la mitad del curso de la clase 11 y me estoy preparando para IIT JEE 2019, ¿cómo puedo cubrirlo ahora?
- Estoy obteniendo alrededor de 450+ en las pruebas de clase para NEET realizadas por Aakash. ¿Cómo puedo aumentar mi puntaje a más de 500?
- Estoy buscando asistir a una conferencia digital en febrero o marzo, ¿alguna sugerencia?
Del mismo modo, un vector que podría ser interesante es observar el esquema básico de mensajes utilizado para las comunicaciones distribuidas entre “entidades”, como tareas o procesos. La familia Mach usa algo llamado puertos. NT tiene una idea similar. Linux no tiene nada, porque es monolítico (memoria compartida). ¿Por qué es una buena o mala elección?
Espero que captes la idea. Hay muchos temas profundos que los diseñadores de sistemas operativos y la implementación consideran y las elecciones que hacen que impactarán en cómo funciona el sistema. Algunos son más benignos para el usuario, como el lenguaje de implementación, algunos como monolítico vs uKernel son en su mayoría invisibles para el programador de la aplicación hasta que obtiene ciertos problemas (procesamiento distribuido), pero son grandes diferencias para el programador del núcleo.
Como dije, elija un atributo y realmente examínelo. Deberías aprender mucho cuando lo hagas. La buena noticia es que hay muchos recursos (es decir, libros y documentos para leer) para aprender sobre estos temas.