Resumen Unix & Linux UNIX: Se trata de un sistema operativo de los más utilizados y con más futuro debido a que son muchos organismos oficiales y particulares los que defienden su utilización, así como muchas firmas de fabricación y comercialización de computadoras que lo incorporan en sus productos. Podemos citar el ejemplo de la Comunidad Económica Europea, que impone el sistema operativo UNIX en todas las aplicaciones que se desarrollan bajo sus auspicios. Es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios. Permite a los usuarios correr sus programas. Controla los dispositivos de periféricos conectados a la máquina. Esta formado por una serie de elementos que pueden representarse en forma de capas concéntricas donde, en primer lugar alrededor del hardware, aislando a este de los usuarios, además de adaptar el resto del sistema operativo a la maquina debido a la portabilidad que existe en el mismo. El sistema operativo UNIX como ya dije es un sistema operativo de tiempo compartido y por lo tanto, multiusuario, en el que existe la portabilidad para la implementación de distintas computadoras. UNICS: En las décadas de 1940 y 1950 todas las computadoras eran personales, al menos en el sentido de que el modo de usar una computadora era reservar una hora y apoderarse de toda la maquina en ese tiempo. esas maquinas eran enormes y solo una persona podia usarla en un momento dado. ESTANDAR UNIX: Es un sistema de intercambio de segmentos de un proceso entre memoria principal y memoria secundaria, llamado swapping lo que significa que se debe mover la imagen de un proceso al disco si éste excede la capacidad de la memoria principal, y copiar el proceso completo a memoria secundaria. Es decir, durante su ejecución, los procesos son cambiados de y hacia memoria secundaria conforme se requiera. UNIX PD−11, BERKELEY: Las primeras distribuciones de Unix de los laboratorios Bell en los años 70 incluían el código fuente del sistema operativo, permitiendo a los desarrolladores de las universidades modificar y extender Unix. El primer sistema Unix en Berkeley fue el PDP−11, que fue instalado en 1974, y fue utilizado desde entonces por el departamento de ciencia computacional para sus investigaciones. Otras universidades empezaron a interesarse en el software de Berkeley, y por ello en 1977 Bill Joy, entonces un estudiante de grado en Berkeley, construyó y envió cintas del primer Berkeley Software Distribución (BSD). SHEL DE UNIX: También llamado Núcleo, es un programa escrito casi en su totalidad en lenguaje C, con excepción de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. Proporciona una interfaz entre el núcleo y el usuario, el shell controla recursos como los periféricos (pantalla, impresora, etc.), además recursos del computador como el procesador, tarjetas (sonido, vídeo, etc.). También controla las utilidades (programas de aplicación) que son los programas utilizados por los usuarios Word, Excel, juegos, etc., además controla la forma en la cual se almacena y se organiza la información (archivos). CARACTERISTICAS UNIX: • Es un sistema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo. • Está escrito en un lenguaje de alto nivel: C. 1 • Dispone de un lenguaje de control programable llamado SHELL • Ofrece facilidades para la creación de programas y sistemas y el ambiente adecuado para las tareas de diseños de software. • Emplea manejo dinámico de memoria por intercambio o paginación. • Tiene capacidad de interconexión de procesos. • Permite comunicación entre procesos. • Emplea un sistema jerárquico de archivos, con facilidades de protección de archivos, cuentas y procesos. • Tiene facilidad para redireccionamiento de Entradas/Salidas. • Garantiza un alto grado de portabilidad. SISTEMA DE ARCHIVO UNIX: la estructura básica del sistema de archivos es jerárquica, lo que significa que los archivos están almacenados en varios niveles. Se puede tener acceso a cualquier archivo mediante su trayectoria, que especifica su posición absoluta en la jerarquía, y los usuarios pueden cambiar su directorio actual a la posición deseada. Existe también un mecanismo de protección para evitar accesos no autorizados. Los directorios contienen información para cada archivo, que consiste en su nombre y en un número que el Kernel utiliza para manejar la estructura interna del sistema de archivos, conocido como el nodo−i. Hay un nodo−i para cada archivo, que contiene información de su directorio en el disco, su longitud, los modos y las fechas de acceso, el autor, etc. Existe, además, una tabla de descriptores de archivo, que es una estructura de datos residente en el disco magnético, a la que se tiene acceso mediante el sistema mencionado de E/S por bloques. ADMINISTRACION DE PROCESOS Y SUB PROCESOS UNIX: Si congelamos el estado del procesador y del proceso que esta en ejecución en un determinado momento, obtendríamos lo que se conoce como imagen estática del programa. En caso de producirse una interrupción o cambio en el proceso, se almacena la imagen del que esta en ejecución en ese mismo instante. Cada proceso se reconoce dentro del sistema por un numero que lo identifica unívocamente y que se conoce como indentificador del proceso (PID). Todos los procesos excepto el proceso 0, son creados por otro proceso, es decir, el sistema de creación y gestión de procesos en el sistema operativo UNIX es jerárquico. ADMINISTRACION DE MEMORIA UNIX: La gestión de memoria en el sistema operativo UNIX se basa en el intercambio (swapping) y paginación. La paginación de la memoria se lleva a cabo si el hardware de la computadora la soporta. La política de carga y descarga de un proceso en la memoria depende del tiempo que lleve en la misma, de su actividad y del tamaño. Dependiendo de la computadora en la que se ejecute, UNIX utiliza dos técnicas de manejo de memoria: swapping y memoria virtual. ADMINISTRACION DE SISTEMA UNIX: En computadoras que funcionan bajo el sistema operativo UNIX, existe un usuario que se distingue de los demás por ser el encargado de realizar la administración del sistema. Las funciones propias del administrador del sistema son: • Actualización y mantenimiento del sistema: • Mantenimiento del sistema de archivos. • Determinación de altas y bajas de archivos. • Control de periféricos. • Realización periódica de copias de seguridad (Backups) • Suministros de soporte técnico al resto de los usuarios. • Gestión de los recursos de la computadora Etc. 2 En el sistema operativo UNIX existe un directorio de uso exclusivo del administrador del sistema donde se encuentran una serie de comandos para la realización de dichas funciones, que no pueden ser utilizadas por el resto de los usuarios. CALENDARIZACIÓN EN UNIX: Unix siempre ha sido un sistema multiprogramado, su algoritmo de calendarización se desarrollo desde un principio de modo que respondiera bien a procesos interactivos. El algoritmo tiene 2 niveles , el nivel bajo escoge entre los procesos que están en la memoria y listo para ejecutarse, el proceso que se ejecutara a continuación. El algoritmo de nivel mas alto traslada procesos entre la memoria y el disco para que todos tengan oportunidad de estar en la memoria y ejecutarce LINUX: Linux fue creado originalmente por Linus Torvald en la Universidad de Helsinki en Finlandia, siendo él estudiante de informática. Pero ha continuado su desarrollado con la ayuda de muchos otros programadores a través de Internet. Linux originalmente inicio el desarrollo del núcleo como su proyecto favorito, inspirado por su interés en Minix, un pequeño sistema Unix desarrollado por Andy Tannenbaum. Él se propuso a crear lo que en sus propias palabras seria un "mejor Minix que el Minix". El 5 de octubre de 1991, Linux anuncio su primera versión oficial de Linux, versión 0.02. Desde entonces, muchos programadores han respondido a su llamada, y han ayudado a construir Linux como el sistema operativo completamente funcional que es hoy. SISTEMA MULTITAREA: En Linux es posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecución de cada aplicación. SISTEMA MULTIUSUARIO: Varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez (multitarea). SHELLS PROGRAMABLES: Un shell conecta las ordenes de un usuario con el Kernel de Linux (el núcleo del sistema), y al ser programables se puede modificar para adaptarlo a tus necesidades. Por ejemplo, es muy útil para realizar procesos en segundo plano. INDEPENDENCIA DE DISPOSITIVOS: Linux admite cualquier tipo de dispositivo (módems, impresoras) gracias a que cada una vez instalado uno nuevo, se añade al Kernel el enlace o controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos. COMUNICACIONES: Linux es el sistema más flexible para poder conectarse a cualquier ordenador del mundo. Internet se creó y desarrollo dentro del mundo de Unix, y por lo tanto Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas prácticamente idénticos. Con linux podrá montar un servidor en su propia casa sin tener que pagar las enormes cantidades de dinero que piden otros sistemas. APAGADO DE SISTEMA EN LINUX: Un sistema Linux nunca se puede apagar por las buenas. Antes le hemos de advertir al S.O. de que vamos a apagarlo o reiniciarlo. La razón de que esto deba ser así es para que al sistema le dé tiempo de escribir en disco todos los datos que tuviera pendientes de escribir, salir ordenadamente de todas las aplicaciones que tuviera arrancadas y desmontar todas las unidades que tuviera montadas CALENDARIZACIÓN EN LINUX: La calendarización es una de las pocas áreas en la que linux en la que linux emplea un algoritmo distinto al de unix. Los subprocesos de linux son subprocesos del kernel, así la calendarización se basa en subprocesos no en procesos. 3 Linux describe 3 clases de subprocesos para fines de calendarización: • Fifo en tiempo real • Turno circular en tiempo real • Tiempo compartido 4