Fondo
Hace algunos años escuché a gente decir que OSX y Linux eran mejores que Windows, también recuerdo haber leído algo que decía que el sistema operativo Solaris no fragmentaba sus archivos y que el sistema de archivos de Linux estaba casi en el mismo paso. pero ninguna de estas afirmaciones parecía tener fundamento o referencias.
Pregunta
¿Cuáles son algunos criterios objetivos que se pueden utilizar para comparar sistemas operativos entre sí?
Respuesta1
Creo que puedes tomar los métodos para comparar sistemas operativos y dividirlos en dos grupos:
- Características
- Diferencias estructurales
Primero, diferencias estructurales: los sistemas operativos actuales son bastante similares bajo el capó. Básicamente todos tienen alguna influencia de Brian Kernighan y Dennis Ritchie, los dos que trabajaron en el lenguaje de programación C y también en UNIX. De hecho, muchos de los sistemas operativos actuales, como Linux, Solaris y OS X, se clasifican como "similares a UNIX", porque son descendientes de UNIX de una forma u otra. La filosofía de UNIX era básicamente hacer todo simple, o más exactamente, "básico", y que cada programa debería tener una y exactamente una función. Estos conceptos todavía se utilizan hoy en día.
En cuanto a Windows, lo extraño es que también estuvo influenciado por el trabajo de K&R. Aunque Windows no es un sistema "tipo UNIX", está escrito en C, el lenguaje que inventó K&R, y presenta ciertas similitudes. Por ejemplo, la "Pantalla azul de la muerte" es solo la versión de Windows delpanico kernel, una idea que se inventó junto con UNIX.
Todos los principales sistemas operativos actuales se basan en un esquema de diseño de núcleo llamado núcleo "monolítico". Esto simplemente significa que el kernel se ejecuta como un solo programa. Una implicación de esto es que todo el código de este programa tiene control total sobre todos los recursos de su computadora, lo que podría causar errores que causen daños graves. Ha habido unaconocido debatecon respecto a la posibilidad de "dividir" el núcleo de un sistema operativo en programas separados para mejorar la estabilidad y la seguridad. Este diseño se llama "micronúcleo". Como mencioné, todos los sistemas operativos actuales se basan en un diseño de núcleo monolítico, tal vez debido a su mejor rendimiento, o tal vez simplemente porque ha sido así durante mucho tiempo.
En cuanto a las características, esta es probablemente la gran comparación, ya que, como se mencionó anteriormente, todos los sistemas operativos actuales son muy similares estructuralmente. Y, de hecho, en mi opinión, las características varían sólo ligeramente. Este realmente depende de a quién le preguntes. Por ejemplo, Mac OS X tiene algunas características bastante ingeniosas, como XGrid y OpenCL (aunque ahora también funcionan en otras plataformas). También es muy fácil de usar. Pero también ha sido criticado por "llevar equipaje", quizás refiriéndose a su sistema de archivos relativamente obsoleto. Además, sólo funciona en hardware de Apple.
Linux es excelente para servidores y supercomputadoras debido a su apertura y aparente superioridad con el multiprocesamiento. También es una de las opciones más seguras que existen. Pero también ha sido criticado por no ser tan fácil de usar para una configuración de escritorio y no cuenta con el respaldo oficial de ninguna empresa grande. Sin embargo, Linux es probablemente el camino a seguir para el software más avanzado, ya que cambia con frecuencia. De hecho, Linux podría estar obteniendo unnuevo sistema de archivosynuevo administrador de ventanasen el futuro cercano.
Luego está Windows. Windows, al igual que OS X, cuenta con el respaldo de una empresa importante y encontrará una gran cantidad de software para esta plataforma. Al hablar sobre las características y la estructura del sistema operativo anteriormente, puede ver que no son tan diferentes, por lo que esta abundancia de software disponible es probablemente lo que mantiene a flote la participación de mercado de este sistema operativo. Aparte de esa clara ventaja, también está el hecho de que funcionará en una gran cantidad de hardware diferente, a diferencia de OS X.
Como puede ver, los sistemas operativos actuales no son tan diferentes entre sí. Y muchas de las funciones que se crean hoy en día toman la forma de software de código abierto, que se puede utilizar en cualquiera de estos sistemas operativos. Sin embargo, existen algunas diferencias claras, como el hardware en el que pueden ejecutarse legalmente, la apertura del código, etc. No dude en hacer más preguntas si lo desea.
Respuesta2
Cualquier comparación de sistemas operativos debe realizarse en el contexto de "aptitud para el uso". Tienes que definir lo que quieres que sea el sistema operativo.hacerantes de que pueda decidir cuál es mejor para un caso de uso particular.
Sin embargo, ciertamente existen puntos de comparación objetivos. Una lista no exhaustiva incluye:
- Soporte de hardware
- Ecosistema de aplicaciones
- Ecosistema de desarrollo
- Soporte del sistema de archivos
- Administracion de recursos
- Gestión de la memoria
- Programación de procesos
- controles de E/S
- Implementación de la pila TCP
- Contabilidad a nivel de recursos
- Seguridad
- Mecanismos de seguridad a nivel del sistema operativo
- Mecanismos de seguridad a nivel de sistema de archivos
- Funciones de auditoría
- Contabilidad de procesos
- Gestión de usuarios/roles
- Servicios del sistema nativo
- Puntos de referencia de rendimiento específicos de la aplicación
Hay una gran cantidad de detalles para cada uno de estos temas, por lo que es poco probable que encuentre una respuesta canónica a su pregunta.