Unix es un Sistema operativo de tiempo compartido, que controla los recursos de la computadora y los asigna entre los usuarios. Además controla los dispositivos periféricos conectados a la máquina.
Características Generales:
▶Sistema operativo multiusuario
▶Escrito en un lenguaje de algo nivel: C
▶Dispone de un lenguaje de control programable llamado SHELL
▶Ofrece facilidades para la creación y sistemas
▶Emplea manejo dinámico de memoria por intercambio o paginación
▶Tiene capacidad de interconexión de procesos
▶Emplea un sistema jerárquico de archivos
▶Tiene facilidad para redireccionamiento de Entradas/Salidas
▶Garantiza un algo grado de protabilidad
HISTORIA
▶Presentado en 1.960 se empieza a desarrollar en lenguaje ensamblador
▶En 1.972 se reescribe en lenguaje “C” lo que hace fácil modificar para que corra en diferentes maquinas
▶En 1.975 aparece la versión Berkeley Software Distribution (BSD)
▶En 1.981 aparece la primera versión del sistema III con tinte comercial
▶En 1.991 se desarrolla un núcleo para ordenadores con arquitectura x86 en forma de código abierto (Linux)
▶En 1.992 el proyecto GNU comenzó a utilizar Linux como núcleo de sus programas.
▶En 1.993 Novell adquiere la división USL de AT&T
▶En 1.995 Novell vende la división de Unix a SCO
FAMILIAS
▶AT&T : La familia origen de Unix, sus SO mas significativos son Unix System (US) III y US V.
▶BSD : Se reescribió para no incorporar la propiedad intelectual de AT&T
▶AIX : Surge con el licenciamiento de US III a IBM
▶Xenix : Se deriva de la adquisición de los derechos a AT&T por parte de microsoft
▶GNU : Sistema similar a UNIX que se puede distribuir libremente.
▶Linux : Tiene un origen independiente, por lo que se le considera un clónico de UNIX
KERNEL
▶Kernel à Es el núcleo del SO y reside permanentemente en la memoria.
•Atiende a todas las llamadas del sistema
•Administra el acceso a los archivos
•Administra el inicio y suspensión de las tareas de los usuarios
•Controlar la memoria de la maquina y asignar una parte a cada proceso
•Distribuir el trabajo de la CPU en la forma mas eficiente posible
•Organizar la transferencia de datos entre las partes del sistema
•Aceptar las instrucciones de la shell
•Hacer cumplir los permisos del sistema de ficheros