Parámetros de función, procesos, memoria y protocolos de red: Conceptos clave

Parámetros de una Función

Un parámetro de una función es una variable que permite la comunicación de datos entre la función y la unidad que la llama. Esta comunicación puede ser unidireccional o bidireccional:

  • Parámetros de entrada: El valor es proporcionado a la función por la unidad que la llama.
  • Parámetros de salida: El valor es devuelto por la función a la unidad que la llama.

Existen dos tipos de paso de parámetros:

  • Paso por valor: Se copia el valor al pasar a la función. Las modificaciones no afectan a la variable original.
  • Paso por referencia: Se pasa la dirección de memoria de la variable. Las modificaciones dentro de la función afectan a la variable original.

Un prototipo de función es su declaración antes de su uso. Contiene la misma cabecera que la función, pero termina con punto y coma. Ejemplo: int suma (int a, int b);

Componentes de un Proceso

  • Código máquina: El programa del usuario a ejecutar.
  • Datos del programa: Variables y parámetros del programa (parte modificable del espacio de usuario).
  • Pila: Almacenamiento temporal para direcciones de retorno de subrutinas (funciones) y otros parámetros.
  • Bloque de control de proceso (PCB): Contiene información que el sistema operativo necesita para controlar el proceso:
    • Identificación del proceso (PID, propietario, etc.)
    • Contador de programa (PC)
    • Estado del proceso
    • Registros del procesador (acumuladores, índices, etc.)
    • Información de control de proceso (prioridad, eventos, etc.)
    • Información de contabilidad (CPU empleada, etc.)

Estados de un Proceso

  • En ejecución: El proceso está usando la CPU.
  • Listo: El proceso está preparado para ejecutarse, pero espera a que la CPU esté disponible.
  • Bloqueado: El proceso no puede ejecutarse debido a un evento externo, incluso si la CPU está libre.

Un nuevo proceso pasa a estado listo si cumple los requisitos; de lo contrario, pasa a estado bloqueado.

Asignación de Memoria

Particiones Estáticas

La memoria se divide en particiones del mismo tamaño. El sistema operativo mantiene una tabla con información sobre cada partición (dirección base, tamaño, estado). El planificador introduce el proceso de máxima prioridad que quepa en una partición disponible.

Particiones Dinámicas

Los programas se cargan en posiciones consecutivas de memoria. Se aprovecha mejor la memoria, pero es más difícil de gestionar.

Modelo OSI y Protocolo TCP/IP

El modelo OSI divide un sistema de comunicación en 7 niveles. En cada nivel se procesan unidades de información (PDU). En el emisor, las PDU se transmiten del nivel superior al inferior, añadiendo información de control (cabeceras). En el receptor, el proceso es inverso.

TCP/IP es un modelo más simple (5 niveles). Al igual que en OSI, los datos descienden por la pila de protocolos en el emisor y ascienden en el receptor. La adición de información de control en cada capa se llama encapsulación. El proceso inverso es la desencapsulación.

Direccionamiento IP y DNS

El protocolo IP define el sistema de direccionamiento de Internet. Cada dispositivo necesita una dirección IP única. IPv4 utiliza direcciones de 4 bytes (ej: 193.146.160.11). Cada dispositivo también tiene una dirección MAC (física).

DNS (Domain Name System) traduce direcciones IP a nombres de dominio más fáciles de recordar.

Existen direcciones IP estáticas (fijas) y dinámicas (asignadas por DHCP).

NAT

NAT (Network Address Translation) permite que las redes internas usen direcciones IP privadas y se conecten a Internet con una única dirección IP pública. Esto es útil para empresas y redes domésticas.

IPv6

IPv6 utiliza direcciones más grandes (8 objetos de 16 bits cada uno, expresadas en hexadecimal).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.