









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Sistemes operatius I, Profesor: Adolfo Ferrer, Carrera: Enginyeria Informàtica, Universidad: UPV
Tipo: Apuntes
1 / 16
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










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