Gestión de procesos
Introducción
S.O: conjunto de programas que actúa como
intermediario entre el usuario y el
hardware del ordenador, gestionando los recursos del sistema y optimizando su
uso. Funciones: Controlar la ejecución de
programas. Administrar periféricos. Gestiona permisos y usuarios. Control de ocurrencia. Control de errores. Administración de memoria. Control de Seguridad. En concordancia a las
funciones del SO, estructura S.O en 5 niveles: Nivel 1->Gestión del Procesador. Objetivo: Compartir la CPU entre procesos. Funciones: Arranque inicial. Sincronización entre procesos. Conmutación de la CPU. Gestión de interrupciones Nivel 2->Gestión de Memoria. Objetivo: Repartir la memoria entre procesos. Funciones: Asignación y liberación de memoria. Control violación de acceso. Nivel 3->Gestión de Procesos. Objetivo: Gestión de procesos de alto nivel. Funciones: Creación y destrucción de procesos. Intercambio de mensajes entre
procesos. Detención y arranque de procesos. Nivel 4->Gestión de Dispositivos. Objetivo: Realizar la gestión de las E/S en
función de los dispositivos existentes. Funciones: Creación de procesos de E/S. Asignación y liberación de
dispositivos de E/S. Planificación de la E/S. Nivel 5->Gestión de Información. Objetivo: Gestionar el espacio de nombres
lógicos, almacenamiento y protección de la información. Funciones: Creación y destrucción de archivos y
directorios. Apertura y cierre de archivos. Lectura y escritura de archivos. Protección de acceso. El Nivel 1 y 2 Dentro del SO dependiente
del hardware. Cada uno se
comunica con el inferior y superior coordinando sus funciones.
¿Qué es un proceso?
Un proceso es la instancia de un programa en ejecución, unidad de trabajo mas pequeña, individualmente planificable a nivel de usuario, formada por código y datos, caracterizada por atributos y un estado dinámico, el entorno del proceso
consiste en un conjunto de variables que se le pasan al proceso en el momento
de su creación. IMPORTANTE: un proceso es un programa
en ejecución. NO es lo mismo
un programa o archivo que un proceso. Son creados por los S.O, cuando un proceso crea a otro
proceso se llama bifurcación, el generador se llama proceso padre el
otro proceso hijo, cuando el proceso termina
el SO libera memoria y recursos, la terminación puede ser normal o dar
algún error. Un proceso costa al menos de un hilo. Tipos: De usuarios: programas que utiliza el usuario y que se encuentran conectados a una
terminal. Interactuando con él. Demonios: funcionan solos y no
interactúan con el usuario. Creados por el demonio de arranque
init (ppid=1) y se ejecutan en segundo plano, pueden estar ubicados en
cualquier parte del disco siempre van a
tener asociado un script que se suele encontrar en /etc/init.d/. Con este script estos procesos pueden ser iniciados o parados. Cada vez que un programa se convierte en un proceso: 1. Se carga el código en la
memoria principal. 2. Se crea un segmento de datos
que contiene las variables globales que el proceso manipula. 3.Se crea una estructura de
datos única para el proceso que va a servir al SO para identificar y controlar
su correcta ejecución (BCP). 4.Se crea un segmento pila que
contiene los parámetros que pasan a las funciones o procedimientos. Estados de un proceso: Preparado. En ejecución. Detenido. Bloqueado. Procesos: La UID del usuario indica quien ha
creado el proceso, los privilegios y quien podrá mandarle señales.
Información para gestionar la memoria almacenara la
dirección inicial y final del cojunto de todas a las que puede acceder el
proceso. Los periféricos de E/S asignados al proceso, la lista
de archivos abiertos, el directorio actual y el directorio raíz. Guarda las
señales recibidas por el proceso y no tratadas. Información de la contabilidad: La hora de inicio y tiempo de ejecución del proceso, porcentaje de uso de CPU. Estado de registros de la CPU: Contador del programa: guarda la dirección de la siguiente
instrucción a ejecutar. Otros Registros: almacenan el valor de los
diferentes registros de la CPU en un instante dado, si se abandona se puede retomar.