OBJETIVO: cuánto tiempo de ejecución se le asigna a cada proceso del sistema y en qué momento
1.Si el sistema es monousuario y monotarea no habrá que decidir
2.En sistemas multitarea, es fundamental
TABLA DE CONTROL DE PROCESOS
Es una tabla con la información relativa a cada proceso que se está ejecutando en el procesador)
1.Identificación del proceso
2.Identificación del proceso padre
3.Información sobre el usuario y grupo que lo han lanzado
4.
Estado del procesador
El contenido de los registros internos, contador de programa, etc. -> el entorno volátil (=temporal) del proceso.5.Información de control de proceso
6.Segmentos de memoria y recursos asignados
Planificación DEL PROCESADOR
ESTRATEGIA: buscar que los procesos obtengan sus turnos de ejecución de forma apropiada a la vez que un buen rendimiento y minimización de la sobrecarga. Para ello:
1.Todos los procesos en algún momento obtienen su turno de ejecución o intervalos de tiempo de ejecución hasta su terminación con éxito.
2.El sistema debe finalizar el mayor número de procesos por unidad tiempo
3.El usuario no percibirá tiempos de espera demasiado largos
4.Evitar el aplazamiento indefinido, los procesos deben terminar en un plazo finito de tiempo. Esto es, el usuario no debe percibir que su programa se ha parado o “colgado”.
CARGA DE TRABAJO
Depende de las carácterísticas de los procesos:
1.Procesos que hacen un uso intensivo de la CPU
2.Procesos que realizan una gran cantidad de operaciones de Entrada/Salida
3.Procesos por lotes, procesos interactivos, procesos en tiempo real
4.Procesos de menor o mayor duración
sin derecho preferente, sin expropiar uso por parte del S.O.
NON PREEMTIVE:
sin derecho preferente, sin expropiar uso por parte del S.O.
1.¿Qué significa?
Cuando a un proceso le toca su turno de ejecución, ya no puede ser suspendido;
Cuando a un proceso le toca su turno de ejecución, ya no puede ser suspendido;
2.
Consecuencia
a. Si el proceso contiene ciclos infinitos, el resto de los procesos pueden quedar aplazados indefinidamente
B. Procesos largos que penalizarían a los cortos si entran en primer lugar
PREEMTIVE
Con derecho preferente, con expropiación de uso por parte del S.O.
1.El sistema operativo puede arrebatar el uso de la CPU a un proceso que esté ejecutándose
2.Hay un reloj
3.Interrupciones con toma de control
Planificación DE MEMORIA
GESTOR DE MEMORIA: Ningún proceso se puede activar antes de que se le asigne el espacio de memoria que requiere
1.Controlar las zonas de memoria que están asignadas y cuáles no -> mapa
2.
Asignar memoria a los procesos cuando la necesiten y retirársela cuando terminen.
Asignar memoria a los procesos cuando la necesiten y retirársela cuando terminen.
3.
Evitar que un proceso acceda a la zona de memoria asignada a otro proceso.
Evitar que un proceso acceda a la zona de memoria asignada a otro proceso.
4.Gestionar el intercambio entre memoria principal y memoria secundaria en los casos en que la memoria principal está completamente ocupada, etc.
REQUISITOS:
1.
Reubicación
En un sistema multitarea la memoria va a estar compartida entre varios procesos, el gestor de memoria debe decidir qué zonas de memoria asigna a cada proceso y que zonas descarga.2.
Protección
El gestor de memoria debe evitar que los procesos cargados en memoria interfieran unos con otros accediendo a zonas de memoria que no les corresponden.3.
Control de memoria
El sistema operativo, a través del gestor de memoria, tiene que controlar las zonas de memoria libres y las asignadas, además de saber las zonas de memoria que corresponden a cada proceso.4.Controlar fragmentación de la memoria:
a)fragmentación interna.
La fragmentación interna sucede al malgastarse el espacio interno de una partición cuando el proceso o bloque de datos cargado es más pequeño que la partición.
La fragmentación interna sucede al malgastarse el espacio interno de una partición cuando el proceso o bloque de datos cargado es más pequeño que la partición.
b)fragmentación externa:
Sucede cuando la memoria externa a todas las particiones se divide cada vez más y van quedando huecos pequeños y dispersos en memoria difícilmente reutilizables.
Sucede cuando la memoria externa a todas las particiones se divide cada vez más y van quedando huecos pequeños y dispersos en memoria difícilmente reutilizables.
5.
Organización lógica y física
En ocasiones la memoria principal no es suficiente para proporcionar toda la memoria que necesita un proceso o para almacenar todos los procesos que se pueden ejecutar. Entonces los procesos pueden ser intercambiados a disco y más tarde, si es necesario, vueltos a cargar en memoriaS.O MULTITAREA
Actualmente la mayoría de los sistemas operativos son sistemas multitarea
Deberá haber mecanismos de gestión para distribuir la memoria principal entre todos estos procesos que quieren ejecutarse en un S.O. Multitarea
Intercambio o swapping (Archivo de paginación o Memoria Virtual)
1.Memoria principal: recurso limitado
2.Situación: haya más procesos esperando a ser cargados en memoria que zonas libres
3.Solución: se sacan algunos procesos de memoria principal y se llevan al HD -> OPERACIÓN DE SWAPPING
PARTICIONES FIJAS
Cuando existen varios procesos (multitarea) que requieren ser cargados en memoria el gestor de memoria tiene que organizar el espacio.
PARTICIONES FIJAS:
A. Predefinidas antes de que lleguen los procesos a la memoria
B. El número de particiones se mantiene fijo en el tiempo
C. El tamaño de cada una de las particiones se mantiene fijo
1.Asignación de procesos
a. Una cola por partición: se coloca cada trabajo en la cola de la partición más pequeña en que quepa dicho trabajo, a fin de nodesperdiciar el espacio disponible. Desventaja: baja ocupación de particiones grandes.
B. Una única cola: El sistema operativo decidirá en que partición se ubica cada proceso
El gestor de memoria establecerá mecanismos para impedir que un proceso pueda acceder a una zona de memoria que está fuera de la memoria correspondiente a la partición en la que se encuentra.
La fragmentación puede surgir -> área ocupada discontinua
PARTICIONES VARIABLES
1.Crear las particiones dinámicamente, conforme llegan los procesos y en función de los tamaños de estos
2.Se ajusta a la realidad de que el número y tamaño de los procesos varía dinámicamente
MEMORIA VIRTUAL
Permite dividir los procesos en varias partes y cargar sólo algunas de ellas en memoria. La memoria virtual se basa en el uso de las técnicas de paginación o segmentación.
Paginación:
1.La idea es la de dividir la memoria principal en un conjunto de particiones conocidas como “marcos de página” de igual tamaño. Cada proceso se divide a su vez en una serie de partes llamadas “páginas” del mismo tamaño que los marcos. El proceso se carga en memoria situando todas sus páginas en los marcos de página de la memoria, sin embargo, las páginas no tienen por qué estar contiguas en memoria. Como ventaja reduce la fragmentación externa de la memoria principal. Sin embargo, puede aparecer cierta fragmentación interna.
Permite dividir los procesos en varias partes y cargar sólo algunas de ellas en memoria. La memoria virtual se basa en el uso de las técnicas de paginación o segmentación.
Permite dividir los procesos en varias partes y cargar sólo algunas de ellas en memoria. La memoria virtual se basa en el uso de las técnicas de paginación o segmentación.
SEGMENTACIÓN:
1.Cada proceso se divide en una serie de segmentos. La peculiaridad de estos segmentos es que su tamaño no tiene que ser el mismo y puede variar hasta un límite máximo. Un proceso se carga situando todos sus segmentos en particiones dinámicas que no tienen que estar contiguas en memoria. Este sistema reduce la fragmentación interna de la memoria principal.
Gestión E/S
El sistema operativo abstrae de la complejidad y peculiaridad hardware de cada periférico para que las aplicaciones de usuario puedan hacer uso de los periféricos de una manera estandarizada y más sencilla.El sistema operativo actúa pues como intermediario mediante los controladores de dispositivos, device drivers
SPOOLS:
1.Almacenan temporal en cola situada en dispositivo de almacenamiento masivo (spool)
2.Se evita que el programa quede retenido porque el periférico no esté disponible
3.El SO añade y elimina archivos del spool
4.Dispositivos sin intercalación (impresora)
BUFFERS:
1.Peticiones de distintos orígenes
2.Se pueden enviarse porciones que el buffer retiene de forma temporal
3.Se acoplan velocidades de distintos dispositivos (grabadora de DVD y el HD)
Gestión E/S:Técnicas
E/S PROGRAMADA:
1.CPU protagonista -> inicia y lleva a cabo la transferencia
2.La CPU debe dejar todo lo que está haciendo para ocuparse del proceso de E/S -> Impacto en el rendimientos
E/S POR INTERRUPCIONES:
1.El Periférico solicita -> Interrupción ofreciendo disponibilidad
2.CPU ejecuta la transferencia, no pregunta
ACCESO DIRECTO A MEMORIA (DMA):
1.La CPU inicia el proceso
2.Transferencia realizada por un controlador especializado
3.Acelera enormemente el proceso de la E/S y libera a la CPU
Gestión ARCHIVOS:OBJETIVOS
OPTIMIZAR EL RENDIMIENTO:1.Acceso rápido para recuperar la información contenida en archivos
2.No se debe ralentizar el sistema
FÁCIL ACTUALIZACIÓN:
1.Cambios (añadir, borrar y modificar) no deben suponer una tarea complicada
ECONOMÍA DE ALMACENAMIENTO:
1.Desperdiciar la menor cantidad de espacio en disco posible
2.Evitar la fragmentación de los discos
MANTENIMIENTO SENCILLO:
1.Evitar operaciones complicadas a usuarios y programas -> KISS
¿QUÉ ES UNA LICENCIA de SOFTWARE?:
Es un contrato entre el CREADOR y el USUARIO
En una licencia se definen
1.DERECHOS del autor y del usuario
2.DEBERES del autor y del usuarios
DERECHOS del autor –COPYRIGHT. Está recogido en la legislación de cada país. Aplica a:
1.Obras literarias
2.Música
3.Artes gráficas
4.Patentes …
Software propietario
Software libre (FSF)
1.Utilizar el programa, para cualquier propósito
2.Estudiar cómo funciona el programa y adaptarlo a necesidades
3.Distribuir copias
4.Mejorar el programa y hacer públicas las mejoras a los demás
Software semilibre
Software de dominio público
1.Donado
2.Pasados 70 años desde la muerte del autor
Software con copyleft: Es el software libre cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional