Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


GESTION DE PROCESOS , Apuntes de Sistemas Operativos

Asignatura: Sistemes operatius I, Profesor: Adolfo Ferrer, Carrera: Enginyeria Informàtica, Universidad: UPV

Tipo: Apuntes

Antes del 2010

Subido el 29/12/2009

abby4tonda
abby4tonda 🇪🇸

4.5

(25)

5 documentos

1 / 16

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Sistemas operativos 2º
TEMA 2 GESTION DE PROCESOS
Objetivos
1. Entender el concepto de multiprogramación e identificarlo como el origen del concepto de
proceso.
2. Profundizar en el concepto de proceso
3. Identificar estados y transiciones de estado típicas de procesos
4. Entender aspectos de implementación de sistemas de procesos
5. Identificar el bloque de control de proceso como la estructura de datos principal de la
implementación de un proceso
6. Identificar las tablas de procesos como la estructura de datos principal de la implementación de un
conjunto de procesos
7. Entender el concepto de cambio de contexto e identificarlo como una de las operaciones básicas en
la implementación de Sistema de proceso.
8. Identificar la cola como una estructura de datos básica para organizar procesos
9. Entender distintos objetivos típicamente perseguidos con la planificación del proceso.
10. Entender distintos algoritmos de planificación del procesador
Contenido
1. Concepto de procesos
2. Implementación de procesos
3. Conceptos de planificación de procesos
4. Algoritmos de planificación
Temario
1. Concepto de procesos
Concepto de Ráfaga de ejecución
Intervalo de tiempo durante el cual un programa mantiene una pauta de ejecución.
Estructura en ráfagas de la ejecución de un programa
La ejecución de un programa procede según una secuencia alterna de ráfagas de CPU y de
espera por E/S
1.1. Concepto de monoprogramación
oExplotación de un sistema de computación a partir de un único programa
oInconvenientes de la monoprogramación _ Durante las ráfagas de espera por la E/S se
desaprovecha la CPU.
1.2. Concepto de ejecución concurrente_
oDadas 2 secuencias de instrucciones independientes se dice que su ejecución es
concurrente si entre la ejecución de la 1ª y la última instrucción de la 1ª secuencia se
ejecuta al menos alguna instrucción de la 2ª.
oLa ejecución de ambas secuencias tiene lugar en contextos independientes.
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga GESTION DE PROCESOS y más Apuntes en PDF de Sistemas Operativos solo en Docsity!

TEMA 2 GESTION DE PROCESOS

Objetivos

  1. Entender el concepto de multiprogramación e identificarlo como el origen del concepto de proceso.
  2. Profundizar en el concepto de proceso
  3. Identificar estados y transiciones de estado típicas de procesos
  4. Entender aspectos de implementación de sistemas de procesos
  5. Identificar el bloque de control de proceso como la estructura de datos principal de la implementación de un proceso
  6. Identificar las tablas de procesos como la estructura de datos principal de la implementación de un conjunto de procesos
  7. Entender el concepto de cambio de contexto e identificarlo como una de las operaciones básicas en la implementación de Sistema de proceso.
  8. Identificar la cola como una estructura de datos básica para organizar procesos
  9. Entender distintos objetivos típicamente perseguidos con la planificación del proceso.
  10. Entender distintos algoritmos de planificación del procesador Contenido
  11. Concepto de procesos
  12. Implementación de procesos
  13. Conceptos de planificación de procesos
  14. Algoritmos de planificación **Temario
  15. Concepto de procesos**
  • Concepto de Ráfaga de ejecución Intervalo de tiempo durante el cual un programa mantiene una pauta de ejecución.
  • Estructura en ráfagas de la ejecución de un programa La ejecución de un programa procede según una secuencia alterna de ráfagas de CPU y de espera por E/S 1.1. Concepto de monoprogramación o Explotación de un sistema de computación a partir de un único programa o Inconvenientes de la monoprogramación_ Durante las ráfagas de espera por la E/S se desaprovecha la CPU. 1.2. Concepto de ejecución concurrente_ o Dadas 2 secuencias de instrucciones independientes se dice que su ejecución es concurrente si entre la ejecución de la 1ª y la última instrucción de la 1ª secuencia se ejecuta al menos alguna instrucción de la 2ª. o La ejecución de ambas secuencias tiene lugar en contextos independientes.

