Vous êtes sur la page 1sur 16

INTRODUCCION El sistema operativo UNIX desarrollado en los laboratorios Bell; es uno de estos xitos notables (RI78).

Los sistemas UNIX se disearon con el objeto de ser sistemas apropiados para apoyar el desarrollo de programas. Tiene un lenguaje de mandatos simple pero poderoso y unos sistemas de archivos independiente de los dispositivos. A travs del sistema Bell se encuentran en uso cientos de sistemas UNIX, y es popular en ambientes universitarios e industriales. Tambin existen versiones para computadoras personales. HISTORIA Entre 1965 y 1969, los laboratorios Bell, participaron junto con General Electric y el proyecto MAC del Instituto Tecnolgico Massachusetts, en el desarrollo del sistema MULTICS. Originalmente diseado para operar en el poderoso computador central Ge-645, MULTICS es un sistema grande y complejo. Es una instalacin de computacin de propsito general constituida para dar servicio a las distintas necesidades de grandes usuarios. En 1969, los laboratorios Bell, se retiraron del proyecto MULTICS. Algunos miembros del equipo de investigacin comenzaron a trabajar en un sistema mucho menos ambicioso llamado UNIX. El grupo dirigido por el miembro del equipo de los laboratorios Bell Ken Thompson, busco crear un ambiente de computacin que facilitara la investigacin y desarrollo de programas. La primera versin del sistema UNIX se realizo para la Pdp-7 de DEC y se escribi en lenguaje ensamblador. En esfuerzo del sistema UNIX atrajo a Dennis Ritchie, que tuvo un papel importantsimo en la reescritura de los programas UNIX en el lenguaje de alto nivel C en 1972 esto ayudo a ser mas porttil y comprensible el software UNIX. El cdigo de maquina del sistema resulto casi un tercio mayor que la versin de lenguaje ensamblador, pero aparte del aumento se debi a la adhesin del apoyo de la multiprogramacin y a la posibilidad de compartir procedimientos reentrantes. En 1973, Western Electric accedi a otorgar licencias del sistema a organizaciones sin nimo de lucro e hizo asequible los sistemas UNIX a docenas de instituciones educacionales. En 1971 los sistemas UNIX se haban hecho muy populares en las universidades y se desarrollo una organizacin de usuarios que evoluciono hacia el grupo ahora conocido como USENIX. El primer sistema UNIX en salida de mercado para consumo pblico fue la versin 5. Pareca ms el resultado de un proyecto de investigacin que el esfuerzo de desarrollo de un producto. La versin 6 apareci en 1975, y su uso est todava muy extendido. El sistema de la 7 edicin puesto a la venta en 1979refleja una gran cantidad de refinamiento destinado a ser de Unix un producto comercial ms valido.

VERSIONES DE LOS SISTEMAS UNIX Aunque diseado para la familia de computadores PDP-11, el sistema UNIX ha sido implementado con xito en muchos otros sistemas. La versin univac 1100 fue el primer INIX para computadores centrales de gran escala. Los sistemas Unix tambin se encuentran disponibles en los computadores VAX de DEC.

SISTEMAS UNIX ESTANDAR Los sistemas Unix estndar son sistemas operativos multiprogramables de tiempo compartido, diseados principalmente para los computadores PDP11/34, 40,45 y 70 de DEC. Los sistemas UNIX estndar proporcionan un sistema de archivos jerrquico con proteccin total, volmenes desmontables, independencia de dispositivos y caractersticas que facilitan la sencillez de programacin. Los sistema UNIX no distinguen entre programas de usuarios y programa de sistema, ni en capacidad ni en uso excepto por las restricciones impuestas por la proteccin del archivo. Los sistemas UNIX permiten a los usuarios el encaminar la salida de un programa directamente a la entrada de otro. Los sistemas UNIX estndar se distribuye con una serie de programas empaquetados que incluyen un editor de texto, un interpretador de lenguaje, de mandatos programable, varios compiladores para lenguajes populares, un ensamblador, un editor, depuradores, formateadores de documentos, bibliotecas normales los sistemas y rutinas del usuario, y un paquete de juegos

SISTEMA PWB-UNIX: EL BANCO DE TRABAJO DEL PROGRAMADOR El banco de trabajo del programador es una versin expandido del sistema UNIX estndar, en una instalacin de computacin especial diseada para apoyar el desarrollo de programas. Un sistema PXB/UNIX proporciona una serie de herramientas de programacin para apoyar los proyectos de programacin. Un dispositivo de entrada remota de trabajos permite a un sistema UNIX enviar el trabajo a varios computadores centrales grandes y recibir las salidas de los trabajos. Uno de los dispositivos ms importantes de un sistema PWB/UNIX es el sistema de control de cdigo fuente, diseado para mantener todo el cdigo fuente y los archivos de texto en un proyecto de desarrollo de software.

SISTEMA MINI-UNIX

El sistema operativo MINI-UNIIX es en esencia una versin en escala menor de un sistema UNIX estndar. Esta diseado para proporcionar la mayora de las capacidades de un sistema UNIX estndar a los usuarios de computadores mas pequeos como los sistemas PDP. El sistema MINI-UNIX puede contener hasta 4 usuarios y 13 procesos concurrentes. UNIX/V7: El sistema de la 7 edicin. El sistema de la 7 edicin, para utilizar en modelos PDP-11/45 o 11/70, contiene una serie de mejores significativas sobre las versiones anteriores. Los archivos pueden ser de hasta mil millones de bytes. La versin 7 del sistema UNIX refleja los esfuerzos de Bell para acomodarse a las diversas necesidades de una base en continuo crecimiento de usuarios del sistema UNIX.

OBJETIVOS DE DISEO Son dos los aspectos del origen de los sistemas UNIX: El primer objetivo de diseo fue conservar la sencillez del sistema operativo y que apoyara tan solo una cantidad mnima de funciones. A los programas de usuario se les deja la tarea de proveer la verdadera sofisticacin. El segundo objetivo fue la generalidad. Un solo mtodo debera servir a diversos propsitos. La generalidad se manifiesta en los sistemas UNIX en varias reas: El sistema usa las mismas reas para leer archivos, dispositivos. Se aplican los mismos mecanismos de nomenclatura, se usa el mismo mecanismo para atrapar interrupciones del software.

CONTROL DE PROCESOS En el centro del sistema UNIX esta el ncleo. Consiste en unas diez mil lneas de cdigo c y otras mil lneas de cdigo ensamblador. Del cdigo ensamblador, la mayor parte realiza funciones de hardware no convenientes o practicas en C. el resto es cdigo de ejecucin frecuente y se escribi en lenguaje ensamblador. El ncleo no representa ms que una pequea porcin del sistema operativo (entre el 5 y 10 por 100% del cdigo). Un proceso es la ejecucin de una imagen. Una imagen contiene: Una imagen de almacenamiento. Valores generales del registro. El estado de los archivos abiertos. El directorio actual.

CREACION DE PROCESOS Los nuevos procesos son creados por una primitiva del sistema llamada Bifurcacin. Esta llamada en el sistema hace que el proceso actual se divide en dos procesos concurrentes e independientes llamados proceso padre y proceso hijo. Estos procesos no comparten el almacenamiento primario pero comparten todos los archivos abiertos.

EXEC La primitiva exec habilita al proceso para ejecutar un archivo. Esto hace que los segmentos de texto y datos actuales del proceso sean cambiados por nuevos segmentos de texto y de datos especificados en el archivo. Los segmentos anteriores se pierden, los archivos abiertos antes del exec permanecen abiertos.

SINCRONIZACIN DE PROCESOS La sincronizacin de procesos se logra por un mecanismo evento. Los procesos esperan a que ocurran los eventos. Las tablas de procesos estn asociadas a los eventos. Los eventos son representados como las direcciones de las tablas correspondientes. Un proceso padre en espera de que termine una de sus procesos hijos, espera por un evento que es la direccin de su propia entrada de la tabla de procesos.

PLANIFICACION DE PROCESOS Los procesos pueden ejecutarse en uno de dos estados, el estado usuario o estado sistema. En el estado usuario, un proceso ejecuta los programas del usuario y accede al segmento de datos del usuario. En el estado sistema un proceso ejecuta el cdigo del ncleo y accede al segmento de datos del sistema.

SISTEMA DE ENTRADA-SALIDA El sistema de entrada-salida consiste en dos componentes distintos: Entrada-salida por bloques, o el sistema de entrada-salida estructurado. Entrada-salida del carcter, o el sistema de entrada-salida no estructurado.

La entrada-salida en un sistema UNIX se maneja principalmente en cinco llamadas del sistema: open, close, read, write, seek.

ENTRADA/SALIDA DE FLUJO CONTRA ENTRADA/SALIDA DE REGISTRO Toda la entrada/salida de los sistemas UNIX es orientada hacia el flujo en vez de orientada hacia los registro, como en la mayora de los registro, un flujo es una secuencia de bytes, terminados por un delimitador. El usuario interesado en la entrada/salida del registro puede implementarla con bastante facilidad. Para implementar el procesamiento de registros de longitud fija, el usuario no necesita ms que especificar la longitud constante en todas las lecturas y escrituras.

