sistema operativo

76
1 Asignatura : Sistemas Operativos Tema : Conceptos Introductorios Corresponde a: Módulo 1 de Notas Sobre Sistemas Operativos (Manual del alumno) Capítulos 1,y 2 de STALLINGS Capítulos 1, 2 y 3 de SILBERSCHATZ Capítulo 1 de Tanenbaum. Carlos NEETZEL cneetzel@sistemasoperativos.

Upload: nancy-barletta

Post on 09-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

introduccion a los conceptos de los sistemas operativos

TRANSCRIPT

  • Asignatura: Sistemas OperativosTema: Conceptos Introductorios

    Corresponde a:Mdulo 1 de Notas Sobre Sistemas Operativos (Manual del alumno)Captulos 1,y 2 de STALLINGSCaptulos 1, 2 y 3 de SILBERSCHATZCaptulo 1 de Tanenbaum.Carlos NEETZEL [email protected]

  • Objetivo del MduloDar los conceptos bsicos sobre las funciones, composicin y mdulos de los Sistemas Operativos.

    Conocer las estructuras de los Sistemas Operativos.

  • Estructura 1. DEFINICIONESWARM STARTCOLD STARDINITMAQ. EXT.ADM. DE RECURSOS9. PRESTACIONES DE UN S.O.POLTICAESTARATEGIAAUTORIDADPROTECCINCONTABILIDADSERVICIOSSistema Operativo2. FUNCIONESKERNELSHELLADMINISTRADORESSEGURIDAD Y PROTECCIN4. COMPONENTES MINIMOSGESTIN Y REPARTO DE RECURSOSGESTIN DE LA INFORMACINCOOPERACIN ENTRE OBJETOSPROTECCINTRADICIONALJERARQUICACLIENTE-SERVIDORMAQ. VIRTUALES8. ARQUITECTURA5. CARACTERSTICAS NECESARIAS DEL HWINSTRUCCIONES PRIVILEGIADAS Y USUARIOINTERRUPCIONES CONTEXT SWITCH7. CARACTERISTICAS COMUNESSYSTEM CALLSYSTEM PROGRAMSMODO DUALAL S.O.A PROGRAMASAL USERSHELLPROPSITO: -GENERAL -ESPECIALMONOUSERMULTIUSER3. TIPOSPC, WS10. S.O. PARA MULTIPROCESADORESTIPOS DE S.O. PARA MULTIPROCESADORES:Master-SlaveSupervisor SeparadoSimtrico/AsimtricoSistemas de Multiprocesador de Tiempo CompartidoUsers6. CARACTERISTICAS DE DISEO DE UN SO

  • Definicin de Sistema OperativoessonSIRVENPARA

  • FUNCIONES DEL SISTEMA OPERATIVO

  • Funciones del Sistema Operativo: InicializacinInicializacinParcial Warm StartTotal Cold StartKernel Memoria RAMMemoria ROM Disco (rea de Booteo)Rutinas residentesVerifica recursos Arma Tablas

    I.P.L. o Bootstrapping (I.P.L. = Initial Program Loading)Arranca despus de las rutinas que crearon las tablas de recursosEs llevada a cabo por

  • Funciones del Sistema Operativo: Inicializacin TOTAL o PARCIAL1. PREPARAR LA MAQUINA Y LLEVARLA A UN ESTADO CONOCIDO (real) PARA LA EJECUCION DEL PRIMER TRABAJONO CREA NI INICIALIZA LAS TABLAS POR EL PROCESO DE VERIFICACION DE RECURSOS

    DEPENDE DE LOS EVENTOS QUE PROVOCAN LA INTERRUPCION DE LA EJECUCION

    EJEMPLOS : ERRORES DE HARDWARE, VIOLACIONES A PROTECCIONES, CORTE DE LUZ, ETC.ENCENDIDO

    RESET

    CARGA del PC a la 1er.DIR1er DIR ala ROM1er C.O. ala CPURUTINASde INIC.FORMA DE OPERARTOTALPARCIALKERNELMEDIANTE RUTINA RESIDENTES EN MEMORIA RAM, ROM Y DISCO DEL SISTEMALLEVADA A CABO PORCOMO?OBJETIVOVERIFICACION DE RECURSOS: CREACION DE TABLAS DE RECURSOS DISPONIBLES EN EL SISTEMABOOTEO o I.P.L : LUEGO DE LA VERIFICACION DE RECURSOS SE CARGA EL RESTO DEL S.O, Y ASI SE COMPLETAPASOS QUE EFECTUAINICIALIZACIONCARGA delKERNEL ySHELL

  • Funciones del Sistema Operativo: Maquina Extendida o Maquina Virtual

  • Funciones del Sistema Operativo: Administrador de Recursos

  • Funciones del Sistema Operativo: Administrador de RecursosCada uno de los administradores de los recursos, bsicamente debe:Mantener actualizado un registro o contabilidad del estado o uso de los recursos. Cumplir (en funcin de la poltica implementada para tal fin) con las demandas, decidiendo quin, cmo, cundo y por cunto tiempo recibe determinado recurso. Asignar dicho recurso a quien lo demande. Recuperar el recurso despus que se ha utilizado. Funcin de Proteccin

    Se dice que el SO implementa como arbitro imparcial:Una Poltica: dado que asigna prioridades (de uso y/o de acceso a los recursos).Una Estrategia: ya que ordena los accesos y los conflictos.Una Autoridad: pues debe recuperar los recursos otorgados a los procesos y ordenar el uso de los mismos.Una Proteccin: brindando seguridad a los usuarios entre s y preservando la integridad de los recursos.Una Contabilidad: para llevar el control del uso y disponibilidad de los recursos.

  • Funciones del Sistema Operativo: Administrador de RecursosEl S.O. ofrece:Facilidades para crear, manipular y eliminar objetos sobre los que se quiere realizar operaciones, a travs de la Gestin y Conservacin de la Informacin sobre ellos.Un ambiente para la ejecucin de trabajos, mediante la gestin del conjunto de recursos que permiten ejecutar los mismos.Facilidades para compartir el conjunto de recursos entre los usuarios, mediante un planeamiento y ordenamiento de los trabajos.La administracin del sistema consiste en el:Manejo y conservacin de la informacin: ofrece a los usuarios facilidades para crear, recuperar y eliminar objetos sobre los que se quieren realizar operaciones.Manejo del conjunto de recursos: que permiten ejecutar programas: El sistema crea el ambiente necesario para la ejecucin de los trabajos.Planeamiento y ordenacin de trabajos mediante un adecuado manejo y reparto del conjunto de recursos entre los usuarios

  • Funciones del Sistema Operativo: Proteccin y Seguridad

  • TIPOS DE SISTEMAS OPERATIVOS

  • Tipos de Sistemas Operativos: Clasificacin

  • Tipos de Sistemas Operativos: Sistemas MonoProcesador o MultiProcesadoresMonoPRO-CESADORMultiPROCESADORESSe basan en Administrar un solo ProcesadorMS-DOS; MacDOSEjemplosMemoria y PerifricosCompartir Formas de trabajarEl SO selecciona a uno como procesador central y al resto para tareas especificas. (MAESTRO/ESCLAVO)Sistema SIMETRICOSistema ASIMETRICOMs de un ProcesadorSe basan en Los procesos son enviados a cualquier procesador disponible, brindando una mejor distribucin y equilibrio de la carga de trabajo.

  • Tipos de Sistemas Operativos: Sistemas Monousuarios o MultiusuariosMonousuariosMultiusuariosSe basan en Mquinas Virtuales Un Solo usuario sin compartir recursos con otros usuarios. Ejemplos: PC, Wk.Las utilizaSistemas de Consulta de Informacin Sistemas de Gestin de operacionesSistemas de Propsito GeneralArchivos y Bases de Datos. Ejemplo: Base de Datos Mdicas.Bases de Datos Actualizadas. Ejemplo: Reservas de Pasajes.Consulta sobreTrabajan sobreHay dos tiposGran Flujo constante de Trabajo (work-Flow)mantienenSistemas BatchSistema de Accesos Mltiples

  • Tipos de Sistemas Operativos: Sistemas Multiusuarios-Sistemas de Propsito GeneralSistemas BatchSistemas de Accesos MltiplesNo tiene contacto con la tarea introducidaConcluye su ejecucin. Ejemplo: ejecutar una orden E/S en un lugar remoto de la maquina.IniciarVigilar ControlarSuspenderCualquier TerminalEl usuario puedeLa ejecucin del programa desde El usuarioHasta que Ejemplo: procesadores distribuidos en varios lugares distantes entre ellos y comunicados a travs de lneas de transmisin de datos o de red.

  • Tipos de Sistemas Operativos: Sistemas Multiusuarios-Sistemas de Propsito EspecialSistemas de Propsito EspecialSO en Tiempo RealRespuesta a eventos externos en un tiempo establecidogarantizaMxima Fiabilidad proporcionaSistemas de reservas de pasajes y control de vehculosLo utilizan Parmetros importantesTiempo de espera, Procesamiento, y Almacenamiento de la entradaHay tres tiposSO con Tolerancias a FallasSO VirtualesSO en Tiempo Real

  • Tipos de Sistemas Operativos: Sistemas Multiusuarios Sistemas de Propsito Especialrespecto a SO con Tolerancias a FallasDetecta y corrigeRecupera Sistema habilitadoErrorescancelaOperacionesSO VirtualesVarios S.O.En una MquinaejecutaconcurrentesModo UsuarioTrabajan en respecto al Modo ProtegidoProgramas bajo ese S.O.S.O. VirtualreemplazandoComponentesSistema de los Cajeros Automticos, Sistema de Seguridad en el rea NuclearLo utilizan Verificar un nuevo SO, Migrar un SO a una nueva versin, etc.Lo utilizan

  • Un sistema de tiempo real se usa generalmente como undispositivo de control en una aplicacin dedicada en que elprocesamiento debe realizarse dentro de un tiempo dado.

    Existen dos tipos de Sistemas de Tiempo Real: ambos se diferencian tambin por el tratamiento de interrupciones y el manejo de lasPrioridades:

    Aquellos en que el tiempo de respuesta no es muy crtico.

    Los que el tiempo de respuesta es muy crtico (Sistemas estimulados por eventos externos deben generar respuestas a estos eventos): Control de procesos industriales, recoleccin de datos de experimentos, etc.

    S.O. en Tiempo Real-1-

  • El sistema en tiempo real incluye el software (que debe organizar, administrar y operar la transferencia de los datos y proveer la adecuada sincronizacin de tiempos) y el hardware compuesto por:

    SENSORES: elementos que detectan mediante una alteracin de sus caractersticas un cambio en el ambiente en que miden.

    TRANSDUCTORES: Traducen un cambio fsico en una corriente o tensin elctrica.

    CONVERSORES (ADC/DCA): Convierten las variaciones de corrientes o tensiones elctricas en pulsos binarios (Analogic - Digital Converter / Digital - Analogic Converter).

    INTERFASES: Puertos, impresores, graficadores, Registradores, Visualizadores, Sealizadores, Alarmas, Consolas, Teclados, etc., etc.

    PROCESADORES: Son los responsables de las tareas de control, interrupciones, tiempos, almacenamiento de datos temporales y definitivos, generacin de rdenes de control o mandos a distancia, etc.S.O. en Tiempo Real-2-

  • S.O. en Tiempo Real-3-

    Reloj

    Lgica y Control

    Digital

    Registro de Datos

    Procesamiento de

    la informacin

    Interfase de Operacin

    sensores

    o

    procesos

    Trasductores

    Conversores

    ADC

    /DCA

    Base de

    Datos

    Consola

    Sistema de Control y Procesamiento de

    datos en Tiempo Real

    Visualizadores, Paneles, Alarmas,seales, etc.

    Sistema de adquisicin

    de datos bajo control

    en Tiempo Real

    Actuadores,

    Kernel y SO

  • COMPONENTES MINIMOS DE UN SISTEMA OPERATIVO

  • Componentes Mnimos de un SOContemplaAdministracin de pedidosAdm. y Gestin de pedidos de recursosAdm. de programasAdm. de procesosAdm. de UsuariosOtrosAsigna listo para ejecucinDecide a quienPrimer NivelSHELLo Job Scheduler Job Control LenguajeActividades ComplementaprogramaInvoca aAdmite programacin mediante Shell Scripts

  • Componentes Mnimos de un SO

  • Componentes Mnimos de un SO: Shell

  • Componentes Mnimos de un SO: Shella) Visin del usuario

    Existen dos grandes tipos de Shell:Interprete de Lneas de Comandos u rdenes CLI (Command Line Interface) GUI (Graphical User Interface)

    Desde el punto de vista del usuario, el principal objetivo del ocultamiento del hardware se debe a:ABSTRACCIN: Proveer una interfase dando una visin global y abstracta del computador de fcil uso y ocultando su funcionamiento.SEGURIDAD: Protegiendo el uso de los recursos entre los usuarios y el sistema.

    b ) Punto de vista del System Manager (Gestor de Recursos del Sistema) Es el responsable de que el Sistema de computo funcione con el adecuado rendimiento y con seguridad.Configura al S.O. para que el Sistema funcione eficientemente y los usuarios puedan compartir los recursos.

  • Componentes Mnimos de un SO: Kernel o NcleoKERNELMemoria CentralModo supervisor o KernelReside Se ejecutaMs Alto nivel de Prioridad Interrupciones ExcepcionesManejo instrucciones kernel y usuarioMecanismo de acceso junto con el M.M.U. (Administrador de la Unidad de Memoria)implementaMecanismo de proteccin junto con el First Level Interrupt HandlerControlar las interrupciones y ErroresDispatcherRutinas de sincronizacin Comunicacin entre procesosSe ocupa deEs un conjunto de Cdigos intensamente usados por todos los programas en el mas bajo nivel como si fuera una extensin del set de instrucciones de la mquina

  • Componentes Mnimos de un SO: Kernel o NcleoContiene:Una extensin del Juego de Instrucciones (Instruction Set) del Procesador (System Calls).Una extensin del mecanismo de secuenciamiento del Hardware (Dispatcher o Switcher).Un manejador de Interrupciones (Interrupt handler) y de errores (error handler).Un mecanismo de acceso a Memoria Central. Manejador el reloj de tiempo real (Timer).Conmuta el estado del procesador entre modo supervisor y usuario.Implementar los mecanismos de proteccin.

  • Componentes Mnimos de un SO: Kernel o NcleoFunciones del Nivel Kernel tienen las siguientes caractersticas:Son Residentes en la Memoria Central (Razones de accesibilidad en el menor tiempo posible).Deben ejecutarse en modo Kernel (tambin llamado modo Supervisor ) como primitivas ininterrumpibles.Deben ejecutarse en el ms alto nivel de prioridad debido a la Proteccin.Depende de la mquina y est escrito en el lenguaje ensamblador del Procesador.Generalmente no ms de 600 instrucciones (muy optimizado).

  • CARACTERISTICAS NECESARIAS EN HARDWARE

  • Caractersticas Necesarias en HW: Juego de Instrucciones diferenciadas para el ProcesadorInstruccionesPrivilegiadas(Kernel)Reservadas para el S.O.Acceso a todos los recursos Ejecutan como una sola instruccin (macroinstruccin)

    kernelComunes (Usuario)Pueden ser interrumpidasAcceso restringido a recursos e InstruccionesEjecuta un cdigo de programa usuario usuarioAutorizar o inhibir interrupciones.Acceder a registros del hardware (procesadores, Entrada/salida, etc.).Acceder a los Puertos de Entrada / Salida (I/O ports).Acceder a zonas reservadas de Memoria Central.Estas instrucciones se usan para:Tipos

  • Modo DUAL del ProcesadorModo Kernel o Protegido (Ejecuta instrucciones sin Interrupciones)Modo Usuario o Real (Ejecuta instrucciones permitiendo ser Interrumpidas)Caractersticas Necesarias en HW: Modo DUAL de Ejecucin del ProcesadorRAI: Rutina de Atencin de Interrupcin

  • Caractersticas Necesarias en HW Procesador en modo Dual: ( Modo KERNEL)

  • Caractersticas Necesarias en HW Procesador en modo Dual: (Modo USUARIO)

    MODO USUARIO

    SOLO EJECUTA LA SECUENCIA DE INSTRUCIONES DEL USUARIO (PROGRAMA DEL USUARIO)PUEDE SER INTERRUMPIDOACCESO RESTRINGIDO A RECURSOS E INSTR. DEL PROCESADORCARACTERISTICAS DEL FUNCIONAMIENTOFORMA DE EJECUTAR UN PROG USUARIO CUANDO EJECUTA RUTINA DEL S.O SYSCALLCAMBIO DE CONTEXTO DE EJECUCION EJECUTA RUTINA DEL S.OCAMBIO DE CONTEXTO DE EJECUCION EXIT TO USEREL PROGRAMA USUARIO SIGUE SU EJECUCIONModo KernelContext Switch

  • Caractersticas Necesarias en HW: Interrupciones

  • Caractersticas Necesarias en HW: Interrupciones

  • D.M.A.Para hacer Transferencias entre CPU o Memoria y los PerifricosSe ide, para transmitir datos desde un dispositivo perifrico a la memoria RAM mediante un procesador especializado.

    En los comienzos, el procesador central deba ocuparse de leer los datos del dispositivo y enviarlos a la memoria central o viceversa, no pudiendo dedicarse a otra actividad mientras estaba ejecutando ese proceso.

    Para agilizar esa transferencia, el dispositivo accede directamente a memoria mediante un procesador DMA sin que la CPU tenga que preocuparse de ese proceso, con lo que se consigue un gran ahorro de tiempo, adems de ser ms rpido.Caractersticas Necesarias en HW: Canales D.M.A. (Direct Memory Access)

  • CARACTERISTICAS DE DISEO DE UN SO

  • Caractersticas de Diseo de un SOLos diseos difieren en los siguientes puntos:

    Objetivos.Restricciones.Aplicaciones y ambientes.Criterios.Razones Econmicas.

    En cuanto al diseo de un S.O. se debe tener fundamentalmenteen cuenta los siguientes puntos:Conocer el procesador en profundidad, (Hardware).Conocer ampliamente el Set de instrucciones del procesador.Conocer profundamente tcnicas algortmicas.Definir las caractersticas que deben incorporarse en el diseo.

  • Caractersticas de Diseo de un SOAdems los objetivos de diseo de un Sistema Operativo deben cumplir los siguientes requerimientos:Simple.Portable.Estructurado (modular).Confiable.Soporte de mltiples usuarios o procesos.Soporte de red o procesamiento distribuido. Etc.

    Los principales objetivos que debe incluirse en el diseo, entre otros, son:Eficiencia: Todo el uso del sistema requiere de eficiencia y en particular algunos puntos para evaluar la eficiencia pueden ser:Tiempo transcurrido entre tareas o procesos.Tiempo ocioso del procesador central.Tiempo de ejecucin utilizado por los procesos, ya sea Batch u otros.Tiempo de respuesta en los accesos de los recursos.Grado de utilizacin de los recursos.Rendimiento (Trabajos ejecutados por hora).

  • CARACTERISTICAS DE LOS SOs

  • Caractersticas de los SOsEn general, se puede decir que un Sistema Operativo debe tener las siguientes caractersticas:Conveniencia: Hacer ms conveniente el uso de una computadora. Eficiencia: Permitir que los recursos de la computadora se usen de la manera ms eficiente posible. Habilidad para evolucionar: Deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio del mismo.Encargado de administrar el hardware: Encargarse de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. Relacionar dispositivos (gestionar a travs del kernel): Deber encargarse de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera. Organizar datos: para acceso rpido y seguro.

  • Caractersticas de los SOsManejar las comunicaciones en red: Permitir al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de computadoras. Procesamiento por bytes: De flujo a travs del bus de datos. Facilitar las entradas y salidas: Deber hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada / Salida de la computadora. Tcnicas de recuperacin de errores: Deber proveer las rutinas necesarias para protegerse, y poder recuperarse de los errores (ya sean de hardware, o de software), con el menor perjuicio para los usuarios. Evita que otros usuarios interfieran: Evitar que los usuarios se bloqueen entre ellos, informndoles si esa aplicacin esta siendo ocupada por otro usuario. Generacin de estadsticas: Para poder cobrarle a los diferentes usuarios del centro de procesamiento, la parte proporcional que les corresponde del gasto generado por el mantenimiento del mismo. Permite que se pueda compartir: tanto el hardware como los datos de los usuarios y entre los usuarios.

  • Caractersticas Comunes a todos los SOs

  • Caractersticas Comunes a todos los SOs

  • Proteccin y SeguridadObjetivo: Garantizar la integridad de los recursos y de los Procesos, como tambin validar los usuarios en el sistema.

    Para resolver este conflicto el S.O. ofrece los siguientes mecanismos:Ejecucin dual de instrucciones: Maestro - Esclavo (este concepto se ampla en el prximo punto de ste mdulo).Mutua Exclusin: (consiste en asegurar que los recursos compartidos sean accedidos por un solo proceso a la vez bajo ciertas condicionesControl de accesos.Caractersticas Comunes a todos los SOs

  • ARQUITECTURA (Estructura) DE UN SISTEMA OPERATIVO

  • Arquitectura de un SO: Estructura Tradicional o Monoltica

  • Mdulos organizadosArquitectura de un SO: Estructura Jerrquica

  • Arquitectura de un SO: Estructura JerrquicaEl sistema es dividido en mdulos, utilizando un enfoque por capas, que divide al S.O. en varias capas(niveles), cada una construida sobre las inferiores.Cada capa constituye una implantacin de un objeto abstracto que contiene datos y operaciones que pueden manipular esos datos.VentajasFacilita la proteccin.Permite implementar el principio de ocultamiento de la informacin information hiding.Facilita la sustitucin y verificacin de componentes modularizacin).DesventajasLa definicin de los distintos niveles es difcil.Algunas comunicaciones entorpecidas por la jerarqua.Son ms lentos.

  • Arquitectura de un SO: Estructura Cliente/ServidorLas funciones del Kernel son pocas. Entre ellas:a) Tratamiento de interrupciones.b) Multiprogramacin.c) Sincronizacin de mensajes.d) Proteccin y seguridad

  • Arquitectura de un SO: Estructura Cliente/ServidorVentajasEl sistema es altamente modularLos distintos mdulos del sistema no tienen acceso directo al hardwareSon especialmente tiles en ambientes distribuidosDesventajasAlgunos mdulos del SO no pueden ser implementados como procesos de usuarios .Ejemplo: drivers de dispositivos, ciertas partes del administrador de memoria (memory manager)

  • Arquitectura de un SO: Estructura Maquinas Virtuales

  • Arquitectura de un SO: Estructura Maquinas VirtualesVentajasCada usuario del sistema puede usar un SO distinto.Permite un alto nivel de proteccin. Todas las mquinas virtuales son independientes.

    DesventajasDifcil Implementacin : se necesita un duplicado exacto del HW adyacenteCada maquina virtual es ms lenta que la mquina real

  • PRESTACIONES DEL SISTEMA OPERATIVO

  • PRESTACIONES PARA EL USUARIOEJECUCION DE PROGRAMASFACILIDADES1. PARA CARGAR EN MEMORIA2.PARA PREPARAR AMBIENTE DE EJECUCIONOPERACIONES DE ENTRADA/SALIDAFACILIDADES 1. PROGRAMA PUEDA TRATAR UN ARCHIVO 2. ENVIAR,RECIBIR DATOS A UN DISPOSITIVOMANEJO DE ARCHIVOSFACILIDADESACCESOS, USOS ORGANIZACION DEL SISTEMA. DE ARCHIVOSSERVICIOS OFRECIDOS POR EL S.OPrestaciones del Sistema OperativoDesde el Punto de Vista del Usuario

  • PRESTACIONES SISTEMAASIGNACION DE RECURSOSCONJ DE MECANISMOS DE RESOLUCION DE CONFLICTOSSOLUCION CONTABILIDADCONTROL DE TIEMPOS DE UTILIZACION DE RECURSOS PROTECCION ANTE ACCIONES NO DESEADASCONFLICTOS CUANDO VARIOS PROCESOS O USUARIOS COMPITEN POR ELLOSPARA SU FACTURACION PARA LA OBTENCION DE ESTADISTICAS DE UTILIZACIONPrestaciones del Sistema OperativoDesde el Punto de Vista del Sistema

  • Servicios que brinda un Sistema OperativoServicios del S.O. realizados por 2 mecanismosSystem CallSystem ProgramNo residen en memoria SHELLSe invocan Programacin a travs de instruccionesRutina deProceso en ejecucinInterrumpe elUsuarioSistemaProgramaEntorno para ejecucin mas cmodoofrecenSe carga a memoria para su ejecucinsi se invocan

    fopen

    Programa

    Usuario

    call fopen

    SO en Memoria Central

    1Cambia estado

    el rocesador

    2) Llama rutina SO

    (System Call un

    cdigo en MC.

    3) Cambia estado del procesador y vuelve al programa usuario

    Ejemplo de una instruccin de E/S.

    Proceso

    Tabla servicios

    llamada al SO

    interrupcin

    rutina

    SO

    fin llamada

    dispatch

    RAI

    RAI: Rutina de Atencin de Interrupcin del System Call

    Nivel Kernel

    S.O.

    Nivel Process

    USER

    dispatch

    A

  • SYSTEM CALLS (PARA PROGRAMAS en EJECUCIN) SYSTEM PROGRAMSSOLUCIONES A PROBLEMAS COMUNESNO DURANTE EJ. DEL PROGNO RESIDEN EN MEMORIASE CARGAN RAPIDAMENTE EN MEM, RESIDEN EN SOPORTE DE ACCESO DIRECTOOFICIAN DE INTERFASES ENTRE PROG EN EJECUCION Y EL S.OPROCESAMIENTO DEL SYSCALLPROGRAMA USUARIO CALL FOPEN()CAMBIO EST.PROCESADORCAMBIO EST.PROCESADORY VUELVE AL PROGRAMAS.O EN MEM.PPALFOPENLLAMA RUTINA S.OSYSCALL UN CODIGO EN MEM. PPALINCORPORACION DE ALGUNAS FUNCIONES: FILE MANIPULATOR, STATUS INFORMATION, APLICATION PROGRAMSCOMPUESTO POR: CONJ DE INSTRUCCIONES EN EL LENGUAJE DE MAQUINAEJECUCION ATOMICA,SIN INTERRUPCIONESAL EJECUTARLO SE PRODUCE UNA INTERRUPCION DEL PROCESO Y SE EJECUTA LA RUTINAEJEMPLO: RESPECTO A UN JOB CREATE_JOB,DELETE_JOBRUBROS: A) MANEJO DE PROCESOS B)EJECUCION DE PROGRAMAS C) MANEJO DE OP. DE E/S D)COMUNICACIONESETC. Servicios que brinda un Sistema Operativo System Programs/System Calls

  • Servicios para el Usuario File Manipulator Status InformationProgram loading and executionFile ModificationAplication ProgramShellServicios para UsuariosSytem ProgramSystem CallsintervencinTeclado u otro dispositivoAlgunas funcionesLoginProteccin (Password, Dominios, etc.)Shell

  • Servicios para los ProgramasServicios para los ProgramasSystem CallsCarga , ejecucin, terminacin del programaManipulacin de archivosDeteccin de ErroresContabilidad Proteccin Reparto de RecursosHardwareSoftwareusuariosprogramasCreate_Process()load()execute ()Kill()funcionesCrea ProcesoCambio de ContextoInterrupcionesACCESOS

  • Servicios para el SistemaLlamadas al S.O.Interrupciones de dispositivos de E/SManejo de Excepciones(Traps)Se produce un errorgrave en la ejecucin de una InstruccinPrograma en ejecucinServicios para el SistemaTerminacin normal Terminacin anormalPeticin de estadoPeticin de E/SNOSIProceso esperaProceso ejecutaFecha Hora Espacio de MemoriaEnd()Abort()Kill()Get()Put()Etc.funciones

  • ProteccionesDe MemoriaDe E/SDel ProcesadorPar evitar la existencia de procesos infinitos o accesos al procesador por procesos que nunca liberan de su uso.solucinProteccionesCada proceso tiene una zona de memoria asignada. Una forma de evitar que acceda fuera de esa zona es usar dentro de la CPU dos registros:LIMITE INFERIOR LIMITE SUPERIORDrivers de los dispositivos que le devuelven el control al SO cdo. Se produce un error.Debe preveerA travs El HW incluye un reloj que en un determinado tiempo se produce una interrupcin y el SO toma el controlDebe preveerDebe preveer

  • SISTEMAS OPERATIVOS PARA MULTIPROCESADORES

  • Tipos de S.O. para MultiprocesadoresExisten los siguientes tipos bsicos:

    Maestro esclavo

    Supervisores separados.

    Simtricos (es el ms comn).

    Sistemas de multiprocesador con tiempo compartido

  • Tipos de S.O. para MultiprocesadoresMaestro - Esclavo (MASTER - SLAVE): Posee estructura jerrquica, tradicional, pero requiere que todos los procesadores sean idnticos (homogneos).

    Planifica los trabajos. Cuando un S.O. usa el procesador y lo hace maestro, planifica para todos en ese momento. Se maneja con un sistema de mensajes (no hay interrupciones)Controla la ejecucin de los esclavos.El Sistema Operativo puede ejecutarse en cualquier procesador (maestro flotante)Puede tomarse a cualquier procesador como master (con este mtodo se manejan la arquitectura de procesadores llamada hipercubos).

    VENTAJAS:Sencillo de implementar y fcil de adaptar.Permite paralelismo en las aplicaciones pero no en el S.O.

    DESVENTAJAS:Los esclavos tienen como cuello de botella al master.Gran overhead por la estructura jerrquica.

  • Tipos de S.O. para MultiprocesadoresSupervisor separado:Cada nodo tiene su propio kernel que gestiona el procesamiento del nodo (procesador, Memoria, E/S), en forma independiente (caso del hipercubo o crosstalk).Cmo lograr el paralelismo de la aplicacin?:Cada Nodo ejecutar una tarea.Subdividiendo la aplicacin en tareas (task), del sistema.La planificacin macroscpica de la ejecucin de las aplicaciones lo hace un SUPERVISOR que puede implementarse en modo simtrico o Master-Slave.Las funciones del Supervisor son: Asignacin de procesadores a tareas, Mensajes, Redireccionamientos, Almacenamientos, etc..

  • Tipos de S.O. para MultiprocesadoresSimtricos / AsimtricosSimtricos:Todos los procesadores son funcionalmente idnticos. Cualquier procesador puede acceder a cualquier dispositivo de I/O o a cualquier Memoria, men, etc. Por esto se dice que es simtrico.

    El S. O. puede ser ejecutado en cualquier procesador e incluso en paralelo en varios procesadores. Para ello deben disearse y construirse funciones que ejecutan autnomamente y deben existir adecuados controles y sincronizaciones para las estructuras comunes o compartidas.

    La implementacin ms sencilla es la de Maestro Flotante.

    El S.O. no est ligado a ningn procesador y flota de uno a otro. Por lo general, el cdigo del S.O. es monoltico por lo que se ejecuta en un solo procesador. El S.O. es una sola Regin Critica de grandes dimensiones. Temporalmente el procesador que ejecuta el S.O. es el Maestro y planifica el trabajo para los dems procesadores.

  • Tipos de S.O. para Multiprocesadores Simtricos Ejemplo UNIX: La ejecucin es seleccionada de la cola de procesos listos en Memoria Compartida, la asignacin se hace: Primer proceso a primer procesador y as sucesivamente hasta agotar procesadores o procesos.El Procesador que se libera toma el siguiente proceso de la cola de listos para ejecutar.La concurrencia se administra mediante funciones que controlan las interrupciones (habilitaciones/deshabilitaciones).No funcionan las prioridades en multiprocesadores (es un mecanismo de monoprocesador).Funcionan los threads

  • Tipos de S.O. para Multiprocesadores Simtricos VENTAJAS:Fcil de portar de S.O. Monoprocesador a multiprocesadoresSe logra buena ejecucin en paralelo.DESVENTAJA:Difcil reprogramacin del control de la concurrencia.

  • Tipos de S.O. para MultiprocesadoresSimtricos / AsimtricosAsimtricos:

    Solo algunos procesadores tienen acceso a Memoria y dispositivos.

  • Tipos de S.O. para Multiprocesadores Sistemas de Multiprocesador con Tiempo CompartidoFUNCIONES DEL S.O. PARA MULTIPROCESADORES:Gestin eficiente de recursos (procesadores, memoria central, E/S).

    Planificacin de procesadores (mltiples). Esto significa dos cosas:

    Asignacin de procesadores a las aplicaciones en forma consistente.Asegurar el uso eficiente de los procesadores asignados a las aplicaciones. Esto afecta a la velocidad.La velocidad y la productividad dependen de las prioridades o sea de la planificacin.

    Mecanismos y facilidades que fomentan el paralelismo.Mecanismos de sincronizacin flexibles y eficientes entre procesadores y entre procesos.Creacin y gestin de un gran nmero de threads.Gestin de Memoria Central: depende de la Arquitectura y del interconexionado (fuertemente o dbilmente acoplados).Gestin de dispositivos de E/S (Generalmente se usan arrays de discos RAID con buses SCSI).

  • Tipos de S.O. para Multiprocesadores Sistemas de Multiprocesador con Tiempo Compartido4. SISTEMAS DE MULTIPROCESADOR CON TIEMPO COMPARTIDO:

    Ofrecen la imagen de un nico sistema pero lo hacen mediante la va de centralizar todo, por lo que en realidad este caso es un nico sistema. Los multiprocesadores con tiempo compartido NO son sistemas distribuidos.

    Este tipo de sistemas es una combinacin de software fuertemente acoplado en hardware fuertemente acoplado.

    Existe una sola cola de ejecucin: una lista de todos los procesos en el sistema que no estn bloqueados en forma lgica y listos para su ejecucin. La cola de ejecuciones una estructura de datos contenida en la memoria compartida.

  • Tipos de S.O. para Multiprocesadores Sistemas de Multiprocesador con Tiempo CompartidoNinguna de las CPUs tiene memoria local y todos los programas se almacenan en la memoria global compartida, no importa sobre que CPU se ejecute un proceso.

    Un aspecto colateral es que si un proceso se bloquea en espera de E/S en un multiprocesador, el sistema operativo tiene la opcin de suspenderlo o bien dejarlo que realice una espera ocupada.

    Este tipo de multiprocesador difiere de manera apreciable de una red o un sistema operativo distribuido es la organizacin del sistema

  • Asignatura: Sistemas Operativos

    FINMODULO 1 Conceptos Introductorios