miércoles, 25 de marzo de 2015
2.1 Concepto de Procesos
Todas
las computadoras modernas ofrecen varias cosas al mismo tiempo; quienes están
acostumbrados a trabajar con ellas tal vez no estén completamente conscientes
de este hecho, por lo que utilizaremos algunos ejemplos para aclarar este
punto. Consideremos primero un servidor Web, a donde convergen las peticiones
de páginas Web provenientes de todos lados. Cuando llega una petición, el
servidor verifica si la página que se necesita está en la caché. De ser así,
devuelve la página; en caso contrario, inicia una petición al disco para
obtenerla y, desde la perspectiva de la CPU, estas peticiones tardan
eternidades. Mientras se espera el cumplimiento de una petición, muchas más
pueden llegar. Si hay varios discos presentes, algunas o todas las demás
peticiones podrían dirigirse a otros discos mucho antes de que se cumpla la
primera petición. Es evidente que se necesita cierta forma de modelar y
controlar esta concurrencia. Los procesos (y en especial los hilos) pueden
ayudar en este caso. Ahora consideremos una PC de usuario. Cuando se arranca el
sistema se inician muchos procesos en forma secreta, lo que a menudo el usuario
desconoce. Por ejemplo, se podría iniciar un proceso para esperar el correo
electrónico entrante; otro que permite al antivirus comprobar periódicamente la
disponibilidad de nuevas definiciones de virus; algunos procesos de usuario
explícitos para, por ejemplo, imprimir archivos y quemar un CD-ROM, y todo esto
mientras el usuario navega por la Web. Toda esta actividad se tiene que
administrar, y en este caso un sistema de multiprogramación con soporte para
múltiples procesos es muy útil. En cualquier sistema de multiprogramación, la
CPU conmuta de un proceso a otro con rapidez, ejecutando cada uno durante
décimas o centésimas de milisegundos: hablando en sentido estricto, en
cualquier instante la CPU está ejecutando sólo un proceso, y en el transcurso
de 1 segundo podría trabajar en varios de ellos, dando la apariencia de un
paralelismo (o pseudoparalelismo, para distinguirlo del verdadero paralelismo
de hardware de los sistemas multiprocesadores con dos o más CPUs que comparten
la misma memoria física). Es difícil para las personas llevar la cuenta de
varias actividades en paralelo; por lo tanto, los diseñadores de sistemas
operativos han evolucionado con el paso de los años a un modelo conceptual (procesos
secuenciales) que facilita el trabajo con el paralelismo.
Suscribirse a:
Enviar comentarios (Atom)

No hay comentarios:
Publicar un comentario