Sistemas multiprogramados. Cooperan en realizar un trabajo: filtros. Comparten recursos del sistema
|
|
- Andrea Franco Guzmán
- hace 7 años
- Vistas:
Transcripción
1 Introducción a los Sistemas Operativos Concurrencia 1. Introducción. Concurrencia y paralelismo. 2. Comunicación y sincronización. 3. Exclusión mutua y sincronización. 4. Modelos de programación. 5. Memoria Compartida. Postulados de Dijkstra. 6. Paso de mensajes. 7. Abrazo mortal (deadlock). Estado seguro. Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales. Parte I: Aspectos generales Birrell An Introduction to Programming with threads Digital SRC, Thuan Q.Pham and PanKaj K.Garg Multithreaded Programming with Win32 Prentice-Hall, PTR, En alabi: ~marisa/pub/concu_slides.ps o concu_slides.pdf Sistemas multiprogramados Varios procesos coexisten en el mismo tiempo en el sistema. Comparten recursos del sistema impresora red ficheros Participan en la realización de un trabajo comandos con pipes procesos padre/hijos/hermanos Introducció als Sistemes Operatius 1 Introducció als Sistemes Operatius 2 Comparten recursos del sistema Cooperan en realizar un trabajo: filtros A imprimir() B imprimir() no se envía a la impresora, sino a un fichero en disco (dispositivo compartible) $ who wc -l stdin who wc -l stdout stdout C imprimir() la impresora estará imprimiendo un fichero de modo no compartible Introducció als Sistemes Operatius 3 Introducció als Sistemes Operatius 4
2 Relación padre/hijo Relación hermanos padre TFA (open table) links ptro L/E acceso i-node 2 10 rw padre: write(fd[1],&i, sizeof(int)) hijo1: read(fd[0],&x, sizeof(int)) T.C. 5 hijo2: read(fd[0],&y, sizeof(int)) hijo Una operación del padre (read, write, lseek...) modificará el puntero también para el hijo, y viceversa. No se puede saber de antemano qué hijo leerá el 5 y qué hijo se quedará bloqueado hasta que el padre entre otro número. T.C. Introducció als Sistemes Operatius 5 Introducció als Sistemes Operatius 6 Concurrencia y paralelismo Hay concurrencia entre varios procesos cuando existen al mismo tiempo. PROCESOS CONCURRENTES Hay paralelismo entre varios procesos cuando se ejecutan al mismo tiempo. PROCESOS PARALELOS El paralelismo requiere un soporte físico: varios procesadores. La concurrencia es el caso general y el paralelismo un caso particular. La concurrencia (y el paralelismo) se refiere a la ejecución de código: Hay procesos concurrentes y flujos concurrentes. Ventajas de la Programación Concurrente Programación modular Considerar aisladamente cada tarea Aprovechar desde un programa el paralelismo (multiprocesadores). Tratar el trabajo con E/S lenta con flujos dedicados. el flujo principal del programa puede seguir trabajando Atención a varias peticiones simultáneas (sistemas distribuidos) Hablaremos en general de flujos concurrentes: Pueden ser del mismo proceso o diferentes procesos. Pueden correr en un único procesador o varios. Introducció als Sistemes Operatius 7 Introducció als Sistemes Operatius 8
3 Algunos ejemplos de concurrencia Master/Slave Programación Concurrente Peticiones Spooler Dispositivo Datos M cola de trabajos Filtro S S S Pantalla Avance de una tarea con múltiples puntos de ejecución. Cada punto de ejecución es un thread. El trabajo de cada thread se ve simultáneo desde el programa. Son parte de la misma tarea y hay puntos de encuentro Sincronización Comunicación La gestión de la concurrencia se hace por software Sistema operativo Librerías No consideramos hardware especializado Productor/Consumidor Introducció als Sistemes Operatius 9 Introducció als Sistemes Operatius 10 El proceso y el flujo Librerías de flujos Proceso (o task): unidad de asignación de recursos: espacio de direcciones (registros de la MMU) tabla de canales (y por tanto, dispositivos asignados) etc... Flujo: unidad de ejecución código pila registros del procesador En UNIX cada proceso sólo puede tener un flujo: el concepto proceso engloba todo. Los signals permiten que el proceso sea avisado de acontecimientos. A través del sistema de ficheros, los procesos pueden pasarse datos. El espacio de direcciones es privado para cada proceso (para cada flujo). Se ofrece la posibilidad de cambio de contexto, entidades de flujo y primitivas de sincronización Se ofrece un interfaz de trabajo, pero se puede acceder a cualquier rutina pública. La planificación de flujos es totalmente transparente al SO No sabe la concurrencia que hay en la librería. Sólo podrá haber tanto paralelismo como procesadores virtuales ofrezca. Un bloqueo de un servicio del SO, impide la planificación de cualquier flujo. Introducció als Sistemes Operatius 11 Introducció als Sistemes Operatius 12
4 EJEMPLO: Calcular concurrentemente f(x) = 2(3x + 4) Comunicación y sincronización /*padre*/ main() f1, f2,f3 X f1 = crear_fluxe(flux1, (long)0); f2 = crear_fluxe(flux2,(long)0); f3 = crear_fluxe(flux3,(long)0); Varios procesos o flujos que cooperan en una tarea, están relacionados - Necesitan comunicarse: pasarse datos, enviarse avisos - Necesitan sincronizarse: esperar que haya cambiado un estado ordenar temporalmente sus acciones No puede predecirse la velocidad de dos procesos concurrentes /*flujo 1*/ /*flujo 2*/ /*flujo 3*/ Introducció als Sistemes Operatius 13 Introducció als Sistemes Operatius 14 Ejemplo: compilador y ensamblador concurrentes Algunos conceptos básicos de la concurrencia var lista_de_lineas_de_texto;... process COMP { leer de fichero fuente traducir de LAN a ASM almacenar código en lineas } fichero objeto process ASS { leer y ensamblar lineas sucesivas } El compilador produce código ensamblador para el ensamblador y el ensamblador produce código objeto para el cargador. Los dos procesos están trabajando con los mismos datos, la lista de líneas, pero ha de garantizarse el acceso en el orden adecuado. Nunca se puede predecir nada sobre la velocidad de los procesos. - Condición de carrera (race condition) en el acceso a los datos. La exclusión mutua garantiza que no haya un cambio de condiciones desconocido. - Sección crítica de código de acceso a los datos. - Secuencialización en el acceso de los diferentes flujos a la S.C. - Ejecución atómica respecto al estado. Diferentes modelos de programación dan diferentes soluciones a la correcta comunicación entre procesos concurrentes. - Memoria compartida. - Paso de mensajes. Introducció als Sistemes Operatius 15 Introducció als Sistemes Operatius 16
5 Modelos de programación Memoria compartida Desde el punto de vista de la sincronización y comunicación entre procesos. Los dos modelos básicos que existen tradicionalmente: - Memoria compartida: los procesos comparten variables, y se pasan información a través de ellas la aplicación es la responsable de la corrección del trabajo (mutex, etc) es la comunicación natural entre flujos de un mismo proceso entre procesos, el SO ha de permitir tener una zona de memoria compartida Exclusión mutua Postulados de Dijkstra Secuencialización (tipos de espera) Protocolos Herramientas - Paso de mensajes: el SO se encarga de la comunicación Introducció als Sistemes Operatius 17 Introducció als Sistemes Operatius 18 MEMORIA COMPARTIDA Exclusión mutua MEMORIA COMPARTIDA Postulados de Dijkstra Trabajar con una secuencia de código que necesita ser accedida en exclusividad - protocolo de entrada, que garantice esa exclusividad - protocolo de salida, para avisar que la zona ha quedado libre Protocolo de entrada ZONA ACCEDIDA EN MUTEX Protocolo de salida Requisitos para garantizar un funcionamiento correcto: Exclusión mutua: como máximo, hay un proceso ejecutando la sección crítica. Progreso: no se puede postponer indefinidamente la decisión de qué proceso entre varios entra primero en la zona. Espera acotada: existe un límite en el tiempo de espera de un proceso desde que pide entrar en la sección crítica hasta que puede entrar. Atomicidad: se asume que las instrucciones de lenguaje máquina se ejecutan atómicamente. Introducció als Sistemes Operatius 19 Introducció als Sistemes Operatius 20
6 MEMORIA COMPARTIDA Mecanismos de espera en la entrada a la S.C. Espera activa: un proceso se queda esperando en un bucle de encuesta. - Spin lock o busy waiting - Si hay muchos candidatos, incumple los postulados de Dijkstra Bloqueo: un proceso que no puede entrar cede el procesador. - El protocolo de salida se encarga del desbloqueo - Permite seleccionar al siguiente candidato de entrada - Coste adicional de la gestión del bloqueo/desbloqueo de flujos Mixto a dos niveles: mantener la espera activa un tiempo y luego bloquear. MEMORIA COMPARTIDA Procolos de E/S en la sección crítica Pueden implementarse en hardware o en software El protocolo de entrada ha de ser accedido él mismo en mutex varios procesos compiten concurrentemente por la entrada Un monoprocesador es siempre menos restrictivo que un multiprocesador No hay paralelismo real Pueden utilizarse algoritmos más sencillos Peligro de pasar aplicaciones de un sistema a otro Puntos básicos en un monoprocesador - inhibición de interrupciones (no siempre es necesario) - mantener la atomicidad sin desbanque del procesador A nivel de hardware: - inhibición de interrupciones - instrucciones de lectura y modificación atómica test&set fetch&add, fetch&swap... Introducció als Sistemes Operatius 21 Introducció als Sistemes Operatius 22 MEMORIA COMPARTIDA Protocolos software SEMAFOROS Semáforos Algoritmos diseñados por el programador - generalmente, recaerán en una espera activa Herramientas ofrecidas por el entorno de trabajo (sistema, librería, lenguaje) - ofrecen mecanismos de bloqueo de procesos que esperan entrar semáforos monitores regiones críticas Herramienta que permite la sincronización entre flujos. Tipo abstracto de datos (TAD) que consta de un contador y una cola. Operaciones sobre un semáforo: - wait(semaforo) - signal(semaforo) - además: init_semaforo(semaforo, contador), crear_semaforo(...),... Es un mecanismo de bloqueo. Si es una herramienta que ofrece el SO, las operaciones son llamadas al sistema. Introducció als Sistemes Operatius 23 Introducció als Sistemes Operatius 24
7 SEMAFOROS SEMAFOROS Semáforos Primitivas de los semáforos typedef struct { cua_id cua; int compt; } semafor_t; typedef semafor_t *sem_id; sem_id crear_sem(int compt_ini); int sem_signal(sem_id semafor); int sem_wait(sem_id semafor); int destruir_sem(sem_id semafor); #define sem_ini(sem, n) sem = crear_sem(n) #define sem_init(sem, n) sem = crear_sem(n) primitiva sem_wait(sem) si contador es menor o igual que cero entonces bloquea contador = contador - 1 primitiva sem_signal(sem) si contador es menor que cero entonces desbloquea contador = contador + 1 Se realiza estas secuencias atómicamente - Las primitivas wait y signal son ininterrumpibles - El semáforo es un objeto accedido él mismo en exclusión mutua. El orden de inserción y extracción de la cola no es necesariamente FIFO - Si no es FIFO, no cumple los postulados de Dijkstra Introducció als Sistemes Operatius 25 Introducció als Sistemes Operatius 26 SEMAFOROS Tipos de semáforos SEMAFOROS Funcionalidades del semáforo Semáforos binarios - El contador sólo puede tomar los valores 0 y 1 - Se llaman también semáforos sin memoria no pueden acumular signals Semáforos generales - El contador puede tomar cualquier valor positivo o negativo Semáforos múltiples - Permite hacer wait o signal sobre varios semáforos a la vez - Algunas versiones de UNIX (System V) los ofrecen Un semáforo puede utilizarse para: Sincronización entre procesos o flujos Exclusión mutua entre flujos (modelo de memoria compartida) Filtro Exclusión mutua: S = 1 repeat wait(s) sec. crit. signal(s) forever; Sincronización: S = 0 P1 P2 wait(s) signal(s) Filtro: S = N Introducció als Sistemes Operatius 27 Introducció als Sistemes Operatius 28
8 SEMAFORO El semáforo como herramienta de exclusión mutua TEST-AND-SET Instrucciones especiales de LM: test&set De manera atómica (sin interrupción): Tiene que dajar pasar como máximo a un proceso: 1 er postulado - contador inicializado a 1 Si hay varios esperando, entra el que primero ejecute el signal: 2 o postulado - las operaciones sem_wait/sem_signal son atómicas - signal al salir de la sección crítica Todo proceso acaba entrando: 3 er postulado - sólo garantizado si la cola del semáforo es FIFO valor que devuelve la función carga un 1 Como protocolo de exclusión mutua: A = 0; while (!tas(&a)); Protocolo de entrada SECCIÓN CRÍTICA A A = 0; Protocolo de salida Introducció als Sistemes Operatius 29 Introducció als Sistemes Operatius 30 Paso de mensajes La comunicación corre a cargo del sistema operativo llamadas al sistema Componentes de la comunicación proceso A send to B proceso B receive from A Usuario S.O. Mensaje: - Tamaño fijo/tamaño variable - Mensajes especiales de control o sincronización comunicación a través del S.O. No son modelos excluyentes (memoria compartida y paso de mensajes) Paradigmas de comunicación: - Cliente/servidor - Rendez-vous (sincronización) - etc... Canal: implementación lógica que hace el sistema para llevar los mensajes de un proceso a otro. - a través de memoria compartida (misma máquina) - a través de cable - vía satélite,... - combinación de varios medios Introducció als Sistemes Operatius 31 Introducció als Sistemes Operatius 32
9 Características del canal Permanente o temporal - coste de creación/destrucción - número máximo de objetos del isstema Protegido o desprotegido - propietario del canal - derechos de acceso Lógico o físico - estructura de datos del sistema - soporte hardware Con capacidad o sin capacidad - poder mantener un número determinado de mensajes - capacidad infinita, N o 0 (rendez-vous, hand-shake) - comunicación síncrona/asíncrona FIFO o seleccionable - mensajes con prioridad - mensajes de control - canales multicola Tipos de comunicación (I) Unidireccional/Bidireccional - número de canales entre procesos Proceso 1 Proceso 2 Introducció als Sistemes Operatius 33 Introducció als Sistemes Operatius 34 Tipos de comunicación (II) Tipos de comunicación (III) Directa/indirecta - Buzones o ports - Permisos de acceso Proceso 1 Proceso 2 Simétrica/asimétrica - parte cliente/parte servidor - comunicaciones en igualdad servidor Proceso 2 Proceso 3 receive(petición) send(servidor,petición) receive(p3,mess) Proceso 3 send(p2,mess) Introducció als Sistemes Operatius 35 Introducció als Sistemes Operatius 36
10 Tipos de comunicación (IV) Síncrona/asíncrona - garantizar la llegada del mensaje al canal del sistema al proceso al buzón - mensajes de reply - si el canal es de tamaño N, hay sincronización con la entrada en el canal Introducció als Sistemes Operatius 37
Concurrencia y paralelismo
Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.
Concurrencia de Procesos
Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)
Acceso coordinado a recursos compartidos
Programación Concurrente en Linux Acceso coordinado a recursos compartidos Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Recursos compartidos 2. Mecanismos
1. Interfaz de llamadas a la librería de fluxes
1. Interfaz de llamadas a la librería de fluxes Se presenta a continuación un interfaz de threads de usuario construido sobre los PThreads de OSF/1 (sistema operativo de alabi/alaba). El motivo de no utilizar
Tema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.
Tema 3. Paso de mensajes Bibliografía Programación Concurrente J. Palma, C. Garrido, F. Sánchez, A. Quesada, 2003 Capítulo 7 Principles of Concurrent and Distributed Programming M. Ben-Ari. Prentice Hall,
Hilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria
Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de
SISTEMAS OPERATIVOS:
SISTEMAS OPERATIVOS: Lección 6: Procesos concurrentes y problemas en la comunicación y la sincronización Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García
Diseño de los servicios del sistema
Diseño de los servicios del sistema Marisa Gil (marisa@ac.upc.es) Ernest Artiaga (ernest@ac.upc.es) ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas CURSO 1.998-99 Situación de
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Programación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Unidad 1: Gestión de Procesos
Unidad 1: Gestión de Procesos Tema 1, Concurrencia: Exclusión mutua y sincronización. 1.1 Problema de la sección crítica, alternativas al uso de semáforos: - Regiones críticas, Monitores, Variables de
Concurrencia Monitores. Guillermo Román Díez
Concurrencia Monitores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Monitores 1/25 Recursos Compartidos Pregunta La especificación de
Interbloqueo. Concurrencia: Interbloqueo e Inanición
Interbloqueo Concurrencia: Interbloqueo e Inanición Capítulo 6 Bloqueo permanente de un conjunto de procesos que compiten por recursos del sistema o por comunicación con los otros No existe una solución
de Gran Canaria Centro de Tecnología Médica Programación Concurrente
Universidad de Las Palmas de Gran Canaria Centro de Tecnología Médica http://www.ctm.ulpgc.es Tema 1: Introducción a la Escuela Técnica Superior de Ingenieros de Telecomunicación Conceptos Fundamentales
1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Convocatoria de Junio, 26 de Junio de 2003 SOLUCIONES Calificación 1 2 3 4 Nombre
Sistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi
Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:
*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010
Calificación SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010 1 2 3 4 Nombre *** SOLUCIONES *** Titulación Dispone de tres horas para realizar el examen 1 (5 puntos) Test. En cada uno de los siguientes
Sistemas Operativos (Parte 2)
Sistemas Operativos (Parte 2) M. en C. Mario Farias-Elinos e-mail: elinos@ci.ulsa.mx web: http://www.ci.ulsa.mx/~elinos Maestría en Tecnologías de Información Contenido Proceso Scheduller Thread Sincronización
Concurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo
Concurrencia Programación Concurrente Espera ocupada. Primitivas IPC con bloqueo Programación concurrente Los lenguajes concurrentes tienen elementos para: Crear procesos Sincronizar procesos Comunicar
Estados de un proceso
Semáforos Estados de un proceso Inactivo Listo Ejecutando Completo Escribimos p.state := ready p. state := running Bloqueado Para indicar que un proceso cambia de estado Semáforo Es un tipo de dato abstracto
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Sistemas Operativos Docente: M.G.A.
Lección 6: Ejemplos de programación con semáforos
Lección 6: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
T5-multithreading. Indice
T5-multithreading 1.1 Indice Proceso vs. Flujos Librerías de flujos Comunicación mediante memoria compartida Condición de carrera Sección Crítica Acceso en exclusión mutua Problemas Abrazos mortales 1.2
Un ejemplo: UNIX PROCESOS UNIX
PROCESOS UNIX Un ejemplo: UNIX Cada proceso sólo puede tener un flujo: el concepto proceso engloba todo Dos llamadas implicadas en la creación de procesos crear proceso cargar programa La relación de procesos
Unidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Concurrencia: Exclusión mutua y sincronización. 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Concurrencia Condiciones de Carrera. Guillermo Román Díez
Concurrencia Condiciones de Carrera Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición
TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño
TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos:
TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS
TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos: Gran nº de procesadores
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización. Slides de Samuel Oporto Díaz
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización Slides de Samuel Oporto Díaz CONCURRENCIA 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Sistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 2: Estructura del computador 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Estructura de la E/S Sistema de Interrupciones DMA Jerarquía de memorias
ESCUELA DE INGENIERIA Informática Y Sistemas
ESCUELA DE INGENIERIA Informática Y Sistemas ASIGNATURA SISTEMAS OPERATIVOS CODIGO ST0257 SEMESTRE 2013-2 INTENSIDAD HORARIA 64 horas semestral CARACTERÍSTICAS Suficientable CRÉDITOS 4 1. JUSTIFICACIÓN
Teoría de Sistemas Operativos Sincronización Procesos
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica º Semestre, 00 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo1 Dos o más procesos leen o escriben ciertas zonas compartidas
CONCURRENCIA. Sincronización. Sistemas Operativos y Distribuidos. Prof. Javier Echaiz 1. Material Adicional (SOSD Mod 4)
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización CONCURRENCIA Slides de Samuel Oporto Díaz 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
PARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria
Calificación 1 2 3 SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria Nombre Titulación Dispone de dos horas para realizar el examen 1 (6 puntos) Test. En cada uno de los
Programación concurrente
23 de Marzo de 2017 Condiciones generales Docente: Hernán Melgrati (hmelgra@...) Horario: Teóricas: Jueves de 14 a 17 Prácticas: Martes de 14 a 17 Evaluaciones: Un parcial (mediados de mayo) Un trabajo
Sistemas Operativos. Dr. Wenceslao Palma M.
Sistemas Operativos Dr. Wenceslao Palma M. www.inf.ucv.cl/~wpalma/so Introducción a los Sistemas Computacionales Un vistazo de alto nivel caracteriza a un sistema computacional
PROGRAMACIÓN CONCURRENTE
PROGRAMACIÓN CONCURRENTE Lenguajes de Programación - Progr. Concurrente 1 Introducción El concepto fundamental de la programación concurrente es la noción de Proceso. Proceso: Cálculo secuencial con su
TEMA 2: PROCESOS E HILOS: CONCURRENCIA, SINCRONIZACIÓN Y COMUNICACIÓN
TEMA 2: PROCESOS E HILOS: CONCURRENCIA, SINCRONIZACIÓN Y COMUNICACIÓN 1. Introducción Definición de proceso (tarea según los fabricantes): Programa en ejecución. Cálculo computacional que puede hacerse
6. Enumere tres ventajas de los ULT frente a los KLT.
1 Tarea 3 Hilos 1. Cuales bloques de control de proceso deberían pertenecer a un bloque de control de hilo y cuáles a un bloque de control de proceso en un sistema multihilo? Para modelos monohilo deben
Introducción a los Sistemas Operativos S.O.
Introducción a los Sistemas Operativos S.O. Contenido 1. Conceptos 2. Evolución de los Sistemas Operativos 3. Administración del Entorno de Hardware 1. CONCEPTOS 1.1. Definición de Sistema Operativo Es
Guillermo Román Díez
Concurrencia Creación de Procesos en Java Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia
Concurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos
INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos
Introducción a los Sistemas Operativos
Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto
Concurrencia. Concurrencia
Concurrencia Procesos y hebras Concurrencia Programación concurrente Por qué usar hebras y procesos? Ejecución de procesos Ejecución de hebras Hebras vs. Procesos Creación y ejecución de hebras La prioridad
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Introducción y Conceptos Básicos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS 1. Definición, funciones y objetivos de un SO. 1.1. Sistema Informático 1.2. Definiciones de Sistema Operativo 1.3. Objetivos y/o funciones de un SO 1.4.
Mensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
SOLUCIONES. SISTEMAS OPERATIVOS Convocatoria de septiembre, 12 de septiembre de 2007
Calificación SISTEMAS OPERATIVOS Convocatoria de septiembre, 12 de septiembre de 2007 1 2 3 Nombre SOLUCIONES Titulación Dispone de tres horas para completar el examen 1 (5 puntos) Test. Marque las opciones
Nombre de la materia Sistemas Operativos Departamento Ciencias Aplicadas de la Información Academia Arquitecturas de Cómputo
0 Nombre de la materia Sistemas Operativos Departamento Ciencias Aplicadas de la Información Academia Arquitecturas de Cómputo Clave Horas-teoría Horas-práctica Horas-AI Total-horas Créditos I4859 60 20-80
Capítulo 1 Conceptos arquitectónicos
Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos Contenido Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida
Lección 10: Ejemplos de programación con semáforos
Lección 10: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
Universidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali
SISTEMAS OPERATIVOS I Clave: 4595 HC: 3 HL: 2 HT: HPC: HCL: HE: CR: 8 Etapa de formación a la que pertenece: Básica Carácter de la Asignatura: Obligatoria PROPÓSITO GENERAL DEL CURSO Proporcionar al estudiante
Sincronización entre procesos (aka: semáforos)
Sincronización entre procesos (aka: semáforos) DC - FCEyN - UBA Sistemas Operativos, 1c-2016 Dónde estamos? De dónde venimos? Race condition Semáforos Race condition Semáforos Primero repasemos brevemente
Sistemas Operativos. Introducción. Tema 6
Sistemas Operativos Introducción Qué es un sistema operativo? Ubicación de un sistema operativo en un computador Descripción de un sistema operativo: Funcional Estructural Realización Funciones de los
Comunicación y sincronización
Comunicación y sincronización Son conceptos relacionados con la interacción entre los procesos La comunicación se refiere al paso de información de un proceso a otro La sincronización corresponde al cumplimiento
Estructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
Sistemas Operativos. Curso Página Web: Asignaturas de programación en el plan de estudios
Programa de la asignatura Sistemas Operativos 3 er Curso de la Licenciatura en Física Curso 2010-2011 Profesor: J. Javier Gutiérrez (gutierjj@unican.es) Página Web: http://www.ctr.unican.es/asignaturas/so/
1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos
Tema 5: Sistemas Operativos Distribuidos 1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño 1 1. Introducción Sistema Informático Distribuido: Colección de S.I. autónomos
Taller de Programación Paralela
Taller de Programación Paralela Departamento de Ingeniería Informática Universidad de Santiago de Chile April 26, 2007 Concurrencia 2 Concurrencia y sincronización.............................................................
Concurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada. Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada
TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.
1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;
Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina
Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina Nombre del trabajo: Resumen y mapa conceptual del Capítulo
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 3: Concurrencia
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 3: Concurrencia Calendario Comienzo: Lunes 2 de noviembre y miércoles 4 de noviembre. Entrega: 16 de noviembre y 18 de noviembre. 1. Requisitos
Grafo acíclico orientado cuyos nodos corresponden a sentencias individuales.
GRAFOS DE PRECEDENCIA Grafo acíclico orientado cuyos nodos corresponden a sentencias individuales. Un arco de un nodo Si al nodo Sj significa que la sentencia Sj puede ejecutarse sólo cuando ha acabado
Usando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
SOLUCIONES. SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010
Calificación SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010 Nombre SOLUCIONES 1 2 3 4 5 Titulación Dispone de tres horas y quince minutos para realizar
Sistemas Operativos- Evolución Histórica
Esquema Primeros Computadores Accesos por operador Secuencia automática de trabajos Mejora del rendimiento Multiprogramación Proceso distribuído Multiproceso Primeros Computadores Lenguaje Máquina Monoprogramación
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software
Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
SISTEMAS EN TIEMPO REAL
SISTEMAS EN TIEMPO REAL Año académico: 2006/07 Centro: Escuela Politécnica Superior Estudios: Ingeniero Técnico en Informática de Sistemas Asignatura: Sistemas en Tiempo real Ciclo: 1º Curso: 3º Cuatrimestre:
Proceso. Threads, SMP, and Microkernels. Multithreading. Proceso
Proceso Threads, SMP, and Microkernels Capítulo 4 Propiedad de Recurso el proceso se ubica en un espacio de direccionamiento virtual que tiene la imagen del proceso Planificación/ejecución sigue un camino
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Concurrencia PLANIFICACIONES Actualización: 1ºC/2013. Planificaciones Concurrencia. Docente responsable: A DESIGNAR.
Planificaciones 7522 - Concurrencia Docente responsable: A DESIGNAR. 1 de 5 OBJETIVOS Conocer y aplicar las técnicas necesarias para la cooperación entre procesos por diseño. Entender los problemas que
ANEXO I GUIA BIBLIOGRAFICA:
ANEXO I GUIA BIBLIOGRAFICA: Unidad 1: INTRODUCCIÓN Concepto de sistema operativo. Evolución de los sistemas operativos. Repaso de los conocimientos de hardware necesarios. Estructuras de los sistemas operativos.
Necesidad de Protección
Necesidad de Protección Por qué necesitamos protección? Para mejorar la utilización del sistema, el Sistema de Operación empezó a compartir recursos del sistema entre varios programas de manera simultánea.
Unidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo
Unidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo Hilo (theread) llamado también proceso ligero o subproceso, es la unidad de ejecución de un proceso y esta asociado con una secuencia
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto
7. Programación Concurrente
7. Programación Concurrente 1. Qué es la programación concurrente? Se conoce por programación concurrente a la rama de la informática que trata de las técnicas de programación que se usan para expresar
Sistemas Operativos II Junio 2006 Nombre:
Sistemas Operativos II Junio 2006 Nombre: ITIS Castellano Ejercicio 1 [1 punto] 1. Por qué es más eficiente el cambio de contexto entre threads (hilos) que entre procesos? 2. Describe brevemente la diferencia
CARRERA: LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN AÑO : 2010
UNIVERSIDAD NACIONAL DE RIO CUARTO DEPARTAMENTO DE COMPUTACIÓN MATERIA : SISTEMAS OPERATIVOS Código: 1965 PROF. RESPONSABLE: Lic. Marcelo Arroyo REGIMEN: CUATRIMESTRAL CUATRIMESTRE: Primero CARRERA: LICENCIATURA
Asignaturas antecedentes y subsecuentes
PROGRAMA DE ESTUDIOS Programación Concurrente Área a la que pertenece: Área de Formación Integral Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0177 Asignaturas antecedentes y subsecuentes
Hilos. Hilos. Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux
Hilos Hilos Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux 1 Objetivos Introducir la noción de hilo una unidad fundamental de la utilización
5 Gestión de E/S. Servicios de E/S que suministra el SO Hardware de Entradas/salidas Implementación de los servicios Mejora del redimiento de E/S SOI
5 Gestión de E/S Servicios de E/S que suministra el SO Hardware de Entradas/salidas Implementación de los servicios Mejora del redimiento de E/S 1 Hardware de E/S Elementos hardware del sistema de E/S
Definición de Sistema Operativo
Definición de Sistema Operativo El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema
Test SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9)
Test SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9) Temas: Planificación Sincronización y Comunicación entre Procesos Funciones
SINCRONIZACIÓN DE PROCESOS
SINCRONIZACIÓN DE PROCESOS 1 Introducción Los procesos acceden a datos o recursos compartidos El acceso puede provocar que el estado final de los datos no sea correcto, generando incoherencias debido a
Convivencia Introducción
Convivencia Introducción Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Definición (1/3) El sistema operativo como máquina virtual o extendida: Un sistema operativo es una serie de componentes
Programación concurrente
Programación concurrente Master de Computación I Conceptos y recursos para la programación concurrente: I.6 Sincronización basada en memoria compartida. J.M. Drake M. Aldea Procesos concurrentes y memoria
Facultad de Ingeniería Industrial y de Sistemas v1.1 MA781U CONCEPTOS INICIALES CASOS DE USO
CONCEPTOS INICIALES CASOS DE USO Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Se presenta el analisis funcional basico del sistema operativo desarrollado en RationalRose. I. PAQUETES
Programa de Sistemas Operativos
Programa de Sistemas Operativos 01 Carrera: Licenciatura en Tecnología Informática 02 Asignatura: Sistemas Operativos 03 Año lectivo: 2013 04 Año de cursada: 2013 05 Cuatrimestre: 1 06 Hs. 6hs 07 Profesor:
Pontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: FACULTAD DE INGENIERÍA ESCUELA DE SISTEMAS MATERIA O MÓDULO: SISTEMAS OPERATIVOS CÓDIGO: IS603.a CARRERA: INGENIERÍA DE SISTEMAS NIVEL: TERCERO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4
Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6
Planificaciones 7508 - Sistemas Operativos Docente responsable: MENDEZ MARIANO 1 de 6 OBJETIVOS 1-Estudiar y conocer en detalle los pilares fundamentales de los sistemas operativos: el Kernel y Proceso,
Arquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?
Tema 1: Programación Multiproceso. Curso
Tema 1: Programación Multiproceso. Curso 2012-2013 1 Patricia Hurtado Sayas Índice de contenidos: 1. Elementos funcionales de un SI. Repaso. 2. Concepto de Proceso o Tarea. 1. PCB, Bloque de Control de