Introduccion a Procesos(3)-1

Introduccion a Procesos(3)-1 - Sistemas Operativos Sesión...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Sistemas Operativos Sesión 2 Administración Administración de procesos Conceptos clave Conceptos Concepto de proceso. Estados de un proceso. Diagrama de estados. Eventos. PCB (Process Control Block). Operaciones sobre procesos. Antecedentes Antecedentes Los procesos son la unidad de diseño básica procesos de los SO´s modernos. de Los requisitos principales que debe cumplir un SO, Los expresados en términos de procesos son: expresados Intercalar la ejecución de procesos para maximizar la utilización del Intercalar CPU (CPU Scheduling). CPU Asignar los recursos a los procesos en conformidad con una política Asignar específica, por ejemplo prioridades; evitando al mismo tiempo el interbloqueo (deadlock). interbloqueo Dar soporte a la comunicación entre procesos y a la creación de Dar procesos por parte del usuario, labores que pueden ser de ayuda en la estructuración de aplicaciones. la 4 Procesos Procesos Un sistema operativo es esencialmente un conjunto de procesos. Procesos del S.O. del usuario Todos pueden potencialmente ser ejecutados en paralelo Por lo tanto Pueden requerirse mecanismos de sincronización y comunicación entre ellos Pero….. ¿Qué es un proceso? Pero….. Las instrucciones de un programa por sí solas no constituyen un proceso. Un proceso es un programa en ejecución. Un proceso es una entidad activa (en Un ejecución) que cambia a través del tiempo. cambia Pero …… ¿Cómo se puede visualizar a un proceso? P r o c e s o Código ejecutable Memoria Juan Pedro 3.1416 Otros recursos Registros internos (PC, SP, otros) Datos/Archivos Bases de datos CPU Impresoras Inform. estadística Registros/ apuntadores especiales PC = Program counter SP = Stack pointer Procesos Procesos El concepto de proceso facilitó la El implantación de algunas capacidades importantes de los SO´s modernos: importantes Proceso Ligado Procesamiento concurrente Base Sistemas operativos con multiprogramación La unidad de proceso lo vamos a utilizar en temas muy importantes del curso como: como: Planificación de procesos Planificación (CPU Scheduling). (CPU Procesos concurrentes – Cómputo paralelo. Sincronización de procesos: Semáforos Semáforos Monitores Monitores Arquitectura básica de un sistema operativo operativo Shell (Comandos) Administración Administración de Administración de Administración Administración del procesador la memoria I / O Device la Drivers Drivers File system Comunicación Kernel (subconjunto del SO residente en memoria principal) Kernel (subconjunto Manejo de interrupciones Manejo de procesos Soporte para actividades de I / O, file system Manejo de memoria (asignación y liberación) Mecanismos de call / return Servicio de asesoría Servicio Los alumnos llegan a solicitar asesoría en cualquier momento. A cada alumno se le asignan turnos de cada máximo 10 minutos continuos RECIBIENDO ASESORÍA. All terminar su período de 10 minutos, A el alumno en turno cede su lugar. Servicio de asesoría Servicio El profesor puede requerir atender El durante durante llas asesorías otros aspectos de su as trabajo: trabajo: Atender a otro profesor. Recibir una llamada telefónica de su jefe. Tomar un recado de su secretaria. Servicio de asesoría Llega alumno a asesoría Alumnos esperando asesoría Inicia turno Llegó información Termina turno Alumno en asesoría Alumnos en espera de información Alumno necesita información: libro, apuntes, artículo, tarea Profesor Alumno ya asesorado Diagrama de estados de un proceso Cola de procesos listos Listo Cola de procesos bloqueados Despertar Bloqueado ch pa es po o em id Ti ced ex D o que Blo /S) (E o Corriendo CPU Proceso terminado Estados: Listo (ready) – Listo para ser ejecutado. Corriendo o en Ejecución (running) – Está utilizando el CPU. Bloqueado (blocked) – Está “detenido” esperando la terminación de una operación de I/O. Diagrama de estados de un proceso Diagrama Cola de procesos listos Cola de procesos bloqueados Despertar Listo Despacho Tiempo excedido Bloqueo (E/S) CPU Suspender Cola de procesos suspendido-listo Proceso terminado Corriendo Reactivar Suspender Suspendido -Listo Bloqueado Despertar Suspender Reactivar Suspendido -Bloqueado Cola de procesos suspendido-bloqueado Estados: Listo (Ready) Corriendo (Running) Bloqueado (Blocked) Suspendido Listo (Suspended-Ready) Suspendido Bloqueado (Suspended-Blocked) Suspender Suspender Operación realizada por el S. O. para remover temporalmente procesos de los estados activos, temporalmente con objeto de reducir la carga de trabajo del sistema computacional como un todo. sistema como En ocasiones, es necesario que los procesos necesario En suspendidos liberen los recursos asignados suspendidos liberen los a ellos. Razones para la suspensión de procesos procesos Intercambio / salida de un proceso de memoria: Intercambio Ell SO necesita liberar memoria. E Otra razón del SO: Otra El SO puede suspender un proceso que se sospecha sea el causante de un problema. un Solicitud de un usuario: • Un usuario puede querer suspender la ejecución de un programa con fines Un de depuración o en conexión con el uso de un recurso. de Por tiempo: • Un proceso puede ejecutarse periódicamente y puede ser suspendido Un mientras espera la siguiente ejecución. mientras Solicitud del proceso padre • Por ejemplo para coordinar la actividad de varios descendientes. 17 Diagrama de estados de un proceso Diagrama Despertar Listo Despacho Reactivar Tiempo excedido Bloqueado Bloqueo (E/S) Proceso terminado Corriendo Suspender CPU Suspender Reactivar Suspender Suspendido ­Listo Despertar Suspendido ­Bloqueado Las colas en los distintos estados están implícitas Estados: Listo (Ready) Corriendo (Running) Bloqueado (Blocked) Suspendido Listo (Suspended­Ready) Suspendido Bloqueado (Suspended­Blocked) Queueing-diagram representation of Process Scheduling Process Ready Queue I/O CPU I/O queue I/O request Time slice expired *1 Child executes Interrupt occurs *1 Fork a child Wait for an interrupt Time slice es un límite de tiempo Procesos Procesos La vida de un proceso está delimitada por La su creación y su terminación. su Para crear un proceso: 1. Hay que construir las estructuras de datos Hay para administrar el proceso. para 2. Se necesita asignar el espacio de Se direcciones que va a utilizar el proceso. direcciones 20 Visto gráficamente Visto Creación de un proceso: 1. 2. 3. 4. 5. Se lee el programa de disco Se crean las estructuras de control en memoria Se asigna memoria de trabajo Se mueve a memoria Se actualiza la cola de listos Programa Resultado: ¡Se ha ¡Se creado un nuevo proceso! proceso! Almacenamiento auxiliar en disco Memoria RAM / Principal 21 Situaciones ejemplo en que se crea un proceso crea 1. Cuando llega un nuevo trabajo por lotes o Cuando secuencial (desde una cinta o un disco). secuencial 2. Cuando un usuario se conecta desde una Cuando terminal interactiva. terminal 3. Cuando el SO crea un proceso para dar un Cuando servicio (por ejemplo para imprimir o para terminar un proceso). terminar 4. Cuando un proceso activo genera/crea un Cuando nuevo proceso (por modularidad o para aprovechar paralelismo). aprovechar 22 Ejemplos de razones para terminar un proceso terminar • • • • • • • • Terminación normal Tiempo límite excedido No hay memoria No disponible disponible Violación de límites Error de protección Error aritmético Tiempo máximo de Tiempo espera rebasado espera Error de E/S Instrucción inválida Instrucción privilegiada Mal uso de los datos Intervención del operador Intervención o del sistema operativo del Terminación del proceso Terminación padre padre Solicitud del proceso Solicitud padre padre 23 Administración de procesos: Tabla de procesos Tabla Para controlar los procesos el S. O. lleva S. una lista de todos ellos. lista La estructura de datos que utiliza para este La propósito es la tabla de procesos. tabla Cada registro de esta tabla, apunta a otra Cada estructura de datos que se conoce como estructura PCB (Process Control Block). Hay una PCB por proceso. La PCB La almacena información específica de un proceso particular. proceso Process control block (PCB) Process Es una estructura de datos en memoria Es principal (memoria protegida para uso exclusivo del SO) que almacena la información de un proceso que es relevante para el Sistema Operativo. Ejemplo de una PCB típica Estado actual del proceso Process ID - identificador único del proceso Apuntador al proceso padre Apuntadores a los procesos hijo Prioridad del proceso Apuntadores a la memoria asignada Apuntadores a otros recursos del proceso Área para salvar el contenido de los registros Visto gráficamente Visto Proceso PCB a a b PCB b . . . . h Tabla de procesos PCB h La cola de listos y varias colas de dispositivos de I/O La PCB 7 Cola de listos Inicio Final PCB 8 registros registros Unidad 0 de Inicio cinta magnética Final Unidad 1 de Inicio cinta magnética Final PCB 3 Unidad 0 de disco Inicio Final PCB 14 PCB 6 Preguntas sobre procesos sobre En un sistema computacional con un En solo procesador (CPU), ¿cuántos solo procesos pueden estar ACTIVOS en un instante dado del tiempo? Respuesta: Muchos Comentario: En términos de procesos y de sistemas operativos, ACTIVO es diferente de en EJECUCIÓN. ¿Por qué la cola de procesos listos ¿Por (ready queue) se maneja usualmente en base a un esquema de prioridades? • ¿Por qué la cola de procesos en espera o bloqueados NO se maneja en base a un esquema de prioridades? • ¿En qué situación sería útil, utilizar un esquema de prioridades para la cola de procesos en espera? • ¿Cómo sale un proceso de la cola de procesos en espera? • ¿Quién produce los eventos que hacen que los procesos cambien de estado? • ¿Todos los sistemas operativos utilizan los mismos estados? •¿De qué tamaño debe ser el QUANTUM? ¿Es posible tener un sistema computacional activo que tenga CERO procesos en estado de ejecución? procesos Respuesta: NO. Al menos está activo el kernel del S. O. • ¿Cómo funcionaría el diagrama de estados de un proceso si se tuviera más de un procesador? Más sobre procesos Más Los procesos se crean y se terminan Los dinámicamente al ejecutarse un programa. programa. Proceso padre: Proceso que genera otros procesos. Proceso hijo: Es el proceso generado o creado por otro proceso. Estructura jerárquica de procesos A B C E D I F J G H Situación ejemplo Situación Se tiene una aplicación que tiene un Se módulo para captura de datos, otro para el cálculo de la nómina de cada empleado y uno más para reportes. uno La aplicación utiliza archivos de datos que La están almacenados en disco duro y en cinta magnética. cinta Situación ejemplo Situación Si la unidad de cinta o alguno de los Si archivos no están disponibles, el sistema operativo retrasa la ejecución de la aplicación (permitiendo que otros procesos entren a ejecución); hasta que se libere una unidad y ésta pueda ser asignada a la aplicación. asignada Situación ejemplo Situación Basado en el diagrama de estados de un Basado proceso, describa los distintos estados en que ésta aplicación estaría; de acuerdo a las actividades que realiza. las Se espera que mencione algo como lo Se siguiente: siguiente: Situación ejemplo Situación Cuando la aplicación entra al sistema estaría en Cuando el estado de . Cuando realiza Cuando pasa del estado de de Otros… al estado . Muchas Gracias ...
View Full Document

This note was uploaded on 09/30/2011 for the course SISTEMAS O 1 taught by Professor Garza during the Spring '11 term at ITESM.

Ask a homework question - tutors are online