SlideShare una empresa de Scribd logo
1 de 4
Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 
2.1 Procesos 
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 (La CPU está ejecutando solo 
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 del hardware 
de los sistemas multiprocesadores con 2 o más CPUs que comparten la misma memoria física). 
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. 
2.1.1 El modelo de un proceso 
Todo el software ejecutable se organiza en varios procesos secuenciales. Un proceso no es más 
que una instancia de un programa en ejecución, incluyendo los valores actuales del contador de 
programas, los registros y las variables. Cada proceso tiene su propia CPU virtual, una 
conmutación rápida de un proceso a otro se conoce como conmutación. 
Dado que la CPU conmuta rápidamente ente un proceso y otro, la velocidad a la que un proceso 
ejecuta sus cálculos no es uniforme y tal vez ni siquiera sea reproducible si se ejecutan los mismos 
procesos de nuevo. 
La idea clave es que un proceso es una actividad de cierto tipo: Tiene un programa, una entrada, 
una salida y un estado. Varios procesos pueden compartir un solo procesador mediante el uso de 
un algoritmo de planificación para determinar cuándo se debe detener el trabajo en un proceso 
para dar servicio a otro. 
2.1.2 Creación de un proceso 
En sistemas muy simples o sistemas diseñados para ejecutar solo una aplicación es posible tener 
presentes todos los procesos que se vayan a requerir cuando el sistema se inicie, no obstante en 
los sistemas de propósito general se necesita cierta forma de crear y terminar procesos según sea 
necesario durante la operación. 
Hay 4 eventos principales que provocan la creación de procesos: 
1° El arranque del sistema 
2° La ejecución, desde un proceso, de una llamada al sistema creación de procesos 
3° Una petición de usuario para crear un proceso 
4° El inicio de un trabajo por lotes 
Generalmente, cuando se arranque un sistema operativo se crean varios procesos, algunos de 
ellos son procesos en primer plano; es decir, procesos que interactúan con los usuarios y realizan 
trabajo para ellos. Otros son procesos en segundo plano, que no están asociados con usuarios 
específicos sino con una función específica. 
Los procesos que permanecen en segundo plano como correo electrónico, páginas web, noticias, 
etc. Se conocen como demonios (daemons), los sistemas grandes tienen comúnmente docenas de
Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 
ellos, en UNIX podemos utilizar el programa PS para listar los procesos en ejecución mientras que 
en Windows podemos usar el administrador de tareas. 
En los sistemas interactivos, los usuarios pueden iniciar un programa escribiendo un comando o 
haciendo doble clic en un icono, cualquiera de las 2 acciones inicia un proceso y ejecuta el 
programa seleccionado. 
Existe la ejecución de una llamada al sistema para crear el proceso, esta indica al sistema 
operativo que cree un proceso y le indica directa o indirectamente cual programa debe ejecutarlo. 
En Unix solo hay una llamada al sistema para crear un proceso. Fork: Esta llamada crea un clon 
exacto del proceso que hizo la llamada, después de fork los 2 procesos (padre e hijo) tienen la 
misma imagen de memoria, las mismas cadenas de entorno y los mismos archivos abiertos. 
Windows solo hace una llamada a una función de Win32 CreateProcess, maneja la creación de 
procesos y carga el programa correcto en el nuevo proceso, esta llamada incluye los siguientes 
parámetros: 
1° Programa a ejecutar 
2° Parámetros de la línea de comandos para introducir datos a ese programa 
3° Varios atributos de seguridad 
4° bits que controlan si los archivos abiertos se heredan 
5° Información de prioridad 
6° Una especificación de la ventana que se va a crear para el proceso 
7° Apuntador a una estructura 
2.1.3 Terminación de procesos 
Una vez que se crea un proceso empieza a ejecutarse y realiza el trabajo al que esta destinado, sin 
embargo, tarde o temprano el nuevo proceso terminaría, por lo general debido a una de las 
siguientes condiciones. 
1° Salida normal (voluntaria) 
2° Salida por error (voluntaria) 
3° Error fatal (involuntaria) 
4° Eliminado por otro proceso (involuntaria) 
La mayoría de los procesos terminan debido a que han concluido su trabajo. 
La segunda razón de terminación es que el proceso descubra un error. 
La tercera razón de terminación es un error fatal producido por el proceso, a menudo debido a un 
error en el programa.
Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 
La cuarta razón es que ejecute una llamada al sistema que indique al sistema operativo que 
elimine a otros procesos, en Unix esta llamada es Kill, la función correspondiente en Win32 es 
TerminateProcess. 
2.1.4 Jerarquía de Procesos 
En algunos sistemas, cuando un proceso crea otro, el proceso padre y el proceso hijo continúan 
asociados en ciertas formas. El proceso hijo puede crear por sí mismo más procesos, formando 
una jerarquía de procesos. Observe que, a diferencia de las plantas y los animales que utilizan la 
reproducción sexual, un proceso sólo tiene un padre (pero cero, uno, dos o más hijos). 
En UNIX, un proceso y todos sus hijos, junto con sus posteriores descendientes, forman un grupo 
de procesos. Cuando un usuario envía una señal del teclado, ésta se envía a todos los miembros 
del grupo de procesos actualmente asociado con el teclado (por lo general, todos los procesos 
activos que se crearon en la ventana actual). De manera individual, cada proceso puede atrapar la 
señal, ignorarla o tomar la acción predeterminada que es ser eliminado por la señal. 
Como otro ejemplo dónde la jerarquía de procesos juega su papel, veamos la forma en que 
UNIX se inicializa a sí mismo cuando se enciende la computadora. Hay un proceso especial 
(llamado init) en la imagen de inicio. Cuando empieza a ejecutarse, lee un archivo que le indica 
cuántas terminales hay. Después utiliza fork para crear un proceso por cada terminal. Estos 
procesos esperan a que alguien inicie la sesión. Si un inicio de sesión tiene éxito, el proceso de 
inicio de sesión ejecuta un shell para aceptar comandos. Éstos pueden iniciar más procesos y así 
sucesivamente. 
Por ende, todos los procesos en el sistema completo pertenecen a un solo árbol, con init en la raíz. 
En contraste, Windows no tiene un concepto de una jerarquía de procesos. Todos los procesos son 
iguales. La única sugerencia de una jerarquía de procesos es que, cuando se crea un proceso, el 
padre recibe un indicador especial un token (llamado manejador) que puede utilizar para controlar 
al hijo. Sin embargo, tiene la libertad de pasar este indicador a otros procesos, con lo cual invalida 
la jerarquía. Los procesos en UNIX no pueden desheredar a sus hijos. 
2.1.5 Estados de un Proceso 
Los estados de un proceso son los siguientes: 
1. En ejecución (en realidad está usando la CPU en ese instante). 
2. Listo (ejecutable; se detuvo temporalmente para dejar que se ejecute otro proceso). 
3. Bloqueado (no puede ejecutarse sino hasta que ocurra cierto evento externo). 
2.1.6 Implementación de los procesos 
Para implementar el modelo de procesos, el sistema operativo mantiene una tabla (un arreglo de 
estructuras) llamada tabla de procesos, con sólo una entrada por cada proceso (algunos autores 
llaman a estas entradas bloques de control de procesos). Esta entrada contiene información 
importante acerca del estado del proceso, incluyendo su contador de programa, apuntador de 
pila, asignación de memoria, estado de sus archivos abiertos, información de contabilidad y
Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 
planificación, y todo lo demás que debe guardarse acerca del proceso cuando éste cambia del 
estado en ejecución a listo o bloqueado, de manera que se pueda reiniciar posteriormente como si 
nunca se hubiera detenido. 
2.1.7 Modelación de multiprogramación 
Cuando se utiliza la multiprogramación, el uso de la CPU se puede mejorar. Dicho en forma cruda: 
si el proceso promedio realiza cálculos sólo 20 por ciento del tiempo que está en la memoria, con 
cinco procesos en memoria a la vez la CPU deberá estar ocupada todo el tiempo. Sin embargo, 
este modelo es demasiado optimista, ya que supone que los cinco procesos nunca estarán 
esperando la E/S al mismo tiempo. 
Un mejor modelo es analizar el uso de la CPU desde un punto de vista probabilístico. Suponga que 
un proceso gasta una fracción p de su tiempo esperando a que se complete una operación de 
E/S. Con n procesos en memoria a la vez, la probabilidad de que todos los n procesos estén 
esperando la E/S (en cuyo caso, la CPU estará inactiva) es pn. Entonces, el uso de la CPU se obtiene 
mediante la fórmula 
Uso de la CPU _ 1 _ pn 
CUESTIONARIO 
1° Que es un proceso? 
R= Un proceso no es mas que una instancia de un programa en ejecución incluyendo los valores 
actuales del contador de programa, los registros y las variables. 
2° Cuales son los estados de un proceso? 
R= -En ejecución=Se usa la CPU 
-Listo= Mensaje en ejecución de un proceso 
-Bloqueado= No puede ejecutarse 
3° Que son las interrupciones para un proceso? 
R= Procesos de usuario, procesos de disco, procesos de terminal, etc, que se bloquean cuando 
estan esperando a que algo ocurra. 
4° Que es la multiprogramación? 
R= Una conmutación rápida de un proceso a otro. 
5° Que es el vector de interrupción? 
R= Es la ubicación asociada de cada clase de entrada y salida.

