Documento de UEMC Universidad Europea Miguel de Cervantes sobre la gestión de procesos, archivos y memoria en sistemas operativos. El Pdf explora algoritmos de asignación de procesadores, sistemas de archivos distribuidos como NFS y AFS, y modelos de consistencia de memoria, siendo un recurso universitario de Informática.
Ver más22 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
Ampliación de Sistemas
Operativos
GRADO EN INGENIERÍA INFORMÁTICA
Gestión de procesos,
archivos y memoria.
Autor: Lorena Calavia Domínguez
UEMO
universidad online
UEMC
Universidad Europea
Miguel de Cervantes
Tema 7: Gestión de procesos, archivos
y memoria
I. PRESENTACION
II. OBJETIVOS.
III. ESQUEMA.
IV. CONTENIDO.
1. Procesos y procesadores en sistemas distribuidos
1.1. Sistemas operativos en red y sistemas operativos distribuidos.
1.2. Procesos e hilos
1.2.1. Servidor
1.2.2. Cliente
1.3. Modelos de sistema
1.4. Algoritmos de asignación de procesadores
2. Sistemas de archivos distribuidos
2.1. Características y requisitos.
2.2. Arquitectura del servicio de archivos: modelo abstracto.
2.3. Sistema de archivo en red NFS
2.4. Sistema de archivos Andrew (AFS)
3. Sistemas de memoria distribuida
3.1. Memoria compartida distribuida
3.2. Modelos de consistencia
3.2.1. Consistencia estricta
3.2.2. Consistencia secuencial
3.2.3. Consistencia causal
3.3. Granularidad
V. RESUMEN
VI. BIBLIOGRAFIA
UEMO
universidad online
3
4
4
5
5
6
7
8
9
10
12
12
14
15
16
17
17
18
19
19
20
21
21
22
En el mundo actual, donde la interconexión y la colaboración son fundamentales, los sistemas
distribuidos juegan un papel esencial en el funcionamiento de empresas, organizaciones e incluso en
nuestra vida diaria. En la primera parte de este tema, se explorarán los conceptos clave de los
sistemas operativos en red y distribuidos, centrándose en los sistemas operativos en red debido a su
amplia adopción y utilidad. Además, se examinarán dos modelos fundamentales: el modelo de
estación de trabajo y el modelo de pila de procesadores presentando cómo estos modelos gestionan
el procesamiento y cómo los algoritmos de asignación de procesadores son cruciales para optimizar
el rendimiento del sistema, especialmente al enfrentar la generación de nuevos procesos.
En la segunda parte se tratarán los sistemas de archivos distribuidos. Estos sistemas desempeñan un
papel vital en la organización, almacenamiento y compartición de archivos en entornos distribuidos.
Se analizarán sus requisitos fundamentales y se presentarán dos sistemas de archivos en particular:
el sistema de archivos en red NFS y Andrew (AFS).
Finalmente, el tema se enfocará en la memoria compartida distribuida, una alternativa importante
al paso de mensajes abordando el desafío de la consistencia en estos sistemas para el que se
presentarán tres modelos: consistencia estricta, secuencial y causal, cada uno con sus propias
características y restricciones.
El tema se va a dividir en 3 puntos:
No es necesario tener conocimientos previos para tener éxito en el estudio y superación de este
tema.
Para el desarrollo de este tema se han utilizado la referencia Coulouris (2007) y Tanenbaum (1995).
UEMOP
universidad online
3
El tema se va a estructurar de la siguiente manera:
Gestión de procesos,
archivos y memoria
Procesos y procesadores en
sistemas distribuidos
Sistemas de archivos
distribuidos
Sistemas de memoria
distribuida
UEMOP
universidad online
4
Los sistemas operativos en red tienen acceso a la red y mediante esta a recursos remotos siendo
este acceso es totalmente transparente. Además, tienen también procesos que no pueden
ejecutarse en otros nodos, siendo el usuario, en caso de poder elegir, el que selecciona que
procesos se ejecutan en su nodo y que procesos en remoto.
En los sistemas operativos distribuidos existe una única imagen del sistema que controla todos los
nodos. En este caso, el usuario no debe preocuparse del nodo en el que se ejecutará el proceso,
pero se pierde la autonomía en cada uno de los nodos.
Este tema se centrará en sistemas operativos de red, ya que son los más extendidos y utilizados.
Aunque en cada nodo de los sistemas operativos en red existe un sistema operativo local (imagen
local), todos los nodos comparten middleware.
Los sistemas operativos en red deben proporcionar como mínimo:
Para cumplir con estas mínimas funcionalidades el sistema operativo necesita los siguientes
módulos:
UEMOP
universidad online
5
Gestor de procesos
Gestor de
comunicaciones
Gestor de hilos
Gestor de memoria
Supervisor
Figura 1. Funcionalidad básica del sistema operativo (Fuente: Coulouris)
Un proceso consiste en un entorno de ejecución formado por varios hilos siendo el entorno de
ejecución el que se encarga de gestionar los diferentes recursos a los que acceden los diferentes
hilos.
Los recursos son el espacio de direcciones, recursos e interfaces de comunicación (sockets),
información para la sincronización de hilos (semáforos) y otros recursos de alto nivel como archivos,
interfaces gráficas, etc.
Un hilo puede crearse y destruirse de forma dinámica y está protegido por el entorno de ejecución.
Para la creación de un proceso, lo primero que hay se hace es elegir el procesador de destino. En
este caso la política de transferencia aplicada decide si el nuevo proceso debe ubicarse en el nodo
local o remoto y, en caso de que el nodo sea remoto, la política de ubicación/localización
determina el nodo concreto que alojará el proceso. Las políticas de ubicación/localización pueden
ser:
Estáticas: basadas en análisis matemáticos para la optimización (deterministas o
probabilísticos)
Además, en algunos casos se permitirá la migración de procesos o transferencia de un proceso de
ejecución de un nodo a otro.
UEMOO
universidad online
6
Una vez determinado el nodo en el que se va a crear el proceso, se crea el entorno de ejecución y
del hilo asociado a él. Para ello se define el tamaño de memoria en el espacio de direcciones,
regiones para permitir crecimiento y evitar solape y los permisos de cada región (lectura/escritura).
El servidor dispone de un conjunto de uno o más hilos que de forma repetitiva va atendiendo y
procesando las solicitudes recibidas. Si tiene que compartir memoria entre los diferentes hilos, el
aumento del número de hilos no será directamente proporcional al aumento de la eficiencia en el
procesador. En este caso, por tanto, Se requiere de un proceso multi-hilo que se adapta
automáticamente a un multiprocesador de memoria compartida.
Pueden surgir diferentes tipos de arquitecturas:
El hilo 2
realiza
solicitudes
al servidor
Recepción
e inserción
en cola
Entrada-salida
El hilo 1 genera
los resultados
Solicitudes
N hilos
Cliente
Servidor
Figura 2. Hilos en cliente y servidor (Fuente: Coulouris)
UEMOP
universidad online
7
Trabajadores
E/S
Objetos
remotos
Figura 3. Arquitectura de servidor de hilo por solicitud (Fuente: Coulouris)
Hilo por conexión
Objetos
remotos
Figura 4. Arquitectura de servidor de hilo por conexión (Fuente: Coulouris)
Hilo por solicitud
E/S
Objetos
remotos
C
Figura 5. Arquitectura de servidor de hilo por objeto (Fuente: Coulouris)
En el cliente se recomiendan hilos separados para procesos que pueden bloquear el cliente. Las
invocaciones a métodos remotos normalmente bloquean al que invoca por lo que el proceso cliente
puede añadir un segundo hilo, que realiza las invocaciones a los métodos remotos y se bloquea
UEMOO
universidad online
8