260 likes | 476 Views
Sistemas Operativos I. Unidad 2: Comunicación entre Procesos. Contenidos. Conceptos de proceso. Estados de un proceso. Modelo de cinco estados de procesos. Control de procesos. Modos de ejecución. Creación de procesos. Administración de procesos en Unix/Linux. Procesos e hilos.
E N D
Sistemas Operativos I Unidad 2: Comunicación entre Procesos
Contenidos • Conceptos de proceso. Estados de un proceso. Modelo de cinco estados de procesos. • Control de procesos. Modos de ejecución. Creación de procesos. • Administración de procesos en Unix/Linux. • Procesos e hilos. • Creación y ejecución de procesos. Propuesta de proyecto anual. Control 1. • Comunicación entre procesos: • Concurrencia. • Exclusión mutua. • Semáforos. • Mensajes. • Taller 2: Comunicación entre procesos.Control 2. • Clase de recapitulación. • Clase de recapitulación. • Prueba de Cátedra 1.
Objetivos y Metodología • Estudiar y comprender los procesos, sus estados, la comunicación y administración de éstos. • Metodología: • Clases expositivas mezclando teoría y ejercicios. Se realizarán talleres en los que el estudiante deberá programar algoritmos básicos en los que se utilicen procesos, estados y su comunicación.
Barriers • Uso de una barrier • processes approaching a barrier • all processes but one blocked at barrier • last process arrives, all are let through
La cena de los filósofos (1) • Los filósofos comen / piensan. • Para comer necesitan dos tenedores. • Sólo pueden tomar un tenedor por intento. • ¿Cómo evitar el bloqueo indefinido: deadlock?
Dining Philosophers (2) De esta manera NO se soluciona el problema
Dining Philosophers (3) Solución del problema (parte 1)
Dining Philosophers (4) Solution to dining philosophers problem (part 2)
Problema de los lectores y escritores A solution to the readers and writers problem
Solución al problema del barbero durmiendo Solution to sleeping barber problem.
Planificación (Scheduling) • Bursts of CPU usage alternate with periods of I/O wait • a CPU-bound process • an I/O bound process
Introduction to Scheduling (2) Objetivos del algoritmo de planificación.
Scheduling in Batch Systems (1) An example of shortest job first scheduling
Scheduling in Batch Systems (2) Three level scheduling
Scheduling in Interactive Systems (1) • Round Robin Scheduling • list of runnable processes • list of runnable processes after B uses up its quantum
Scheduling in Interactive Systems (2) A scheduling algorithm with four priority classes
Scheduling in Real-Time Systems Schedulable real-time system • Given • m periodic events • event i occurs within period Pi and requires Ci seconds • Then the load can only be handled if
Policy versus Mechanism • Separate what is allowed to be done with how it is done • a process knows which of its children threads are important and need priority • Scheduling algorithm parameterized • mechanism in the kernel • Parameters filled in by user processes • policy set by user process
Thread Scheduling (1) Possible scheduling of user-level threads • 50-msec process quantum • threads run 5 msec/CPU burst
Thread Scheduling (2) Possible scheduling of kernel-level threads • 50-msec process quantum • threads run 5 msec/CPU burst
Fuentes de información • Tanenbaum A., “Sistemas Operativos Modernos”, Prentice Hall, 1994 • Tanenbaum A., “Sistemas Operativos: diseño e implementación” Prentice-Hall, 1998 • Tanenbaum A., “Sistemas Operativos Distribuidos”, Prentice Hall, 2003 • Carretero, J. García, F. Pérez, F. “Sistemas Operativos: Una visión aplicada” Mc Graw Hill. 2001. • Stallings W., “Sistemas Operativos”, 5ta. Edición. Prentice-Hall. 2004
Referencias en Internet • Comunicación entre procesos (IPC) • Wiki - Comunicación entre procesos • Administración de procesos • Comunicación entre procesos – PIPES • Comunicación entre procesos • David Luis la Red Martínez “SISTEMAS OPERATIVOS” • Domingo Mery “Sistemas Operativos” • Jorge Alfonso Briones García “Sistemas Operativos Distribuidos (material adicional)” • Sistemas operativos(SIMULACIONES Y ANIMACIONES)
Textos en Internet (inglés) • Andrew S. Tanenbaum “Modern Operating Systems” • Andrew S. Tanenbaum “Distributed Systems: Principles and Paradigms” • George Coulouris, Jean Dollimore and Tim Kindberg “Distributed Systems: Concepts and Design”, 3ra edición (4ta edición 2005) • Avi Silberschatz, Peter Baer Galvin & Greg Gagne “Operating System Concepts” • Minix 3 Operating System