Más contenido relacionado

La actualidad más candente

Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
ayreonmx
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linux
jcfarit
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
adriel91
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
Kim Sorel Rush
 
Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
Abimael hernandez
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
CariEli
 
Vision general de los sistemas operativos
Vision general de los sistemas operativosVision general de los sistemas operativos
Vision general de los sistemas operativos
superone314
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
chikscorpion_23
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
UPTM
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2
Luis Cigarroa
 

La actualidad más candente (20)

Tarea 3_individual_Nelis Rivero
Tarea 3_individual_Nelis RiveroTarea 3_individual_Nelis Rivero
Tarea 3_individual_Nelis Rivero
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linux
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
 
Tarea 3 actividad individual
Tarea 3 actividad individualTarea 3 actividad individual
Tarea 3 actividad individual
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Vision general de los sistemas operativos
Vision general de los sistemas operativosVision general de los sistemas operativos
Vision general de los sistemas operativos
 
Procesos
ProcesosProcesos
Procesos
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2
 

Destacado

Media evaluation 4
Media evaluation 4Media evaluation 4
Media evaluation 4
Brownh1A2
 
Evaluation Q2
Evaluation  Q2Evaluation  Q2
Evaluation Q2
Brownh1A2
 

Destacado (16)

Media evaluation 4
Media evaluation 4Media evaluation 4
Media evaluation 4
 
Aumentar diapo
Aumentar diapoAumentar diapo
Aumentar diapo
 
Browser Battle
Browser BattleBrowser Battle
Browser Battle
 
Tercer andamio
Tercer andamioTercer andamio
Tercer andamio
 
Traditionalmktg
TraditionalmktgTraditionalmktg
Traditionalmktg
 
Double Page Spread Write Up
Double Page Spread Write UpDouble Page Spread Write Up
Double Page Spread Write Up
 
Payday loans 300
Payday loans 300Payday loans 300
Payday loans 300
 
Picuinza
PicuinzaPicuinza
Picuinza
 
Evaluation Q2
Evaluation  Q2Evaluation  Q2
Evaluation Q2
 
Trabajo final computadores
Trabajo final computadoresTrabajo final computadores
Trabajo final computadores
 
Esources provides a level platform to all businesses
Esources provides a level platform to all businessesEsources provides a level platform to all businesses
Esources provides a level platform to all businesses
 
Lema 2014 2015
Lema 2014 2015Lema 2014 2015
Lema 2014 2015
 
Fuentes
Fuentes Fuentes
Fuentes
 
Comparing synths
Comparing synthsComparing synths
Comparing synths
 
INFORMATI - Gestione emergenze
INFORMATI - Gestione emergenze INFORMATI - Gestione emergenze
INFORMATI - Gestione emergenze
 
Colombia, internet y movilizacion social
Colombia, internet y movilizacion socialColombia, internet y movilizacion social
Colombia, internet y movilizacion social
 

Similar a 27 de oct

Procesos Introduccion a los sistemas operativos
 Procesos Introduccion a los sistemas operativos Procesos Introduccion a los sistemas operativos
Procesos Introduccion a los sistemas operativos
G Hoyos A
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
Carolina Cols
 
