Sistemas operativos

Páginas: 153 (38082 palabras) Publicado: 9 de octubre de 2014
2
PROCESOS Y THREADS
Vamos a embarcarnos ahora en un estudio detallado de cómo están diseñados y
construidos los sistemas operativos. El concepto fundamental en cualquier sistema operativo es
el concepto de proceso que consiste en una abstracción de lo que es un programa en ejecución.
Todo lo demás depende de este concepto y es importante que el diseñador del sistema operativo
(y elestudiante) comprenda lo antes posible lo que es un proceso.

2.1

PROCESOS

Todos los ordenadores modernos pueden hacer varias cosas a la vez. Mientras un
ordenador está ejecutando un programa de usuario puede perfectamente también estar leyendo
de un disco e imprimiendo texto en una pantalla o una impresora. En un sistema
multiprogramado la CPU también conmuta de unos programas a otros,ejecutando cada uno de
ellos durante decenas o cientos de milisegundos. Aunque, estrictamente hablando, en cualquier
instante de tiempo la CPU sólo está ejecutando un programa, en el transcurso de 1 segundo ha
podido estar trabajando sobre varios programas, dando entonces a los usuarios la impresión de
un cierto paralelismo. En este contexto a veces la gente habla de pseudoparalelismo, en
contrastecon el auténtico paralelismo del hardware de los sistemas multiprocesador (que
tienen dos o más CPUs compartiendo la misma memoria física). Seguir la pista de múltiples
actividades paralelas resulta muy complicado para las personas. Por ese motivo los diseñadores
del sistema operativo han desarrollado a través de los años un modelo conceptual evolucionado
(el de los procesos secuenciales) quepermite tratar el paralelismo de una forma más fácil. Este
modelo, sus usos, y algunas de sus consecuencias constituyen el tema de este capítulo.

2.1.1 El Modelo de los Procesos Secuenciales
En este modelo, todo el software ejecutable en el ordenador, incluyendo a veces al
propio sistema operativo, se organiza en un número de procesos secuenciales, o simplemente
procesos para acortar. Unproceso es justamente un programa en ejecución, incluyendo los
valores actuales del contador de programa, registros y variables. Conceptualmente cada proceso
tiene su propia CPU virtual. En realidad, por supuesto, la CPU real conmuta sucesivamente de
un proceso a otro, pero para entender el sistema, es mucho más fácil pensar sobre una colección
de procesos ejecutándose en (pseudo) paralelo, queintentar seguir la pista de cómo la CPU
conmuta de un programa a otro. Esta rápida conmutación de un proceso a otro en algún orden se
denomina multiprogramación como vimos en el capítulo 1.
En la Figura 2-1(a) vemos un ordenador multiprogramado con cuatro programas en
memoria. En la Figura 2-1(b) vemos cuatro procesos cada uno con su propio flujo de control (es
decir su propio contador deprograma lógico), y cada uno ejecutándose independientemente de
los otros. Por supuesto que existe un único contador de programa físico, por lo que cada vez que
un proceso retoma su ejecución, su contador de programa lógico debe cargase en el contador de
programa real. Cuando el proceso agota el intervalo de tiempo que se le ha concedido, se salva

1

su contador de programa físico en sucontador de programa lógico en memoria. En la Figura 21(c) vemos que desde la perspectiva de un intervalo de tiempo suficientemente largo, todos los
procesos han progresado, pero que en cualquier instante dado solamente un único proceso está
realmente ejecutándose.
Un único contador
de programa

Cuatro contadores de programa

Proceso

Cambio de
proceso

Tiempo

Figura 2-1. (a)Multiprogramación de cuatro programas. (b) Modelo
conceptual de cuatro procesos secuenciales independientes. (c) Sólo un
programa está activo en cada momento.
Con la CPU conmutando de un proceso a otro, la velocidad a la cual un proceso realiza
su computación no es uniforme y probablemente ni siquiera es reproducible si los mismos
procesos se ejecutan de nuevo. Por ese motivo los procesos no deben...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistema Operativo Y Tipos De Sistemas Operativos
  • Atomicidad de operaciones
  • operaciones basicas del sistema operativo
  • Sistemas Operativos
  • Sistema operativo
  • Sistema operativo
  • Sistemas operativos
  • Sistema Operativo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS