Tema 1: Programación Multiproceso. Curso

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 1: Programación Multiproceso. Curso"

Transcripción

1 Tema 1: Programación Multiproceso. Curso 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 Proceso 2. Tabla de Procesos 3. Tipos de Procesos 4. Creación de Procesos 5. Terminación de Procesos 6. Estados y transiciones de Procesos 3. Multiprogramación y Multiproceso 1. Principios de Concurrencia 2. Planificación de Procesos 3. Expulsión de un Proceso de la CPU 2 Patricia Hurtado Sayas

2 Índice de contenidos: 4. Razones para suspender un Proceso 5. Problemas con los Procesos 4. Concepto de Hilos y SO Multihilos y Multiproceso. 5. Programación Concurrente 6. Comunicación entre Procesos 7. Sincronización entre Procesos 8. Programación Paralela y Distribuida 9. Herramientas gráficas para la gestión de Procesos en sistemas libres y propietarios 3 Patricia Hurtado Sayas 1.- Repaso arquitectura de von Neumann: 4 Patricia Hurtado Sayas Año 1946

3 1.- Repaso arquitectura de von Neumann: 5 Patricia Hurtado Sayas Unidad de Control 1.- Repaso arquitectura de von Neumann: 6 Patricia Hurtado Sayas ALU

4 1.- Repaso arquitectura de von Neumann: 7 Patricia Hurtado Sayas Unidad de Memoria 1.- Repaso arquitectura de von Neumann: 8 Patricia Hurtado Sayas Ciclo de instrucción

5 Un programa es un conjunto de instrucciones listo para ser ejecutado. Es el resultado de un proceso de compilación y por tanto es un concepto pasivo dado que no se está ejecutando. 9 Patricia Hurtado Sayas Un proceso o tarea es un concepto manejado por el sistema operativo formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra información que permite al sistema operativo su planificación. 10 Patricia Hurtado Sayas Concepto Activo

6 11 Patricia Hurtado Sayas Región de código tamaño fijo y es de solo lectura, lo que le permite compartida por más de un proceso. Región de datos contiene las variables globales del proceso y las estructuras de datos dinámicas. Región de pila contiene datos temporales. 12 Patricia Hurtado Sayas

7 13 Patricia Hurtado Sayas Características de los procesos (I): Para que un proceso pueda empezar su ejecución, debe de residir completamente en memoria y tener asignados todos los recursos que necesite. Dos procesos pueden asociarse al mismo programa. Cada proceso está protegido del resto de procesos, ningún otro proceso podrá escribir en las zonas de memoria pertenecientes a ese proceso. 14 Patricia Hurtado Sayas

8 Características de los procesos (II): Los procesos pertenecientes a los usuarios se ejecutan en el modo usuario del procesador (con restricciones de acceso a los recursos), los que pertenecen al sistema se ejecutarán en el modo kernel del procesador (podrán acceder a cualquier recurso). Para que un proceso de usuario acceda a los recursos tendrá que hacerlo por medio de llamadas al sistema. Los procesos se podrán comunicar, sincronizar y colaborar entre ellos. 15 Patricia Hurtado Sayas PCB, Bloque de Control de Proceso Identificadores numéricos: Identificador del procesos en sí (pid) Identificador del proceso padre (quién lo creó) Identificador del usuario Información de gestión de memoria Información del estado del procesador: contador de programa, registros de la CPU, etc. Información de estado y planificación: estado del proceso (ejecución, listo, suspendido o zombie), prioridad, evento por el cual espera, etc. 16 Patricia Hurtado Sayas

9 2.1.- PCB, Bloque de Control de Proceso Información de planificación y estadísticas de uso, por ejemplo tiempo real y de CPU utilizado. Estado de E/S, como por ejemplo dispositivos asignados, operaciones pendientes. Información de gestión de archivos (archivos abiertos, derechos). Información de mantenimiento. 17 Patricia Hurtado Sayas Tabla de Procesos Es la estructura donde se mantienen los PCB de los procesos usuarios. 18 Patricia Hurtado Sayas

10 2.3.- Tipos de Procesos Proceso init: es el primer proceso a nivel de usuario iniciado por el SO y es el padre de todos los procesos de usuario. Tiene el pid con valor 1. Si representásemos a todos estos procesos en un árbol, entonces Init quedaría como el nodo raíz. 19 Patricia Hurtado Sayas Tipos de Procesos 20 Patricia Hurtado Sayas