1.3. Concepto de multiprogramación o Conceptos:  Ejecución concurrente de multiprogramas  Explotación de los recursos de un computador a partir …….. o Interés de la multiprogramación:  Optimizar el aprovechamiento de la CPU  Soportar la ejecución concurrente de múltiples tareas  Soportar el uso simultáneo por parte de múltiples usuarios  Flexibilizar el modelo de programación o Soporte necesario Cierta autonomía de la E/S (interrupciones, DMA,…) 1.4. Concepto de proceso o Conceptos:  Abstracción, creada por el Kernel del SO, para propósitos de ejecución de programas  Maquina virtual en la que se ejecutan programas  Una maquina real se desdobla en múltiples maquinas virtuales  Un programa se ejecuta en un proceso  En una maquina real se puede ejecutar, de forma concurrente, múltiples programas (multiprogramación), en múltiples procesos. o Componentes HW que se reflejan en el proceso.  Los Principales son: Procesador, memoria y recursos de E/S  Otros aspectos relevantes en el proceso: Identificación y atributos de planificación o Abstracciones SW relacionadas con el HW  Contexto de procesador(CPU)  Definición: Inf. de estado que del conjunto de recursos relacionados con el CPU es mantenido por el Kernel, en relación con un proceso.  Sus Componentes: a) Contador de programa, b) Estado de registros de propósito general , c) Flags d) Puntero de fila.  Contexto de memoria_  Definición: inf. de estado que del conj. de los recursos relacionados con el mecanismo de acceso a memoria y con su contenido es mantenida por el Kernel.  Componentes del contexto de mem. de un proceso: a) Inf. relacionada con el sistema de traducción de direcciones b) Inf. relacionada con el contexto de mem.  Relacionada con el sistema de traducción_ tabla de pags del proceso  Relacionada con el contenido de la mem._ imagen de mem de proceso  Componentes de la imagen de un proceso: Código, datos y pila.

La idea de suspensió en tenim diferents estats. Un procés pot posar a un altre en estat d'acabat, o siga, que el mata, menys en l'estat d'execució. Pot matar-los sempre que no estiga en execució perquè el que mata ja està en el procés de “execució”. Recordar: els apunts només es refereixen a ordinadors d'un únic processador, per tant, només processa un únic procés en execució. 1.8. Operaciones básicas relacionadas con procesos o Creación Ej. en UNIX és el: fork() o Ejecución del programa EJ. UNIX: execve() o Terminación normal EJ. UNIX: exit() - esta primitiva és la que indica que s'ha terminat. Amb el d'abans, si executem, el posar un exit no implica que s'acabe el procés, s'acaba el programa però el procés no té perquè haver acabat. o Sincronización EJ. UNIX: waitpid() o Señalización entre procesos EJ. UNIX: kill(); o Suspensión EJ. UNIX: read()sobre un tubo/pipe vacío/a o Activación EJ. UNIX: un write() pone contenido sobre un tubo con un lector esperando lo activo 1.9. Ejemplos Els PID dels processos no tenen perquè ser consecutius, en mig es pot haver fet un altre procés i tindre un número. I a l'executar, com no és determinista, no té perquè traure sempre en el mateix ordre. Podria traure 1r el del fill i després el del pare (diap 16). En foto primer és el fill i després el del pare. Zombie: al pare no li ha arribat el retorn del procés fill, per tant, unix encara no es desfà del procés pare.

2. Implementación de procesos 2.1. Requerimientos para la ejecución concurrente de procesos o La ejecución concurrente de procesos requiere:  La descripció dels processos.  La asignación de recursos y preparación de los procesos. El multiplexador de la CPU entre los distintos procesos, cambiado de contexto de uno a otro proceso, repartiendo el tiempo de la CPU  El uso de estructuras de datos globales para controlar la ejecución de los diferentes procesos. 2.2. El bloque de control de procesos(PCB) o Concepto: Estructura de datos en la que se almacena o describe toda la información relacionada con la implementación de un proceso. o Comprende:  Atributos de identificación: componentes de,  Atributos de planificación: para saber a cada proceso cuanta CPU le toca en un momento dado.  Contexto de CPU o procesador.  Descripción del contexto de memoria.  Descripción del contexto de E/S  Información de control 2.3. Tabla de Proceso o Concepto_ estructura de datos global formada por los PCBs de los distintos procesos. La tabla es de tipo vector, donde a cada entrada o proceso corresponde a un registro de ese vector, donde cada “columna” es la cola de procesos (PCB). idenficación planificación context_cpu memoria entra/salid … Siguiente -

o Overhead de cambio de contexto El canvi de context, suposa un cost de temps, per a passar -dins de la recta del temps- de P1 a P2, necessitem un temps per a canviar de context i el processador está usant-se per a canviar de context però és improductiu. Per tant, els processaments útils són les Ps però de despesa de CPU és el mateix més el cost del canvi de context. El temps compartit, té per objectiu repartir la màquina entre usuaris, perquè ací es veu que no hi ha aprofitament del processador ja que el canvi de context suposa un minvament del rendiment del maquinari. 2.5. Organización de procesos en colas

2.6. Colas y estado 2.7. Estructura de control del sistema 2.8. Arquitectura Kernel

  • Punts de vista global: el que representa al conjunt dels usuaris (posseïdor o possibilitador de la instalació), però sempre sota el punt de vista de qui compra la màquina, en funció del que pretenga el propietari.
  • Punts de vista individual: el de cadascú dels individus que fan ús d'una instal·lació. 3.3. Objetivo de planificación globales o Maximizar la productividad (THROUGHPUT)  Maximizar el nº de tareas completadass por unidad de tiempo. Aquesta és la pretensió però no sempre tindrem que totes les tasques tinguen la mateixa importància i duració d'execució, sempre tindrem unes prioritats per a cada tasca. Acabar la major quantitat de treballs possibles o Maximizar la utilización de los recursos  Minimizar el desaprovechamiento de los recursos o Garantizar la equidad  Garantiza que cada proceso (usuario) recibe atención acorde a parámetros preestablecidos. No vol dir tots igual sinó que, es repartiex de manera apropiada d'acord a algun acordament previ. Si 2 homes compren una màquina però paga el 90%, uno té 9 i a l'altre li correspondrà 1. 3.4. Objetivo de planificación individuales o Minimizar el tiempo de retorno (o de circulació)  Minimizar el tiempo que tarda en completarse una tarea. És lo que de veritat l'importa a un usuari; que el temps des de que somet a un processament fins que acaba siga el més curt possible, és la principal mesura de la que es preocupa un usuari individual; çò és, que lo seu acabe prompte i eixe temps és el de circulació o retorn. I no es fa des d'un nivell baix, potser un temps de circulació de llarg però que no es fique en el planificador a baix nivell (circulació: des de que es posa en l'intèrpret de comandament fins que acaba) o Minimizar el tiempo de espera  Minimizar el tiempo que un proceso esta en la cola de preparados. El planificador de baix nivell té la culpa que estiga en la cua de preparats perquè és ell qui ho fica i açò és el que va que es tarde més l'espera. Però el temps que realment conta per a l'usuari és el de retorn o circulació. o Minimizar el tiempo de respuesta (només en processos interactius: p.e.: un editor, on un usuari està sentat en un terminal)  Minimizar el tiempo que tarda un proceso interactivo en recibir atención. Que quan polsem la tecla A no tinguem que esperar 10 minuts, sinó que ho faça al moment i que tinguem la sensació que la màquina està al nostre abast de forma exclusiva i que en senta ben atés.

3.5. Ejemplo En el dibuix per qüestions tècniques, la idea és que els quadres de la salva són del mateix tamany. Ací s'ha omés el “overhead” del canvi de context, està generalitzat.

  1. Algoritmos de planificación (de bajo nivel) Totes són susceptibles de ser combinades entre elles. 4.1. Por orden de llegada (FCFS) Compten només els tems d'espera, P2 està en 0 però s'executa als 24 segons (en acabar P1), P3 esperarà 0+24+3 = 27 En el dibuix de baix, el temps de circulació de P1 és de 30 i en el de dalt és de 24. Notas: - Seria el més just: segons arribes entres. - En general la valoración de un algoritmo no se puede hacer solo a partir de un caso - Me dan niveles de satisfacción distintos (P1,P2,P3 ≠P2,P3,P1)

4.4. Estimación de ráfagas de CPU Una estimación de cuánto va a durar añadido al saber qué ha durado, nos permite conocer o estimar lo que nos quedará por ejecutar. Sólo nos sirve para aplicar de forma genérica y además, no siempre podremos estimar pq se desconocen los datos. La predicción está siempre basada en la historia. Este tipo de estimación requiere de predicciones anteriores.. 6 4 10 8 10+6 /2 = 8.... 4.5. Planificación por prioridades

  • Si los 2 procesos tienen la misma prioridad hay varias opciones, por Ej.: por duracion o por orden de llegada

Se le asignan a los procesos el atributo de prioridad. El proceso más prioritario tendrá más derecho a usar la CPU. Más prioritario significa conceptualmente que tiene preferencia en el uso de la CPU. No tiene que ver con si el número que tenga és más grande o más pequeño. Se puede planificar con o sin expulsion. Lo que no ha llegado no se puede planificar. Esto es un tema de codificación, en UNIX la prioridad la tiene el número más bajo. También hay algoritmos de prioridad estática: a un proceso se le asigna una prioridad y en función de ella se planifica, no variando esa prioridad en el tiempo de manera frecuenta. También las hay dinámicas. Dinámica se da si las situaciones son contínuamente cambiantes de forma que la planificación es constante, y las prioridades se les aplica diferentes valores, de forma que está contínuamente cambiando los valores, en ese caso es dinámica. (Las circunstancias determinan los valores). Si sólo se cambia los valores en contadas ocasiones, no es dinámica sinó que es estática. 5 10 15 10

4.8. Múltiples colas con realimentación

  • Promoción de procesos entre las colas Aquí aparece la posibilidad de promocionar en la cola según las circunstancias o que sea degradado a otra cola con menos prioridad. RR = round roud, quantum representa cambio de contexto (overhead), y quantum más grandes da lugar a eficiencia pq hay menos cambios de proceso cuanto mayor es el quantum.