SISTEMAS DE ARCHIVOS Un sistema de archivos UNIX es un conjunto de caracteres aleatoriamente direccionales. Su tamao es exactamente el nmero de caracteres que contiene hasta un mximo de aproximadamente mil millones. Un archivo contiene cualesquiera datos que el usuario desee colocar en el y no tiene otra estructura impuesta por el usuario. El sistema de archivo reside principalmente en discos compuestos por bloques de 512 bytes cada uno. Un archivo divide al disco en 4 regiones. Un bloque no utilizado. Un sper bloque que contiene el tamao del disco y los lmites de las dems regiones. La lista-i con una lista de archivos llamadas i-nodo. reas de almacenamiento para el contenido del archivo.

Un i-nodo contiene: La identificacin del usuario del propietario La identificacin del grupo del propietario Bits de proteccin Direcciones del disco o cinta fsicos para el contenido del archivo Tamao del archivo Tiempo de la ultima utilizacin

SHELL El Shell es el mecanismo de sistema UNIX para la comunicacin entre los usuarios y el sistema. Es un intrprete de mandatos que lee las lneas teclados por el usuario y causa la ejecucin de las caractersticas del sistema solicitadas. El Shell no tiene residencia permanente en la memoria principal como en ncleo, puede intercambiarse cuando sea necesario. Es un programa de aplicacin y a menudo se escribe Shell personalizado. El Shell divide la lnea de mandatos en sus componentes, el Shell le da a cada programa que ejecuta 3 archivos abiertos: uno para entrada, uno para salida y uno para salida de error. El lenguaje de mandato Shell incluye capacidades de flujos de control. Los programas de lenguaje de mandatos pueden escribirse usando las estructuras if, then. Else, case. while y for. CONDUCTOS Y FILTROS Una de las contribuciones ms importantes del sistema UNIX es el sistema de conductos. Un conducto es un archivo abierto que conecta dos procesos. El usuario especifica una lnea de conductos al Shell mediante una serie de nombres de archivos separados por barras verticales. La salida del archivo citado a la izquierda de una barra es la entrada del archivo citado a la derecha de la barra. El Shell usa conductos lineales. Un filtro es un sistema UNIX es un programa que procesa un solo flujo de entrada para producir un solo flujo de salida. Los sistemas UNIX proporcionan gran nmero de filtros. MULTITAREA El usuario puede especificar multitarea al colocar un signo & despus del mandato en este caso el Shell no espera a que termine la ejecucin del mandato pide inmediatamente un nuevo mandato mientras el anterior continua su ejecucin de forma subordinada. RENDIMIENTO CONTRA UTILIZABILIDAD En este punto, elector familiarizado con los problemas encontrados en instalaciones de procesamiento de datos comerciales a gran escala debe tener el convencimiento de que los sistemas Unix tienen poco uso en tales ambientes sus diseadores nunca lo imaginaron para tales fines. XENIX: UNA NORMA COMERCIAL DE SISTEMA UNIX Microsoft un proveedor de software para la industria de los microcomputadores, desarrollo XENIX un sistema operativo basado en los sistemas Xenix est diseado para operar en microcomputadores de 16-bits.

Xenix proporciona las poderosas capacidades multiusuario y de tiempo compartido del sistema UNIX. HISTORIA DE XENIX Con el uso masivo alcanzado por el uso de sistemas Unix durante la dcada de 1970 la informacin proporcionada por los usuarios motiv una serie de mejoras. Debido al estatuto de monopolio protegido por at&t, el gobierno no poda permitirle entrar en la industria de los computadores. Haba cuestiones legales que impedan a western Electric sacar al mercado el software del sistema Unix, por lo menos como producto comercial competitivo. Reconociendo tanto el valor de los sistemas Unix como la incapacidad de western Electric, para respaldarlos y explotarlos comercialmente, Microsoft anuncio en agosto de 1980 que proporcionara a Xenix, una versin comercial del sistema Unix.

Comandos UNIX
Hay ms de 300 comandos UNIX distintos. Aunque los nombres de los comandos siguen una lgica, muchas veces esta se ha perdido con el tiempo. En consecuencia tenemos muchos comandos que no sabemos lo que hacen y, por lo tanto, no los utilizamos. No hay que saber como funcionan todos los comandos, pero s es interesante conocerlos y ms o menos saber que hacen. Para un uso ms en profundidad consultaremos la pgina del manual. ls Muestra el contenido de un directorio echo Hace eco en pantalla Ejemplo: $ echo hola mundo! cat Muestra el contenido de un fichero more Muestra el contenido de un fichero haciendo pausas entre pantallas si el fichero es largo man Muestra la pgina del manual de un comando