11 2.3.- Tipos de Procesos Procesos huérfanos: Cuando un proceso padre muere antes que el proceso hijo, este proceso hijo queda huérfano y es adoptado por el proceso Init. En la siguiente imagen vemos cómo, al morir un proceso padre, Init acepta a sus procesos hijos. 21 Patricia Hurtado Sayas Tipos de Procesos 22 Patricia Hurtado Sayas

12 2.3.- Tipos de Procesos Procesos zombies: Un proceso que termina no puede abandonar el sistema hasta que su padre acepte su código de retorno. Si el proceso padre ya está muerto, es adoptado por el proceso init. Si el proceso padre está vivo pero nunca ejecuta un wait() o proceso por el que espera a la finalización de su hijo, el código de retorno del proceso hijo nunca será aceptado y tal proceso se convierte en zombie. Un proceso zombie no tiene ni código, ni pila, ni datos, pero continúa habitando en la tabla de procesos (que es de tamaño fijo). 23 Patricia Hurtado Sayas Tipos de Procesos 24 Patricia Hurtado Sayas

13 2.4.- Creación de Procesos Los procesos son creados y destruidos por el sistema operativo, así como también éste se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación. 25 Patricia Hurtado Sayas Creación de Procesos La creación de un proceso supone la asignación de todos los recursos que el proceso necesita. 26 Patricia Hurtado Sayas

14 2.4.- Creación de Procesos Un proceso puede crear nuevos hijos mediante una llamada al SO. El proceso creador se denomina padre y, el creado hijo. En Windows se puede crear un proceso con CreateProcess, donde se indica el fichero ejecutable donde está el código del hijo. En sistemas UNIX, las llamadas al sistema son fork, crea un proceso hijo que es un duplicado del padre. exec, sustituye el código por un nuevo fichero ejecutable (no crea un nuevo proceso). 27 Patricia Hurtado Sayas Terminación de Procesos Un proceso termina cuando invoca a una llamada al sistema específica, por ejemplo exit(). También si se genera una excepción y el SO decide abortarlo. En sistemas UNIX, cuando un proceso termina, muere también su descendencia. 28 Patricia Hurtado Sayas

15 2.6.- Estados y transiciones Los estados caracterizan el comportamiento de los procesos y están relacionados con la actividad de proceso en un momento determinado. 29 Patricia Hurtado Sayas Estados y transiciones Nuevo: El proceso está siendo creado pero aún no ha sido admitido en la lista de procesos ejecutables por el SO. Ejecución: El proceso está ejecutando instrucciones. En un sistema con un solo procesador, sólo habrá un proceso en este estado. Bloqueado: El proceso espera por algún evento, por lo que no puede hacer nada. 30 Patricia Hurtado Sayas

16 2.6.- Estados y transiciones Listo: El proceso está listo para ser ejecutado y espera a que se le asigne tiempo de CPU. Todos los procesos en este estado están compitiendo por la CPU. Finalizado: Ha finalizado su ejecución ya sea de forma normal o anormal. En este estado los procesos permanecen mientras el SO libera sus recursos y extrae información necesaria para tareas de contabilidad. 31 Patricia Hurtado Sayas Estados y transiciones Bloqueado y Suspendido: el proceso está en memoria secundaria suspendido y esperando por un evento. Listo y Suspendido: el proceso está en memoria secundaria suspendido temporalmente, pero listo para ejecución, una vez que se reanude. 32 Patricia Hurtado Sayas

17 2.6.- Estados y transiciones Todas las transiciones son iniciadas por el SO, la única que además, puede ser iniciada por el mismo proceso usuario es la de Ejecución a Bloqueado. 33 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Se denomina multiprogramación o multitarea, a la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo" (seudoparalelismo, ya que en una única CPU sólo puede haber un proceso a la vez) en la unidad central de proceso o CPU, es decir, permite la ejecución de varios procesos al mismo tiempo corriendo sobre un único procesador. 34 Patricia Hurtado Sayas

18 3.- Multiprogramación y Multiproceso: Ventajas: Permite la existencia de varios procesos en ejecución. Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente. Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S, por lo que aumenta el uso de la CPU. Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física. 35 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Multiprogramación es distinto a multiproceso. El multiproceso implica la existencia de varios procesadores en el mismo sistema, ejecutando por ejemplo simultáneamente diferentes trabajos, pudiendo ser usados en multiprogramación. En cambio un sistema de multiprogramación no podría ser utilizado en multiproceso si sólo tuviera un procesador. 36 Patricia Hurtado Sayas

19 3.- Multiprogramación y Multiproceso: El grado de multiprogramación viene determinado por el número de procesos activos. La ejecución aparentemente simultánea de varios procesos en un mismo sistema, requiere repartir el tiempo de CPU entre los objetos a ejecutar. Eso implica expulsar de la CPU, al proceso en ejecución y asignarla a un proceso preparado. Esta actividad se conoce como cambio de contexto. 37 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Los cambios de contexto no son trabajo útil e implican una sobrecarga importante si se hacen con frecuencia reducen la utilización. 38 Patricia Hurtado Sayas

20 3.- Multiprogramación y Multiproceso: EJERCICIO Visualiza la animación de la siguiente dirección web: p?option=com_content&view=article&id=124:gestionde-procesos&catid=65:unidades-de-trabajo&itemid=55 39 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Tipos de multitarea (I): Multitarea Nula: es aquel SO que carece de multitarea, por ejemplo MS-DOS. Multitarea Corporativa, Cooperativa o No apropiativa: es aquella donde los procesos de usuario son los que ceden la CPU al SO a intervalos regulares. Es el tipo de multitarea de los SO Windows anteriores a 1995 como Windows Patricia Hurtado Sayas

21 3.- Multiprogramación y Multiproceso: Tipos de multitarea (II): Multitarea Preferente o Apropiativa: es aquella en donde el SO se encarga de administrar el/los procesador/es, repartiendo el tiempo de uso del mismo entre los distintos procesos que esperan utilizarlo. Si hay un solo procesador, cada proceso lo utiliza en periodos cortísimos de tiempo, dando la sensación de que se ejecutan al mismo tiempo. Es el tipo de multitarea de los SO UNIX (y sus clones Linux), Windows NT, etc. 41 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Tipos de multitarea (III): Multitarea Real: es aquella en donde el SO ejecuta los procesos realmente al mismo tiempo, haciendo uso de múltiples procesadores. En el caso de que los procesos o tareas sean más que la cantidad de procesadores, éstos comienzan a ejecutarse como en la multitarea preferente. Es el tipo de multitarea de los SO modernos. En este caso tenemos un sistema multiproceso. 42 Patricia Hurtado Sayas

22 3.- Multiprogramación y Multiproceso: 43 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Principios de Concurrencia La Concurrencia es la habilidad para ejecutar varias actividades en paralelo o simultáneamente en un sistema con un único procesador. Comprende entre otras, la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos. 44 Patricia Hurtado Sayas

23 3.- Multiprogramación y Multiproceso: Planificación de procesos El objetivo de la multiprogramación es que en todo momento haya un proceso en ejecución (maximiza la utilización) La Planificación es la forma o criterio que se sigue a la hora de decidir qué proceso debe entrar en ejecución. 45 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Planificación de procesos El proceso del SO dedicado a la tarea de determinar el procesos a ejecutar, recibe el nombre de planificador. Este proceso suele estar en estado bloqueado, y es despertado periódicamente, dependiendo del esquema de planificación, o cuando el proceso en ejecución no puede continuar y pasa a estado bloqueado. 46 Patricia Hurtado Sayas

24 3.- Multiprogramación y Multiproceso: Planificación de procesos Algoritmo de planificación es el criterio que utiliza el planificador para designar el proceso que entra en ejecución. 47 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Planificación de procesos Planificador de la CPU: Selecciona un proceso preparado y le asignar la CPU. Se ejecuta con mucha frecuencia debe ser más rápido. Planificador de trabajos: Encargado del intercambio entre memoria y almacenamiento secundario. Controla el número de procesos en memoria. Se ejecuta con menor frecuencia puede ser lento. 48 Patricia Hurtado Sayas

25 3.- Multiprogramación y Multiproceso: Expulsión de la CPU Las principales interrupciones por las que un proceso puede ser expulsado de la CPU, son: Interrupción por E/S. Interrupción por fin de tiempo (en la que se llama al planificador) Interrupción por error (como la división por 0) El proceso pasa a Bloqueado 49 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Suspensión de procesos Un proceso puede ser suspendido por: Falta de espacio en memoria principal que requiere un intercambio de memoria. Reducción del grado de multiprogramación por parte del SO. Solicitud de un usuario interactivo, por ejemplo para depuración. Temporización del proceso. Solicitud del padre para sincronizar descendientes. 50 Patricia Hurtado Sayas El proceso pasa a Bloqueado y Suspendido

