Sistemas Operativos I. Tema 3. Procesos. Equipo de Sistemas Operativos DISCA / DSIC UPV

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Sistemas Operativos I. Tema 3. Procesos. Equipo de Sistemas Operativos DISCA / DSIC UPV"

Transcripción

1 Sistemas Operativos I Tema 3 Procesos Equipo de Sistemas Operativos DISCA / DSIC UPV

2 Introducción Existen varias razones para permitir la ejecución concurrente de procesos: Compartir recursos físicos Compartir recursos lógicos Acelerar los cálculos Modularidad Comodidad Objetivos del tema: Profundizar en el concepto de proceso Dar a conocer la implementación del modelo de procesos Estudiar las diferentes políticas de planificación del procesador 2

3 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. Bibliografía A. Silberschatz, P. Galvin. Sistemas Operativos. 5ª ed. Tema 4 W. Stallings. Sistemas Operativos 2ª ed. Tema Evaluación de algoritmos. 8.- S.O. dirigido por eventos. 3

4 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 4

5 1.- Concepto de proceso Concepto de proceso: Existen diferentes visiones complementarias del concepto de proceso: Programa en ejecución. Unidad de asignación de recursos. Proceso como procesador virtual. 5

6 1.- Concepto de proceso Proceso como programa en ejecución: Programa: Lista de instrucciones. Ente pasivo. Proceso: Programa en ejecución. Ente activo. Pasa por una serie de estados Un programa reside normalmente en un fichero que se encuentra físicamente en el disco y es cargado en memoria cuando se crea el proceso para ejecutarlo. Puede haber dos o más procesos asociados a la ejecución de un mismo programa. Es habitual que un proceso genere más procesos durante su ejecución. 6

7 1.- Concepto de proceso Proceso como procesador virtual: Proceso: cada una de las actividades paralelas que se ejecutan en la máquina. Da la apariencia de que todas ellas se ejecutan sobre procesadores diferentes en paralelo. Ejemplos: Procesos de usuario: Un proceso de edición de un sistema de tiempo compartido. Un trabajo en un sistema por lotes. La compilación de un programa fuente en Pascal: el programa que ejecuta el proceso es el propio compilador. Procesos del sistema: swapper (que decide qué procesos hay que extraer de la memoria o introducir en ella cuando la cantidad de memoria libre no llega o supera ciertos límites), pagedeamon (es el encargado de utilizar reemplazo para liberar marcos y pasarlos a la reserva). 7

8 1.- Concepto de proceso Proceso como procesador virtual: El sistema operativo simula la existencia de N procesadores virtuales (procesos) a partir de una CPU o procesador físico. Cada procesador virtual ejecuta secuencialmente un único programa. Todos los procesos se ejecutan concurrentemente 8

9 1.- Concepto de proceso Ejecución secuencial y ejecución concurrente. Ejecución secuencial: La ejecución de un proceso se dice que es secuencial porque sus operaciones son ejecutadas por la CPU una tras otra, en el orden que dicte el programa. Ejecución concurrente: La ejecución de dos procesos se dice que es concurrente porque estos se pueden ejecutar en paralelo. Concurrencia real: Si cada proceso se ejecuta sobre una CPU. Concurrencia virtual: La CPU reparte su tiempo entre los procesos para simular su ejecución paralela. 9

10 1.- Concepto de proceso Proceso como unidad de asignación de recursos: Para ejecutar un programa se necesita un entorno formado por una serie de recursos: memoria, descriptores de ficheros y otros atributos del proceso. Un proceso se puede considerar como la unidad de propiedad de todos esos recursos. Tiempo de CPU P1 Memoria Tabla de descriptores ficheros Otros atributos 10

11 1.- Concepto de proceso Estados de un proceso Al ejecutar un proceso éste va cambiando de estado. El estado de un proceso se define como el comportamiento que presenta en un instante dado: Activo: El proceso se puede ejecutar. No hay impedimentos en asignarle alguna CPU. Ejecución: El proceso tiene asignada una CPU, las instrucciones se están ejecutando. Preparado: El proceso puede ser ejecutado pero está esperando que se le asigne una CPU libre. Puede haber varios procesos en este estado. Suspendido: No puede ser ejecutado porque el proceso se encuentra esperando un evento como: la finalización de una operación de E/S (una lectura de teclado) la comunicación con otro proceso, etc. 11

12 1.- Concepto de proceso Estados de un proceso: Proceso terminado por otro proceso ACTIVO NUEVO Admitido Elegido Planificador Terminación TERMINADO PREPARADO Expulsión EN EJECUCIÓN Fin E/S o llegada evento SUSPENDIDO Esperar E/S o evento Proceso terminado por otro proceso 12

13 1.- Concepto de proceso Operaciones sobre procesos (1) Creación: Supone asignar todos los recursos que el proceso necesita para su ejecución, como p.e. memoria. Ejemplo en UNIX: fork(). La utiliza el proceso init para crear un proceso que gestione cada terminal y el shell cada vez que recibe una nueva orden del usuario (si ésta es externa). Terminación: Supone liberar los recursos previamente asignados al proceso. Esta terminación puede ser: Terminación normal: El proceso invoca su propia terminación. Ejemplo en UNIX: exit() Terminación anormal: El proceso termina por iniciativa del sistema operativo al detectar alguna condición de error (violación de límites, errores aritméticos) o por iniciativa de algún otro proceso. Ejemplo en UNIX: kill() y señales. 13

14 1.- Concepto de proceso Operaciones sobre procesos (2): Suspensión: Supone pasar un proceso al estado suspendido para que espere un evento o E/S. Ejemplo en UNIX: read() sobre un tubo vacío. Activación: Pasar un proceso al estado activo cuando se produce el evento que esperaba. Ejemplo en UNIX: un proceso efectúa un write() sobre un tubo en el que había un lector esperando. El lector se reactiva. 14

15 1.- Concepto de proceso Estados de un proceso en UNIX En ejec. (usuario) ESTADOS ACTIVOS Empieza fork() inicial Fin de interrup. o llamada al sist. Interrupción o llamada al sistema exit() zombie wait() Acaba fork() Cambios de contexto En ejec. (núcleo) Espera evento preparado Ocurre evento suspendido SIGCONT SIGSTOP parado 15

16 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 16

17 2.- Implementación de procesos Para implementar procesos es conveniente pensar en un proceso como un procesador virtual que ejecuta un programa y que se implementa a partir de un procesador físico. La implementación de procesos requiere: Bloque de control de un proceso PCB (Process Control Block): es una estructura de datos para administrar el proceso. Almacena información de un proceso. Asignar los recursos necesarios para su ejecución, fundamentalmente la memoria para almacenar el código, los datos y la pila. Multiplexar la CPU entre los procesos: repartir el tiempo de la CPU entre los diferentes procesos para simular la ejecución paralela (concurrencia virtual). Bloque de control del sistema: es una estructura de datos que el sistema utiliza para controlar la ejecución de los procesos. Almacena información de todos los procesos. 17

18 2.- Implementación de procesos Bloque de Control de proceso (PCB): Es una estructura de datos donde se almacenan los atributos de un proceso, es decir, la información asociada a un proceso. En un sistema de multiprogramación se requiere un gran cantidad de información de cada proceso para su administración. Esta información puede agruparse en tres categorías: Identificación de Proceso: a cada proceso se le asigna un identificador numérico único (puede ser tan simple como un índice en la tabla de procesos). Información de estado del procesador (Contexto): Básicamente está formada por el contenido de los registros del procesador. Cuando se interrumpe un proceso, el contenido de los registros del procesador debe salvarse de forma que pueda restaurarse cuando el proceso reanude su ejecución Información de control del proceso: Información necesaria para que el sistema operativo controle y coordine los diferentes procesos. 18

19 2.- Implementación de procesos Identificación de Procesos. El PCB guarda: Identificador de este proceso. Identificador del proceso que creó a este proceso (proceso padre). Identificador del usuario. Información de estado del procesador Registros generales (visibles para el usuario). Contador de programa: contiene la dirección de la próxima instrucción a ejecutar. Códigos de condición: muestran el resultado de la operación aritmética o lógica más reciente (signo, cero, acarreo, desbordamiento). Información de estado: Indicadores de habilitación e inhabilitación de interrupciones. Puntero de Pila: Cada proceso tiene una o más pilas LIFO asociadas, para almacenar parámetros y direcciones de retorno de procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila. 19

