Conceptos Esenciales de Procesos y Gestión de Memoria en Sistemas Operativos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,98 KB

Procesos y Hilos en Sistemas Operativos

Cuando se ejecuta un programa, este se convierte en un proceso. Se ubican en memoria todas sus instrucciones y sus datos asociados, y se crea una estructura de datos llamada BCP (Bloque de Control de Proceso), que sirve para identificar al proceso respecto a los demás.

Características del BCP

  • Estado actual del proceso: Indica si está en ejecución, en espera o bloqueado.
  • Identificador del proceso (PID): Es un código único, normalmente numérico, que identifica a cada proceso.
  • Prioridad del proceso: Asignada de forma automática por el Sistema Operativo (SO) y dependiente de su diseño. El administrador del SO puede modificar la prioridad de un proceso.
  • Ubicación en memoria: Informa en qué parte de la memoria está alojado el proceso.
  • Recursos utilizados: Cada proceso dispone de una serie de recursos para ejecutarse. Estos recursos se ponen a su disposición en el momento en que comienza su ejecución.

Estados de un Proceso

Una de las funciones principales del Sistema Operativo es controlar los estados de un proceso y gestionar sus cambios.

  • En ejecución: El proceso tiene asignada la CPU; en este momento se están ejecutando las instrucciones del programa.
  • En espera: El proceso está en estado de espera, aguardando su turno de CPU y está preparado para ejecutarse.
  • Bloqueado: El proceso tiene algún problema y el SO lo ha puesto en estado bloqueado.

Cada vez que se realiza una transición entre estados, se efectúa un cambio de contexto.

Concepto de Capa

Una capa es un conjunto de instrucciones.

Administración de Memoria

El administrador de memoria se encarga de gestionar la memoria del sistema, y su labor principal incluye:

  • Llevar un registro de las partes de memoria que se están utilizando y las que no.
  • Reservar memoria para los procesos nuevos y liberar la memoria de los procesos que finalizan.
  • Organizar el paso de información entre el disco duro y la memoria RAM.
  • Gestionar la memoria virtual, si está implementada.

Tipos de Administradores de Memoria

Existen dos enfoques principales en la administración de memoria:

  • Uso de memoria virtual: Técnica de swapping.
  • No uso de memoria virtual: Técnicas de paginación y segmentación.

Paginación

La paginación utiliza particiones fijas de memoria. Esta técnica consiste en dividir la RAM en zonas iguales llamadas marcos de página, y los procesos se dividen en partes del mismo tamaño que se denominan páginas.

Tabla de páginas: Aquí el administrador de memoria guarda las direcciones físicas de los marcos y qué página está alojada en cada marco.

Segmentación

La segmentación utiliza la técnica de particiones variables, es decir, la memoria no está previamente dividida, sino que se reparte entre los procesos a medida que estos solicitan memoria.

Tabla de segmentos: Aquí el administrador de memoria guarda dónde empieza un segmento, dónde acaba y a qué proceso pertenece.

Pila de Memoria

Cuando se sabe que un proceso aumentará de tamaño mientras está en ejecución, los datos se alojan en la parte alta de la memoria para permitir la ampliación de su segmento sin problemas.

Diferencia entre Paginación y Segmentación

La paginación se diferencia de la segmentación en que las páginas son de tamaño fijo y los segmentos no. El uso de una técnica o de otra depende del Sistema Operativo empleado, las características de la máquina y las necesidades del software.

Entradas relacionadas: