Fundamentos de Hardware, Software y Sistemas Operativos: Evolución y Gestión de Memoria

Fundamentos de Hardware, Software y Sistemas Operativos

Hardware: Parte física de una computadora, es decir, los elementos que se pueden tocar. Software: Parte no física de una computadora, es decir, el conjunto de programas y datos que se encuentran en el ordenador. Manejar la parte hardware de un ordenador es bastante difícil, por lo que usamos un sistema operativo para hacer más fácil el manejo de estos componentes.

El Sistema Operativo como Intermediario

· Sistema Operativo (S.O): Para que el programador no note la dificultad del hardware se ha creado un sistema operativo; se ha ido añadiendo una capa de software sobre el hardware puro, que se encarga de gestionar todos los elementos del sistema y presenta al usuario una interfaz o máquina virtual más fácil de entender y programar.

Ejemplos de componentes y programas:

  • Sistema Bancario
  • Reserva de billetes
  • Juego de vídeo
  • Compiladores
  • Editores
  • Intérprete de comando
  • Sistema Operativo
  • Lenguaje Máquina
  • Microprograma
  • Dispositivos físicos
  • Programas de Aplicación
  • Programas del sistema
  • Hardware

El Sistema Operativo como Máquina Virtual

El programa encargado de ocultar la realidad del hardware al programador y presentar un mundo más sencillo es el S.O. La función del S.O. es presentar al usuario el equivalente de una máquina virtual o máquina extendida que sea más fácil de programar que el hardware.

El Sistema Operativo como Administrador de Recursos

Un computador consta de procesadores, memorias, temporizadores, discos, terminales, unidades de cinta magnética, interfaz a redes de comunicación, impresoras, etc. Desde la perspectiva de estos elementos, el S.O. cumple la función de asignar de forma ordenada los recursos a los diversos programas que compiten por ellos.

Evolución Histórica de los Sistemas Operativos

  • 1945-55: Ausencia de S.O, Uso exclusivo del computador, mal aprovechamiento.
  • 1955-60: Aparecen los computadores satélite, Sistemas Batch, Incipiente intérprete de comandos, Incipiente S.O con: reset y subrutina de operaciones de E/S sobre cinta magnética. Ejemplo: FMS
  • 1960-65: Interrupción y controladores (concepto hardware), S.O.s multiproceso, S.O.s multiprogramados: conviven en memoria principal los datos de varios procesos a la vez, S.O.s multiusuario y desarrollo de sistemas en tiempo real. Ejemplos: OS/360
  • 1965-75: Aparecen S.O de propósito general, sistemas multimodo y aumenta la complejidad del S.O y del lenguaje de comandos. Ejemplos: MULTICS, UNÍS.
  • 1975-hoy: Computadores Personales, Sistemas distribuidos y gran importancia de los sistemas de gestión de BD. Ejemplos: MD-DOS, UNIX SYSTEM V, X-WINDOWS.

Gestión de Memoria

Concepto

La gestión de memoria consiste en la asignación de una memoria física, de capacidad limitada, a los diversos procesos que la soliciten con objeto de activarse y entrar en ejecución. La gestión de memoria tiene que proceder a poner fuera de la memoria los procesos temporalmente inactivos para dejar espacio a otros, y tiene que encargarse de gestionar el intercambio entre el disco y la memoria cuando ésta no es suficientemente grande para mantener todos los procesos. La parte del S.O. encargada de controlar la memoria es el gestor de memoria.

Características

Los principales rasgos de la gestión de memoria son los siguientes:

  • En memoria principal reside simultáneamente más de un programa. Esto implica que hay que resolver dos cuestiones:
    • Por un lado, la seguridad.
    • Por otro, el sistema de gestión de memoria debe permitir el acceso controlado a las zonas de memoria compartidas, sin tener que efectuar una protección especial.
  • Las direcciones que conoce el programador deben ser traducidas a las verdaderas direcciones que el programa ocupa en memoria física. Esto se conoce como reubicación.
  • Otra característica importante en la gestión de memoria es el principio de localidad, es decir, que durante cierto intervalo de tiempo, el procesador favorece cierto subconjunto de direcciones. El principio de localidad se contempla desde dos puntos de vista:
    • Principio de localidad temporal, que postula que una posición de memoria referenciada recientemente tiene alta probabilidad de ser referenciada en el futuro próximo.
    • Principio de localidad espacial, es decir, que cuando una posición de memoria es referenciada, hay muchas posibilidades de que las adyacentes sean referenciadas.

Funciones

La gestión de memoria debe cumplir las siguientes funciones:

  • Determinar la forma de asignación de memoria: cómo se debe dar, a quién y en qué orden.
  • Especificar qué procesos han de abandonar la memoria, cuándo y en qué orden.
  • Llevar la contabilidad de las posiciones asignadas y libres.
  • Facilitar el aislamiento y protección a los diferentes espacios de memoria, suponiendo al mismo tiempo una forma de sincronización entre procesos de variables comunes.

Tipos de Gestión de Memoria

Los sistemas de gestión de memoria se pueden dividir en dos clases: los que durante la ejecución intercambian procesos entre la memoria principal y el disco (sistemas de intercambio y paginación) y los que no.

Esquemas de Gestión Contigua de Memoria

Monousuario

Se divide la memoria en dos partes contiguas: una se le asigna a la parte del S.O. que ha de residir en memoria de forma permanente (monitor residente) y la otra se le asigna a los procesos de los usuarios. La parte de S.O. que no constituye el monitor residente ha de ejecutarse en la zona de procesos. Siempre que se carga un proceso se asegura que sus direcciones están dentro de los límites que corresponden a la región de usuario. Si la dirección resulta por encima o debajo de ésta, el S.O. provoca una interrupción y el proceso no es cargado en memoria. Esta dirección límite a veces se especifica por hardware y, en otros casos, se utiliza un registro límite o base donde se almacena la dirección de comienzo de la zona del usuario. Con este tipo de gestión, en la memoria sólo puede encontrarse un proceso en un instante determinado. Cuando éste termina, es necesario sacarlo hacia un soporte externo y luego introducir el siguiente en ejecución. Por tanto, sólo las operaciones de E/S consumen gran parte del tiempo, mientras la CPU permanece ociosa. La técnica de swapping o intercambio consiste en disponer de una memoria auxiliar (buffer) donde se descarga momentáneamente el proceso saliente y donde se carga el siguiente proceso a ejecutar.

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.