20 2.- Implementación de procesos Información de control de proceso. Información necesaria para que el sistema operativo controle y coordine los diferentes procesos activos. Estado del proceso: preparado, en ejecución, suspendido, etc. Prioridad de un proceso Información de planificación: depende del algoritmo de planificación, por ejemplo la cantidad de tiempo que el proceso ha estado esperando y que se ejecutó la última vez. Suceso (evento): identidad del suceso que el proceso está esperando antes de poder reanudarse (solicitudes de E/S pendientes). Mapa de memoria: memoria de código, memoria de datos y memoria de pila. 20

21 2.- Implementación de procesos Implementación de varios procesos: Cambios de contexto La ejecución aparentemente simultánea de varios procesos en un mismo sistema, requiere repartir el tiempo de CPU entre los procesos a ejecutar. Ello implica desasignar la CPU al proceso en ejecución y asignarla a un proceso preparado. Esta actividad se conoce con el nombre de cambios de contexto. Realizar un cambio de contexto lleva consigo: Salvar el contexto del proceso en ejecución en su PCB. Poner en la CPU el contexto del nuevo proceso (nuevo contador de programa). Actualizar la información de control de los procesos. 21

22 2.- Implementación de procesos? Cambio de contexto n procesadores virtuales PCB #1 PCB #2 PCB #n P1 contexto P2 contexto Pn contexto (4) (1) (3) (2) P1 --> P2 1 procesador físico CPU PC SP registros P2 --> P1 22

23 2.- Implementación de procesos Cambio de contexto. Los cambios de contexto no son trabajo útil e implican una sobrecarga importante si se hacen con frecuencia: reducen la utilización. Utilización de CPU t P1 P2 P3 P1 Cambios de contexto Utilización de CPU = T(P1) + T(P2) +T(P3) T(P1) + T(P2) +T(P3) + 3t 23

24 2.- Implementación de procesos Motivos que provocan cambios de contexto: Terminación normal del proceso, el proceso en ejecución se acaba. El proceso en ejecución es suspendido en espera de una E/S o de un evento. El proceso en ejecución es expulsado bien porque ha agotado la cantidad de tiempo de CPU asignada bien porque se decide asignarla a otro proceso más prioritario. El sistema se puede representar como un diagrama de colas donde Los círculos representan recursos Los rectángulos representan colas de procesos que esperan acceder a los recursos. 24

25 2.- Implementación de procesos Implementación de varios procesos: Estructuras de control del sistema Proceso nuevo Para Para implementar implementar procesos procesos es es conveniente conveniente pensar pensar en en un un sistema sistema como como una una colección colección de de recursos recursos y y colas colas que que representan representan los los procesos procesos que que esperan esperan para para utilizar utilizar el el recurso. recurso. Cola de procesos esperando ejecución Proceso terminado Los Los PCBs PCBs se se almacenan almacenan en en colas, colas, cada cada una una de de las las cuales cuales representa representa un un estado estado particular particular de de los los procesos. procesos. Recursos E/S Cola de procesos preparados Expulsión Cola de procesos esperando E/S CPU Colas Suceso Cola de procesos esperando suceso 25

26 2.- Implementación de procesos Implementación de varios procesos: Estructuras de control del sistema Los datos que el sistema utiliza para controlar la ejecución de los procesos, se pueden considerar reunidos en una estructura que se suele conocer con el nombre de Bloque de Control del Sistema (SCB). El SCB contiene en la gran mayoría de casos la siguiente información: Tabla de procesos Un puntero a la cola de PCBs de los procesos nuevos, que no están activos y están esperando ejecución. Un puntero al PCB del proceso que está haciendo uso de la CPU Un puntero a la cola de PCBs de los procesos preparados Un puntero a la cola de PCBs de los procesos que están esperando a que se produzca algún evento, para poder volver a ejecutarse, no pudiendo hacerlo hasta que tenga lugar el evento esperado. Los identificadores de las rutinas necesarias para tratar las interrupciones producidas por el hardware, software o errores indeseados. Estructuras de datos relacionadas con la comunicación y sincronización de procesos Otras tablas y datos relacionados con la gestión de memoria y ficheros. 26

27 2.- Implementación de procesos ESTRUCTURAS DE CONTROL DEL SISTEMA PCB 3 PCB n Identificador Contexto Proceso en ejecución Cola de procesos preparados Cola de procesos nuevos Estado: PREP Evento: P. siguiente PCB 6 PCB 1 Estado: EJEC Evento: -- Mapa de memoria... P. Siguiente - Cola de procesos esperando evento i Estado: SUSP? Vectores de interrupción Evento: i... PCB 4 PCB 2 P. siguiente Tabla de procesos 27

28 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 28

29 3.- Hilos de ejecución (Threads) Concepto de hilo de ejecución (thread). Hay sistemas operativos donde un proceso puede tener internamente actividades concurrentes llamadas hilos de ejecución. Ejemplo: Un proceso UNIX videojuego puede tener un hilo de ejecución para cada uno de los elementos móviles de la pantalla. 29

30 3.- Hilos de ejecución (Threads) Concepto de hilo de ejecución (thread). El concepto de proceso que se ha presentado incluye las dos características siguientes: Unidad de propiedad de recursos: A cada proceso se le asigna un espacio de direcciones virtuales para albergar a la imagen del proceso y, de cuando en cuando también se le puede asignar otros recursos (canales de E/S, dispositivos de E/S y ficheros). Unidad de ejecución: Un proceso es un camino de ejecución a través de un programa. Esta ejecución puede ser intercalada con la de otros procesos. Estas dos características son la esencia del proceso, pero pueden ser tratadas de manera independiente por el s.o. 30

31 3.- Hilos de ejecución (Threads) Se puede diferenciar entre: Proceso (proceso pesado): Unidad de propiedad de los recursos (memoria, descriptores de ficheros, etc). Tiene muchos atributos y es lento de crear. Hilo de ejecución (proceso ligero): Actividad concurrente dentro de un proceso (pesado). Todos los hilos de ejecución que pertenecen a un mismo proceso comparten sus recursos (memoria, descriptores de fichero, etc). Tiene pocos atributos y se crea rápidamente. P1 P2 Hilos de ejecución 31

32 3.- Hilos de ejecución (Threads) Compartir memoria Los procesos UNIX no comparten memoria (código o datos). Cada uno tiene su propio espacio de direcciones. Los hilos de ejecución de un mismo proceso pueden tener rutinas o variables comunes. No obstante, cada hilo tendrá su propia pila donde se guardarán las variables locales y argumentos de invocación. 32

33 3.- Hilos de ejecución (Threads) Los hilos de ejecución pueden implementarse de tres formas: Hilos a nivel de usuario (user-level threads): los hilos se crean a nivel del proceso de usuario vía un conjunto de procedimientos de biblioteca o vía el soporte de ejecución del lenguaje de programación. El sistema operativo sólo crea un hilo de ejecución en el núcleo por cada espacio de direcciones (proceso). El resto de los hilos son implementados por el run-time del lenguaje. Es la aproximación utilizada en sistemas operativos que no soportan hilos. Los cambios de contexto entre los hilos a nivel de usuario son rápidos, ya que no involucran llamadas al sistema. La política de planificación de estos hilos no está restringida a la propia del sistema operativo. Cuando este tipo de hilos invocan llamadas al sistema bloqueantes, normalmente se bloquea todo el proceso. No pueden explotar un sistema multiprocesador, ya que el sistema operativo ve un único proceso. 33

34 3.- Hilos de ejecución (Threads) Implementación de hilos Hilos a nivel de usuario Un programa, muchos hilos Un programa, muchos hilos Soporte en ejecución del lenguaje Soporte en ejecución del lenguaje Núcleo del SO = Espacio de direcciones = construcción lingüística o hilo a nivel usuario = proceso o hilo del SO 34

