Red de conocimiento informático - Consumibles informáticos - ¿Puedes explicarme las diferencias entre UNIX, Windows, Linux y DOS?

¿Puedes explicarme las diferencias entre UNIX, Windows, Linux y DOS?

Estos son sistemas operativos. Sabes.

Unix es el sistema operativo más antiguo y maduro, y sigue siendo un modelo de sistema operativo en la actualidad. Ambientada en la década de 1970 o 1972. Es un producto comercial, caro y funciona en minicomputadoras y estaciones de trabajo (Unix moderno también puede ejecutarse en PC, principalmente varios BSD), por lo que el hardware también es caro. Linux es el resultado de que un grupo de programadores copiaran Unix. Fue de código abierto desde el principio (lanzado en 1991) y todavía lo es. Los estándares de desarrollo de Linux siguen POSIX, que se desarrolló originalmente para estandarizar Unix (porque Unix tiene muchos desarrolladores). Por lo tanto, POSIX ya no se limita a Unix, sino que es un estándar seguido por Unix y sistemas operativos similares a Unix (principalmente Linux). A su vez, la experiencia de usuario de estos sistemas operativos es básicamente la misma porque los estándares son los mismos. Por supuesto, los administradores del sistema (superusuarios) sentirán algunas diferencias, y los programadores definitivamente sentirán una diferencia mayor (también depende de la participación del programador en el kernel).

El propósito original de Linus de copiar Unix no era solo por diversión, sino también para construir un sistema operativo similar a Unix en una PC, y era gratuito (tengo entendido que incluye principalmente código abierto, gratuito, que permite una cierta grado de modificación del código y comercialización). Estos objetivos los logra Linux hoy.

Como se mencionó anteriormente, Unix requiere altos costos de hardware y software. A partir de la década de 1980, el Macintosh de Apple se ejecutaba en ordenadores personales. Este era el "Mac" que era popular en todo el mundo en ese momento. Pero Apple vende tanto software como hardware. Bill Gates compró el sistema operativo DOS, lo modificó y lo ejecutó en una computadora personal compatible con IBM para crear Microsoft. DOS es un sistema operativo no gráfico, mientras que Windows es el producto actualizado de Microsoft con una interfaz gráfica. El éxito inicial de Microsoft se dirigió principalmente a las PC de gama baja y media, y no al hardware (siempre que fuera compatible con IBM), por lo que se apoderó con éxito del mercado de las PC, lo que resultó en la situación actual en la que Windows domina las PC. mercado.

Los sistemas Unix (incluidos los sistemas Linux) tienen un diseño en capas, desde el hardware físico, el kernel, las funciones de la biblioteca, las aplicaciones y las interfaces de usuario, los usuarios están expuestos a la interfaz de usuario y a los dispositivos de entrada y salida. Las interfaces de usuario pueden ser gráficas o no gráficas. En términos generales, la interfaz de usuario (ya sea gráfica sh, bash, csh, tcsh, etc., o no gráfica Gnome, KDE, Xface, Enlightenment, etc.) es como la ropa del sistema operativo (esta ropa tiene ropa interior debajo, llamado X Window, nota: Window es singular, Microsoft Windows es plural), los usuarios pueden reemplazarlo fácilmente a voluntad. Microsoft Windows no es así. Su interfaz gráfica está integrada con el sistema operativo, al igual que la piel humana. Si es difícil cambiarlo, será una cirugía mayor.

En cuanto al sistema de tiempo compartido multiusuario y multitarea, hablemos primero de la experiencia del usuario. Entré en contacto con Unix en 1994. Era una estación de trabajo de SUN Company y costaba cientos de miles. Al principio sólo tenía uno o dos institutos de investigación, pero luego compré varios, que son bastante amplios y se pueden conectar a Internet. Una estación de trabajo conduce a muchos terminales, incluido solo un terminal gráfico (un monitor en color, un mouse y un teclado) y muchos terminales no gráficos (cada terminal incluye una pantalla de caracteres, no admite chino y está equipado con un teclado). . Puede haber un usuario en cada terminal y, de hecho, otros usuarios también pueden iniciar sesión a través de la red (el programa telnet se usó anteriormente y ahora básicamente se reemplazó por el más seguro ssh), por lo que la cantidad de usuarios que iniciaron sesión en el mismo tiempo puede ser mayor que el número de terminales. Estos usuarios están "en línea" al mismo tiempo, haciendo sus propias cosas sin afectarse entre sí. Los usuarios pueden incluso iniciar sesión repetidamente. Por ejemplo, después de iniciar sesión usando el terminal, puedo iniciar sesión en el mismo sistema o sistemas en otras máquinas a través de telnet (siempre que tenga una conexión de red, una cuenta de usuario y una contraseña).

Los archivos de diferentes usuarios se almacenan en sus respectivos directorios de inicio, y si se pueden ver, cambiar o ejecutar entre ellos depende de la configuración de permisos para ese archivo (o directorio), que establece el propietario del archivo o directorio a través de Se domina chmod (o las herramientas proporcionadas por la interfaz gráfica). Por supuesto, el superusuario raíz del sistema es omnipotente y es básicamente el dios del sistema. Ésta es la naturaleza de los sistemas multiusuario.

Este sistema, capaz de admitir que varios usuarios inicien sesión al mismo tiempo, debe ser multitarea, porque cada usuario tiene que enviar una tarea y el sistema no puede favorecer a uno sobre el otro, ni favorecer a uno. sobre el otro. De hecho, un usuario también puede enviar varias tareas una tras otra: en el terminal de caracteres, siempre que la tarea enviada se ejecute en segundo plano, la siguiente tarea se puede enviar en la interfaz gráfica, siempre que haya múltiples tareas virtuales; Se abren terminales, una terminal envía una tarea, empuja la tarea a un segundo plano para ejecutarla en la misma terminal virtual o hace clic con el mouse son todas formas para que el mismo usuario envíe múltiples tareas. A menos que el número de tareas enviadas (procesos) alcance el límite del sistema, o los recursos ocupados (memoria, entrada y salida) se agoten, se sentirá estancado de vez en cuando; de lo contrario, será difícil percibir la interacción entre estas tareas.

Estas tareas se denominan "procesos" en los sistemas Unix. Una computadora puede tener varias CPU (las estaciones de trabajo suelen tener varias CPU) y una CPU solo puede ejecutar como máximo un proceso a la vez, por lo que, esencialmente, una CPU solo puede admitir un proceso. Sin embargo, una de las funciones del sistema operativo es la gestión de procesos: en un minuto ejecuta el proceso A, luego almacena su estado (suspende el proceso A), al minuto siguiente ejecuta el proceso B, luego lo "suspende" y luego ejecuta el proceso C. .., luego regrese y lea el estado de ejecución del proceso A, ejecútelo por un corto período de tiempo y luego cuelgue, y así sucesivamente. Debido a que este tipo de cambio entre procesos es muy rápido para los usuarios y terminales (como impresoras, unidades ópticas, monitores, tarjetas de red, tarjetas de sonido), crea la ilusión de que se están ejecutando múltiples procesos al mismo tiempo. Ésta es la característica de los sistemas de tiempo compartido. Uno de los núcleos del sistema de tiempo compartido es la gestión de procesos. La gestión de procesos no necesariamente alterna entre procesos en un orden fijo, sino que otorga diferentes prioridades a diferentes procesos (aquellos con mayores prioridades se ejecutan primero) y responde a varios software y hardware. interrumpe al mismo tiempo.

Aparte de la cuota de mercado, puramente en términos de rendimiento del sistema operativo e ideas de diseño, Windows es el más basura de varios sistemas operativos populares. Sin embargo, el mercado sólo sigue la ley de la victoria y la derrota de los débiles y los débiles. fuerte y no hay forma de evitarlo.