Hogar Consejos útiles Que está completamente implementado en Unix. Diferencias entre UNIX y Linux. ID de usuario y grupo de usuarios

Que está completamente implementado en Unix. Diferencias entre UNIX y Linux. ID de usuario y grupo de usuarios

Además, cada uno de ellos puede realizar muchos procesos informáticos diferentes que utilizarán los recursos de esta computadora en particular.

El segundo mérito colosal de Unix es su carácter multiplataforma. El núcleo del sistema está diseñado de tal manera que se puede adaptar fácilmente a casi cualquier microprocesador.

Unix tiene otras características características:

  • usar archivos de texto simples para configurar y administrar el sistema;
  • uso generalizado de utilidades iniciadas desde la línea de comandos;
  • interacción con el usuario a través de un dispositivo virtual: un terminal;
  • representación de dispositivos físicos y virtuales y algunas herramientas de comunicación entre procesos en forma de archivos;
  • utilizando canalizaciones de varios programas, cada uno de los cuales realiza una tarea.

Solicitud

Actualmente, los sistemas Unix son comunes principalmente entre servidores, pero también como sistemas integrados para diversos hardware, incluidos los teléfonos inteligentes. Además, en los superordenadores predominan los sistemas Unix, en particular, el 100% de los superordenadores del ranking TOP500 tienen instalado el sistema operativo Linux.

Las primeras versiones de Unix fueron escritas en lenguaje ensamblador y no tenían un compilador de lenguaje de alto nivel incorporado. Alrededor de 1969, Ken Thompson, con la ayuda de Dennis Ritchie, desarrolló e implementó el lenguaje Bi (B), que era una versión simplificada (para implementación en minicomputadoras) del lenguaje BCPL desarrollado en el lenguaje. Bi, como BCPL, era un lenguaje interpretado. Fue lanzado en 1972. segunda edicion Unix reescrito en lenguaje Bi. En 1969-1973 Basado en Bi, se desarrolló un lenguaje compilado, llamado C (C).

Dividir

Una razón importante para la división de Unix fue la implementación de la pila de protocolos TCP/IP en 1980. Antes de esto, la comunicación de máquina a máquina en Unix estaba en su infancia: el método de comunicación más importante era UUCP (un medio para copiar archivos de un sistema Unix a otro, originalmente operado a través de redes telefónicas usando módems).

Se han propuesto dos interfaces de programación de aplicaciones de red: Berkley sockets y TLI (Transport Layer Interface).

La interfaz de sockets Berkley fue desarrollada en la Universidad de Berkeley y utilizó la pila de protocolos TCP/IP desarrollada allí. TLI fue creado por AT&T de acuerdo con la definición de capa de transporte del modelo OSI y apareció por primera vez en System V versión 3. Aunque esta versión contenía TLI y transmisiones, inicialmente no tenía una implementación de TCP/IP u otros protocolos de red, pero tales las implementaciones fueron proporcionadas por terceros.

La implementación de TCP/IP fue oficialmente y finalmente incluida en la distribución base de System V versión 4. Esto, junto con otras consideraciones (principalmente de mercado), provocó la demarcación final entre las dos ramas de Unix: BSD (Universidad de Berkeley) y System V (versión comercial de AT&T). Posteriormente, muchas empresas, que obtuvieron la licencia System V de AT&T, desarrollaron sus propias variedades comerciales de Unix, como AIX, CLIX, HP-UX, IRIX, Solaris.

Las implementaciones modernas de Unix generalmente no son sistemas V o BSD puros. Implementan características tanto de System V como de BSD.

Sistemas operativos gratuitos tipo Unix

Actualmente, GNU/Linux y los miembros de la familia BSD están apoderándose rápidamente del mercado de los sistemas Unix comerciales y simultáneamente están penetrando tanto en las computadoras de escritorio de los usuarios finales como en los sistemas móviles e integrados.

Sistemas propietarios

Después de la división de AT&T, la marca Unix y los derechos del código fuente original cambiaron de manos varias veces, en particular, pertenecieron a Novell durante mucho tiempo.

La influencia de Unix en la evolución de los sistemas operativos

Los sistemas Unix tienen una gran importancia histórica porque dieron lugar a algunos de los conceptos y enfoques de software y sistemas operativos que son populares en la actualidad. Además, durante el desarrollo de los sistemas Unix, se creó el lenguaje C.

Ampliamente utilizado en la programación de sistemas, el lenguaje C, creado originalmente para el desarrollo de Unix, ha superado a Unix en popularidad. El lenguaje C fue el primer lenguaje “tolerante” que no intentó imponer al programador tal o cual estilo de programación. C fue el primer lenguaje de alto nivel que proporcionó acceso a todas las capacidades del procesador, como referencias, tablas, desplazamientos de bits, incrementos, etc. Por otro lado, la libertad del lenguaje C provocó errores de desbordamiento del búfer en las funciones de la biblioteca estándar de C. como get y scanf. El resultado han sido muchas vulnerabilidades notorias, como la que explota el famoso gusano Morris.

Los primeros desarrolladores de Unix ayudaron a introducir los principios de la programación modular y la reutilización en la práctica de la ingeniería.

Unix hizo posible el uso de protocolos TCP/IP en computadoras relativamente económicas, lo que llevó a crecimiento rápido Internet. Esto, a su vez, contribuyó al rápido descubrimiento de varias vulnerabilidades importantes en la seguridad, la arquitectura y las utilidades del sistema Unix.

Con el tiempo, los principales desarrolladores de Unix desarrollaron normas culturales desarrollo software, que llegó a ser tan importante como el propio Unix. ( )

Algunos de los ejemplos más famosos de sistemas operativos tipo Unix son macOS, Solaris, BSD y NeXTSTEP.

Rol social en la comunidad de profesionales de TI y rol histórico.

Los Unix originales se ejecutaban en grandes computadoras multiusuario, que también ofrecían sistemas operativos propietarios del fabricante de hardware, como RSX-11 y su VMS descendiente. A pesar de que, según varias opiniones [ ¿cuyo?] Unix de esa época tenía desventajas en comparación con estos sistemas operativos (por ejemplo, la falta de motores de bases de datos serios), era: a) más barato y, a veces, gratuito para las instituciones académicas; b) era portátil de un equipo a otro y desarrollado en un lenguaje C portátil, que “desacoplaba” el desarrollo de programas de equipos específicos. Además, la experiencia del usuario resultó estar "desacoplada" del hardware y del fabricante: una persona que trabajó con Unix en VAX podría trabajar fácilmente con él en 68xxx, etc.

Los fabricantes de hardware en ese momento a menudo tenían una actitud fría hacia Unix, considerándolo un juguete y ofreciendo su sistema operativo propietario para trabajos serios, principalmente DBMS y aplicaciones comerciales basadas en ellos en estructuras comerciales. Se conocen comentarios al respecto por parte de DEC con respecto a su VMS. Las corporaciones escucharon esto, pero no el entorno académico, que tenía todo lo que necesitaba en Unix, a menudo no necesitaba soporte oficial del fabricante, se las arreglaba solo y valoraba el bajo costo y la portabilidad de Unix. Por lo tanto, Unix fue quizás el primer sistema operativo portátil para hardware diferente.

El segundo gran ascenso de Unix fue la introducción de los procesadores RISC alrededor de 1989. Incluso antes de eso, existían los llamados. Las estaciones de trabajo son computadoras personales de un solo usuario de alta potencia que tienen suficiente memoria, un disco duro y un sistema operativo suficientemente desarrollado (multitarea, protección de memoria) para trabajar. aplicaciones serias, como los CAD. Entre los fabricantes de este tipo de máquinas destacó Sun Microsystems, que se hizo un nombre con ellas.

Antes de la llegada de los procesadores RISC, estas estaciones solían utilizar un procesador Motorola 680x0, el mismo que en los ordenadores Apple (aunque con un sistema operativo más avanzado que el de Apple). Hacia 1989 aparecieron en el mercado implementaciones comerciales de procesadores de arquitectura RISC. La decisión lógica de varias empresas (Sun y otras) fue portar Unix a estas arquitecturas, lo que implicó inmediatamente la transferencia de todo el ecosistema de software para Unix.

Los sistemas operativos serios propietarios, como VMS, comenzaron su declive precisamente a partir de este momento (incluso si era posible transferir el sistema operativo a RISC, todo era mucho más complicado con las aplicaciones para él, que en estos ecosistemas a menudo se desarrollaban en lenguaje ensamblador). o en lenguajes propietarios como BLISS), y Unix se convirtió en el SO de los ordenadores más potentes del mundo.

Sin embargo, en este momento el ecosistema comenzó a migrar a una GUI en forma de Windows 3.0. Tanto los desarrolladores como los usuarios apreciaron las enormes ventajas de la GUI, así como, por ejemplo, el soporte unificado para todo tipo de impresoras. Esto socavó en gran medida la posición de Unix en el mercado de PC: implementaciones como SCO e Interactive UNIX no pudieron soportar aplicaciones de Windows. En cuanto a la GUI para Unix, llamada X11 (había otras implementaciones, mucho menos populares), no podía funcionar completamente en una PC de usuario normal debido a los requisitos de memoria: para el funcionamiento normal, X11 requería 16 MB, mientras que Windows 3.1 con él funcionaba lo suficiente. bueno para ejecutar Word y Excel simultáneamente en 8 MB (este era el tamaño estándar de memoria de PC en ese momento). Con los altos precios de la memoria, este fue un factor limitante.

El éxito de Windows impulsó el proyecto interno de Microsoft llamado Windows NT, que era compatible con API con Windows, pero al mismo tiempo tenía las mismas características arquitectónicas de un sistema operativo serio como Unix: multitarea, protección total de la memoria, soporte para máquinas multiprocesador, derechos de acceso a archivos y directorios, registro del sistema. Windows NT también introdujo el sistema de archivos con registro NTFS, que en ese momento superaba en capacidades a todos los sistemas de archivos suministrados estándar con Unix; los análogos de Unix eran solo productos comerciales separados de Veritas y otros.

Aunque Windows NT no fue popular inicialmente debido a sus altos requisitos de memoria (los mismos 16 MB), permitió a Microsoft ingresar al mercado de soluciones de servidor, como los sistemas de administración de bases de datos. Muchos en ese momento no creían que Microsoft, tradicionalmente una empresa de software de escritorio, pudiera ser un actor en el mercado de software empresarial, que ya contaba con grandes nombres como Oracle y Sun. A esta duda se sumó el hecho de que el DBMS de Microsoft (SQL Server) comenzó como una versión simplificada de Sybase. servidor SQL, con licencia de Sybase y 99% compatible en todos los aspectos del trabajo con él.

En la segunda mitad de la década de 1990, Microsoft comenzó a introducir a Unix en el mercado de servidores corporativos.

La combinación de los factores anteriores, así como el colapso de los precios de los controladores de vídeo 3D, que pasaron de equipos profesionales a equipos domésticos, esencialmente acabó con el concepto mismo de estación de trabajo a principios de la década de 2000.

Además, los sistemas de Microsoft son más fáciles de administrar, especialmente en casos de uso comunes.

Pero en este momento Comenzó el tercer fuerte ascenso de Unix.

Además, Stallman y sus camaradas eran muy conscientes de que las herramientas de desarrollo patentadas no eran adecuadas para el éxito del software no corporativo. Por lo tanto, desarrollaron un conjunto de compiladores para varios lenguajes de programación (gcc) que, junto con las utilidades GNU desarrolladas anteriormente (que reemplazan las utilidades estándar de Unix), constituían un paquete de software necesario y bastante poderoso para el desarrollador.

Un serio competidor de Linux en ese momento era FreeBSD, sin embargo, el estilo "catedral" de gestión del desarrollo en comparación con el estilo "bazar" de Linux, así como un arcaísmo técnico mucho mayor en temas como el soporte para máquinas multiprocesador y archivos ejecutables. formatos, ralentizó enormemente el desarrollo de FreeBSD en comparación con Linux, convirtiendo a este último en el buque insignia del mundo del software libre.

Posteriormente, Linux alcanzó nuevas y nuevas alturas:

  • transferencia de productos propietarios serios como Oracle;
  • el serio interés de IBM en este ecosistema como base de sus soluciones verticales;
  • la aparición de análogos de casi todos los programas familiares del mundo de Windows;
  • negativa de algunos fabricantes de equipos a exigir la preinstalación de Windows;
  • lanzamiento de netbooks solo con Linux;
  • Úselo como kernel en Android.

Actualmente, Linux es un sistema operativo merecidamente popular para servidores, aunque mucho menos popular en computadoras de escritorio.

Algunas características arquitectónicas del sistema operativo Unix

A continuación se detallan las características de Unix que distinguen a esta familia de otros sistemas operativos.

  • El sistema de archivos está basado en árboles, distingue entre mayúsculas y minúsculas en los nombres y existen restricciones muy débiles en la longitud de los nombres y las rutas.
  • El kernel del sistema operativo no admite archivos estructurados; en el nivel de llamada del sistema, un archivo es un flujo de bytes.
  • La línea de comando está en el espacio de direcciones del proceso iniciado y no se recupera mediante una llamada al sistema desde el proceso del intérprete de comandos (como sucede, por ejemplo, en RSX-11).
  • El concepto de "variables ambientales".
  • Iniciar procesos llamando a fork(), es decir, la capacidad de clonar el proceso actual con todo el estado.
  • Conceptos stdin/stdout/stderr.
  • La E/S se realiza únicamente a través de descriptores de archivos.
  • Tradicionalmente, el soporte para E/S asincrónicas es extremadamente débil, en comparación con VMS y Windows NT.
  • El intérprete de comandos es una aplicación ordinaria que se comunica con el kernel mediante llamadas ordinarias al sistema (en RSX-11 y VMS el intérprete de comandos se ejecutó como aplicación especial, especialmente colocado en la memoria, mediante llamadas especiales al sistema también se admitieron, lo que permite que una aplicación acceda a su intérprete de comandos principal;
  • Un comando de línea de comando no es más que un nombre de archivo de programa; no se requiere ningún registro especial o desarrollo especial de programas como comandos (lo cual era una práctica común en el RSX-11, RT-11).
  • No se acepta el enfoque con un programa que pregunta al usuario sobre sus modos de funcionamiento, sino que se utilizan parámetros de línea de comando (en los programas VMS, RSX-11, RT-11 también funcionan); línea de comando, pero en su ausencia se emitió una solicitud para ingresar parámetros).
  • Un espacio de nombres de dispositivo de disco en el directorio /dev que puede ser administrado por un administrador, a diferencia del enfoque de Windows, donde el espacio de nombres se encuentra en la memoria del kernel y la administración de este espacio (por ejemplo, estableciendo derechos de acceso) es extremadamente difícil debido a la falta de almacenamiento permanente en discos (construido cada vez que arranca).
  • Uso extensivo de archivos de texto para almacenar configuraciones, a diferencia de una base de datos de configuraciones binarias como en Windows.
  • Uso extensivo de utilidades de procesamiento de texto para realizar tareas cotidianas bajo el control de scripts.
  • “Promoción” del sistema operativo después de cargar el kernel mediante la ejecución de scripts con un intérprete de comandos estándar.
  • Uso amplio

Breve información sobre el desarrollo del sistema operativo UNIX.

UNIX OS apareció a finales de los años 60 como sistema operativo para la minicomputadora PDP-7. Kenneth Thomson y Dennis Ritchie participaron activamente en el desarrollo.

Las características del sistema operativo UNIX incluyen: modo multiusuario, nueva arquitectura del sistema de archivos, etc.

En 1973, la mayor parte del kernel del sistema operativo fue reescrito en el nuevo lenguaje C.

Desde 1974, el sistema operativo UNIX se distribuye en código fuente en universidades de Estados Unidos.

Versiones UNIX

Desde el comienzo mismo de la difusión de UNIX en universidades americanas Comenzaron a aparecer diferentes versiones del sistema operativo.

Para simplificar, AT&T en 1982 combinó varias versiones en una y llamó a la versión del sistema operativo System III. En 1983 se lanzó una versión comercial, System V. En 1993, AT&T vendió sus derechos de UNIX a Novell, que luego los vendió al consorcio X/Open y Santa Cruz Operation (SCO).

En la Universidad de California (Berkeley) se está desarrollando otra línea de sistema operativo UNIX, BSD. Existen versiones gratuitas de FreeBSD y OpenBSD.

La familia OSF/1 (Open Software Foundation) incluye sistemas operativos del consorcio formado por IBM, DEC y Hewlett Packard. Los sistemas operativos de esta familia incluyen HP-UX, AIX, Digital UNIX.

Versiones gratuitas de sistemas operativos UNIX

Existe una gran cantidad de versiones gratuitas de UNIX.

FreeBSD, NetBSD, OpenBSD– opciones desarrolladas sobre la base del sistema operativo BSD.

La familia más popular de sistemas UNIX gratuitos es la familia de sistemas. linux. La primera variante de Linux fue desarrollada por Linus Torvalds en 1991. Actualmente, existen varias variantes. Linux: Red Hat, Mandrake, Slackware, SuSE, Debian.

Características generales de los sistemas UNIX.

Varias opciones UNIX tiene una serie de características comunes:

Multiprogramación de tiempo compartido basada en multitarea preventiva;

Soporte para modo multiusuario;

Uso de mecanismos memoria virtual e intercambio;

Sistema de archivos jerárquico;

Unificación de operaciones de entrada/salida basada en el uso ampliado del concepto de archivo;

Portabilidad del sistema;

Disponibilidad de medios de interacción en red.

Ventajas de los sistemas UNIX

Las ventajas de la familia de sistemas operativos UNIX incluyen:



Portabilidad;

Implementación efectiva de multitarea;

Franqueza;

Disponibilidad y estricto cumplimiento de las normas;

Sistema de archivos unificado;

Potente lenguaje de comando;

La presencia de un número significativo productos de software;

Implementación de la pila de protocolos TCP/IP;

Capacidad para trabajar como servidor o puesto de trabajo.

Servidores basados ​​en UNIX

Un servidor es una computadora que procesa solicitudes de otras computadoras en la red y proporciona sus propios recursos para almacenar, procesar y transmitir datos. Un servidor que ejecuta UNIX puede realizar las siguientes funciones:

Servidor de archivos;

Servidor web;

Servidor de correo;

Servidor de registro remoto (autenticación);

Servidores de servicios web auxiliares (DNS, DHCP);

servidor de acceso a internet

Administrar una computadora UNIX

Cuando se trabaja con un sistema UNIX en modo servidor, como regla general, se usa el modo acceso remoto utilizando algún programa de terminal.

Una sesión de trabajo comienza ingresando un nombre de usuario y una contraseña de acceso.

A menudo, para resolver problemas de administración de servidores, se limitan al modo de operación de comando. En este caso, para el control, se ingresan comandos especiales en la línea de comando en un formato especial. La línea de comando tiene un mensaje especial, por ejemplo:

Vista general del comando:

  1. -bash-2.05b$ comando [opciones] [opciones]

Por ejemplo, llamar a la ayuda del sistema operativo tiene este aspecto:

  1. -bash-2.05b$ man [claves] [tema]
  2. Para obtener ayuda sobre el uso del comando man, escriba
  3. -bash-2.05b$ hombre hombre

Interpretación de la línea de comando

Se utilizan las siguientes convenciones al ingresar comandos:

La primera palabra en la línea de comando es el nombre del comando;

Las palabras restantes son argumentos.

Entre los argumentos, se resaltan las claves (opciones): palabras (símbolos) predefinidas para cada comando, comenzando con uno (formato corto) o un par de guiones (formato largo). Por ejemplo:

Bash-2.05b$ tar –c –f arch.tar *.c

Bash-2.05b$ tar - -create - -file=arch.tar *.c

Al especificar opciones, se pueden combinar. Por ejemplo, los siguientes comandos son equivalentes:

Bash-2.05b$ ls –a –l

Bash-2.05b$ ls –l –a

Bash-2.05b$ ls –al

Otros argumentos indican los objetos sobre los que se realizan las operaciones.

Variables del shell

Cuando se trabaja en el sistema, existe una forma de pasar parámetros a los programas, además de utilizar modificadores del shell de comandos, mediante variables de entorno. Para configurar una variable de entorno, use el comando set. Formato de comando:

Bash-2.05b$ establece nombre_variable=valor

La eliminación de una variable de entorno se realiza con el comando unset.

Para acceder al valor de una variable, utilice la notación $nombre_variable, por ejemplo el comando:

Bash-2.05b$ eco $RUTA

Imprime el valor de la variable PATH.

¿Qué es Unix (para principiantes)?


Dmitry Y. Karpov


¿De qué estoy hablando?


Esta obra no pretende ser una descripción completa. Además, en aras de la simplicidad, se han omitido deliberadamente algunos detalles. Al principio, el ciclo estaba pensado como un FAQ (FAQ - preguntas frecuentes), pero aparentemente resultará ser un “Curso para jóvenes soldados” o una “Escuela de sargentos”.

He intentado dar una descripción comparativa de los diferentes sistemas operativos- Esto es exactamente lo que, en mi opinión, falta en la mayoría de los libros de texto y manuales técnicos.

Sin esperar a que me expongan los expertos en Unix, hago una confesión voluntaria: no puedo pretender ser un gran experto en Unix y mi conocimiento se centra principalmente en FreeBSD. Espero que esto no interfiera.

Este archivo permanecerá en el estado "en construcción" durante mucho tiempo. :-)

¿Qué es Unix?


Unix es un sistema operativo completo, multiusuario, multitarea y multiterminal de forma nativa. Más precisamente, se trata de toda una familia de sistemas, casi en su totalidad amigo compatible con un amigo a nivel de códigos fuente de programas.

¿Qué tipos de Unix existen y en qué máquinas se ejecutan?


Esta lista no pretende ser completa, porque además de los enumerados, hay muchos Unixes y sistemas similares a Unix menos comunes, sin mencionar los Unix antiguos para máquinas obsoletas.

