BII TEMA 4 TEORIA SSOO Flashcards
Gestión de memoria
Técnica de segmentacion
La memoria como un programa, lo dividimos en segmentos variables
- texto ( código, instrucciones)
-data (datos)
- stack (pila)
Los coloca en una zona libre y contigua
Produce fragmentación externa (pequeños huecos)
Estructura de datos: tabla de segmentos->entrada n° segmento= dirección bases + límite para no salirnos
Dirección virtual=n°segmento +desplazamiento
Gestión de memoria. Segmentación
Que tiene la dirección logica
N° segmento
Desplazamiento
Gestión de memoria
Segmentación
Tabla de segmentos
Traduce la dirección logica a fisica
Gestión de memoria
Fragmentación externa
Se produce en la segmentación. Al ser segmentos variables. En la memoria se quedan trozos pequeños pero no cabe un trozo grande.
Se soluciona con la desfragmentacion
Gestión de memoria
Paginacion
Concepto mmu y tlb
Procesos divididos en páginas
Memoria divididas en marcos
Mismo tamaño página y marcos, con lo que se elimina la fragmentación externa, si interna ( cuando la última página no ocupa el marco por completo)
El tamaño de la página lo determina el SO
MMU-parte hw (circuitería) de la cpu que hace la traducción de dirección logica a dirección física
TLB- memoria caché para traducir lo más utilizado. Es una foto de parte de la tabla de pagina
Gestión de memoria
Paginacion
MMU
Memory management unit
Parte de la circuitería de la cpu que hace la traducción de la dirección logica a fisica.
Se apoya en el TLB : cache para no tener que hacer muchos accesos a la tabla de paginas
Gestión de memoria
Paginacion
Dirección logica se compone de
Página
Desplazamiento
Gestion de memoria
Paginacion
Tabla de paginas
Tabla donde se apoya la MMU para traducir la dirección/memoria logica/virtual a dirección/memoria fisica.Para ir más rápido la cachea en la memoria principal en la TLB
Gestión de memoria
Segmentación paginada
Mezcla de las dos
Primero segmentos y luego cada segmento lo divide en páginas
Algoritmos reemplazo
Para quitar de memoria principal cuando está llena
FIFO - reemplaza la página que lleva más tiempo en memoria principal
LRU -Least recently used- a cada página le asocia el tiempo en que fue referencia. Quita la que fue accedida hace más tiempo
NRU- Not recently used- a cada página un bit de referencia y modificación.
Tipos planificación de procesos
-Largo plazo: coge procesos de la cola preparados y los carga en memoria. Se ejecuta con poca frecuencia. (Poner nuevos procesos). Controla el grado de multiprogramación: cuantos programas queremos en memoria principal
-medio plazo: decide que proceso pasa de la memoria principal a secundaria(memoria virtual) o viceversa. También de los E/S que están bloqueados o vuelven a preparados
-corto plazo(dispatcher): de los procesos que ya tengo en memoria cuales pasan a la CPU(a ejecución)
Se ejecuta con mucha frecuencia
Algoritmos planificación corto plazo (dispatcher)
Apropiativos : si expulsan procesos de la CPU. Difíciles implementar
No apropiativos: no pueden expulsar procesos CPU. Se ejecutan hasta que terminan o bloquean. Sencillo implementar
Algoritmos planificación a corto plazo no apropiativos
- FCFS: First come First server . Cola FIFO. Efecto convoy mal tiempo de espera
-SJF: Shortest job First. Primero en el menos tiempo total de CPU requiere.
Algoritmos planificación a corto plazo
Apropiativos
-SRTF: Shortest remaing time firts. Primero el que menos tiempo CPU le quede. SFJ apropiativos
-Round Robin: todos al mismo tiempo. Por turnos. A cada proceso un tiempo de CPU (llamado quatum)
-Multilevel queue: divide la lista de procesos en varias colas, una por cada tipo de proceso. Procesos no pueden cambiar de cola. Cada cola su algoritmo de planificación
Algoritmo planificación a corto plazo
Planificación por prioridades
Tiene su versión apropiativa y no apropiativa
Primero el que tiene más prioridad. A cada proceso se le asigna una prioridad. A igual prioridad se usa FCFS.
Puede tener prioridad dinámica(cambia con el tiempo) o estática
Estado de un proceso
Nuevo
Preparado
En ejecución
bloqueado
Terminado
Estado de un proceso
Colas.
Donde están y tipos
Tiene 3 estados
En nuevo
En preparado
En bloqueado
En ejecución
Terminado
3 tipos de colas
- Job queue: cola espera dispositivos. Cola bloqueado. Lista de todos los procesos del sistema
- ready queue: cola estado preparado
- device queue: los procesos que esperan por un dispositivo E/S
Concepto PCB
Process control block
Bloque control de procesos
Es un registro
Estructura de datos (tabla)
Guarda info del proceso
Identificación del procesos (pid,ppid)
Info proceso
Prioridad proceso
Dirección memoria donde se ha cargado el proceso
…
Nota: cada proceso tiene su PCB (procesos control block)
Concepto multiprogramación
Conmutar procesos para dar la sensación de ejecución simultánea
Cambiar de un proceso a otro se llama cambia de contexto( contexto switch) lo hace el dispatcher
Concepto de thread (hilo)
Unidad mínima de ejecución en la que se puede dividir un por eso
________________________________
Miniprocesos. Trozos del proceso
Unidad básica de utilización de la cpu
Contiene
Id hilo
Su propio contador de programa
Una pila
Conjunto registros
Se representa a nivel del SO con una estructura llamada TCB (thread control block)
El hilo comparte todo lo que tenga con el proceso al que pertenece ( ojo diferenciar proceso hijo que no comparte nada con el padre, solo que se crea a partir de el)
Hilo. Estructura dinámica del kernel con su TCB
Concepto TCB
Thread control block
Estructura que representa los hilos a nivel del SO
Mecanismo comunicación procesos
-Memoria compartida: 2 Procesos independientes pueden acceder a la misma parte de la memoria.
-Canalizacion(tuberías) : pasar información. Se crea un fichero y donde uno escribe el otro lee. Pasandose la info entre si
-paso de mensaje: el SO proporciona un enlace lógico entre procesos
Nota: sincronizan procesos: semáforos y monitores
Mecanismos sincronización procesos
2 productos
-Semáforos: 2 procesos sobre un recurso. Cuando llega uno cierra el semáforo. Si llega otro espera
-Monitores: muy parecido
Algoritmos para garantizar la sincronización de procesos
Acceso compartido a un recurso (exclusión mutua)
Dekker
Peterson
Eisenberg-McGuire
Panadería de lamport
Técnicas asignación del espacio a un fichero
-Asignación continua: no divide el fichero. Lo pone tal cual. Fragmentación externa
-Asignación enlazada: cada bloque tiene un puntero al siguiente. fat
-Asignación indexada: estructura de datos en forma de tabla de índices. Linux
Tabla de segmentos-
Parámetros principales
Base (traducción) y limite (seguridad)
Concepto hiperpaginacion
Cuando hay un excesivo n° de intercambios con la memoria secundaria
Concepto salto de pagina
Cuando hace la traducción y no está cargada en memoria
Hace un trap y activa una rutina para cargarla