0% encontró este documento útil (0 votos)
98 vistas8 páginas

MULTIPROGRAMACIÓN

Este documento describe la multiprogramación, que permite que varios procesos se ejecuten simultáneamente compartiendo los recursos del sistema a través del tiempo compartido, aprovechando tiempos de espera de E/S y aumentando la eficiencia.

Cargado por

alanoleaherrera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
98 vistas8 páginas

MULTIPROGRAMACIÓN

Este documento describe la multiprogramación, que permite que varios procesos se ejecuten simultáneamente compartiendo los recursos del sistema a través del tiempo compartido, aprovechando tiempos de espera de E/S y aumentando la eficiencia.

Cargado por

alanoleaherrera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE PUEBLA

ARQUITECTURA DE COMPUTADORAS

DOCENTE: RAFAEL MEZA GARCIA

INVESTIGACIÓN:
MULTIPROGRAMACIÓN

EQUIPO 3:
YENIFER FERNÁNDEZ COYOPOL
MARIEL ANDRADE HERRAN
GUADALUPE JANETH FLORES MONTERO
INTRODUCCIÓN

Sistemas multiprocesadores son sistemas multitareas por definición ya


que soportan la ejecución simultánea de múltiples tareas sobre
diferentes procesadores.

El término multiprogramación denota un sistema operativo que,


además de soportar procesos concurrentes múltiples, permite que
residan simultáneamente en la memoria primaria las instrucciones y los
datos procedentes de dos o más procesos distintos.

En general, los sistemas de multiprogramación se caracterizan por


tener múltiples programas activos compitiendo por los recursos del
sistema: procesador, memoria, dispositivos periféricos.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows


NT, MAC-OS, OS/2, soportan la multitarea.

Se llama multiprogramación a una técnica por la que 2 o más procesos


tienen la posibilidad de alojarse en la memoria primaria y ser
ejecutados concurrentemente por el procesador o CPU.

Con la multiprogramación, la ejecución de los procesos (o hilos) se va


solapando en la época a tal rapidez, que causa la impresión de
desarrollarse en paralelo (simultáneamente). Hablamos de un
paralelismo simulado, ya que la CPU solo puede laborar con un
proceso cada vez (el proceso activo). De allí que, en rigor, se dicte que
la CPU realiza «concurrentemente» (no simultáneamente) diversos
procesos; en un tiempo de tiempo definido, se ejecutarán
alternativamente piezas de diversos procesos cargados en la memoria
primaria.

OBJETIVO GENERAL
El objetivo de la multiprogramación es permitir que varios procesos se
ejecuten simultáneamente, pero para lograrlo, cada proceso debe
ejecutarse un cierto tiempo y luego entregar el control de la CPU a
otro, de este mecanismo se encarga los sistemas de Tiempo
Compartido.

Es decir, estos sistemas reparten equitativamente el tiempo de CPU


entre los procesos. La ventaja que tienen es que soportan muchos
usuarios simultáneamente, pero trae como consecuencia una gran
carga de trabajo al Sistema Operativo, principalmente en la
administración de memoria principal y secundaria.

OBJETIVOS ESPECÍFICOS
En general, los sistemas de multiprogramación se caracterizan por
tener múltiples programas activos compitiendo por los recursos del
sistema: procesador, memoria, dispositivos periféricos.

Los sistemas operativos son altamente sofisticados ya que necesitan


tener varios trabajos listos para ser ejecutados, los cuales deben de
estar simultáneamente en memoria principal.
MULTIPROGRAMACIÓN
La multiprogramación se apoya en varios elementos del hardware:
la interrupción, el DMA y el canal. En un sistema multiprogramado la
memoria principal alberga a más de un programa de usuario. La CPU
ejecuta instrucciones de un programa, cuando el programa en
ejecución (es decir, el que ocupa la CPU) realiza una operación de E/S,
emite ciertas órdenes al controlador (al igual que en los sistemas mono
programados); pero en lugar de esperar a que termine la operación de
E/S comprobando el bit de ocupación, se pasa a ejecutar otro
programa. Si este nuevo programa realiza, a su vez, otra operación de
E/S, se mandan las órdenes oportunas al controlador, y pasa a
ejecutarse otro programa. Esto permite que varios dispositivos trabajen
simultáneamente, además, en la CPU no se tienen que ejecutar ciclos
de comprobación del estado de los dispositivos.
Cuando un dispositivo acaba una operación de E/S debe de poder
comunicárselo al programa que espera su finalización, para que así, el
programa pueda proseguir su ejecución. Para indicar el fin de la
operación el controlador manda una interrupción a la CPU.
Una interrupción no es más que una señal eléctrica que provoca que el
contador del programa y la PSW del programa en ejecución se salven
en un lugar seguro de memoria, para, a continuación, cargar el
contador de programa con una dirección fija de memoria donde reside
un programa del sistema operativo que gestiona la interrupción. Este
programa ejecutará cierto código para indicar al programa que
esperaba la finalización de la operación de E/S que ésta ya terminó.

Una vez que este programa del sistema operativo acaba su trabajo
ejecuta una instrucción de retorno de interrupción, la cual restaura el
contador de programa y la PSW del programa interrumpido,
prosiguiéndose así su ejecución sin que éste sea consciente de que ha
sido interrumpido. A esta forma de realizar la E/S se le llama E/S
controlada por interrupción.

Cuando un dispositivo realiza una operación de E/S, por ejemplo, una


lectura de una cinta, la información leída pasa al buffer del controlador.
Después, el programa que inició la lectura ejecuta ciertas instrucciones
para copiar esta información desde el buffer hacia la memoria principal.
La copia se realiza mediante un ciclo, copiando en cada iteración del
ciclo un byte o una palabra desde el buffer del controlador a la
memoria principal.
VENTAJAS DE LA MULTIPROGRAMACIÓN

* Varios procesos en ejecución.

* Permite el servicio interactivo simultaneo 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 de la CPU.

* Las direcciones de los procesos son relativas, el programador no se


preocupa por saber en dónde estará el proceso, dado que el sistema
operativo es el que se encarga de convertir la dirección lógica en física.
CONCLUSIONES

Después de la aparición de la multiprogramación surgieron los


ordenadores de acceso múltiple o multiusuario. En ellos cada usuario
dispone de un terminal, es decir, un teclado y una pantalla conectados
al ordenador. Los usuarios ejecutan programas interactivos. Un
programa interactivo es aquel que se comunica con el usuario por
medio de un terminal, el usuario le suministra información al programa
mediante el teclado, y recibe información del programa a través de la
pantalla. Los programas de los usuarios comparten los recursos (CPU,
memoria, discos, impresoras, etc.) del ordenador. Estos sistemas hacen
uso de una variante de la multiprogramación llamada tiempo
compartido.

En el tiempo compartido los programas de los distintos usuarios


residen en memoria; al realizar una operación de E/S los programas
ceden la CPU a otro programa, al igual que en la multiprogramación.
Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo
ejecutándose sin realizar operaciones de E/S el sistema operativo lo
detiene para que se ejecute otro programa. Con esto se consigue
repartir la CPU con equidad entre los programas de los distintos
usuarios. Al tener la CPU una capacidad de cálculo tan grande, los
programas de los usuarios no se sienten demasiado ralentizados por el
hecho de que la CPU (y los demás recursos) sean compartidos.
BIBLIOGRAFÍAS

(N.d.). Retrieved September 23, 2021, from [Link] website:

[Link]

OuJaen/DEFINICIONYCONTROLDEPROCESO/

[Link]

Wikipedia contributors. (n.d.). Multiprogramación. Retrieved


September 23, 2021, from Wikipedia, The Free Encyclopedia
website: [Link]
title=Multiprogramaci%C3%B3n&oldid=127725233

MULTIPROGRAMACION. (n.d.). Retrieved September 23, 2021,


from [Link] website:
[Link]

También podría gustarte