Ud Procesos
Ud  ProcesosUd  Procesos
Ud Procesos
naxoglez
 
Curso de software03
Curso de software03Curso de software03
Curso de software03
enriqueaco
 
GESTION DE PROCESOS
GESTION DE PROCESOSGESTION DE PROCESOS
GESTION DE PROCESOS
DAVID CRROS
 

Similar a 27 de oct (20)

Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Expocontrolcalidad
ExpocontrolcalidadExpocontrolcalidad
Expocontrolcalidad
 
Procesos Introduccion a los sistemas operativos
 Procesos Introduccion a los sistemas operativos Procesos Introduccion a los sistemas operativos
Procesos Introduccion a los sistemas operativos
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
Procesos sistema computacional UNIX
Procesos sistema computacional UNIXProcesos sistema computacional UNIX
Procesos sistema computacional UNIX
 
Procesos
ProcesosProcesos
Procesos
 
Ejemplo Pdf
Ejemplo PdfEjemplo Pdf
Ejemplo Pdf
 
Ud Procesos
Ud  ProcesosUd  Procesos
Ud Procesos
 
Curso de software03
Curso de software03Curso de software03
Curso de software03
 
GESTION DE PROCESOS
GESTION DE PROCESOSGESTION DE PROCESOS
GESTION DE PROCESOS
 
Introduccion a los procesos
Introduccion a los  procesosIntroduccion a los  procesos
Introduccion a los procesos
 
Introducción a los procesos alfa ii
Introducción a los procesos alfa iiIntroducción a los procesos alfa ii
Introducción a los procesos alfa ii
 
Practica procesosy servicios
Practica procesosy serviciosPractica procesosy servicios
Practica procesosy servicios
 

Más de Neriiva Pollypooqeth (20)

Windows
WindowsWindows
Windows
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Que es la ingeniería de requerimientos
Que es la ingeniería de requerimientosQue es la ingeniería de requerimientos
Que es la ingeniería de requerimientos
 
Hector
HectorHector
Hector
 
Gabriel monitores
Gabriel monitoresGabriel monitores
Gabriel monitores
 
Expo chavery preguntas
Expo chavery preguntasExpo chavery preguntas
Expo chavery preguntas
 
Cuestionaro lcd y led
Cuestionaro lcd y ledCuestionaro lcd y led
Cuestionaro lcd y led
 
Cuestionaro lcd y led
Cuestionaro lcd y ledCuestionaro lcd y led
Cuestionaro lcd y led
 
Act del30de oct
Act del30de octAct del30de oct
Act del30de oct
 
Act 20 de oct
Act 20 de octAct 20 de oct
Act 20 de oct
 
15 de oct
15 de oct15 de oct
15 de oct
 
Act 8 de oc
Act 8 de ocAct 8 de oc
Act 8 de oc
 
Act 8 de oc
Act 8 de ocAct 8 de oc
Act 8 de oc
 
Act 8 de oc
Act 8 de ocAct 8 de oc
Act 8 de oc
 
Act 8 de oc
Act 8 de ocAct 8 de oc
Act 8 de oc
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Sistemas operativos i li
Sistemas operativos i liSistemas operativos i li
Sistemas operativos i li
 
Manual basico de ubuntu gnu linux
Manual basico de ubuntu gnu linuxManual basico de ubuntu gnu linux
Manual basico de ubuntu gnu linux
 
Curso de ubuntu
Curso de ubuntuCurso de ubuntu
Curso de ubuntu
 
Users ubuntu
Users ubuntuUsers ubuntu
Users ubuntu
 