Ejemplo: $ man ls clear Borra la pantalla cp Copia ficheros y directorios Ejemplo: $ cp fichero_original fichero_copia mv Mueve ficheros Ejemplo: $ mv fichero fichero2 rm Borra ficheros Ejemplo: $ rm fichero ln Enlazar (referenciar) ficheros Ejemplo de enlace "duro" (hardlink): $ ln fichero enlace Ejemplo de enlace "suave" (softlink): $ ln -s fichero enlace _ simblico cd Cambia de directorio de trabajo si no se indica directorio, nos traslada a $HOME Ejemplo: $ cd directorio

pwd Muestra el directorio de trabajo actual mkdir Crea directorios Ejemplo: $ mkdir directorio rmdir Borra directorios (vacos) Ejemplo: $ rmdir directorio env Muestra las variables de entorno del programa head Muestra las primeras lneas de un fichero (10 por defecto) Ejemplo: $ Head fichero tail Muestra las n ltimas lneas de un fichero (10 por defecto) Ejemplo: $ tail fichero grep Busca ocurrencias de una cadena en un fichero Ejemplo: $ grep cadena fichero ps Muestra los procesos en el sistema kill Enva una seal a un proceso indicando su PID (Process IDentifier, o nmero nico que identifica a cada proceso)

Ejemplo: $ kill 1002 export Exporta una variable al entorno del programa Ejemplo: $ export VARIABLE=valor read Lee una lnea de la entrada estndar y la almacena en una variable Ejemplo: $ read lnea $ Delante de una variable permite acceder a su contenido Ejemplo: $ echo $SHELL ; Separa dos comandos en una misma lnea Ejemplo: $ read lnea ; echo se ha ledo: $lnea file Indica de qu tipo es un fichero cal Muestra el calendario del mes actual wc Cuenta lneas, palabras o bytes en ficheros Ejemplo: $ echo hola que tal | wc date Muestra hora y fecha actuales

Ejemplo: $ date Ejemplo de fecha en formato yyyy-mm-dd: $ date "+%Y-%m-%d" passwd cambia la contrasea de un usuario chmod Cambia los permisos de un fichero chown Cambia el propietario de un fichero chgrp Cambia el grupo propietario de un fichero reset Restaura la terminal de texto whereis Indica donde se puede encontrar un fuente, binario o manual Ejemplo: $ whereis ls which Indica donde est un comando Ejemplo: $ which ls locate Busca ficheros find Bsqueda avanzada de ficheros who Quin tiene sesin abierta en la mquina tac

Concatena ficheros y los muestra a la inversa touch Actualiza la fecha y hora de un fichero, si no existe lo crea Ejemplo: $ touch fichero_inexistente less Una versin ms elaborada de more que permite desplazarnos por el texto, hacer bsquedas, etc. df Muestra los espacios libres y ocupados de los discos du Calcula el espacio de disco usado mail Programa simple para enviar y leer correo tar Empaquetar ficheros Ejemplo empaquetar: $ tar cvf fichero.tar directorio Ejemplo desempaquetar: $ tar xvf fichero.tar gzip Comprimir un fichero gunzip Descomprimir un fichero comprimido con gzip zcat Muestra el contenido de un fichero comprimido con gzip ldd Muestra las libreras que usa un programa halt Apaga la mquina

reboot Reinicia la mquina shutdown Apaga o reinicia la mquina true Cierto, o uno false Falso, o cero exit Termina la sesin y muestra el login del sistema logout Termina la sesin y muestra el login del sistema seq Genera una secuencia de nmeros Ejemplo: $ seq 1 10 cut Elimina partes de ficheros Ejemplo: $ echo hola que tal | cut -d " " -f 2 awk Escner de patrones y lenguaje de programacin para procesar textos Ejemplo: $ echo hola que tal | awk '{ print $1 "!", $2, $3 "?" }' tr Elimina o traduce caracteres Ejemplo: $ echo hola que tal | tr a A sed Realiza transformaciones en flujos de bytes

Ejemplo: $ echo hola que tal | sed 's/a/A/g' (Substituye las 'a' por 'A' en todo el flujo) fmt Da formato a cada prrafo de un fichero sort Ordena ficheros de texto sleep Detiene el proceso durante n segundos Ejemplo: $ sleep 5 ; echo Han pasado 5 segundos uniq Lee de stdin y compara lneas adyacentes escribiendo las lneas nicas a stdout

FACULTAD DE INGENIERIA MECANICA Y ELECTRICA

Sistemas Operativos II.

PREOFESOR: Jess Uresti.

TEMA: Estudio de caso UNIX. Comandos UNIX.

ELABORADO POR: Ral Uribe Riojas. GRUPO: 7. SECCION: A. CARRERA: I.S.C.

Monclova, Coahuila

OCTUBRE 2008

Vous aimerez peut-être aussi