35 3.- Hilos de ejecución (Threads) Implementación de hilos de ejecución Hilos a nivel de núcleo Hilos a nivel del núcleo (kernel-level threads): El sistema operativo soporta hilos de ejecución y proporciona un conjunto de llamadas al sistema para su manipulación. Un programa, muchos hilos Soporte en ejecución del lenguaje Un programa, muchos hilos Soporte en ejecución del lenguaje El sistema crea un hilo de ejecución por cada hilo a nivel de usuario. Son la unidad de planificación del sistema. El bloqueo y activación de hilos corre a cargo del núcleo. Los cambios de contexto son manejados por el kernel y son unas 10 veces más lentos que en el caso de los hilos de usuario. Núcleo del SO = Espacio de direcciones = construcción lingüística o hilo a nivel usuario = proceso o hilo del SO 35

36 3.- Hilos de ejecución (Threads) Implementación de hilos de ejecución Aproximación híbrida: u 1 u 2 Un programa, muchos hilos Se implementan las dos clases de hilos anteriores. El sistema operativo permite más de un hilo por proceso. El soporte del lenguaje de programación utiliza un hilo del núcleo para implementar un grupo de hilos de usuario. Proporciona flexibilidad y el máximo rendimiento potencial al programador de aplicaciones. Soporte en ejecución del lenguaje k 1 Núcleo del SO = Espacio de direcciones = construcción lingüística o hilo a nivel usuario = proceso o hilo del SO 36

37 3.- Hilos de ejecución (threads) Utilización de hilos de ejecución Los hilos de ejecución pueden ser creados y manejados: Utilizando un lenguaje de programación convencional y llamadas al sistema. Ejemplo: C y threads en POSIX Utilizando construcciones lingüísticas (o clases) de un lenguaje de programación que admita concurrencia Ejemplo: Tareas en Ada95, threads en Java 37

38 3.- Hilos de ejecución (threads) Threads en POSIX: llamadas básicas Llamada pthread_create(thread_id, attr, func, args) pthread_exit (status) pthread_join (thread_id) pthread_t pthread_self() Descripción Crea un nuevo hilo de ejecución. El hilo de ejecución empieza en func y se le pasan los parámetros args. El hilo que la invoca finaliza su ejecución. Suspende la ejecución del hilo que invoca esta llamada, hasta que el thread_id acabe. Devuelve el identificador del thread que la invoca. 38

39 3.- Hilos de ejecución (threads) Threads en POSIX: un ejemplo #include #include <stddef.h> <stddef.h> #include #include <pthread.h> <pthread.h> void void * process(void process(void * arg){ arg){ printf("%s printf("%s ", ",(char (char*) *) arg); arg); fflush(stdout); fflush(stdout); pthread_exit(0); }} int int main(){ main(){ pthread_t pthread_t th_a, th_a, th_b; th_b; pthread_create(&th_a, NULL, NULL, process, process, "Hello"); "Hello"); pthread_create(&th_b, NULL, NULL, process, process, "World"); "World"); sleep(1); sleep(1); }} 39

40 3.- Threads en Ada: Declaración Ada permite la programación de actividades concurrentes. La facilidad Ada que permite programar estas actividades es el tipo de datos task. El tipo tarea debe ser especificado en primer lugar y posteriormente implementado. Las tareas Ada comparten memoria y se comunican y sincronizan mediante citas y/o objetos protegidos. Pueden declararse objetos tarea directamente omitiendo type. En este caso no pueden definirse variables. Cada tarea dispone de una copia de las variables locales declaradas. task task type typeniño; task task body bodyniño is is Sueño: Sueño: Boolean; Edad: Edad: Natural; begin begin loop loop Dormir; loop loop Comer; Comer; Jugar_O_Incordiar; exit exitwhen whensueño end endloop; exit exitwhen whenedad > end endloop; end endniño; Victor,Santiago,Gabriela: Niño; Niño; 40

41 3.Threads en Ada: activación y finalización Cuando un programa Ada comienza, se crea la tarea principal, la cual ejecuta el subprograma principal. Cuando se declara una variable del tipo task, el soporte en tiempo de ejecución del lenguaje Ada crea un hilo de ejecución (proceso ligero) dentro del proceso que está ejecutando el programa. Una tarea comienza su ejecución cuando comienza la ejecución de la unidad (maestra) donde se declara. La unidad de ejecución maestra sólo finaliza cuando finalizan todas las tareas que dependen de ella. procedure Guarderia is is task task type typeniño; task task body bodyniño is is end endniño; Victor, Victor, Santiago, Gabriela: Niño; Niño; begin begin -- --unidad maestra; end endguarderia; Inician Inician Guarderia y los los tres tres niños niños Guarderia espera espera la la terminación de de los los tres tres niños niños 41

42 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 42

43 4.- Concepto de planificación Recursos reutilizables en serie Escasez de recursos: el número de recursos es inferior al número de procesos que compiten por ellos. Recursos reutilizables en serie: aquellos que sólo pueden estar asignados a un proceso en un instante de tiempo dado. Ejemplos: Impresoras, CPU. Planificación de recursos: Con recursos reutilizables en serie el s.o. tiene que aplicar una política para asignar recursos a los procesos. 43

44 4.- Concepto de planificación P1 Ejecución Interrup. o llamada al sist 1 Salvar contexto en PCB #1 PLANIFICADOR: -- Tratamiento escoger nuevo proceso Cargar contexto desde PCB #2 2 P2 Ejecución Interrup. o llamada al sistema P3 4 Salvar contexto en PCB #2 PLANIFICADOR: -- Tratamiento escoger nuevo proceso 3 Ejecución Cargar contexto desde PCB #3 Sistema operativo 44

45 4.- Concepto de planificación Planificador Elemento del sistema operativo que determina a qué proceso se le asigna un determinado recurso (p. e. CPU) en cada instante de tiempo, de acuerdo con alguna política. En el caso de que el recurso a asignar sea la CPU se distinguen entre tres planificadores: Planificador a largo plazo. Planificador a medio plazo Planificador a corto plazo. 45

46 Diagrama de colas del sistema Proceso nuevo Cola de procesos esperando ejecución Planificador a largo plazo Planificador a corto plazo Proceso terminado Cola de procesos preparados CPU Planificador a medio plazo Cola de procesos intercambiados a disco Expulsión Planificador a medio plazo Recursos Colas E/S Suceso Cola de procesos esperando E/S Cola de procesos esperando suceso 46

47 4.- Concepto de planificación Planificador a largo plazo En un sistema de procesos por lotes, los procesos recién incorporados permanecen detenidos en una cola de procesamiento por lotes, en el disco. El planificador a largo plazo creará procesos a partir de la cola cuando sea posible. Dos son las decisiones que toma el planificador a largo plazo: Cuando crear un nuevo proceso: controla el grado de multiprogramación. Cuál va a ser el siguiente proceso a admitir: algoritmo FCFS (firts_come, firstserved), tener en cuenta prioridades, tiempos de ejecución esperados, exigencias E/S. Controla el grado de multiprogramación: conjunto de procesos que residen simultáneamente en memoria y se ejecutan concurrentemente. Selecciona procesos de la cola de procesos que están esperando ser ejecutados y los carga en memoria. Se ejecuta con poca frecuencia, ya que pueden transcurrir minutos entre la creación de nuevos procesos en el sistema. 47

48 4.- Concepto de planificación Planificador a medio plazo Cuando un usuario se conecta al sistema, se genera una solicitud de crear un proceso, los usuarios de tiempo compartido no pueden ser puestos en una cola y esperar a que el sistema pueda aceptarlos. En ocasiones es interesante sacar procesos de memoria para reducir el grado de multiprogramación o para mejorar la mezcla de procesos (orientados a CPU o E/S). Se encarga de controlar qué procesos, de entre todos los iniciados deben estar en memoria y qué otros deben estar en el espacio de intercambio. El planificador a medio plazo se encarga de sacar el proceso y volverlo a introducir más tarde. El proceso continuará su ejecución a partir del punto donde se había quedado. A este esquema comúnmente se le denomina swapping. 48