27 de oct

  • 1. Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 2.1 Procesos 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 (La CPU está ejecutando solo 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 del hardware de los sistemas multiprocesadores con 2 o más CPUs que comparten la misma memoria física). 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. 2.1.1 El modelo de un proceso Todo el software ejecutable se organiza en varios procesos secuenciales. Un proceso no es más que una instancia de un programa en ejecución, incluyendo los valores actuales del contador de programas, los registros y las variables. Cada proceso tiene su propia CPU virtual, una conmutación rápida de un proceso a otro se conoce como conmutación. Dado que la CPU conmuta rápidamente ente un proceso y otro, la velocidad a la que un proceso ejecuta sus cálculos no es uniforme y tal vez ni siquiera sea reproducible si se ejecutan los mismos procesos de nuevo. La idea clave es que un proceso es una actividad de cierto tipo: Tiene un programa, una entrada, una salida y un estado. Varios procesos pueden compartir un solo procesador mediante el uso de un algoritmo de planificación para determinar cuándo se debe detener el trabajo en un proceso para dar servicio a otro. 2.1.2 Creación de un proceso En sistemas muy simples o sistemas diseñados para ejecutar solo una aplicación es posible tener presentes todos los procesos que se vayan a requerir cuando el sistema se inicie, no obstante en los sistemas de propósito general se necesita cierta forma de crear y terminar procesos según sea necesario durante la operación. Hay 4 eventos principales que provocan la creación de procesos: 1° El arranque del sistema 2° La ejecución, desde un proceso, de una llamada al sistema creación de procesos 3° Una petición de usuario para crear un proceso 4° El inicio de un trabajo por lotes Generalmente, cuando se arranque un sistema operativo se crean varios procesos, algunos de ellos son procesos en primer plano; es decir, procesos que interactúan con los usuarios y realizan trabajo para ellos. Otros son procesos en segundo plano, que no están asociados con usuarios específicos sino con una función específica. Los procesos que permanecen en segundo plano como correo electrónico, páginas web, noticias, etc. Se conocen como demonios (daemons), los sistemas grandes tienen comúnmente docenas de
  • 2. Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 ellos, en UNIX podemos utilizar el programa PS para listar los procesos en ejecución mientras que en Windows podemos usar el administrador de tareas. En los sistemas interactivos, los usuarios pueden iniciar un programa escribiendo un comando o haciendo doble clic en un icono, cualquiera de las 2 acciones inicia un proceso y ejecuta el programa seleccionado. Existe la ejecución de una llamada al sistema para crear el proceso, esta indica al sistema operativo que cree un proceso y le indica directa o indirectamente cual programa debe ejecutarlo. En Unix solo hay una llamada al sistema para crear un proceso. Fork: Esta llamada crea un clon exacto del proceso que hizo la llamada, después de fork los 2 procesos (padre e hijo) tienen la misma imagen de memoria, las mismas cadenas de entorno y los mismos archivos abiertos. Windows solo hace una llamada a una función de Win32 CreateProcess, maneja la creación de procesos y carga el programa correcto en el nuevo proceso, esta llamada incluye los siguientes parámetros: 1° Programa a ejecutar 2° Parámetros de la línea de comandos para introducir datos a ese programa 3° Varios atributos de seguridad 4° bits que controlan si los archivos abiertos se heredan 5° Información de prioridad 6° Una especificación de la ventana que se va a crear para el proceso 7° Apuntador a una estructura 2.1.3 Terminación de procesos Una vez que se crea un proceso empieza a ejecutarse y realiza el trabajo al que esta destinado, sin embargo, tarde o temprano el nuevo proceso terminaría, por lo general debido a una de las siguientes condiciones. 1° Salida normal (voluntaria) 2° Salida por error (voluntaria) 3° Error fatal (involuntaria) 4° Eliminado por otro proceso (involuntaria) La mayoría de los procesos terminan debido a que han concluido su trabajo. La segunda razón de terminación es que el proceso descubra un error. La tercera razón de terminación es un error fatal producido por el proceso, a menudo debido a un error en el programa.
  • 3. Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 La cuarta razón es que ejecute una llamada al sistema que indique al sistema operativo que elimine a otros procesos, en Unix esta llamada es Kill, la función correspondiente en Win32 es TerminateProcess. 2.1.4 Jerarquía de Procesos En algunos sistemas, cuando un proceso crea otro, el proceso padre y el proceso hijo continúan asociados en ciertas formas. El proceso hijo puede crear por sí mismo más procesos, formando una jerarquía de procesos. Observe que, a diferencia de las plantas y los animales que utilizan la reproducción sexual, un proceso sólo tiene un padre (pero cero, uno, dos o más hijos). En UNIX, un proceso y todos sus hijos, junto con sus posteriores descendientes, forman un grupo de procesos. Cuando un usuario envía una señal del teclado, ésta se envía a todos los miembros del grupo de procesos actualmente asociado con el teclado (por lo general, todos los procesos activos que se crearon en la ventana actual). De manera individual, cada proceso puede atrapar la señal, ignorarla o tomar la acción predeterminada que es ser eliminado por la señal. Como otro ejemplo dónde la jerarquía de procesos juega su papel, veamos la forma en que UNIX se inicializa a sí mismo cuando se enciende la computadora. Hay un proceso especial (llamado init) en la imagen de inicio. Cuando empieza a ejecutarse, lee un archivo que le indica cuántas terminales hay. Después utiliza fork para crear un proceso por cada terminal. Estos procesos esperan a que alguien inicie la sesión. Si un inicio de sesión tiene éxito, el proceso de inicio de sesión ejecuta un shell para aceptar comandos. Éstos pueden iniciar más procesos y así sucesivamente. Por ende, todos los procesos en el sistema completo pertenecen a un solo árbol, con init en la raíz. En contraste, Windows no tiene un concepto de una jerarquía de procesos. Todos los procesos son iguales. La única sugerencia de una jerarquía de procesos es que, cuando se crea un proceso, el padre recibe un indicador especial un token (llamado manejador) que puede utilizar para controlar al hijo. Sin embargo, tiene la libertad de pasar este indicador a otros procesos, con lo cual invalida la jerarquía. Los procesos en UNIX no pueden desheredar a sus hijos. 2.1.5 Estados de un Proceso Los estados de un proceso son los siguientes: 1. En ejecución (en realidad está usando la CPU en ese instante). 2. Listo (ejecutable; se detuvo temporalmente para dejar que se ejecute otro proceso). 3. Bloqueado (no puede ejecutarse sino hasta que ocurra cierto evento externo). 2.1.6 Implementación de los procesos Para implementar el modelo de procesos, el sistema operativo mantiene una tabla (un arreglo de estructuras) llamada tabla de procesos, con sólo una entrada por cada proceso (algunos autores llaman a estas entradas bloques de control de procesos). Esta entrada contiene información importante acerca del estado del proceso, incluyendo su contador de programa, apuntador de pila, asignación de memoria, estado de sus archivos abiertos, información de contabilidad y
  • 4. Alumna: Vazquez Marquez Mayra Neriva Grupo: 15Li251 planificación, y todo lo demás que debe guardarse acerca del proceso cuando éste cambia del estado en ejecución a listo o bloqueado, de manera que se pueda reiniciar posteriormente como si nunca se hubiera detenido. 2.1.7 Modelación de multiprogramación Cuando se utiliza la multiprogramación, el uso de la CPU se puede mejorar. Dicho en forma cruda: si el proceso promedio realiza cálculos sólo 20 por ciento del tiempo que está en la memoria, con cinco procesos en memoria a la vez la CPU deberá estar ocupada todo el tiempo. Sin embargo, este modelo es demasiado optimista, ya que supone que los cinco procesos nunca estarán esperando la E/S al mismo tiempo. Un mejor modelo es analizar el uso de la CPU desde un punto de vista probabilístico. Suponga que un proceso gasta una fracción p de su tiempo esperando a que se complete una operación de E/S. Con n procesos en memoria a la vez, la probabilidad de que todos los n procesos estén esperando la E/S (en cuyo caso, la CPU estará inactiva) es pn. Entonces, el uso de la CPU se obtiene mediante la fórmula Uso de la CPU _ 1 _ pn CUESTIONARIO 1° Que es un proceso? R= Un proceso no es mas que una instancia de un programa en ejecución incluyendo los valores actuales del contador de programa, los registros y las variables. 2° Cuales son los estados de un proceso? R= -En ejecución=Se usa la CPU -Listo= Mensaje en ejecución de un proceso -Bloqueado= No puede ejecutarse 3° Que son las interrupciones para un proceso? R= Procesos de usuario, procesos de disco, procesos de terminal, etc, que se bloquean cuando estan esperando a que algo ocurra. 4° Que es la multiprogramación? R= Una conmutación rápida de un proceso a otro. 5° Que es el vector de interrupción? R= Es la ubicación asociada de cada clase de entrada y salida.