fundamentos de sistemas operativos.pdf

13
Sistemas Informáticos Fundamentos de Sistemas Operativos Fede Pérez TEMA – Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1 – Componentes Esenciales de un Sistema de Computación 2.2 – Funciones de un Sistema Operativo 2.3 – Enfoque Jerárquico de un Sistema Operativo 2.4 – Elementos de un Sistema Operativo 3. – Tipos de Sistemas Operativos 3.1 – Primeros Sistemas 3.2 – Sistemas Monitor Simple; Sistemas por Lotes Sencillos 3.3 – Sistemas por Lotes Multiprogramados 3.4 – Sistemas de Tiempo Compartido 3.5 – Sistemas de Computador Personal 3.6 – Sistemas Paralelos 3.7 – Sistemas Distribuidos 3.7 – Sistemas de Tiempo Real 4. – Funcionamiento de los Sistemas de Computación 5. – Elementos de Sistemas Operativos 5.1 – Componentes del Sistema 5.2 – Servicios del Sistema Operativo 5.3 – Llamadas al Sistema 5.4 – Programas de Sistema 6. – Arquitecturas de Sistemas Operativos 6.1 – Estructura del Sistema Índice

Upload: victorino044

Post on 23-Nov-2015

25 views

Category:

Documents


0 download

TRANSCRIPT

  • Sistemas Informticos

    Fundamentos deSistemas Operativos

    Fede Prez

    TEMA Fundamentos de Sistemas Operativos

    1. - Introduccin

    2. - El Sistema Operativo como parte de un Sistema de Computacin

    2.1 Componentes Esenciales de un Sistema de Computacin

    2.2 Funciones de un Sistema Operativo

    2.3 Enfoque Jerrquico de un Sistema Operativo

    2.4 Elementos de un Sistema Operativo

    3. Tipos de Sistemas Operativos

    3.1 Primeros Sistemas

    3.2 Sistemas Monitor Simple; Sistemas por Lotes Sencillos

    3.3 Sistemas por Lotes Multiprogramados

    3.4 Sistemas de Tiempo Compartido

    3.5 Sistemas de Computador Personal

    3.6 Sistemas Paralelos

    3.7 Sistemas Distribuidos

    3.7 Sistemas de Tiempo Real

    4. Funcionamiento de los Sistemas de Computacin

    5. Elementos de Sistemas Operativos

    5.1 Componentes del Sistema

    5.2 Servicios del Sistema Operativo

    5.3 Llamadas al Sistema

    5.4 Programas de Sistema

    6. Arquitecturas de Sistemas Operativos

    6.1 Estructura del Sistema

    ndice

  • Definicin

    Sistema OperativoEs un programa que acta como intermediario entre el

    usuario de un computador y el hardware de ste

    Servicios de un Sistema Operativo

    9 asignar recursos del ordenador (CPU, memoria,...) a los programas 9 dar acceso indirecto a los dispositivos del ordenador y a los perifricos 9 proporcionar un sistema organizado de almacenamiento de datos 9 comunicacin interactiva con el usuario

    Objetivos de un Sistema Operativo9 Ejecucin de programas de usuario9 Amigabilidad9 Eficiencia

    Componentes Esenciales de un Sistema de Computacin

    Componentes de unSistema de Computacin

    9 el hardware 9 los programas de aplicacin9 los usuarios 9 el sistema operativo

  • Funciones de un Sistema Operativo

    Funciones de un Sistema Operativo9 Asignar Recursos 9 Programa de Control9 Facilitador de tareas de usuarios

    UsuariosMquina Virtual

    Informacin

    DatosHardware

    SistemaOperativo

    Programas deAplicacin

    Enfoque Jerrquico de un Sistema OperativoMquina Desnuda

    Caractersticas fsicas del computador (hardware), sin ningn revestimiento lgico (software)

    9 Entorno rido de programacin 9 Conocimiento profundo del sistema

    Mquina ExtendidaMquina virtual que se constituye a partir de la mquina desnuda dotada de mdulos lgicos

    9 Amigable9 Eficiente9 Segura

    Dos Niveles9 Mquina Extendida Interna

    Operaciones elementales y comunes que actan sobre algn elemento fsico del sistema

    9 Mquina Extendida ExternaMdulos fsicos que pueden extraerse y funcionar sobre el nivel de mquina extendida interna

  • Elementos de un Sistema Operativo

    Elementos Software de un Sistema Operativo

    9 Ncleo o Kernel 9 Programas de Aplicacin

    NcleoKernel

    Tipos Sistemas Operativos Primeras Realizaciones

    Caractersticas9 El programador deba ser operador9 Explotacin mediante listas de reserva

    Problemas:Tiempo asignado insuficienteTiempo asignado mayor

    Primeros Ordenadores (antes de los 50)Mquinas muy grandes que carecan de elementos

    lgicos

    ProblemasUso ineficiente de recursos

    9Baja utilizacin de la CPU9Tiempo requerido para dejar listo un programa para ejecucin (setup time)

    Primeras Mejoras9Dispositivos Fsicos: lectoras, impresoras, cintas9Dispositivos lgicos: ensambladores, cargadores, linkadores y drivers9Lenguajes de alto nivel: compiladores (FORTRAN, COBOL)

  • Sistemas Monitores Residentes

    ObjetivoDisminuir el setup time

    9 Operador Profesional9 Estrategia de explotacin: agrupacin por

    Lotes9 Secuenciamiento automtico de trabajos

    Control de finalizacin de tareasTratamiento de erroresCarga y ejecucin automtica de la siguiente tarea

    Problemas9Falta de iteracin entre usuario y maquina9Lentitud frente a operaciones de E/S

    Primer Sistema OperativoMonitor residente, realiza automticamente el

    secuenciamiento de tareas

    Introduce tarjetas de Control ($FNT $JOB $END)

    Funciones9Intrprete de tarjetas de Control9Cargador9Drivers de dispositivos

    rea de Programas de Usuario

    Sistema Operativo

    Memoria

    Sistemas por Lotes Operaciones de E/S

    ObjetivoMejorar el rendimiento de los sistemas por lotes

    perfeccionando tcnicas de E/S

    BufferingEsquema de operacin de E/S en el que las

    transferencias de E/S se realizan a travs de un rea intermedia de memoria (buffer)

    Permite solapar operaciones de E/S de una tarea con instrucciones de CPU de esa misma tarea

    Operaciones Off-lineModo de operacin de ciertos equipos de E/S que trabajan no controlados directamente por la CPU

    Se reemplazan dispositivos mecnicos por dispositivos electrnicos (cintas mgnticas)

    Operaciones On-line (Spooling)(Simultaneous Peripheral Operation On-Line)

    Consiste en usar el disco como tampn o sistema de buffering. Existe una tarea especial el spooler

    Permite solapar operaciones de E/S de una tarea con instrucciones de CPU de otras tareas

    Tcnicas

  • Sistemas por Lotes Multiprogramados

    ObjetivoMejorar el rendimiento de la CPU

    Tareas del Sistema Operativo9Gestin de Memoria9Planificacin de la CPU9Planificacin de Trabajos9Proteccin9Control de Concurrencia (Dead Lock)

    MotivacinConsecuencia de la planificacin de tareas (job

    scheduling)

    ProcedimientoConmutacin de CPU: cuando una tarea deba

    esperar, los recursos de CPU son asignados a otra tarea preparada para ejecucin

    Sistema Operativo

    Memoria

    Trabajo 1

    Trabajo 2

    Trabajo 3

    Sistemas de Tiempo Compartido

    ObjetivoMejorar la interactividad con el usuario

    Tareas del Sistema Operativo9Sistema Multitarea (tarea proceso)9Sistema Interactivo 9Sistema de Archivos (archivos/directorios)9Sistema Multiusuario 9Memoria Virtual (memoria lgica)

    CaracterizacinSistemas multiprogramados e interactivos. Asignacin de la CPU en rodajas de tiempo a todos los usuarios, consiguiendo:

    Tiempos de respuesta cortosImpresin de usuario nico

  • Sistemas de Computador Personal

    ObjetivoSistemas de computador dedicados a un solo usuario

    Caractersticas9Adoptan funcionalidades de grandes sistemas9No necesitan caractersticas de utilizacin eficiente de CPU, ni proteccin

    Dispositivos de E/STecladoRatnPantallasPequeas impresoras

    PropiedadesAdaptados al usuario y sus necesidades

    Sistemas Paralelos

    ObjetivoSistemas multiprocesador.

    Sistemas fuertemente acoplados

    Caractersticas9Mayor rendimiento9Compartir recursos9Sistemas tolerantes a fallos9Sistemas de multiprocesamiento

    Multiprocesamiento simtrico: cada procesador ejecuta una copia del sistema operativoMultiprocesamiento asimtrico: cada procesador tiene una tarea especfica

    PropiedadesCon ms de un procesador, comparten bus, reloj, memoria, perifricos,...

  • Sistemas Distribuidos

    ObjetivoSistemas multicomputador (distribuir el cmputo

    entre varios procesadores).Sistemas dbilmente acoplados

    Caractersticas9Recursos compartidos9Computacin ms rpida9Confiabilidad9Comunicacin

    PropiedadesLos procesadores no comparten ni memoria, ni reloj. Se comunican entre s a travs de lneas de comunicacin

    Sistemas de Tiempo Real

    ObjetivoLos requisitos de tiempo de la operacin de procesador o del flujo de datos son estrictos

    Tipos9Tiempo real duro: garantiza que las tareas crticas se terminarn a tiempo9Tiempo real bando: una tarea de tiempo real crtica tiene prioridad respecto a otras tareas

  • Funcionamiento de los Sistemas de Computacin

    Sistema de Computacin9Controlador de dispositivo9Bus de sistema9Memoria compartida

    Controlador9Controlador de dispositivo: componente hardware device controler9Controlador software: componente software device driver

    Programa de Arranque9Init: primer proceso 9Interrupcin:

    Interrupcin hardware: a travs de bus de sistemaInterrupcin software: Llamada al sistema

    Elementos de Sistemas Operativos Componentes del Sistema

    9Gestin de Procesos crear y eliminar procesos, tanto de usuario como de

    sistema suspender y reanudar procesos proveer mecanismos para la sincronizacin de

    procesos proveer mecanismos para la comunicacin de

    procesos proveer mecanismos para manejar bloqueos mutuos

    (dead locks)

    9Gestin de Memoria Principal conocer el estado actual de la memoria y quien la

    est utilizando decidir que procesos se cargarn en la memoria

    cuando se disponga de espacio asignar y liberar espacio de memoria segn se

    necesite suspender y reanudar procesos

    9Gestin de Archivos crear y eliminar archivos crear y eliminar directorios proveer primitivas para la manipulacin de archivos

    y directorios establecer la correspondencia de los archivos con el

    almacenamiento secundario resguardar los archivos en medios de

    almacenamiento estables (no voltiles)

    9Gestin del Sistema de E/S crear y eliminar directorios un componente de gestin de memoria que incluye

    buffers, cachs, y spool un interfaz general con los controladores de

    dispositivosDrivers (controladores software)

    9Gestin de Almacenamiento Secundario administracin del espacio libre de almacenamiento

    secundario asignacin del almacenamiento planificacin del almacenamiento secundario

    9Trabajo con Redes

    9Sistema de Proteccin

    9Sistema de Interpretacin de rdenes intrprete de lnea de comandos interfaz grfica de usuario

  • Elementos de Sistemas Operativos Servicios del Sistema

    9Ejecucin de Programas

    9Operaciones de E/S9Manipulacin de Sistema de Archivos

    9Comunicaciones

    9Deteccin de Errores

    9Asignacin de recursos9Contabilizacin9Proteccin

    Servicios para comodidad del programador

    Servicios para aseguran el funcionamiento eficiente

    Elementos de Sistemas Operativos Llamadas al Sistema

    1. Control de procesos y tareas cargar, ejecutar fin, abortar crear proceso, terminar proceso obtener atributos, establecer atributos del proceso esperar tiempo esperar sucesos, indicar sucesos asignar, liberar memoria

    2. Manipulacin de Archivos crear, eliminar abrir, cerrar leer, escribir, reposicionar obtener atributos, establecer atributos

    3. Manipulacin de Dispositivos solicitar, liberar leer, escribir, reposicionar obtener atributos, establecer atributos conectar, desconectar lgicamente

    4. Mantenimiento de Informacin obtener, establecer fecha y hora obtener, establecer datos del sistema obtener atributos de proceso, archivo o dispositivo establecer atributos de proceso, archivo o dispositivo

    5. Comunicaciones crear, eliminar conexin enviar, recibir mensajes transferir informacin de estado conectar, desconectar dispositivos remotos

    CategorasInterfaz entre el proceso y el Sistema Operativo

    Llamadas al Sistema

    Disponibles como instrucciones en lenguaje ensamblador o lenguajes de alto nivel, y se listan en los manuales empleados en la programacin del lenguaje

  • Elementos de Sistemas Operativos Programas del Sistema

    1. Manipulacin de Archivos crear, eliminar, copiar, cambiar nombre,...

    2. Informacin de Estado fecha, hora, espacio de disco, nmero de usuarios,...

    3. Modificacin de Archivos editores de texto,...

    4. Apoyo a Lenguajes de Programacin ensambladores, compiladores, intrpretes,...

    5. Carga y Ejecucin de Programas ensambladores, compiladores, intrpretes,...

    6. Comunicaciones acceso remoto, transferencia de archivos, correo

    electrnico,...

    Categoras

    Ubicados en el ncleo del sistema operativo y los programas de usuario

    Programas del SistemaAlgunos de ellos son interfaces entre el usuario y las llamadas al sistema, mientras que otros son mucho ms complejos

    Arquitectura de Sistemas Operativos Estructura del Sistema

    Modelos de DiseoForma en que se puede construir un Sistema Operativo para que funcione correctamente y pueda modificarse con facilidad.

    1. Estructura Simple: D.O.S2. Modelo de Capas: UNIX, OS/23. Modelo de Mquina Virtual: VM4. Modelo Cliente/Servidor: Windows-NT

  • Arquitectura de Sistemas Operativos Estructura Simple

    Controladores de dispositivos en ROM BIOS

    Controladores de dispositivos de S.O.

    Ncleo del Sistema Residente

    Programa de Aplicacin

    Estructura de bloques de D.O.S.

    Controladores de Terminales

    Terminales

    Controladores de Dispositivos

    Discos y Cintas

    Controladores de Memoria

    Memoria Fsica

    Interfaz del ncleo con el hardware

    Manejo de terminalespor seales

    Sistema de E/S por caracteresDrivers de terminales

    Sistema de archivosSistema de E/S por

    intercambio de bloquesDrivers de disco y cinta

    Planificacin de CPUReemplazo de pginas

    Paginacin por demandaMemoria virtual

    Interfaz con el ncleo mediante llamadas al sistema

    Shells y rdenesCompiladores e intrpretes

    Bibliotecas del sistema

    Usuarios

    Estructura de bloques de UNIX Clsico

    Los recursos se estructuran por bloques.Mximo de funcionalidad en un mnimo de espacio, con hardware limitado

    Estructura SimpleLos sistemas operativos con esta estructura son generalmente sistemas pequeos, sencillos y limitados.

    Arquitectura de Sistemas Operativos Estructura por Capas

    Capa M

    Capa M-1Operacionesocultas

    Operacionesexistentes

    Operacionesnuevas

    Capa de un Sistema Operativo

    Capa 0: HardwareCapa 1: Intrprete de instruccionesCapa 2: Planificacin de CPUCapa 3: Canal de E/SCapa 4: Memoria virtualCapa 5: Controladores de dispositivosCapa 6: Programas de Usuario

    Estructura de capas de Venus

    Objetivos1. Mayor libertad para implementadores2. Modularidad en los sistemas3. Ocultamiento de informacin para que los

    programadores

    Modelo por CapasDiseados para utilizacin de hardware ms avanzado, estos sistemas operativos se encuentran mucho ms fragmentados.

  • Arquitectura de Sistemas Operativos Mquinas Virtuales

    Mquinas VirtualesUtilizando planificacin de la CPU y tcnicas de memoria virtual, un sistema operativo puede crear la ilusin de que mltiples procesos se ejecutan cada uno en su propio sistema.

    Otro tipo de visin de mquina virtual es la de Java, donde los programas se ejecutan sobre una JVM(Java Virtual Machine), haciendo a los programas independientes del hardware utilizado.

    HardwareNcleo

    Procesos

    HardwareMquina Virtual

    Ncleo

    Procesos

    Ncleo

    Procesos

    Ncleo

    Procesos

    Mquina no virtual Mquina virtual

    Interfazde

    programacin