Convencionalmente, podemos distinguir las familias System V y Berkeley. System V (léase "System Five") tiene varias variantes, la última, hasta donde yo sé, es System V Release 4. La Universidad de Berkeley es famosa no solo por el desarrollo de BSD, sino también por la mayoría de los protocolos de Internet. Sin embargo, muchos Unix combinan las propiedades de ambos sistemas.

¿Dónde puedo conseguir Unix gratis?


  • Familia BSD: FreeBSD, NetBSD, OpenBSD.
  • Familia Linux: RedHat, SlackWare, Debian, Caldera,
  • SCO y Solaris están disponibles de forma gratuita para uso no comercial (principalmente para Instituciones educacionales).

    ¿Cuáles son las principales diferencias entre Unix y otros sistemas operativos?


    Unix consta de un kernel con controladores y utilidades (programas externos al kernel) incluidos. Si necesita cambiar la configuración (agregar un dispositivo, cambiar un puerto o interrumpir), entonces el kernel se reconstruye (vincula) desde módulos de objetos o (por ejemplo, en FreeBSD) desde fuentes. /* Esto no es enteramente verdad. Algunos parámetros se pueden corregir sin reconstruir. También hay módulos de kernel cargables. */

    A diferencia de Unix, Windows (si no se especifica cuál, nos referimos a 3.11, 95 y NT) y OS/2 realmente vinculan los controladores sobre la marcha durante la carga. La reutilización de código común es un orden de magnitud menor que en Unix. Además, con la configuración del sistema sin cambios, el kernel de Unix se puede escribir en la ROM sin modificaciones (solo es necesario cambiar la parte inicial del BIOS) y ejecutar sin ser modificado. cargado en la RAM La compacidad del código es especialmente importante, porque el kernel y los controladores nunca salen de la memoria RAM física y no se transfieren al disco.

    Unix es el sistema operativo más multiplataforma. Windows NT está intentando imitarlo, pero hasta ahora no ha tenido éxito: después del abandono de MIPS y POWER-PC, W"NT permaneció en sólo dos plataformas: el tradicional i*86 y DEC Alpha. Por supuesto, la portabilidad de Los programas de una versión de Unix a otra son limitados. Un programa escrito que no tenga en cuenta las diferencias en las implementaciones de Unix, haciendo suposiciones poco razonables como “una variable entera debe ocupar cuatro bytes”, puede requerir un trabajo serio. órdenes de magnitud más fáciles que, por ejemplo, pasar de OS/2 a NT.

    ¿Por qué Unix?


    Unix se utiliza como servidor y como estación de trabajo. En la categoría de servidores, compite con MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS y sistemas operativos mainframe. Cada sistema tiene su propia área de aplicación en la que es mejor que otros.

  • WindowsNT es para administradores que prefieren una interfaz familiar al uso económico de recursos y un alto rendimiento.
  • Netware: para redes donde se necesitan servicios de impresoras y archivos de alto rendimiento y otros servicios no son tan importantes. Principal desventaja- Es difícil ejecutar aplicaciones en un servidor Netware.
  • OS/2 es bueno cuando se necesita un servidor de aplicaciones "ligero". Requiere menos recursos que NT, es más flexible en la gestión (aunque puede resultar más difícil de configurar) y la multitarea es muy buena. La autorización y la diferenciación de derechos de acceso no se implementan a nivel del sistema operativo, lo que se compensa con creces con la implementación a nivel de la aplicación del servidor. (Sin embargo, otros sistemas operativos suelen hacer lo mismo). Muchas estaciones FIDOnet y BBS están basadas en OS/2.
  • VMS es un potente servidor de aplicaciones, de ninguna manera inferior a Unix (y en muchos aspectos superior a él), pero sólo para las plataformas VAX y Alpha de DEC.
  • Mainframes: para atender a un gran número de usuarios (del orden de varios miles). Pero el trabajo de estos usuarios generalmente no se organiza en forma de interacción cliente-servidor, sino en forma de interacción host-terminal. Lo más probable es que el terminal de este par no sea un cliente, sino un servidor (Internet World, N3, 1996). Las ventajas de los mainframes incluyen una mayor seguridad y resistencia a fallas, y las desventajas son el precio correspondiente a estas cualidades.

    Unix es bueno para un administrador calificado (o dispuesto a convertirse en uno) porque... Requiere conocimiento de los principios de funcionamiento de los procesos que ocurren en él. La multitarea real y el uso compartido estricto de la memoria garantizan una alta confiabilidad del sistema, aunque los servicios de archivos e impresión de Unix son inferiores a Netware en el rendimiento de los servicios de archivos e impresión.

    La falta de flexibilidad a la hora de conceder derechos de acceso a los usuarios a los archivos en comparación con WindowsNT dificulta la organización del acceso del grupo _at_the_file_system_ a los datos (más precisamente, a los archivos), lo que, en mi opinión, se compensa con la facilidad de implementación, lo que significa menor hardware. requisitos. Sin embargo, aplicaciones como el servidor SQL resuelven por sí solas el problema del acceso a datos grupales, por lo que la capacidad, que falta en Unix, de denegar el acceso a un _archivo_ a un usuario específico, en mi opinión, es claramente redundante.

    Casi todos los protocolos en los que se basa Internet se desarrollaron bajo Unix, en particular la pila de protocolos TCP/IP fue inventada en la Universidad de Berkeley.

    La seguridad de Unix, cuando se administra adecuadamente (¿y cuándo no?), no es de ninguna manera inferior a la de Novell o Windows NT.

    Una propiedad importante de Unix, que lo acerca a los mainframes, es su naturaleza multiterminal; muchos usuarios pueden ejecutar programas simultáneamente en una máquina Unix. Si no necesita utilizar gráficos, puede arreglárselas con terminales de texto baratos (especializados o basados ​​en PC baratas) conectados a través de líneas lentas. En esto sólo VMS compite con él. También puede utilizar terminales X gráficos cuando la misma pantalla contiene ventanas de procesos que se ejecutan en diferentes máquinas.

    En la categoría de estaciones de trabajo, MS Windows*, IBM OS/2, Macintosh y Acorn RISC-OS compiten con Unix.

  • Windows: para quienes valoran la compatibilidad por encima de la eficiencia; para aquellos que estén dispuestos a comprar una gran cantidad de memoria, espacio en disco y megahercios; para aquellos a los que les gusta hacer clic en los botones de la ventana sin profundizar en la esencia. Es cierto que, tarde o temprano, todavía tendrá que estudiar los principios de funcionamiento del sistema y los protocolos, pero entonces será demasiado tarde: la elección ya está hecha. Importante ventaja de windows También debemos admitir la posibilidad de robar un montón de software.
  • OS/2 - para los amantes de OS/2. :-) Aunque, según algunas informaciones, OS/2 interactúa mejor que otros con los mainframes y redes de IBM.
  • Macintosh: para trabajos gráficos, editoriales y musicales, así como para aquellos que aman una interfaz clara y hermosa y no quieren (no pueden) comprender los detalles del funcionamiento del sistema.
  • RISC-OS, flasheado en ROM, le permite evitar perder tiempo instalando el sistema operativo y restaurándolo después de fallas. Además, casi todos los programas que utiliza utilizan recursos de forma muy económica, por lo que no requieren intercambio y funcionan muy rápidamente.

    Unix funciona tanto en PC como en potentes estaciones de trabajo con procesadores RISC; los sistemas de información geográfica y CAD verdaderamente potentes están escritos para Unix. Debido a su naturaleza multiplataforma, Unix es mucho más escalable que cualquier otro sistema operativo que conozca.

    Conceptos Unix


    Unix se basa en dos conceptos básicos: "proceso" y "archivo". Los procesos representan el lado dinámico del sistema, son sujetos; y los archivos son estáticos, son objetos de las acciones de los procesos. Casi toda la interfaz de procesos que interactúan con el kernel y entre sí parece escribir/leer archivos. /* Aunque necesitamos agregar cosas como señales, memoria compartida y semáforos. */

    Los procesos no deben confundirse con los programas: un programa (generalmente con datos diferentes) se puede ejecutar en diferentes procesos. Los procesos se pueden dividir a grandes rasgos en dos tipos: tareas y demonios. Una tarea es un proceso que realiza su trabajo, tratando de terminarlo rápidamente y completarse. El demonio espera a que se procesen los eventos, procesa los eventos que han ocurrido y vuelve a esperar; generalmente termina bajo las órdenes de otro proceso; la mayoría de las veces el usuario lo elimina al dar el comando "eliminar número_proceso". /* En este sentido, resulta que una tarea interactiva que procesa la entrada del usuario se parece más a un demonio que a una tarea. :-) */

    Sistema de archivos


    En los Unix antiguos, se asignaban 14 letras por nombre; en los nuevos, esta restricción se ha eliminado. Además del nombre del archivo, el directorio contiene su identificador de inodo, un número entero que determina el número del bloque en el que se encuentran los atributos del archivo. entre ellos: el número de usuario: el propietario del archivo; el número de enlaces al archivo (ver más abajo), la fecha y hora de creación, la última modificación y los últimos atributos de acceso al archivo. tipo (ver más abajo), atributos para cambiar los derechos al inicio (ver más abajo) y derechos de acceso para que el propietario, compañero de clase y otros lo lean, escriban y ejecuten. El derecho a borrar el archivo está determinado por el derecho a escribir. el directorio superpuesto.

    Cada archivo (pero no el directorio) puede conocerse con varios nombres, pero deben estar ubicados en la misma partición. Todos los enlaces al archivo son iguales; el archivo se borra cuando se elimina el último enlace al archivo. Si el archivo está abierto (para lectura y/o escritura), entonces el número de enlaces al mismo aumenta en uno más; muchos programas que abren un archivo temporal lo eliminan inmediatamente, de modo que en caso de falla, cuando el sistema operativo cierra los archivos abiertos por el proceso, el sistema operativo elimina este archivo temporal.

    Hay otra característica interesante del sistema de archivos: si, después de crear un archivo, la escritura en él no se realizó en una fila, sino a intervalos grandes, entonces no se asigna espacio en disco para estos intervalos. Por lo tanto, el volumen total de archivos en una partición puede ser mayor que el volumen de la partición y, cuando se elimina dicho archivo, se libera menos espacio que su tamaño.

    Los archivos son de los siguientes tipos:

    • expediente regular de acceso directo;
    • directorio (un archivo que contiene los nombres e identificadores de otros archivos);
    • enlace simbólico (una cadena con el nombre de otro archivo);
    • dispositivo de bloqueo (disco o cinta magnética);
    • dispositivo serie (terminales, puertos serie y paralelo; los discos y cintas magnéticas también tienen una interfaz de dispositivo serie)
    • canal nombrado.

    Los archivos especiales diseñados para funcionar con dispositivos generalmente se encuentran en el directorio "/dev". Éstos son algunos de ellos (en la nominación de FreeBSD):

    • tty* - terminales, incluyendo:
      • ttyv - consola virtual;
      • ttyd: terminal DialIn (normalmente un puerto serie);
      • cuaa - Línea de marcación
      • ttyp - pseudoterminal de red;
      • tty - terminal al que está asociada la tarea;
    • wd* - discos duros y sus subparticiones, incluidos:
      • wd - disco duro;
      • wds: partición de este disco (aquí denominada "segmento");
      • wds - sección de partición;
    • fd - disquete;
    • rwd*, rfd* - igual que wd* y fd*, pero con acceso secuencial;

    A veces se requiere que un programa lanzado por un usuario no tenga los derechos del usuario que lo lanzó, sino algunos otros. En este caso, el atributo de cambio de derechos se establece en los derechos del usuario, el propietario del programa. (Como ejemplo, daré un programa que lee un archivo con preguntas y respuestas y, en base a lo que leyó, evalúa al estudiante que inició este programa. El programa debe tener derecho a leer el archivo con respuestas, pero el estudiante quién lo inició, no.) Así funciona, por ejemplo, el programa passwd, con el que el usuario puede cambiar su contraseña. El usuario puede ejecutar el programa passwd y puede realizar cambios en la base de datos del sistema, pero no puede.

    A diferencia de DOS, en el que el nombre completo del archivo parece "unidad:\ruta\nombre", y RISC-OS, en el que parece "-filesystem-drive:$.ruta.nombre" (que en general tiene sus ventajas) ,Unix utiliza una notación transparente en el formato "/ruta/nombre". La raíz se mide desde la partición desde la que se cargó el kernel Unix. Si vamos a utilizar otra partición (y la partición de inicio generalmente contiene solo lo esencial para el inicio), se usa el comando `mount /dev/partition_file directorio`. En este caso, los archivos y subdirectorios que anteriormente estaban ubicados en este directorio se vuelven inaccesibles hasta que se desmonta la partición (naturalmente, todas las personas normales usan directorios vacíos para montar particiones). Sólo el supervisor tiene derecho a montar y desmontar.

    Cuando se inicia, cada proceso puede esperar tener tres archivos ya abiertos, lo que conoce como entrada estándar stdin en el descriptor 0; salida estándar estándar en el descriptor 1; y salida estándar stderr en el descriptor 2. Al iniciar sesión en el sistema, cuando el usuario ingresa un nombre y contraseña y se inicia el shell, los tres se dirigen a /dev/tty; posteriormente cualquiera de ellos podrá ser redirigido a cualquier archivo.

    Intérprete de comandos


    Unix casi siempre incluye dos intérpretes de comandos: sh (shell) y csh (shell tipo C). Además de ellos, también existen bash (Bourne), ksh (Korn) y otros. Sin entrar en detalles, daré principios generales:

    Todos los comandos excepto cambiar el directorio actual, configurar variables de entorno y operadores programación estructurada- programas externos. Estos programas normalmente se encuentran en los directorios /bin y /usr/bin. Programas administracion del sistema- en los directorios /sbin y /usr/sbin.

    El comando consta del nombre del programa que se ejecutará y los argumentos. Los argumentos están separados del nombre del comando y entre sí mediante espacios y tabulaciones. Algunos caracteres especiales son interpretados por el propio shell. Los caracteres especiales son " " ` \ ! $ ^ * & ;

    Puede emitir varios comandos en una línea de comando. Los equipos se pueden dividir; (ejecución secuencial de comandos), & (ejecución simultánea asíncrona de comandos), | (ejecución sincrónica, la salida estándar del primer comando se enviará a la entrada estándar del segundo).

    También puede tomar entrada estándar de un archivo incluyendo "<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">file" (el archivo se pondrá a cero) o ">>file" (la escritura se realizará al final del archivo). El programa en sí no recibirá este argumento; para saber que la entrada o salida ha sido reasignada, el El programa en sí debe realizar algunos gestos nada triviales.

    Manuales - hombre


    Si necesita obtener información sobre algún comando, proporcione el comando "man command_name". Esto se mostrará en la pantalla a través del programa "más"; vea cómo administrarlo en su Unix con el comando "man more".

    Documentación adicional

  • UNIX- una familia de sistemas operativos portátiles, multitarea y multiusuario.

    Las ideas detrás de UNIX tuvieron un gran impacto en el desarrollo de los sistemas operativos informáticos. Actualmente, los sistemas UNIX son reconocidos como uno de los sistemas operativos de mayor importancia histórica.

    Revisar

    El primer sistema UNIX fue desarrollado por la división Bell Labs de AT&T. Desde entonces, se han creado una gran cantidad de sistemas UNIX diferentes. Legalmente, sólo aquellos sistemas operativos que han sido certificados para cumplir con el estándar de especificación única UNIX tienen derecho a ser llamados "UNIX". El resto, aunque utilizan conceptos y tecnologías similares, se denominan sistemas operativos tipo UNIX (en inglés UNIX-like). Para abreviar, en este artículo, sistemas UNIX significan tanto sistemas operativos verdaderos UNIX como sistemas operativos similares a UNIX.

    Peculiaridades

    La principal diferencia entre los sistemas tipo UNIX y otros sistemas operativos es que son inherentemente sistemas multiusuario y multitarea. Es decir, en el mismo momento, muchas personas pueden realizar muchas tareas (procesos) informáticos a la vez. Incluso el sistema Microsoft Windows, que es popular en todo el mundo, no puede considerarse un sistema multiusuario completo, ya que, excepto algunas versiones de servidor, solo una persona puede trabajar en una computadora con Windows al mismo tiempo. Muchas personas pueden trabajar en Unix a la vez y cada una de ellas puede realizar muchos procesos informáticos diferentes que utilizarán los recursos de esa computadora en particular.

    El segundo mérito colosal de Unix es su carácter multiplataforma. El núcleo del sistema está diseñado de tal manera que se puede adaptar fácilmente a casi cualquier microprocesador.

    UNIX tiene otras características características:

    • usar archivos de texto simples para configurar y administrar el sistema;
    • uso generalizado de utilidades iniciadas desde la línea de comandos;
    • interacción con el usuario a través de un dispositivo virtual: un terminal;
    • representación de dispositivos físicos y virtuales y algunas herramientas de comunicación entre procesos en forma de archivos;
    • utilizando canalizaciones de varios programas, cada uno de los cuales realiza una tarea.

    Solicitud

    Actualmente, los sistemas UNIX se distribuyen principalmente entre servidores y también como sistemas integrados para diversos equipos. Entre los sistemas operativos para estaciones de trabajo y uso doméstico Los sistemas operativos UNIX y similares a UNIX ocupan el segundo (macOS), el tercer (GNU/Linux) y muchos lugares posteriores en popularidad después de Microsoft Windows.

    Historia

    Antecesores

    Las primeras versiones de UNIX se escribieron en lenguaje ensamblador y no tenían un compilador de lenguaje de alto nivel incorporado. Alrededor de 1969, Ken Thompson, con la ayuda de Dennis Ritchie, desarrolló e implementó el lenguaje Bi (B), que era una versión simplificada (para implementación en minicomputadoras) del lenguaje BCPL desarrollado en el lenguaje. Bi, como BCPL, era un lenguaje interpretado. Fue lanzado en 1972. segunda edicion UNIX reescrito en idioma Bi. En 1969-1973 Basado en Bi, se desarrolló un lenguaje compilado, llamado C (C).

    Dividir

    Una razón importante para la división de UNIX fue la implementación de la pila de protocolos TCP/IP en 1980. Antes de esto, la comunicación de máquina a máquina en UNIX estaba en su infancia: el método de comunicación más importante era UUCP (un medio para copiar archivos de un sistema UNIX a otro, originalmente operado a través de redes telefónicas usando módems).

    Se han propuesto dos interfaces de programación de aplicaciones de red: Berkley sockets y TLI (Transport Layer Interface).

    La interfaz de sockets Berkley fue desarrollada en la Universidad de Berkeley y utilizó la pila de protocolos TCP/IP desarrollada allí. TLI fue creado por AT&T de acuerdo con la definición de capa de transporte del modelo OSI y apareció por primera vez en System V versión 3. Aunque esta versión contenía TLI y transmisiones, inicialmente no tenía una implementación de TCP/IP u otros protocolos de red, pero tales las implementaciones fueron proporcionadas por terceros.

    La implementación de TCP/IP fue oficialmente y finalmente incluida en la distribución base de System V versión 4. Esto, junto con otras consideraciones (principalmente de mercado), provocó la demarcación final entre las dos ramas de UNIX: BSD (Universidad de Berkeley) y System V (versión comercial de AT&T). Posteriormente, muchas empresas, que obtuvieron la licencia System V de AT&T, desarrollaron sus propias variedades comerciales de UNIX, como AIX, CLIX, HP-UX, IRIX, Solaris.

    Las implementaciones modernas de UNIX generalmente no son sistemas V o BSD puros. Implementan características tanto de System V como de BSD.

    Sistemas operativos gratuitos tipo UNIX

    Actualmente, GNU/Linux y los miembros de la familia BSD están apoderándose rápidamente del mercado de los sistemas UNIX comerciales y simultáneamente están penetrando tanto en las computadoras de escritorio de los usuarios finales como en los sistemas móviles e integrados.

    Sistemas propietarios

    Después de la división de AT&T, la marca UNIX y los derechos del código fuente original cambiaron de manos varias veces, en particular, durante mucho tiempo fueron propiedad de Novell.

    La influencia de UNIX en la evolución de los sistemas operativos

    Los sistemas UNIX tienen una gran importancia histórica porque dieron lugar a algunos de los conceptos y enfoques de software y sistemas operativos que son populares en la actualidad. Además, durante el desarrollo de los sistemas UNIX, se creó el lenguaje C.

    Ampliamente utilizado en la programación de sistemas, el lenguaje C, creado originalmente para el desarrollo de UNIX, ha superado a UNIX en popularidad. El lenguaje C fue el primer lenguaje “tolerante” que no intentó imponer al programador tal o cual estilo de programación. C fue el primer lenguaje de alto nivel que proporcionó acceso a todas las capacidades del procesador, como referencias, tablas, desplazamientos de bits, incrementos, etc. Por otro lado, la libertad del lenguaje C provocó errores de desbordamiento del búfer en las funciones de la biblioteca estándar de C. como get y scanf. El resultado han sido muchas vulnerabilidades notorias, como la que explota el famoso gusano Morris.

    Los primeros desarrolladores de UNIX ayudaron a introducir los principios de la programación modular y la reutilización en la práctica de la ingeniería.

    UNIX hizo posible el uso de protocolos TCP/IP en computadoras relativamente económicas, lo que condujo al rápido crecimiento de Internet. Esto, a su vez, contribuyó al rápido descubrimiento de varias vulnerabilidades importantes en la seguridad, la arquitectura y las utilidades del sistema UNIX.

    Con el tiempo, los principales desarrolladores de UNIX desarrollaron normas culturales para el desarrollo de software que llegaron a ser tan importantes como el propio UNIX. ( )

    Algunos de los ejemplos más famosos de sistemas operativos tipo UNIX son macOS, Solaris, BSD y NeXTSTEP.

    Rol social en la comunidad de profesionales de TI y rol histórico.

    El UNIX original se ejecutaba en grandes computadoras multiusuario, que también ofrecían sistemas operativos propietarios del fabricante de hardware, como RSX-11 y su VMS descendiente. A pesar de que, según varias opiniones [ ¿cuyo?] UNIX de esa época tenía desventajas en comparación con estos sistemas operativos (por ejemplo, la falta de motores de bases de datos serios), era: a) más barato y a veces gratuito para las instituciones académicas b) era portátil de un equipo a otro y estaba desarrollado en el C portátil lenguaje, que “desacoplaba” el desarrollo de programas de equipos específicos. Además, la experiencia del usuario resultó estar "desacoplada" del hardware y del fabricante: una persona que trabajó con UNIX en VAX podría trabajar fácilmente con él en 68xxx, etc.

    Los fabricantes de hardware en ese momento a menudo tenían una actitud fría hacia UNIX, considerándolo un juguete y ofreciendo su sistema operativo propietario para trabajos serios, principalmente DBMS y aplicaciones comerciales basadas en ellos en estructuras comerciales. Se conocen comentarios al respecto por parte de DEC con respecto a su VMS. Las corporaciones escucharon esto, pero no el entorno académico, que tenía todo lo que necesitaba en UNIX, a menudo no necesitaba soporte oficial del fabricante, se las arreglaba solo y valoraba el bajo costo y la portabilidad de UNIX. Por lo tanto, UNIX fue quizás el primer sistema operativo portátil para hardware diferente.

    El segundo ascenso dramático de UNIX fue aparición de procesadores RISC alrededor de 1989. Incluso antes de eso, existían los llamados. estaciones de trabajo: computadoras personales de un solo usuario de alta potencia con suficiente memoria, disco duro y un sistema operativo suficientemente desarrollado (multitarea, protección de memoria) para trabajar con aplicaciones serias, como CAD. Entre los fabricantes de este tipo de máquinas destacó Sun Microsystems, que se hizo un nombre con ellas.

    Antes de la llegada de los procesadores RISC, estas estaciones solían utilizar un procesador Motorola 680x0, el mismo que en los ordenadores Apple (aunque con un sistema operativo más avanzado que el de Apple). Hacia 1989 aparecieron en el mercado implementaciones comerciales de procesadores de arquitectura RISC. La decisión lógica de varias empresas (Sun y otras) fue portar UNIX a estas arquitecturas, lo que implicó inmediatamente la transferencia de todo el ecosistema de software UNIX.

    Los sistemas operativos serios propietarios, como VMS, comenzaron su declive precisamente a partir de este momento (incluso si era posible transferir el sistema operativo a RISC, todo era mucho más complicado con las aplicaciones para él, que en estos ecosistemas a menudo se desarrollaban en lenguaje ensamblador). o en lenguajes propietarios como BLISS), y UNIX se convirtió en el SO de los ordenadores más potentes del mundo.

    Sin embargo en este momento ecosistema Comenzó a cambiar a la GUI representada por Windows 3.0. Tanto los desarrolladores como los usuarios apreciaron las enormes ventajas de la GUI, así como, por ejemplo, el soporte unificado para todo tipo de impresoras. Esto socavó en gran medida la posición de UNIX en el mercado de PC: implementaciones como SCO e Interactive UNIX no pudieron soportar aplicaciones de Windows. En cuanto a la GUI para UNIX, llamada X11 (había otras implementaciones, mucho menos populares), no podía funcionar completamente en una PC de usuario normal debido a los requisitos de memoria: para el funcionamiento normal, X11 requería 16 MB, mientras que Windows 3.1 con él funcionaba lo suficiente. bueno para ejecutar Word y Excel simultáneamente en 8 MB (este era el tamaño estándar de memoria de PC en ese momento). Con los altos precios de la memoria, este fue un factor limitante.

    El éxito de Windows impulsó el proyecto interno de Microsoft llamado Windows NT, que era compatible con API con Windows, pero al mismo tiempo tenía las mismas características arquitectónicas de un sistema operativo serio como UNIX: multitarea, protección total de la memoria, soporte para máquinas multiprocesador, derechos de acceso a archivos y directorios, registro del sistema. Windows NT también introdujo el sistema de archivos con registro NTFS, que en ese momento superaba en capacidades a todos los sistemas de archivos suministrados estándar con UNIX; los análogos de UNIX eran solo productos comerciales separados de Veritas y otros.

    Aunque Windows NT no fue popular inicialmente debido a sus altos requisitos de memoria (los mismos 16 MB), permitió a Microsoft ingresar al mercado de soluciones de servidor, como los sistemas de administración de bases de datos. Muchos en ese momento no creían que Microsoft, tradicionalmente una empresa de software de escritorio, pudiera ser un actor en el mercado de software empresarial, que ya contaba con grandes nombres como Oracle y Sun. A esta duda se sumó el hecho de que Microsoft DBMS (SQL Server) comenzó como una versión simplificada de Sybase SQL Server, con licencia de Sybase y 99% compatible en todos los aspectos del trabajo con él.

    En la segunda mitad de la década de 1990, Microsoft comenzó a introducir UNIX en el mercado de servidores corporativos.

    La combinación de los factores anteriores, así como el colapso de los precios de los controladores de vídeo 3D, que pasaron de equipos profesionales a equipos domésticos, esencialmente acabó con el concepto mismo de estación de trabajo a principios de la década de 2000.

    Además, los sistemas de Microsoft son más fáciles de administrar, especialmente en casos de uso comunes.

    Pero ahora ha comenzado el tercer ascenso brusco de UNIX.

    Además, Stallman y sus compañeros, plenamente conscientes de que el éxito del software no corporativo requiere herramientas de desarrollo no patentadas, desarrollaron un conjunto de compiladores para varios lenguajes de programación (gcc) que, junto con las utilidades GNU desarrolladas anteriormente ( reemplazando las utilidades estándar de UNIX) ha compilado un paquete de software necesario y bastante poderoso para un desarrollador.

    Un serio competidor de Linux en ese momento era FreeBSD, sin embargo, el estilo "catedral" de gestión del desarrollo en comparación con el estilo "bazar" de Linux, así como un arcaísmo técnico mucho mayor en temas como el soporte para máquinas multiprocesador y archivos ejecutables. formatos, ralentizó enormemente el desarrollo de FreeBSD en comparación con Linux, convirtiendo a este último en el buque insignia del mundo del software libre.

    Posteriormente, Linux alcanzó nuevas y nuevas alturas:

    • transferencia de productos propietarios serios como Oracle;
    • el serio interés de IBM en este ecosistema como base de sus soluciones verticales;
    • la aparición de análogos de casi todos los programas familiares del mundo de Windows;
    • negativa de algunos fabricantes de equipos a exigir la preinstalación de Windows;
    • lanzamiento de netbooks solo con Linux;
    • Úselo como kernel en Android.

    Actualmente, Linux es un sistema operativo merecidamente popular para servidores, aunque mucho menos popular en computadoras de escritorio.

    Algunas características arquitectónicas del sistema operativo UNIX

    A continuación se detallan las características de UNIX que distinguen a esta familia de otros sistemas operativos.

    • El sistema de archivos está basado en árboles, distingue entre mayúsculas y minúsculas en los nombres y existen restricciones muy débiles en la longitud de los nombres y las rutas.
    • El kernel del sistema operativo no admite archivos estructurados; en el nivel de llamada del sistema, un archivo es un flujo de bytes.
    • La línea de comando está en el espacio de direcciones del proceso iniciado y no se recupera mediante una llamada al sistema desde el proceso del intérprete de comandos (como sucede, por ejemplo, en RSX-11).
    • El concepto de “variables ambientales”.
    • Iniciar procesos llamando a fork(), es decir, la capacidad de clonar el proceso actual con todo el estado.
    • Conceptos stdin/stdout/stderr.
    • E/S únicamente a través de descriptores de archivos.
    • Tradicionalmente, el soporte para E/S asincrónicas es extremadamente débil, en comparación con VMS y Windows NT.
    • Un intérprete de comandos es una aplicación normal que se comunica con el kernel mediante llamadas normales al sistema (en RSX-11 y VMS, el intérprete de comandos se ejecutaba como una aplicación especial, ubicada especialmente en la memoria, mediante llamadas especiales al sistema; también se admitían llamadas al sistema). permitiendo a la aplicación acceder a los comandos de su intérprete principal).
    • Un comando de línea de comando no es más que un nombre de archivo de programa; no se requiere ningún registro especial o desarrollo especial de programas como comandos (lo cual era una práctica común en el RSX-11, RT-11).
    • No se acepta el enfoque con un programa que pregunta al usuario sobre sus modos de funcionamiento, sino que se utilizan parámetros de línea de comando (en VMS, RSX-11, RT-11, los programas también funcionaban con la línea de comando, pero en su ausencia; solicitaron la entrada de parámetros).
    • Un espacio de nombres de dispositivo de disco en el directorio /dev que puede ser administrado por el administrador, a diferencia del enfoque de Windows, donde el espacio de nombres se encuentra en la memoria del kernel y la administración de este espacio (por ejemplo, configurar derechos de acceso) es extremadamente difícil debido a la falta de almacenamiento permanente en discos (construido cada vez que arranca).
    • Uso extensivo de archivos de texto para almacenar configuraciones, a diferencia de una base de datos de configuraciones binarias como en Windows.
    • Uso extensivo de utilidades de procesamiento de texto para realizar tareas cotidianas bajo el control de scripts.
    • “Promoción” del sistema operativo después de cargar el kernel mediante la ejecución de scripts con un intérprete de comandos estándar.
    • Uso extensivo de canalizaciones con nombre.
    • Todos los procesos excepto init son iguales entre sí; no existen "procesos especiales".
    • El espacio de direcciones se divide en un núcleo global para todos los procesos y una parte local del proceso; no hay una parte "grupal" del espacio de direcciones, como en VMS y Windows NT, así como la capacidad de cargar código allí y ejecutarlo; allá.
    • Usar dos niveles de privilegios de procesador en lugar de cuatro en VMS.
    • Negarse a utilizar superposiciones a favor de dividir el programa en varios programas más pequeños que se comunican a través de canalizaciones con nombre o archivos temporales.
    • Ausencia de APC y análogos, es decir, señales arbitrarias (en lugar de estrictamente enumeradas en un conjunto estándar) que no se entregan al deseo explícito del proceso de recibirlas (Windows, VMS).
    • El concepto de señal es exclusivo de UNIX y es extremadamente difícil de trasladar a otros sistemas operativos como Windows.

    Estándares

    Un gran número de Las diferentes variantes del sistema UNIX llevaron a la necesidad de estandarizar sus herramientas para simplificar la portabilidad de las aplicaciones y aliviar al usuario de la necesidad de aprender las características de cada versión de UNIX.

    Para ello, en 1980 se creó el grupo de usuarios /usr/group. Las primeras normas se desarrollaron en 1984-1985.

    Uno de los primeros estándares fue la Definición de Interfaz del Sistema V (SVID), publicado por UNIX System Laboratories (USL) simultáneamente con UNIX System V Versión 4. Sin embargo, este documento no se hizo oficial.

    Junto con las versiones UNIX System V, existía una dirección UNIX BSD. Para garantizar la compatibilidad entre System V y BSD, se crearon grupos de trabajo POSIX ( PAG mesa oh operando S sistema I interfaz para UNI X). Existen muchos estándares POSIX, pero el más conocido es POSIX 1003.1-1988, que define la Interfaz de programación de aplicaciones (API). Se utiliza no sólo en UNIX, sino también en otros sistemas operativos. (

    Salvadera

    barbo divertido 19 de marzo de 2011 a las 23:16

    ¿En qué se diferencia Linux de UNIX y qué es un sistema operativo similar a UNIX?

    • Trastero *
    UNIX
    UNIX (no vale la pena confundido con la definición de “sistema operativo tipo UNIX”): una familia de sistemas operativos (Mac OS X, GNU/Linux).
    El primer sistema se desarrolló en 1969 en Bell Laboratories, una antigua corporación estadounidense.

    Características distintivas de UNIX:

    1. Fácil configuración del sistema utilizando archivos simples, generalmente de texto.
    2. Uso extensivo de la línea de comando.
    3. Uso de transportadores.
    Hoy en día, UNIX se utiliza principalmente en servidores y como sistema para hardware.
    Es imposible no notar la enorme importancia histórica de los sistemas UNIX. Ahora son reconocidos como uno de los sistemas operativos históricamente más importantes. Durante el desarrollo de los sistemas UNIX, se creó el lenguaje C.

    Variantes de UNIX por año

    SO tipo UNIX
    SO tipo UNIX (A veces utilice la abreviatura *nix): un sistema formado bajo la influencia de UNIX.

    La palabra UNIX se utiliza como marca de conformidad y como marca registrada.

    El consorcio Open Group posee la marca "UNIX", pero es más conocido como la autoridad certificadora de la marca UNIX. Recientemente, The Open Group arrojó luz sobre la publicación de la Especificación Única UNIX, los estándares que debe cumplir un sistema operativo para poder llamarse con orgullo Unix.

    Puedes echar un vistazo al árbol genealógico de los sistemas operativos tipo UNIX.

    linux
    linux- el nombre general de los sistemas operativos basados ​​en UNIX que se desarrollaron en el marco del proyecto GNU (proyecto de desarrollo de software de código abierto). Linux se ejecuta en una gran variedad de arquitecturas de procesadores, desde ARM hasta Intel x86.

    Las distribuciones más famosas y extendidas son Arch Linux, CentOS, Debian. También hay muchas distribuciones rusas "nacionales": ALT Linux, ASPLinux y otras.

    Existe bastante controversia sobre el nombre de GNU/Linux.
    Los partidarios del "código abierto" utilizan el término "Linux", y los partidarios del "software libre" utilizan "GNU/Linux". Prefiero la primera opción. A veces, para facilitar la representación del término GNU/Linux, se utilizan las grafías “GNU+Linux”, “GNU-Linux”, “GNU Linux”.

    A diferencia de los sistemas comerciales (MS Windows, Mac OS X), Linux no tiene un centro de desarrollo geográfico ni una organización específica propietaria del sistema. El sistema en sí y sus programas son el resultado del trabajo de grandes comunidades, miles de proyectos. ¡Cualquiera puede unirse al proyecto o crear el suyo propio!

    Conclusión
    Así, aprendimos la cadena: UNIX -> SO similar a UNIX -> Linux.

    En resumen, puedo decir que las diferencias entre Linux y UNIX son obvias. UNIX es un concepto mucho más amplio, la base para la construcción y certificación de todos los sistemas similares a UNIX, y Linux es un caso especial de UNIX.

    Etiquetas: unix, linux, nix, Linux, unix

    Este artículo no está sujeto a comentarios porque su autor aún no está

    Nuevo en el sitio

    >

    Más popular