Introducción a Los Sistemas Operativos

download Introducción a Los Sistemas Operativos

of 36

Transcript of Introducción a Los Sistemas Operativos

  • Bibliografa SILBERSCHATZ, Abraham; GALVIN, Peter: Sistemas Operativos Quinta Edicin. Mxico, Addison-Wesley, 1999.

    STALLINGS, William: Sistemas Operativos Segunda Edicin. Madrid,Prentice-Hall, 1998.

    MILENKOVIC, Milan: Sistemas Operativos: Conceptos y Diseo Segunda Edicin. Madrid, McGraw-Hill, 1994.

    TANENBAUM, Andrew; WOODHULL, Albert: Sistemas Operativos: Diseo e Implementacin Segunda Edicin. Mxico, Prentice-Hall,1997.

    TANENBAUM, Andrew: Sistemas Operativos Modernos PrimeraEdicin. Mxico, Prentice-Hall, 1993.

  • Bibliografa (cont.) TANENBAUM, Andrew: Sistemas Operativos Distribuidos PrimeraEdicin. Mxico, Prentice-Hall, 1996.

    DEITEL, Harvey: Sistemas Operativos Segunda edicin. Mxico,Addison-Wesley, 1993.

    TACKETT Jack; GUNTER, David; BROWN, Lance: Linux Mxico,Prentice Hall, 1996.

    ZACKER, Craig: Novell IntranetWare Madrid, Prentice Hall, 1999.

    APUNTES DE INTERNETSe le entrega, al alumno que lo solicite, un CD con material relacionado a la asignatura. Clasificados por temas, de acuerdo al programa.

  • Definicin de Sistemas OperativosEl Sistema Operativo es un programa o con-junto de programas, residentes en una compu-tadora, que permiten un mejor aprovechamien-to de los recursos de la misma y es la base de la escritura de los programas de aplicacin.

  • Definicin de Sistemas OperativosLos programas hacen que el hardware sea usable, es decir, hacen de interfaz en-tre el usuario y el hardware.

    Utilitarios

    Libreras

    Sistema OperativoHardwareInterface

  • Definicin de Sistemas OperativosEn resumen, los Sistemas Operativos son un conjunto de programas que crean la interfaz del hardware con el usuario. Estos programas invocan generalmente los servicios del sistema ope-rativo por medio de las llamadas al SO.Hay dos funciones primordiales del SO, que son: Gestionar el hardware

    Facilitar el trabajo al usuario

  • Definicin de Sistemas OperativosUn Sistema Operativo es una parte importante de cualquier sistema informtico o de computa-cin.

    Un sistema informtico o de computacin pue-de dividirse en cuatro componentes:HardwareSistema OperativoProgramas de Aplicacin Usuarios.

  • Definicin de Sistemas OperativosEl Sistema Operativo no es: Un lenguaje o un compilador. Un intrprete de comandos (interfaz primaria entre el usuario y el sistema operativo).Una biblioteca de funciones (funciones prepro-gramadas para realizar tareas ms comunes). La finalidad es que el usuario se ahorre el trabajo de desarrollo de estas funciones.

  • Evolucin de los Sistemas OperativosComo el desarrollo de los sistemas operativos est muy relacionado con el desarrollo de las arquitecturas de las computadoras, a los sistemas operativos se lo pueden clasificar en generaciones.

  • Evolucin de los Sistemas OperativosPrimera generacin (1945-1955) En esta etapa no existe el concepto de sistema ope-rativo, todo lo debe realizar el programador, no hay un ente software intermedio entre la mquina y el pro-gramador.

    La tecnologa era de Tubos al vaco y la programacin era en lenguaje de mquina.

    Los recursos del sistema eran asignados a una sola tarea, no era posible realizar tareas simultneamente.

    En el ltimo tiempo de esta generacin aparecen las tarjetas perforadas.

  • Evolucin de los Sistemas OperativosSegunda generacin (1945-1955) En esta generacin la tecnologa incluye a los tran-sistores. La programacin se ve apoyada por la creacin de lenguajes ensambladores y lenguajes de alto nivel como Fortran y COBOL.Para optimizar el tiempo de utilizacin de la mquina se adopt el Procesamiento por lotes.Para hacer la transferencia de los datos entre la com-putadora y la cinta se construy un programa que se conoce como el primer sistema operativo, que mini-miz el tiempo ocioso de las computadoras.

  • Evolucin de los Sistemas Operativos

    Tercera generacin (1965-1980) En esta generacin la tecnologa corresponde a los circuitos integrados, que permiti construir mquinas ms baratas y con mejor rendimiento. En esta generacin aparecen los sistemas operativos con multiprogramacin.Tambin aparece la tcnica de Spooling (Operacin simultnea y en lnea de perifricos). A medida que hay espacio en memoria se puede pasar al siguiente traba-jo.Aparecen los primeros sistemas de Tiempo Compar-tido. Se le asigna a cada proceso un tiempo fijo de uti-lizacin de CPU.

  • Evolucin de los Sistemas Operativos

    Cuarta generacin (1990- ) Con el crecimiento de las redes de computadoras nacen los sistemas operativos de red y sistemas operativos distribuidos. En los sistemas operativos de red cada computa-dora tiene su propio sistema operativo, pero pueden compartir recursos.En los sistemas operativos distribuidos hay una inte-gracin real de los recursos, la red es transparente a los usuarios, es decir los usuarios no necesaria-mente se dan cuenta que hay otras mquinas co-nectadas a la red.

  • Evolucin de los Sistemas Operativos

    Por lotes o BatchEjecuta trabajos o jobs por lotes.El CPU en las esperas de entradas/salidas no hace nada.Ejemplos: SCOPE y UNIVAC 1107.Operaciones de entrada/salidaProcesador: elemento de produccin del proceso de datosLas operaciones de E/S son varias rdenes de magnitud ms lentas que las instrucciones del procesador.Para un procesador de 1 MIPS (un milln de instrucciones por segundo) las equivalencias aproximadas seran:Leer un registro en el disco (a 25 ms) equivale a 25.000 instrucciones.Grabar un sector de diskette (a 200 ms) equivale a 200.000 instrucciones.Imprimir una lnea de 80 caracteres (a 200 cps) equivale a 400.000 instrucciones.

  • Evolucin de los Sistemas OperativosP1P2P3Por Lotes o Batch

  • Evolucin de los Sistemas Operativos

    MultiprogramacinLa multiprogramacin es una tcnica que intenta incrementar la utilizacin del CPU tratando de tener siempre algo para que el CPU lo ejecute, se reparte el procesador entre mltiples procesos apro-vechando los tiempos de espera de E/S.

    El sistema operativo selecciona un proceso y lo comienza a eje-cutar, si hay una espera por E/S el sistema operativo seleccionar otro proceso y lo ejecutar. Cuando el primer proceso termine su espera obtendr CPU nuevamente.

    Cada proceso est ejecutndose o en espera de completar una operacin de E/S.

    Siempre se ejecuta un proceso por vez (o tantos como proce-sadores tenga la computadora).

    Ejemplos: Windows 95 y 98, OS/2.

  • Evolucin de los Sistemas OperativosPrioridadMayorMenorEjecucinEntrada/SalidaEsperaP1P2P3P4Multiprogramacin

  • Evolucin de los Sistemas Operativos

    Tiempo CompartidoUtiliza calendarizacin de CPU y multiprogramacin para proporcionar a cada usuario una pequea porcin de una computadora de tiempo compartido. La computadora atiende a cada usuario durante un tiempo determinado o quantum, cambiando rpidamente de usuario a usuario, dndoles la impresin de que cada uno de ellos tiene el control absoluto de la computadora, mientras que en rea-lidad es compartida entre muchos usuarios.

    As como en sistemas batch se ejecutaban trabajos, aqu se ejecutan programas de usuarios.

    Ejemplos: Unix, Linux y Windows NT.

  • Evolucin de los Sistemas OperativosTiempo Compartido

  • Evolucin de los Sistemas OperativosTiempo CompartidoProcesadorTerminalTerminalTerminal

  • Evolucin de los Sistemas Operativos

    Tiempo realEs una modalidad de multiprogramacin, en la que se ne-cesita pequeos tiempos de respuesta ante cualquier pe-ticin.Ejemplo: Solaris.Caractersticas Principales:Rapidez en los tiempos de respuesta.La informacin debe ser contnuamente actualizada.Manejo eficaz de interrupciones.Manejo sencillo de prioridades.Gestin de memoria real.

  • Evolucin de los Sistemas OperativosCBDAPROCESOSTiempo de procesoPROCESOSTiempo de procesoMultiprogramacinMonoprogramacin1 Procesadort 1t 2t 1 = t 2

  • Evolucin de los Sistemas OperativosCBDAPROCESOSTiempo de procesot 34 ProcesadoresMultiproceso

  • Tipos de Sistemas Operativos

    Sistemas Operativos por su estructura.Se deben tener en cuenta 2 requisitos:Requisitos de usuarios: sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso que se le quiere destinar.Requisitos del Software: se engloban aspectos para el mantenimiento, forma de operacin, restricciones de uso, tolerancia a fallos, flexibilidad.

  • Tipos de Sistemas Operativos

    Sistemas Operativos por Servicios.En esta clasificacin se tiene en cuenta al nmero de usuarios, la cantidad de tareas que atiende y al nmero de procesadores del servidor

    Sistemas Operativos por la Forma de Ofrecer sus Servi- cios.Aqu se refiere a una visin desde el punto de vista del usuario, a como el accede a los servicios.

  • Tipos de Sistemas Operativos Sistemas Operativos por su estructura

    Estructura Monoltica.Es la estructura de los primeros sistemas operativos, constitudos generalmente por un solo programa compuesto de un conjunto de mdulos entrelazados, de manera que cada uno puede llamar a otro.Carecen de protecciones y privilegios al entrar a rutinas que manejan los distintos recursos.Por lo general carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones

  • Tipos de Sistemas Operativos Sistemas Operativos por su estructura

    Estructura Monoltica.Mdulo aMdulo bMdulo cMdulo dMdulo eMdulo f

  • Tipos de Sistemas Operativos Sistemas Operativos por su estructura

    Estructura Jerrquica.Al perfeccionarse los sistemas operativos fue necesario organizar el software, donde una parte contena subpartes y esto est organizada en forma de niveles.Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera bien definida y con una clara interface con los otros elementos.Capa 5- Programas de los UsuarioCapa 4- Buffers para dispositivos Entrada/SalidaCapa 3- Manejador de consola del operadorCapa 2- Administracin de MemoriaCapa 1- Gestin CPUCapa 0- Hardware

    Sistema Jerrquico

  • Tipos de Sistemas Operativos Sistemas Operativos por su estructura

    Estructura Jerrquica.Otra forma de ver la estructura jerrquica es la denominada de anillos concntricos. Las capas internas son ms privilegiadas que las externas, por lo que estarn ms protegidas de accesos indeseados.

    GestinCPUGestinEntr/SalidaGestin Memoria

    Gestin de InformcinIntrpretedeComandosAplicacionesdeUsuarioSpool

  • Tipos de Sistemas Operativos Sistemas Operativos por su estructura

    Mquina Virtual.El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser mquinas diferentes. Estas mquinas virtuales son simulaciones del hardware, con su modo ncleo/usuario, E/S, interrupciones, etc.

    HardwareUNIXHardware VirtualHardware Virtual

    MS-DOS

  • Tipos de Sistemas Operativos Sistemas Operativos por su estructura

    Cliente/Servidor (Microkernel).Se traslada cdigo a capas superiores dejando un ncleo o kernel mnimo. La mayor parte de las funciones del sistema opera-tivo las convierte en procesos de usuario.

    Modo de UsuarioKernel o NcleoModo de Kernel

  • Tipos de Sistemas Operativos Sistemas Operativos por Servicios

    MonousuariosMultiusuariosPor el nmero de UsuariosMonotareasMultitareasPor el nmero de TareasUniprocesoMultiprocesoPor el nmero de ProcesadoresSimtricosAsimtricosSistemas operativosPor Servicios

  • Tipos de Sistemas Operativos Sistemas Operativos por la Forma de Ofrecer sus Servicios

    Esta clasificacin se refiere a la forma en que el usuario accede a los distintos servicios y son:Sistemas Operativos de Red: interactan con sistemas operativos de otras com-putadoras por medio de un medio de transmisin con el objeto de compartir y transferir archivos, y compartir recursos.

    Sistemas Operativos Distribuidos: los sistemas operativos distribuidos abarcan los servicios de los de red, pero integrando a los recursos en una sola mquina virtual que el usuario accede en forma transparente.

  • Funciones de los Sistemas OperativosUso Eficiente de los Recursos Evitar cuellos de botella que afectan el rendi-miento. Mantener todos los componentes lo ms ocupados posible, es decir,Administracin de los recursos.

    Conveniencia y Productividad para los usuarios El usuario cuesta ms que la mquina (Hombre=in-teligencia). Funcionar lo ms eficiente posible.

    Disponibilidad y Confiabilidad Los sistemas son crticos, pero deben ordenar acce-sos y conflictos.Un sistema fallado puede significar una compaa fallada.

  • Funciones de los Sistemas Operativos

    Ejecucin de programasEl sistema deber estar habilitado para cargar un pro-grama en la memoria y ejecutarlo.

    Operaciones de Entrada/SalidaEl sistema debe proveer los mecanismos necesarios para realizarlas.

    Manejo de Sistemas de ArchivosLos Sistemas de Archivos permiten el almacenamiento de la informacin en forma estructurada, utilizando disposi-tivos de almacenamiento secundario.

  • Funciones de los Sistemas OperativosAsignacin de RecursosCuando existen mltiples usuarios ejecutando mltiples tareas al mismo tiempo, los recursos deben ser asignados para que cada tarea satisfaga sus requerimientos de ellos.

    Administracin de los ProcesosCrear y Destruir procesos. Suspender y reanudar procesos.Proveer mecanismos para la sincronizacin de procesos.Proveer mecanismos para la comunicacin entre proce-sos.

    Administracin de MemoriaAsignar y desasignar espacio de memoria cuando se re-quiera. Mantener informacin de los procesos en memoria y sus propietarios.