26 3.- Multiprogramación y Multiproceso: Problemas con procesos La programación multiproceso supone la compartición y competencia entre los procesos por el uso de recursos físicos. Los procesos necesitan técnicas de: Comunicación: necesidad de transmitir información entre procesos concurrentes. Sincronización: necesidad de que las ejecuciones de los procesos concurrentes se produzcan según una secuenciación temporal, conocida y establecida entre ellos. 51 Patricia Hurtado Sayas 3.- Multiprogramación y Multiproceso: Problemas con procesos Cuando varios procesos entran en competencia se pueden producir las siguientes situaciones: Exclusión mutua: el acceso a ciertos recursos debe ser exclusivo de un proceso cada vez sección crítica. Interbloqueo: dos procesos pueden estar esperando el mismo recurso. Inanición: un proceso nunca accede a un recurso. 52 Patricia Hurtado Sayas

27 4.- Concepto de Hilo: Una hebra o hilo (thread) o proceso ligero, es un punto de ejecución de un proceso. Un proceso tendrá una o más hilos. Los hilos de un mismo proceso compartirán recursos, siempre pertenecen a un proceso y no pueden existir por ellos mismos, pero pueden ser planificados por ejecución. 53 Patricia Hurtado Sayas 4.- Concepto de Hilo: Los hilos no son independientes entre sí. Como todos los hilos pueden acceder a todas las direcciones de la tarea, un hilo puede leer la pila de cualquier otro hilo o escribir sobre ella. 54 Patricia Hurtado Sayas

28 4.- Concepto de Hilo: Los procesos pueden pertenecer a varios usuarios, pero los hilos de un proceso pertenecen a un mismo usuario y por tanto, se asume que estarán diseñados para colaborar, no para competir. La programación de procesos multihilo se ajusta a la programación concurrente sobre sistemas que comparten memoria. 55 Patricia Hurtado Sayas 4.- Concepto de Hilo: Con los hilos distinguimos dos tipos o niveles de procesos: Procesos pesados: contienen uno o varios hilos que comparten la misma memoria y recursos. Así un proceso pesado puede contener centenares de hilos sin mucho coste adicional, tan solo los BCP de sus hilos. Procesos ligeros: implementados por el SO o por el programa de usuario. 56 Patricia Hurtado Sayas

29 4.- Concepto de Hilo: Ventajas de los hilos sobre los procesos: Se tarda mucho menos tiempo en crear un nuevo hilo en un proceso existente que en crear un nuevo proceso. Se tarda mucho menos tiempo en terminar un hilo que un proceso. Se tarda mucho menos tiempo en conmutar entre hilos de un mismo proceso que entre procesos. Los hilos hacen más rápida la comunicación entre procesos, ya que al compartir memoria y recursos, se pueden comunicar entre sí sin invocar el núcleo del SO. 57 Patricia Hurtado Sayas 5.- Programación concurrente: EJEMPLO Veamos la diferencia entre la programación secuencial clásica, y la programación concurrente. Para ello supongamos que tenemos que realizar un programa que cada 3 seg. muestre el mensaje Hola y cada 5 seg. muestre el mensaje Mundo. 58 Patricia Hurtado Sayas

30 5.- Programación concurrente: 1. muestra el mensaje Hola 2. muestra el mensaje Mundo 3. muestra el mensaje Hola mundo 59 Patricia Hurtado Sayas 5.- Programación concurrente: 60 Patricia Hurtado Sayas

31 5.- Programación concurrente: La programación concurrente permite obtener soluciones distintas a un mismo problema. Por ejemplo, supongamos el siguiente fragmento de código: n=0; tarea P1{ n = n+1; } tarea P2{ n = n+1; } 61 Patricia Hurtado Sayas 5.- Programación concurrente: En este ejemplo se dan dos posibles resultados, ambos correctos y dependientes del orden de ejecución de los procesos P1 y P2: n=0; tarea P1{ n = n+1; } tarea P2{ n = n+1; } 62 Patricia Hurtado Sayas

32 5.- Programación concurrente: En este ejemplo estamos tratando las instrucciones de modificación de la variable n como atómicas. Pero, qué pasaría si realmente cada modificación supone la ejecución de varias instrucciones atómicas? Una instrucción atómica no puede ser entrelazada con la ejecución de otras instrucciones. Dependiendo de la atomicidad, algunas soluciones serán correctas o no. 63 Patricia Hurtado Sayas 5.- Programación concurrente: Veamos las instrucciones del ejemplo, a nivel de atomicidad e intercaladas su ejecución: El resultado obtenido no sería correcto. 64 Patricia Hurtado Sayas

33 5.- Programación concurrente: Las secciones de código de un programa que acceden a un mismo recurso (un mismo objeto de una clase, un fichero del disco, etc.) desde dos procesos o hilos distintos se denominan secciones críticas. 65 Patricia Hurtado Sayas 5.- Programación concurrente: En el punto 3.4. se ha visto que cuando varios procesos entran en competencia se pueden producir las siguientes situaciones a evitar: Exclusión mutua: el acceso a ciertos recursos debe ser exclusivo de un proceso cada vez sección crítica. Interbloqueo: dos procesos pueden estar esperando el mismo recurso. Inanición: un proceso nunca accede a un recurso. 66 Patricia Hurtado Sayas

34 6.- Comunicación entre procesos: La comunicación de procesos es la capacidad de transmitir información de un proceso a otro. La forma de comunicarse varios procesos o hilos, normalmente consiste en compartir un mismo objeto (uso de memoria compartida), que suele pasarse como parámetro en la clase constructora de la clase hilo. Será necesario además, disponer de un sistema de sincronización para garantizar el acceso exclusivo a las variables compartidas. 67 Patricia Hurtado Sayas 6.- Comunicación entre procesos: Formas de conseguir la comunicación: Memoria compartida, requiere un mecanismo de sincronización externo y, la responsabilidad de comunicación recae en los procesos, mientras que el SO tan solo proporciona llamadas para manipular dicha memoria compartida. Paso de mensajes, la responsabilidad de comunicación y sincronización recae en el SO, que proporciona un enlace lógico entre procesos. Los procesos sólo tienen que invocar correctamente a dos llamadas básicas: send y receive, que pueden ser bloqueantes o no. 68 Patricia Hurtado Sayas

35 6.- Comunicación entre procesos: Las relaciones de comunicación entre procesos pueden ser de distintos tipos: Independientes o competidores cuando los procesos compiten por el uso de recursos escasos, como la CPU o E/S. Cooperantes cuando los procesos colaboran entre sí para llevar a cabo un objetivo común. 69 Patricia Hurtado Sayas 7.- Sincronización entre procesos: La sincronización surge debido a la necesidad de evitar que dos o más procesos o hilos traten de acceder a los mismos recursos al mismo tiempo. La sincronización es la capacidad de informar de la situación de un proceso a otro y se puede obtener: Por exclusión mutua, asegurando que un solo proceso tiene acceso a un recurso compartido único. Por condición, asegurando que un proceso no progresa hasta que se cumpla una determinada condición. 70 Patricia Hurtado Sayas

36 . 7.- Sincronización entre procesos: Al igual como la comunicación, la sincronización puede conseguirse de dos formas distintas: Memoria compartida, mediante los métodos siguientes: Inhibición de interrupciones que consiste en que un proceso inhabilita todas las interrupciones justo antes de entrar en su sección crítica, y las rehabilita cuando sale de ella; Espera activa, Semáforos, son mecanismos tanto de comunicación como de sincronización. Regiones críticas, Monitores. Paso de mensajes utilizando para ello canales o buzones. Son mecanismos tanto de comunicación como de sincronización. 71 Patricia Hurtado Sayas. 7.- Sincronización entre procesos: Ejemplos de sincronización El problema del productor-consumidor, en el que los procesos productores producen elementos de información que se almacenan en un buffer compartido hasta ser retirados por los procesos consumidores. Si el buffer está vacío, los consumidores esperan; si está lleno, esperan los productores hasta que se libere espacio. Este es muy habitual en un sistema operativo. El esquema clienteservidor es un caso particular del productor-consumidor donde los procesos clientes producen peticiones que son consumidas por un proceso servidor. 72 Patricia Hurtado Sayas

37 . 7.- Sincronización entre procesos: Ejemplos de sincronización El problema de los lectores y escritores; en el que hay un objeto de datos (fichero de texto) que es utilizado por varios procesos, unos leen y otro que escribe. Solo puede utilizar el recurso un proceso y solo uno, es decir, o bien un proceso estará escribiendo o bien leyendo, pero nunca ocurrirá simultáneamente (teniendo en cuenta que si no lo esta utilizando nadie, tendrá preferencia el escritor ante el lector). 73 Patricia Hurtado Sayas. 7.- Sincronización entre procesos: Ejemplos de sincronización El problema de los filósofos comilones, en el que cinco filósofos se sientan a la mesa, cada uno con un plato de espagueti. El espagueti es tan escurridizo que un filósofo necesita dos tenedores para comerlo. Entre cada dos platos hay un tenedor. La vida de un filósofo consta de periodos alternos de comer y pensar. Cuando un filósofo tiene hambre, intenta obtener un tenedor para su mano derecha, y otro para su mano izquierda, cogiendo uno a la vez y en cualquier orden. Si logra obtener los dos tenedores, come un rato y después deja los tenedores y continúa pensando. En este caso, el recurso compartido son los tenedores. 74 Patricia Hurtado Sayas

38 . 8.- Programación paralela y distribuida: La programación paralela requiere el uso de varios procesadores trabajando juntos para resolver una tarea común. El modo de uso de los procesadores puede ser diseñado por el programador, de forma que: Cada procesador trabaja en una porción del problema. Los procesos pueden intercambiar datos, a través de la memoria o por una red de interconexión. 75 Patricia Hurtado Sayas. 8.- Programación paralela y distribuida: La concurrencia es más general que el paralelismo, de forma que las soluciones que se utilizan en la programación concurrente para la sincronización y comunicación son válidas para la programación paralela 76 Patricia Hurtado Sayas

39 . 8.- Programación paralela y distribuida: 77 Patricia Hurtado Sayas. 8.- Programación paralela y distribuida: La programación distribuida supone la existencia de varios procesadores geográficamente distribuidos. Hay paso de mensajes pero se necesita infraestructura especial. 78 Patricia Hurtado Sayas

Hilos Secciones Stallings:

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

Más detalles

Sistemas Operativos Tema 5. Procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos Tema 5. Procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana Sistemas Operativos Tema 5. Procesos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Concepto de proceso Estructuras de datos: BCP y colas de procesos Niveles de planificación

Más detalles

Procesos Definición y Estados

Procesos Definición y Estados Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).

Más detalles

Sistemas Operativos. Procesos

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

Más detalles

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional (PCB) adicional (PCB) Preparado Preparado

Más detalles

Conceptos de Planificación

Conceptos de Planificación Conceptos de Planificación Conceptos de Planificación Planificación Planificación de Procesos de Procesos Algoritmos Algoritmos Estructura Estructura Propiedades Propiedades Tipos Tipos Evaluación Evaluación

Más detalles

Concurrencia de Procesos

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)

Más detalles

Tema 12: El sistema operativo y los procesos

Tema 12: El sistema operativo y los procesos Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected]

Más detalles

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos SISTEMAS OPERATIVOS: PROCESOS Planificación de procesos ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza

Más detalles

Convivencia Gestión de Procesos

Convivencia Gestión de Procesos Convivencia Gestión de Procesos Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Índice: Procesos Introducción a los procesos Estados de los procesos Listas de procesos El planificador de procesos

Más detalles

Tarea 2. Descripción y Control de Procesos

Tarea 2. Descripción y Control de Procesos 1 Tarea 2. 1. En qué consiste una traza de instrucciones? Consiste en listar las secuencias de instrucciones que ejecuta cada proceso. El procesador puede caracterizarse mostrando la forma en que intercalan

Más detalles

Introducción a los 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 [email protected] 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato María Gregoria

Más detalles

Hilos. Módulo 4. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco. Hilos

Hilos. Módulo 4. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco. Hilos Hilos Módulo 4 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Hilos Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos

Más detalles

Threads, SMP y Microkernels. Proceso

Threads, SMP y Microkernels. Proceso Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual

Más detalles

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 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

Más detalles

Programación Concurrente y Paralela. Unidad 1 Introducción

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

Más detalles

Manipulación de procesos

Manipulación de procesos Manipulación de procesos Las primeras computadoras solo podían manipular un programa a la vez. El programa tenía control absoluto sobre todo el sistema. Con el desarrollo vertiginoso del hardware ese panorama

Más detalles

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

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

Más detalles

1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:

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

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix . Sistema Operativo Unix. Introducción al S.O. Unix y su entorno.2 Subsistema de Archivos.3 Subsistema de Procesos.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

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

Más detalles

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 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

Más detalles

7. Programación Concurrente

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

Más detalles

Unidad 1: Gestión de Procesos

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

Más detalles

Interbloqueo. Concurrencia: Interbloqueo e Inanición

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

Más detalles

PROBLEMAS CLÁSICOS DE LA COMUNICACIÓN N ENTRE PROCESOS

PROBLEMAS CLÁSICOS DE LA COMUNICACIÓN N ENTRE PROCESOS PROBLEMAS CLÁSICOS DE LA COMUNICACIÓN N ENTRE PROCESOS SISTEMAS OPERATIVOS JOSÉ ALFREDO ESTRADA SOTO Para cada uno de los siguientes tres problemas se requiere escribir un programa que atienda las necesidades

Más detalles

Introducción a los Sistemas Operativos S.O.

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

Más detalles

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

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

Más detalles

Concurrencia. Primitivas IPC con bloqueo

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

Más detalles

Unidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo

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

Más detalles

Cuestionario 1-Parte 1

Cuestionario 1-Parte 1 Cuestionario 1-Parte 1 Sistemas Operativos José Antonio Méndez Barrios 201118720 1. Qué es un Sistema Operativo? Programa que controla la ejecución de los programas de aplicación y que actúa como interfaz

Más detalles

Acceso coordinado a recursos compartidos

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

Más detalles

Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero

Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero Introducción a los sistemas operativos Ing Esp Pedro Alberto Arias Quintero Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2

Más detalles

Proceso. Threads, SMP, and Microkernels. Multithreading. Proceso

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

Más detalles

Sistemas Operativos. Dr. Wenceslao Palma M.

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

Más detalles

Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de

Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un

Más detalles

Arquitecturas cliente/servidor

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?

Más detalles

Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi

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:

Más detalles

SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria

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

Más detalles

Sistemas Operativos (Parte 2)

Sistemas Operativos (Parte 2) Sistemas Operativos (Parte 2) M. en C. Mario Farias-Elinos e-mail: [email protected] web: http://www.ci.ulsa.mx/~elinos Maestría en Tecnologías de Información Contenido Proceso Scheduller Thread Sincronización

Más detalles

Tema 2: Gestión de la CPU

Tema 2: Gestión de la CPU Tema 2: Gestión de la CPU Yolanda Blanco Fernández [email protected] Programas vs Procesos Programa: datos e instrucciones. Un proceso es un programa en ejecución: datos, instrucciones, recursos y estado.

Más detalles

Concurrencia y paralelismo

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.

Más detalles

Planificación multiprocesador. Niveles de granularidad. Niveles de granularidad. Niveles de granularidad. Planificación multiprocesador - SSOO I

Planificación multiprocesador. Niveles de granularidad. Niveles de granularidad. Niveles de granularidad. Planificación multiprocesador - SSOO I Clasificación de sistemas multiprocesador Planificación multiprocesador Secciones Stallings: 10.1, 10.3-10.5 Débilmente acoplado, o procesador distribuido, o cluster Cada procesador tiene su propia memoria

Más detalles

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

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

Más detalles

Sistemas Operativos. Introducción. Tema 6

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

Más detalles

Concurrencia. Concurrencia

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

Más detalles

Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion.

Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion. Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion. Fecha de entrega: 10 de Mayo de 2013. Campus: Villahermosa. Carrera:

Más detalles

Guillermo Román Díez

Guillermo Román Díez Concurrencia Creación de Procesos en Java Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia

Más detalles

UNIDAD II. Software del Computador. Ing. Yesika Medina Ing. Yesika Medina

UNIDAD II. Software del Computador. Ing. Yesika Medina Ing. Yesika Medina UNIDAD II Software del Computador SOFTWARE Se denomina software a todos los componentes intangibles de una computadora, formados por el conjunto de programas y procedimientos necesarios para hacer posible

Más detalles

Sistemas Operativos. Daniel Rúa Madrid

Sistemas Operativos. Daniel Rúa Madrid Sistemas Operativos Daniel Rúa Madrid Qué es? Es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como intermediario entre

Más detalles

MULTIPROGRAMACIÓN. Introducción a al Multitarea

MULTIPROGRAMACIÓN. Introducción a al Multitarea MULTIPROGRAMACIÓN Introducción a al Multitarea Introducción a la Multitarea Conceptos básicos Se refiere a la capacidad de un sistema operativo de ejecutar múltiples procesos, también llamados tareas,

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

Tema 1: Introducción a los Sistemas Operativos

Tema 1: Introducción a los Sistemas Operativos Tema 1: Introducción a los Sistemas Operativos Yolanda Blanco Fernández [email protected] Qué es un Sistema Operativo (SO)? Un programa que actúa como intermediario entre el usuario y el hardware del

Más detalles

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

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;

Más detalles

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Sistemas Operativos. Dr. Luis Gerardo de la Fraga.    Departamento de Computación Cinvestav Sistemas Operativos Dr. Luis Gerardo de la Fraga E-mail: [email protected] http://cs.cinvestav.mx/~fraga Departamento de Computación Cinvestav 12 de junio de 2015 Dr. Luis Gerardo de la Fraga Cinvestav,

Más detalles

Administración del Procesador

Administración del Procesador Administración del Procesador 1 Temario Concepto Métricas: Throughput y Turnaround En qué se consumen los tiempos del S.O.? Monoprogramación? Multiprogramación? Nombrando las rutinas: Planificador de Procesos,

Más detalles

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. 1. Concepto de Sistema Operativo. 2. Evolución histórica. 3. Tipos de Sistemas Operativos. 4. Estructura de un Sistema Operativo.

Más detalles

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) 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

Más detalles

6. Enumere tres ventajas de los ULT frente a los KLT.

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

Más detalles

*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010

*** 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

Más detalles

T E M A 7. Interrupciones

T E M A 7. Interrupciones T E M A 7 Interrupciones 7-1 Interrupciones INDICE 7.- Introducción al Tema 7-2 7.1 Interrupciones 7-2 7.1.1 Tipos de Interrupciones 7-2 a).- Interrupciones de Programa 7-2 b).- Interrupciones de Llamada

Más detalles

Administración de procesos: Procesos e hilos

Administración de procesos: Procesos e hilos Índice Concepto y estados de un proceso 1 Concepto y estados de un proceso 2 3 4 5 Cuándo es proceso? Cuando es programa? Programa Una lista de instrucciones a seguir, una entidad pasiva Proceso Entidad

Más detalles

Programación concurrente

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

Más detalles

Sistemas Operativos. Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos:

Sistemas Operativos. Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos: Qué es un Sistema Operativo? Sistemas Operativos Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos: 1. Servir como interfaz entre

Más detalles

Estructura de los sistemas de cómputo

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

Más detalles

Planificación de Monoprocesadores.

Planificación de Monoprocesadores. Planificación de Monoprocesadores.. escriba brevemente los tres tipos de planificación de procesador. Planificación a Largo Plazo. La planificación a largo plazo determina cuáles son los programas admitidos

Más detalles

Concurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo

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

Más detalles

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas. Generalidades acerca de los sistemas operativos Hoy en día muchas personas, usan las computadoras de una forma muy fácil, muchos incluso creen que la máquina tiene incorporada todas las potencialidades

Más detalles

Lección 10: Ejemplos de programación con semáforos

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

Más detalles

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

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.

Más detalles

Sistemas Operativos Procesos Descripción y Control

Sistemas Operativos Procesos Descripción y Control Sistemas Operativos Procesos Descripción y Control Prof. Dr. Wenceslao Palma M. Gran parte de las acciones de un Sistema Operativo giran en torno a los procesos. El sistema operativo

Más detalles

Evolución del software y su situación actual

Evolución del software y su situación actual Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su

Más detalles

Lección 6: Ejemplos de programación con semáforos

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

Más detalles

Preguntas de autoevaluación tema 1

Preguntas de autoevaluación tema 1 0.21. Qué es un canal o procesador de E/S? Es un procesador auxiliar que se encarga de realizar todas las operaciones de E/S con un determinado conjunto de dispositivos de E/S. 0.22. Describir el proceso

Más detalles

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 1. Cuál de los siguientes componentes no forma parte del esquema general de un ordenador? A Memoria Principal B Disco Duro C Unidad de Control D Unidad Aritmético

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Parte II USB Servicios de los SO Interfaz de usuario Ejecución de programas Operaciones de E/S Manipulación de archivos Comunicaciones Detección de errores 1 Funciones

Más detalles

Sistemas Operativos. Clase 2: Administración de procesos.

Sistemas Operativos. Clase 2: Administración de procesos. Sistemas Operativos Clase 2: Administración de procesos. Administración de procesos Un concepto muy importante en el ambiente de diseño de todo sistema operativo, es el de proceso o tarea. De manera general,

Más detalles

Tema III. Multihilo. Desarrollo de Aplicaciones para Internet Curso 12 13

Tema III. Multihilo. Desarrollo de Aplicaciones para Internet Curso 12 13 Tema III. Multihilo Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool

Más detalles