49 4.- Concepto de planificación Planificador a corto plazo Selecciona un proceso de la cola de procesos preparados para ejecución y le asigna la CPU. Se ejecuta con mucha frecuencia. El proceso seleccionado quizás se ejecute únicamente durante unos milisegundos antes de iniciar una solicitud de E/S. Se ejecuta cuando ocurre un evento que conduce a la interrupción del proceso actual, expulsando el proceso a favor de otro. Ejemplos de eventos: Interrupciones de reloj. Interrupciones de E/S. Llamadas al sistema operativo. Señales. 49

50 4.- Concepto de planificación Procesos orientados a CPU u orientados a E/S Un proceso orientado a CPU es aquel que invierte la mayor parte de su tiempo en efectuar cálculos y genera solicitudes de E/S con poca frecuencia. Proceso orientado a CPU CPU E/S CPU E/S CPU Un proceso orientado a E/S es aquel que emplea más tiempo en realizar E/S que en efectuar cálculos. Proceso orientado a E/S CPU E/S CPU E/S CPU El planificador a largo plazo debe seleccionar una mezcla adecuada de procesos orientados a CPU y orientados a E/S. 50

51 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 51

52 5.- Criterios de planificación Criterios de planificación Algunos de los criterios y características que un planificador debe conseguir son: Utilización: Los recursos se han de mantener tan ocupados como sea posible. Tiempo_recurso_ocupado / Tiempo_total Rendimiento: Maximizar el número de tareas procesadas por unidad de tiempo. Número_de_trabajos_terminados / Tiempo_total Tiempo de retorno: Tiempo que tarda en ejecutarse un proceso. Tiempo de salida - Tiempo de entrada =? TCPU +? TE/S +? TColas 52

53 5.- Criterios de planificación Criterios de planificación (2): Tiempo de espera: Tiempo que un proceso está en la cola de procesos preparados. Tiempo de respuesta: Tiempo que transcurre desde que se presenta una solicitud hasta que el sistema comienza a contestar (en procesos interactivos). Equidad: Garantizar que cada proceso obtiene la proporción justa de CPU. Es decir, que los procesos sean tratados de manera igualitaria. Lo opuesto a equidad sería inanición. 53

54 5.- Criterios de planificación Optimización de los criterios de planificación. No se pueden optimizar todos los criterios a la vez porque algunos de ellos son contrapuestos. Cada tipo de sistema tiene sus prioridades: Sistema por lotes: Maximizar utilización y rendimiento y minimizar el tiempo de retorno y de espera. Sistemas interactivos: Proporcionar equidad y hacer el tiempo de respuesta razonable y predecible. La multiprogramación en sí misma supone una mejora de muchos de los criterios anteriores respecto a la ejecución secuencial. Los algoritmos de planificación también tienen como objetivo mejorar algunos de los criterios mencionados. 54

55 5.- Criterios de planificación Ejemplo: Proceso P0 SIN MULTIPROGRAMACIÓN Proceso P1 Utilización Utilización CPU CPU = 6/10 6/10 = Productividad Productividad = 2 trabajos/10 trabajos/10 = Tiempo Tiempo de de retorno retorno = (5+10)/2 (5+10)/2 = CPU E/S CPU E/S CPU CPU E/S CPU E/S CPU Proceso P0 CPU E/S CON MULTIPROGRAMACIÓN Se intercalan ráfagas de CPU con ráfagas de E/S CPU E/S CPU Proceso P1 Utilización Utilización CPU CPU = 100% 100% Productividad Productividad = 2 trabajos trabajos /6 /6 = Tiempo Tiempo de de retorno retorno = (5 (5 + 6)/2 6)/2 = Este Este representa representa un un caso caso extremo. extremo. En En el el caso caso de de TCPU TCPU << << T E/S E/S la la utilización utilización de de la la CPU CPU sería sería < 100% 100% CPU E/S CPU E/S CPU 55

56 5.- Criterios de planificación Histograma de intervalos de tiempo de CPU Gran número de ráfagas de CPU de corta duración Pequeño número de ráfagas de CPU de larga duración. frecuencia duración de ràfaga (pulsos de reloj) 56

57 5.- Criterios de planificación Para mejorar la utilización de la CPU se podría: Aumentar el grado de multiprogramación (mientras la memoria lo permita). Adoptar un algoritmo de planificación adecuado que optimice el orden de ejecución de los procesos. Para conseguir un algoritmo de planificación óptimo se podría: Determinar qué parámetros se quiere optimizar. Conocer el tipo de comportamiento de los procesos. 57

58 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 58

59 6.- Algoritmos de planificación Objetivo Decidir a cuál de los procesos que están en la cola de procesos listos se le asignará la CPU. Clasificación de algoritmos de planificación: Por orden de llegada (FCFS). Circular (RR, round-robin) Por prioridades Sin expulsión ( Non preemptive ) / Con expulsión ( Preemptive ) Estáticos / Dinámicos Combinación de algoritmos: Clases de prioridades. 59

60 6.- Algoritmos de planificación Servicio por orden de llegada (FCFS : first-come, first-served ) La CPU es asignada a todos los procesos en el mismo orden que lo solicitan. Proceso T. llegada T. CPU P P2 0 3 P3 0 3 Caso 1) Orden de llegada P1, P2, P3 T. de espera medio: ( ) / 3 = 17 P1 P2 P Caso 2) Orden de llegada P2, P3, P1 T. de espera medio: ( ) / 3 = 3 P2 P3 P

61 6.- Algoritmos de planificación Servicio por orden de llegada (FCFS : first-come, first-served ) Propiedades Sin expulsión: Cuando un proceso tiene asignada la CPU, la conserva hasta que desee liberarla, bien sea porque finaliza o por solicitud de una E/S. Ventajas Fácil de implementar Inconvenientes No optimiza el tiempo de espera: es muy variable en función del orden de llegada de los procesos y la duración de los intervalos de CPU. Efecto convoy: Los trabajos largos retrasan a los cortos (por ejemplo: piense en un sistema con un único trabajo con largas ráfagas de CPU y muchos trabajos con ráfagas cortas de CPU). No es adecuado para sistemas interactivos: Por ser sin expulsión un trabajo con una ráfaga de CPU larga puede provocar una espera larga a otros usuarios. 61

62 6.- Algoritmos de planificación Prioridad al trabajo más breve ( SJF: shortest job first ) Se asocia a cada trabajo (proceso) el tiempo del siguiente intervalo de CPU. Se asigna la CPU al trabajo con menor tiempo asociado. Sin expulsión: cuando un proceso tiene asignada la CPU, la conserva hasta que desee liberarla. 62

63 6.- Algoritmos de planificación Ejemplo: Prioridad al trabajo más breve (SJF). SJF (sin expulsión) Procesos Instante de llegada Duración P1 0 7 P2 2 4 P3 4 1 P4 5 4 Media del tiempo de espera: ( ) / 4 = 4 P1 P3 P2 P Tiempo de espera medio: ( ) / 4 = 4 63

64 6.- Algoritmos de planificación Variante con expulsión del SJF ( SRTF: Shortest Remaining Time First ) Prioridad al que le resta menos tiempo (para finalizar). La CPU es asignada al proceso que le queda menos tiempo para acabar la ráfaga de CPU en curso. Variante con expulsión de SJF: Si llega un proceso con un intervalo de CPU inferior al tiempo que le falta al proceso en ejecución para abandonar la CPU, entonces el nuevo proceso se hace con la CPU. 64

65 6.- Algoritmos de planificación Ejemplo del SRTF. Procesos T. Llegada Duración P1 0 7 P2 2 4 P3 4 1 Diagrama de Gantt P4 5 4 P1 P2 P3 P2 P4 P Cronograma por procesos P1 P2 P3 P4 Media del tiempo de espera: ( ) / 4 = 3 65

66 6.- Algoritmos de planificación SRTF: Shortest Remaining Time First Ventajas SRTF optimiza la media de tiempo de espera. Inconvenientes El tiempo del siguiente intervalo de CPU es difícil de predecir. Esto lo hace difícil de implementar para un planificador a corto plazo.(en los sistemas por lotes el usuario puede aportar información). Posibilidad de inanición: los trabajos largos no se ejecutarán mientras haya trabajos cortos. 66

67 6.- Algoritmos de planificación Planificación SJF/SRTF Aunque no se conoce la longitud de la siguiente ráfaga se puede predecir su valor esperando que sea de longitud similar a las anteriores. Estimación del siguiente intervalo de CPU Se utiliza la media exponencial: T n+1 =? t n + (1 -? ) T n t n : tamaño real del n-ésimo intervalo de CPU T n : Tamaño estimado del n-ésimo intervalo de CPU.? : coeficiente exponencial 0?????? Caso??= 1, los datos históricos son irrelevantes y sólo tiene importancia la ráfaga más reciente de CPU. T n+1 = t n Caso? = 0, la historia reciente no tienen efecto, se supone que las condiciones actuales son transitorias. T n+1 = T n Es habitual que? = 1/2, por lo que la historia reciente y antigua se ponderan de igual manera. 67

68 6.- Algoritmos de planificación Planificación SJF/SRTF Estimación del siguiente intervalo de CPU Desarrollando la fórmula y sustituyendo T n+1 por t n llegamos a: T n+1 =? t n + (1 -? )? t n (1 -? ) j? t n-j + + (1 -? ) n+1 T 0 Puesto que tanto (1 -? ) como? son menores o iguales que 1 cada término sucesivo tiene menos peso que el anterior Ejemplo de promedio exponencial para? = 1/2, y T 0 = 10 longitud de ráfaga tiempo Ráfaga de CPU: Predicción:

69 6.- Algoritmos de planificación Planificación por prioridades Se asocia a cada proceso un número (entero), llamado prioridad de acuerdo con algún criterio. Se asigna la CPU al trabajo con mayor prioridad (normalmente, mayor número). Ejemplo: SJF es un caso particular de prioridades en el que la prioridad es 1/T. 69

70 6.- Algoritmos de planificación Ejemplo: Planificación prioridades Diagrama de Gantt Procesos T. Llegada Duración Prioridad P P P P P1 P2 P3 P2 P4 P Cronograma por procesos P1 P2 P3 P4 70

71 6.- Algoritmos de planificación Planificación por Prioridades: Variantes Algoritmos con expulsión/sin expulsión. Prioridades estáticas/dinámicas. Prioridades estáticas: La prioridad se asigna antes de la ejecución y no cambia. Prioridades dinámicas: La prioridad cambia con el tiempo. 71

72 6.- Algoritmos de planificación Planificación por prioridades Problema de inanición Un algoritmo de prioridades es inherentemente poco equitativo. El problema extremo es: Inanición: Los procesos con baja prioridad no se ejecutan nunca. Solución: Actualización de prioridades: Esquema de prioridades dinámicas, donde la prioridad de un proceso aumenta con el tiempo de espera. 72

73 6.- Algoritmos de planificación Planificación circular ( RR: Round Robin ) A cada proceso se le asigna una pequeña cantidad de tiempo de CPU, llamada quantum de tiempo, normalmente mseg. Si el proceso tiene un intervalo de CPU mayor que el quantum, entonces es expulsado de la CPU y añadido a la cola de procesos listos. Si hay n procesos, cada uno obtiene 1/n del tiempo de la CPU en intervalos de q unidades, como máximo. 73

74 6.- Algoritmos de planificación Ejemplo: Planificación circular Diagrama de Gantt Quantum q=4 Procesos T. Llegada Duración P P2 0 3 P P1 P2 P3 P1 P3 P1 P3 P Cronograma por procesos P1 P2 P

75 6.- Algoritmos de planificación Planificación circular Valor del quantum de tiempo Para q grandes: el algoritmo degenera en un algoritmo FCFS. Para q pequeños: q ha de ser grande respecto al tiempo necesario para el cambio de contexto, sino la sobrecarga introducida es muy alta. Regla práctica: El 80% de los intervalos de CPU han de ser inferiores al quantum de tiempo. 75

76 6.- Algoritmos de planificación Planificación circular Propiedades: Equitativo. El tiempo de espera máximo está limitado por (n -1)q, antes de recibir su siguiente cuanto de tiempo. El tiempo de retorno medio varía con el cuanto de tiempo. En general es peor que el del algoritmo SRTF. Mejora si un porcentaje alto de trabajos acaban antes de que acabe el cuanto de tiempo. 76

77 6.- Algoritmos de planificación Planificación con múltiples colas Los procesos se pueden clasificar fácilmente en distintos grupos (interactivos, por lotes, etc.). La cola de procesos preparados consiste en realidad en diversas colas Cada cola ha de tener su propio algoritmo de planificación. Ha de haber un algoritmo de planificación entre colas. 77

78 6.- Algoritmos de planificación Ejemplo de algoritmo de planificación entre colas: Prioridades estáticas: Los procesos en cola con menor prioridad no se ejecutan mientras haya procesos en cola con mayor prioridad. Posibilidad de inanición. Cuotas de tiempo: Cada cola está asignada a un porcentaje del tiempo de CPU. Ejemplo: el 80% a trabajos interactivos y el 20% a trabajos por lotes. Procesos Sistema Usuarios privilegiados Procesos Interactivos Procesos Por Lotes FCFS (prio. 10) PRIO (prio. 8) RR (prio. 6) SJF (prio. 4) Colas de procesos preparados 78

79 6.- Algoritmos de planificación Planificación con múltiples colas realimentadas. Existen diferentes colas de procesos preparados. Cada cola posee: Política de planificación. Una prioridad asignada. Un proceso puede cambiar de cola de acuerdo con un esquema de actualización de prioridades: Los procesos con un tiempo de espera acumulado elevado son promocionados a una cola con prioridad superior. Los procesos con un tiempo de utilización de la CPU elevado son degradados a una cola con prioridad inferior. 79

80 6.- Algoritmos de planificación Planificación con múltiples colas realimentadas. Ejemplo RR [q=8] (prio. 10) RR [q=16] (prio. 8) FCFS (prio. 6) Colas de procesos preparados 80

81 6.- Algoritmos de planificación Múltiples colas realimentadas Parámetros de las colas realimentadas: Número de colas. Prioridad de cada cola. Método de promoción de un proceso. Método de degradación de un proceso. Método para determinar la cola de entrada de un proceso. 81

82 6.- Algoritmos de planificación Planificación en UNIX SVR2 Algoritmo de colas multinivel realimentadas. La prioridad es mayor cuanto menor sea el número asignado. Los procesos que se ejecutan a nivel de usuario tienen prioridades por encima del valor base (base = 60 en UNIX SVR2). Los procesos que se ejecutan en el núcleo (debido a que han efectuado una llamada al sistema) tienen una prioridad cuyo valor se encuentra comprendido entre 0 y valor base-1. 82

83 6.- Algoritmos de planificación Planificación en UNIX SVR2 Las colas tienen un algoritmo RR con quantum de 1seg. Asignación dinámica de prioridades, de acuerdo con: El proceso en ejecución incrementa su uso de CPU en una unidad, cada pulso de reloj (60 veces por segundo). Cada segundo se divide el uso de CPU por 2 y se recalcula la nueva prioridad con: Uso CPU= uso CPU/2 Nueva prioridad = valor base + uso CPU /2 La base puede empeorarse con la llamada nice 83

84 6.- Algoritmos de planificación Planificación en UNIX SVR2 Cambios entre modo usuario y núcleo. Cuando un proceso realiza una llamada al sistema, no altera su prioridad a menos que deba suspenderse. Cuando un proceso es suspendido en el núcleo adquiere una prioridad de núcleo (< 60) que únicamente depende de la razón que le ha llevado a suspenderse y no de su prioridad de usuario. Ejemplo: (A>>B, significa que A es más prioritario que B, y por tanto A tiene menor número de prioridad que B) Espera de operación en disco >> Espera de entrada de teclado >> Espera de finalización de escritura en pantalla >> Espera de terminación de proceso hijo (ver figura transparencia 85). Cuando un proceso finaliza una llamada al sistema, recupera la prioridad que tenía antes de suspenderse dentro del núcleo. Aunque el planificador sea expulsivo, un proceso no puede ser expulsado mientras se ejecute dentro del núcleo. 84

