You are on page 1of 3

1- Multiprogramacin

Se denomina multiprogramacin a una tcnica por la que dos o ms procesos pueden alojarse en
la memoria principal y ser ejecutados concurrentemente por el procesador o CPU.
Con la multiprogramacin, la ejecucin de los procesos (o hilos) se va solapando en el tiempo a tal velocidad,
que causa la impresin de realizarse en paralelo (simultneamente). Se trata de un paralelismo simulado, dado
que la CPU slo puede trabajar con un proceso cada vez (el proceso activo). De ah que, en rigor, se diga que
la CPU ejecuta concurrentemente (no simultneamente) varios procesos; en un lapso de tiempo
determinado, se ejecutarn alternativamente partes de mltiples procesos cargados en la memoria principal. 1
En los antiguos sistemas mono-programados, cuando un proceso en ejecucin requera hacer uso de
un dispositivo de E/S, el procesador quedaba ocioso mientras el proceso permaneciese en espera y no
retomara su ejecucin. En cambio, en un sistema multi-programado, cuando un proceso Px concluye o se
bloquea (en espera de una operacin de E/S), el ncleo del sistema operativo toma el control de la CPU para
efectuar lo que se denomina un cambio de contexto, a fin de dar turno a otro proceso Py para que se ejecute.
Ntese que cuando el proceso Px recupere su turno, reanudar su ejecucin justo en el punto exacto en que se
interrumpi. Este mecanismo supone un mejor reparto de la carga de trabajo y un mayor aprovechamiento de la
CPU, lo que redunda en un mayor rendimiento del sistema.
Otra Definicin:
Ejecucin de mltiples tareas compartiendo los recursos de una misma computadora. Se trata de una evolucin
del procesamiento por lotes. Dentro de la multiprogramacin se encuentra el concepto de tiempo
compartido, en donde cada usuario tiene acceso a una nica computadora a travs de terminales. La
computadora central se simula ejecutar en simultneo las tareas de cada usuario.

Ventajas

Varios procesos en ejecucin

Permite el servicio interactivo simultneo a varios usuarios de manera eficiente

Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S
y por ende aumenta la eficiencia en el uso del CPU

Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dnde
estar el proceso dado que el sistema operativo es el que se encarga de convertir la direccin lgica en
fsica.

MULTIPROGRAMACIN CON PARTICIONES FIJAS Y VARIABLES


Las particiones fijas, la memoria se puede organizar dividindose en diversas partes, las cuales pueden variar
en tamao. Esta particin la puede hacer el usuario en forma manual, al iniciar una sesin con la mquina.
Una vez implementada la particin, hay dos maneras de asignar los procesos a ella. La primera es mediante el
uso de una cola nica que asigna los procesos a los espacios disponibles de la memoria conforme se vayan
desocupando. El tamao del hueco de memoria disponible es usado para localizar en la cola el primer proceso
que quepa en l. Otra forma de asignacin es buscar en la cola el proceso de tamao mayor que se ajuste al
hueco, sin embargo hay que tomar en cuenta que tal mtodo discrimina a los procesos ms pequeos. Dicho
problema podra tener solucin si se asigna una particin pequea en la memoria al momento de hacer la
particin inicial, el cual sera exclusivo para procesos pequeos.

PARTICIONES VARIABLES
Este esquema fue originalmente usado por el sistema operativo IBM OS/360 (llamado MFT), el cual ya no est
en uso. El sistema operativo lleva una tabla indicando cules partes de la memoria estn disponibles y cules
estn ocupadas. Inicialmente, toda la memoria est disponible para los procesos de usuario y es considerado
como un gran bloque o hueco nico de memoria. Cuando llega un proceso que necesita memoria, buscamos un
hueco lo suficientemente grande para el proceso. Si encontramos uno, se asigna nicamente el espacio
requerido, manteniendo el resto disponible para futuros procesos que requieran de espacio. Cuando a un
proceso se le asigna un espacio y es cargado a la memoria principal, puede entonces competir para el uso del
CPU.

2- Introduccin a los sistemas operativos


1.4.3 Sistemas Operativos de Multiprogramacin

Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos activos (que se estn ejecutado) al
mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que
ejecutar, aprovechando al mximo su utilizacin.
Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno est usando el procesador, o un
procesador distinto, es decir, involucra maquinas con ms de una UCP.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea.
Las caractersticas de un Sistema Operativo de multiprogramacin o multitarea son las siguientes:

Mejora productividad del sistema y utilizacin de recursos.

Multiplexa recursos entre varios programas.

Generalmente soportan mltiples usuarios (multiusuarios).

Proporcionan facilidades para mantener el entorno de usuarios individuales.

Requieren validacin de usuario para seguridad y proteccin.

Proporcionan contabilidad del uso de los recursos por parte de los usuarios.

Multitarea sin soporte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo
real.

Sistemas multiprocesadores son sistemas multitareas por definicin ya que soportan la ejecucin simultanea de
mltiples tareas sobre diferentes procesadores.

En general, los sistemas de multiprogramacin se caracterizan por tener mltiples programas activos compitiendo
por los recursos del sistema: procesador, memoria, dispositivos perifricos.

You might also like