85 6.- Algoritmos de planificación Planificación en UNIX Prioridad más baja Prioridad más alta Prioridad de usuario 3 Prioridad de usuario 2 Prioridad de usuario 1 Prioridad de usuario 0 Esperando finalización hijo Espera E/S por terminal Esperando buffer de disco Esperando E/S de disco. Procesos esperando en modo usuario Procesos esperando en modo kernel 85

86 Planificación en UNIX Tiempo Proceso A Proceso B Proceso C Prioridad t. CPU Prioridad t. CPU Prioridad t. CPU SUPUESTOS: A, B, C se crean simult. Los procesos no hacen llamadas al sistema Prioridad inicial = Prioridad base = 60 El menor valor para la prioridad de usuario es el valor base (60), que a su vez indica la clase de mayor prioridad. El reloj interrumpe al sistema 60 veces/seg. Cada segundo calcula: t.cpu= t.cpu/2 prioridad= (t.cpu/2)

87 6.- Algoritmos de planificación Un ejemplo: Planificación de hilos Algoritmo del sistema operativo Round Robin (RR) cuanto = 2 t10 I/O Algoritmo biblioteca threads Turno de llegada (FCFS) P1 t11 t P2 t

88 6.- Algoritmos de planificación Un ejemplo: Planificación de hilos t10 t11t12 t20 P1 P2 t10 t11t12 t20 P1 P2 t10 t11t12 t20 Núcleo _ P1 P2 tn1 tn2 tn3 Threads a nivel de núcleo tn4 Núcleo _ tn1 tn2 Threads de usuario Núcleo _ tn1 tn3 tn2 Threads híbridos 88

89 6.- Algoritmos de planificación Planificación de hilos a nivel de núcleo t10 t11 t12 t20 t10 t11 t20 Usuario Núcleo tn1 tn2 tn3 tn4 tn1 tn2 tn4 t10 I/O t10 t11t12 P1 P2 t20 P1 t11 t12 P2 t20 Núcleo _ tn1 tn2 tn3 tn4 89

90 6.- Algoritmos de planificación Planificación de hilos a nivel de usuario t10 t20 t11 t20 t11 t12 t20 t10 Usuario Núcleo tn1 tn2 tn1 tn2 tn1 tn2 tn1 t10 I/O t10 t11t12 t20 P1 P2 P1 t11 t P2 t tn1 Núcleo _ tn2 90

91 6.- Algoritmos de planificación Planificación de hilos en la aproximación híbrida t10 t20 t11 t12 t10 t20 t11 t20 Usuario Núcleo tn1 tn2 tn3 tn1 tn2 tn3 tn2 t10 I/O P1 t10 t11t12 P2 t20 P1 t11 t12 P2 t20 Núcleo _ tn1 tn3 tn2 91

92 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 92

93 7.- Evaluación de algoritmos Procesos en la selección de un algoritmo: (1) Selección de criterios (utilización CPU, t. respuesta, etc.). (2) Estudiar la adaptación de cada algoritmo a esos criterios. Es necesario evaluar para cada sistema cual es el algoritmo de planificación más adecuado. 93

94 7.- Evaluación de algoritmos Existen diferentes métodos para llevar a cabo dicha evaluación: Evaluación analítica: Dada la carga de trabajos producir una fórmula matemática del rendimiento para cada algoritmo de planificación. Modelo determinista: Evaluar el rendimiento para cada caso particular de carga. Modelos de colas: Caracterizar la carga con una distribución estadística (distribución exponencial). Caracterizar la tasa de llegada de trabajos. Caracterizar el tiempo de servicio de un recurso. Hacer análisis estadístico de las redes de colas. Ejemplo: Fórmula de Little n =? * E n: tamaño medio de la cola,? tasa media de llegada, E: tiempo medio de espera en la cola. Simulaciones: Hacer un modelo, programarlo y ejecutarlo. 94

95 Índice 1.- Concepto de proceso. 2.- Implementación de procesos. 3.- Hilos de ejecución (threads). 4.- Conceptos de planificación. 5.- Criterios de planificación. 6.- Algoritmos de planificación. 7.- Evaluación de Algoritmos. 8.- S.O. dirigido por eventos. 95

96 8.- S.O. dirigido por eventos El S.O. puede verse como un programa que atiende y sirve los eventos producidos por los procesos y los dispositivos. Cuando se da alguno de estos eventos cambia el estado de alguno de los procesos existentes en el sistema o el propio estado del sistema operativo. Qué podemos considerar un evento de este tipo? Una llamada al sistema. Una interrupción de un dispositivo de E/S. Una interrupción de reloj. Una excepción provocada por el código de un proceso (Instrucciones ilegales, acceso a memoria no asignada, divisiones por cero,...). 96

97 8.- S.O. dirigido por eventos Proceso actual Llamada Atención de llamadas SISTEMA OPERATIVO IPC IPC, espera E/S Activación del proceso Suspensión del proceso Fin de E/S Fin de espera temporal Atención de interrupciones Fin de quantum Interrupción HW Fallo de página Excepción Atención de excepciones Terminación Planificación Instr. ilegal, div. por cero Terminación del proceso 97

98 Flujo de control del S.O. Reloj Interrupción de periférico Excepción del Procesador Llamada al Sistema Activación del Sistema Operativo Guardar parte del contexto de usuario, para realizar cambio de modo de ejecución (usuario->núcleo) Anotar el avance del tiempo Si tiempo límite excedido: Proceso en ejecución a preparado Pasar a preparado al proceso que esperaba el fin de la E/S Finalizar el proceso en ejecución Pasar a suspendido al proceso en ejecución Crear hijo. Hijo a preparado Resolver la llamada al sistema Planificador: Selección del próximo proceso. Realizar cambio de contexto Realizar cambio de modo de ejecución (núcleo -> usuario). Recuperar contexto de usuario. 98

Procesos. Planificación del Procesador.

Procesos. Planificación del Procesador. Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos

Más detalles

Sistemas Operativos Tema 6. Planificación de procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos Tema 6. Planificación de procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana Sistemas Operativos Tema 6. Planificación de procesos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenido Modelo del sistema y criterios de rendimiento Algoritmo FCFS Algoritmo SJF

Más detalles

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos 1.- Notas y criterios para los problemas de planificación NOTA GENERAL: Normalmente los enunciados no son rigurosamente completos,

Más detalles

Unidad 2: Gestión de Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 4, Procesos: 4.1 El concepto de proceso. 4.2 Planificación de procesos. 4.3 Procesos cooperativos. 4.4 Hilos (threads). Informática (Segovia) 1 4.1 El concepto de proceso.

Más detalles

ESTRUCTURAS BÁSICAS DE UN S.O.

ESTRUCTURAS BÁSICAS DE UN S.O. PROCESOS ESTRUCTURAS DE DATOS BCP PROCESOS OPERACIONES SOBRE LOS PROCESOS ESTADOS DE LOS PROCESOS PLANIFICACIÓN DE LA CPU ALGORITMOS NO APROPIATIVOS ALGORITMOS APROPIATIVOS EVALUACIÓN DE LAS POLÍTICAS

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

1. Sistema Operativo Unix

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

Más detalles

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS

Más detalles

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación

Más detalles

TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO

TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO 1. Introducción. Funciones del núcleo de un S.O. Los Sistemas Operativos proporcionan un número potencialmente grande de servicios accesibles al usuario. Uno de

Más detalles

CÓMO TRABAJA TU SISTEMA OPERATIVO?

CÓMO TRABAJA TU SISTEMA OPERATIVO? CÓMO TRABAJA TU SISTEMA OPERATIVO? AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA SISTEMAS OPERATIVOS ETAPA CICLO MEDIO Y SUPERIOR DE INFORMÁTICA Resumen Los sistemas operativos nacen de la informática. Su función

Más detalles

PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia.

PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia. PROGRAMACION CONCURRENTE I.2 Recursos para la concurrencia. J.M. Drake 1 Procesos Concurrentes Concepto de proceso. Estructura de los procesos. Estados de un proceso. Gestión de los procesos. 2 2 Plataforma

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 / 41

Más detalles

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene

Más detalles

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1 Procesos Procesos Mario Medina mariomedina@udec.cl El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronización

Más detalles

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2014 Planificación Sistemas Operativos Curso 2014 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

Sistemas Operativos. Curso 2015 Planificación

Sistemas Operativos. Curso 2015 Planificación Sistemas Operativos Curso 2015 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Unidad 2: Gestión de Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 5: Planificación de procesos. 5.1 Criterios y tipos de planificación. 5.2 Algoritmos de planificación. 5.3 Métodos multicolas y multiprocesadores. 5.4 Evaluación de políticas

Más detalles

Tema 2. Procesos. 1. Concepto de proceso

Tema 2. Procesos. 1. Concepto de proceso Tema 2. Procesos 1. Concepto de proceso. 2. Principios de la Programación concurrente. 1. Concurrencia. Programación concurrente. 2. Áreas de comunicación entre procesos. 1. Exclusión mutua. 2. Sincronización.

Más detalles

Scheduling. Ricardo Corin

Scheduling. Ricardo Corin Scheduling Ricardo Corin Introducción Múltiples procesos en estado READY compiten por tiempo de CPUs Si Ready > CPU, no podemos ejecutar todos simultáneamente El planificador o scheduler se ocupa de seleccionar

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS 1. Concepto de Sistema Operativo. Funciones Un sistema operativo (S.O.) es un programa o conjunto de programas de control que tiene por objeto facilitar

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

PLANIFICACIÓN DE PROCESOS

PLANIFICACIÓN DE PROCESOS PLANIFICACIÓN DE PROCESOS (Scheduling) 1 Introducción: Scheduling Estados de un proceso Creado Memoria Principal Ejecución Terminado Espera E/S Listo Fin espera E/S Bloqueado Memoria Virtual Listo y suspendido

Más detalles

Procesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4)

Procesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4) Índice Procesos Gustavo Romero 1 Definición 2 Control Arquitectura y Tecnología de Computadores 14 de febrero de 2014 3 Estado 4 IPC Gustavo Romero Procesos (1/50) Gustavo Romero Procesos (2/50) Lecturas

Más detalles

Unidad 2: Gestión de Memoria

Unidad 2: Gestión de Memoria Unidad 2: Gestión de Memoria Tema 3, Gestión de Memoria: 3.1 Definiciones y técnicas básicas. 3.2 Gestión de memoria contigua: Partición, fragmentación, algoritmos de ubicación... 3.3 Paginación: Estructura

Más detalles

Sistemas Operativos. Curso 2016 Procesos

Sistemas Operativos. Curso 2016 Procesos Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor

Más detalles

1 HILOS (THREADS) EN JAVA

1 HILOS (THREADS) EN JAVA 1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los

Más detalles

Modelo de procesamiento

Modelo de procesamiento Índice Lecturas recomendadas Procesos Gustavo Romero López Arquitectura y Tecnología de Computadores 15 de mayo de 2015 1 Definición 2 Control 3 Estado 4 IPC Jean Bacon Operating Systems (4) Abraham Silberschatz

Más detalles

Tema 2: Implementación del núcleo de un Sistema Operativo

Tema 2: Implementación del núcleo de un Sistema Operativo Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema

Más detalles

Sistemas Operativos - Funciones del sistema operativo» Cargar y ejecutar programas (procesos)» Facilitar funciones de E/S» Controlar y distribuir el acceso a los recursos» Controlar errores Componentes

Más detalles

Sistemas Operativos I

Sistemas Operativos I Sistemas Operativos I Parte 3 Arnoldo Díaz Ramírez adiaz@itmexicali.edu.mx Septiembre de 2007 Unidad 3 Planificación Planificación El planificador es un módulo del sistema operativo que asigna tiempo de

Más detalles

Requerimientos principales de un sistema operativo

Requerimientos principales de un sistema operativo Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta

Más detalles

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa Memoria Virtual Capítulo 8 Hardware y Estructuras de Control Las referencias de memoria se traducen a direcciones físicas dinámicamente en tiempo de ejecución Un proceso puede ser intercambiado hacia dentro

Más detalles

2. Sistema Operativo Windows

2. Sistema Operativo Windows 2. Sistema Operativo Windows 2.1 Introducción al S.O. Windows NT y Windows 2000 2.2 Subsistema de Archivos 2.3 Subsistema de Procesos 2.4 Gestión de Memoria Dpto. Lenguajes Tema y 2: Sistemas 2. Sistema

Más detalles

Implementación de monitores POSIX

Implementación de monitores POSIX Implementación de monitores POSIX Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Programación concurrente: Problemática Presencia de condiciones de

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

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

TEMA 7. GESTIÓN DE PROCESOS

TEMA 7. GESTIÓN DE PROCESOS TEMA 7. GESTIÓN DE PROCESOS 1. EL BLOQUE DE CONTROL DE PROCESOS... 1 1.1.- CAMBIO DE CONTEXTO... 2 2. ESTADO DE LOS PROCESOS... 2 2.2.- TRANSICIONES DE ESTADO... 3 2.3.- OPERACIONES SOBRE PROCESOS... 4

Más detalles

Sistemas Operativos I Última modificación 2008/06

Sistemas Operativos I Última modificación 2008/06 Última modificación 2008/06 Compilación de apuntes de los temas 1 a 3 de la asignatura "Sistemas Operativos 1", curso 2005/2006, de la Universidad Politécnica de Valencia (http://www.dsic.upv.es/~eargente/),

Más detalles

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas: Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)

Más detalles

Señal de petición de Interrupción

Señal de petición de Interrupción Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del

Más detalles

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores UNIDAD DE ENTRADA SALIDA Conceptos Unidad de entrada-salida (E/S): Elemento que proporciona un método de comunicación eficaz entre el sistema central y el periférico. Funciones Control y temporización

Más detalles

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor. El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.

Más detalles

Conceptos Generales Tabla de Contenidos

Conceptos Generales Tabla de Contenidos Conceptos Generales Tabla de Contenidos 1. Conceptos Generales... 2 1.1 Introducción:... 2 1.2 Definición de un Sistema Operativo... 2 1.3 Estructura, elementos y funciones...5 1.3.1 Evolución de los sistemas

Más detalles

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación. EJERCICIOS DE PLANIFICACIÓN: 1) Un sistema informático posee los siguientes recursos: - una CPU - tres unidades de almacenamiento UAM1, UAM2 y UAM3. En nuestro sistema tenemos dos tipos de procesos: Tipo

Más detalles

Convivencia. Gestión del Sistema de Entrada/Salida

Convivencia. Gestión del Sistema de Entrada/Salida Convivencia Gestión del Sistema de Entrada/Salida Dra. Carolina Carolina Mañoso Mañoso Dpto. Dpto. Imformática Informática y y Automática.UNED Introducción (1/2) El sistema de Entrada/Salida es la parte

Más detalles

Sistemas operativos. Tema 9: Gestión n de E/S

Sistemas operativos. Tema 9: Gestión n de E/S Sistemas operativos Tema 9: Gestión n de E/S Gestión n de E/S Un sistema de computación n puede incorporar múltiples dispositivos de E/S: De interfaz de usuario: ratones, teclados, pantallas, etc. De almacenamiento:

Más detalles

Solución Examen Febrero 2006

Solución Examen Febrero 2006 Solución Examen Febrero 2006 Lea detenidamente las siguientes instrucciones. No cumplir los requerimientos puede implicar la pérdida del examen. Formato Indique su nombre completo y número de cédula en

Más detalles

Sistema de proceso por lotes: esquema operativo

Sistema de proceso por lotes: esquema operativo Sistema de proceso por lotes: esquema operativo MAINFRAME CPU Lector de tarjetas MEM SO Impresora Programa de usuario Programadores Sistema de proceso por lotes: características operativas Los programadores

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

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005 Ingeniería Superior de Informática. Curso º. Sistemas Operativos. Examen Final. TEORÍA. de Enero de 005 Nombre: DNI:. ( puntos). La TFA es la tabla que, en UNIX, guarda los punteros de posición de cada

Más detalles

Sistemas Operativos. Oscar Bedoya oscar.bedoya@correounivalle.edu.co http://eisc.univalle.edu.co/~oscarbed/so/

Sistemas Operativos. Oscar Bedoya oscar.bedoya@correounivalle.edu.co http://eisc.univalle.edu.co/~oscarbed/so/ Sistemas Operativos Oscar Bedoya oscar.bedoya@correounivalle.edu.co http://eisc.univalle.edu.co/~oscarbed/so/ * Planificación apropiativa - SJF apropiativo - Prioridad apropiativo - Round-Robin * Planificación

Más detalles

Convivencia Gestión de la Memoria

Convivencia Gestión de la Memoria Convivencia Gestión de la Memoria Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Introducción (1/2) Para que un proceso esté preparado para ejecución debe estar cargado en memoria principal La

Más detalles

3 Planificación de procesos y procesadores

3 Planificación de procesos y procesadores 3 Planificación de procesos y procesadores La forma en que se reparte el uso de la CPU entre los procesos tiene un enorme impacto en el rendimiento de un sistema multiprogramado, por lo que siempre se

Más detalles

Concurrencia entre Procesos.

Concurrencia entre Procesos. Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que

Más detalles

Procesos. Bibliografía. Threads y procesos. Definiciones

Procesos. Bibliografía. Threads y procesos. Definiciones Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux Sistemas operativos: una visión aplicada Capítulo 11 Estudio de casos: Linux Contenido Historia de Linux Características y estructura de Linux Gestión de procesos Gestión de memoria Entrada/salida Sistema

Más detalles

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos. 1 El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos. 2 Qué es un sistema operativo Un sistema operativo es un programa que tiene encomendadas una serie de funciones

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

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2 Conceptos clave de un sistema operativo. 1.3 El sistema operativo como administrador

Más detalles

Introducción a los sistemas operativos

Introducción a los sistemas operativos Sistemas Operativos I Tema 1 Introducción a los sistemas operativos Equipo de sistemas operativos DISCA / DSIC UPV Objetivos 1.- Presentar el concepto de sistema operativo. 2.- Describir las funciones

Más detalles

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

TEMA 6: GESTIÓN DE ENTRADA/SALIDA 1. Introducción TEMA 6: GESTIÓN DE ENTRADA/SALIDA Función principal de un S.O.: controlar todos los dispositivos de E/S de la computadora. El Subsistema de E/S se encarga de Emitir órdenes a los dispositivos

Más detalles

Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador

Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador Sistemas operativos avanzados 1.3 Algoritmos de planificación del procesador Parámetros Cuando tenemos más de un proceso en condiciones de ejecutar, debemos escoger uno de entre ellos. Para escogerlo empleamos

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

Concurrencia: Exclusión mutua y Sincronización

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

Más detalles

Computación Tercer Año

Computación Tercer Año Colegio Bosque Del Plata Computación Tercer Año UNIDAD 3 Sistemas Operativos E-mail: garcia.fernando.j@gmail.com Profesor: Fernando J. Garcia Ingeniero en Sistemas de Información Sistemas Operativos Generaciones

Más detalles

Capítulo 4 Gestión de memoria

Capítulo 4 Gestión de memoria Sistemas operativos: una visión aplicada Capítulo 4 Gestión de memoria Contenido Objetivos del sistema de gestión de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua

Más detalles

INDICE. Prefacio Parte 1: sistemas operativos tradicionales

INDICE. Prefacio Parte 1: sistemas operativos tradicionales INDICE Prefacio Parte 1: sistemas operativos tradicionales 1 1 Introducción 1.1 Qué es un sistema operativo? 1.1.1 El sistema operativo como una maquina extendida 3 1.1.2 El sistema operativo como controlador

Más detalles

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010 Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Componentes y Funciones. Tipos de Software

Componentes y Funciones. Tipos de Software Tema 3.1 Software Componentes y Funciones Tipos de Software Sistemas Conjunto de Instrucciones Encargado de comunicar al usuario con la máquina Capa de Abstracción Usuario-Máquina Permite el control de

Más detalles

Solución - Examen Marzo de 2003

Solución - Examen Marzo de 2003 Solución - Examen Marzo de 2003 Problema 1 Se debe responder a las cuestiones aquí planteadas de manera concisa (no más de 15 renglones por pregunta. En todos los casos debe justificar su respuesta. Pregunta1

Más detalles

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución Tema 8 Procesos 8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso * Definición informal: un proceso es un programa en ejecución Un programa ejecutable es un conjunto de instrucciones y datos

Más detalles

Trabajo práctico Nro. 2 P.R.O.C.E.R. Código Entendible y Rústico. Ingeniería en Sistemas de Información Cátedra de Sistemas Operativos

Trabajo práctico Nro. 2 P.R.O.C.E.R. Código Entendible y Rústico. Ingeniería en Sistemas de Información Cátedra de Sistemas Operativos Trabajo práctico Nro. 2 P.R.O.C.E.R. Planificador de Rutinas Organizadas en Código Entendible y Rústico Ingeniería en Sistemas de Información Cátedra de Sistemas Operativos - 2C2012 - Versión 1.0 Índice

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

Gestión de Memoria. Curso 2005-2006. AT3148 Ampliación de Sistemas Operativos A. Sánchez-Macián, J.A. Maestro, M.P.

Gestión de Memoria. Curso 2005-2006. AT3148 Ampliación de Sistemas Operativos A. Sánchez-Macián, J.A. Maestro, M.P. Gestión de Memoria Transparencias basadas en el libro de referencia: Sistemas operativos. Una visión aplicada. J. Carretero, F.García, P. de Miguel, F. Pérez. McGraw Hill 2001 Curso 2005-2006 Contenido

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Gestión de procesos DEFINICIONES DE PROCESOS

Gestión de procesos DEFINICIONES DE PROCESOS DEFINICIONES DE PROCESOS Gestión de procesos Un programa en Ejecución. Una instancia de un programa ejecutándose en un computador. La entidad que se puede asignar o ejecutar en un procesador. Una unidad

Más detalles

Fundamentos básicos de los Sistemas Operativos

Fundamentos básicos de los Sistemas Operativos Fundamentos básicos de los Sistemas Operativos Índice de contenido Fundamentos básicos de los sistemas operativos Capítulo 1. Consideraciones generales de los sistemas operativos...7 Objetivos...7 Servicios

Más detalles

TIPOS DE SISTEMAS OPERATIVOS

TIPOS DE SISTEMAS OPERATIVOS TIPOS DE SISTEMAS OPERATIVOS En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Tema 4. Gestión Avanzada de Memoria

Tema 4. Gestión Avanzada de Memoria Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Índice 1 El sistema de gestión de memoria 2 Generación de un ejecutable Bibliotecas Formato del ejecutable Mapa de memoria

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

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

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

Mensajes. Interbloqueo

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

Más detalles

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: INTERRUPCIONES La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: a)consultas (POLLING): Se comprueban cíclicamente,

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

Tema 6. Gestión de la memoria

Tema 6. Gestión de la memoria Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos

Más detalles

TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL.

TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL. TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL. 8.1. Introducción. 8.2. Problemas de los sistemas operativos convencionales. 8.3. Sistemas operativos para tiempo real 8.3.2. KU-Real-Time Linux (KURT). 8.3.3.

Más detalles

TIPOS DE PROCESAMIENTOS

TIPOS DE PROCESAMIENTOS TIPOS DE PROCESAMIENTOS El desempeño de un computador puede tener diferentes medidas de elección para diferentes usuarios. Para un usuario individual que está ejecutando un único programa, la computadora

Más detalles

La memoria principal. Los subsistemas de E/S. Los buses del sistema

La memoria principal. Los subsistemas de E/S. Los buses del sistema GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal

Más detalles

Sistemas Operativos I Manual de prácticas

Sistemas Operativos I Manual de prácticas Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...

Más detalles