Вы находитесь на странице: 1из 16

 

UNIVERSIDAD ISTMO AMERICANA


Ing. En Gestión y desarrollo de software 

Reporte de presentación 
Alumno: 
Gallegos Zapata Fabián 
 
Materia: 
Sistemas Operativos

Semestre: 
5º 
Grupo: 
501
 
Facilitador: 
Eduardo Garcia Velazquez 
 
Fecha: 
23/Octubre/2018
Índice
Introducción 3
Técnicas de administración para sistemas operativos 3
Desarrollo 4
Estados y transiciones de los procesos 4
Estados activos: 5
Estados inactivos: 6
Creación de procesos 6
Operaciones de procesos y recursos 7
Crear el proceso. 7
Jerárquica. 7
No jerárquico 7
Descriptor de procesos y recursos 8
Transiciones 8
Niveles, objetivos y criterios del planificador 9
Planificación a largo plazo 10
Planificación a mediano plazo 11
Planificación a corto plazo 11
Objetivos y criterios de planificación 11
El reloj de interrupciones 13
Conclusión 14
Referencias Bibliográficas 15

2
Introducción

Técnicas de administración para sistemas operativos

Dentro de las operaciones más básicas y la vez más complejas de nuestra PC


encontramos los procesos.
Estos nos permitirán realizar tareas en nuestra computadora, o por lo menos sería
nuestra manera de decirlo.
Siempre que le pidamos a nuestra computadora que haga algo, los procesos
asumirán el trabajo y de esta manera el microprocesador dará ejecución al plan que
realice el sistema operativo a través de los procesos.
Un proceso no es más que un programa en ejecución, e incluye los valores actuales
del contador de programa, los registros y las variables.
Conceptualmente cada unos de estos procesos tiene su propia CPU virtual.
Desde luego, en la realidad la verdadera CPU conmuta de un proceso a otro.
Un proceso es un concepto manejado por el sistema operativo que consiste en el
conjunto formado por:

1. Las instrucciones de un programa destinadas a ser ejecutadas por el


microprocesador.
2. Su estado de ejecución en un momento dado, esto es, los valores de
los registros de la CPU para dicho programa.
3. Su memoria de trabajo, es decir, la memoria que ha reservado y sus
contenidos.
4. Otra información que permite al sistema operativo su planificación.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde


un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos
los hilos) y la información de planificación.
Cada hilo consta de instrucciones y estado de ejecución.

3
Desarrollo

Los procesos son creados y destruidos por el sistema operativo, así como también
este se debe hacer cargo de la comunicación entre procesos, pero lo hace a
petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso
se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y
no compartir el espacio de memoria con el proceso que los ha creado o ser creados
en el mismo espacio de memoria.
En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La
diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y
en que dichos hilos comparten toda la memoria reservada para el proceso.

Estados y transiciones de los procesos

Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En


ejecución y Bloqueado.

Los procesos en el estado listo son los que pueden pasar a estado de ejecución si el
planificador los selecciona. Los procesos en el estado ejecución son los que se
están ejecutando en el procesador en ese momento dado. Los procesos que se
encuentran en estado bloqueado están esperando la respuesta de algún otro
proceso para poder continuar con su ejecución. Por ejemplo operación de E/S.

4
Un proceso puede variar entre 5 distintos estado:
● New​​: cuando el proceso está siendo creado.
● Running​​: cuando el proceso se está ejecutando.
● Waiting​​: cuando el proceso está esperando que se cumpla algún otro
evento.
● Ready​​: cuando el proceso está pronto para ejecutar, esperando por la
CPU.
● Terminated​​: cuando el proceso está terminado.
Los bloques de control de los procesos se almacenan en colas, cada una de las
cuales representa un estado particular de los
procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los
procesos son internos del sistema operativo y transparentes al usuario.

Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.

1. Estados activos:
Son aquellos que compiten con el procesador o están en condiciones de
hacerlo.
Se dividen en:

a. Ejecución​​:Estado en el que se encuentra un proceso cuando tiene el


control del procesador. En un sistema monoprocesador este estado
sólo lo puede tener un proceso.
b. Preparado​​: Aquellos procesos que están dispuestos para ser
ejecutados, pero no están en ejecución por alguna causa (Interrupción,
haber entrado en cola estando otro proceso en ejecución, etc.).

5
c. Bloqueado​​: Son los procesos que no pueden ejecutarse de momento
por necesitar algún recurso no disponible (generalmente recursos de
entrada/salida).

2. Estados inactivos:
Son aquellos que no pueden competir por el procesador, pero que pueden
volver a hacerlo por medio de ciertas operaciones.
En estos estados se mantiene el bloque de control de proceso aparcado
hasta que vuelva a ser activado.
Se trata de procesos que no han terminado su trabajo que lo han impedido y
que pueden volver a activarse desde el punto en que se quedaron sin que
tengan que volver a ejecutarse desde el principio.
Son de dos tipos:

a. Suspendido bloqueado​​: Es el proceso que fue suspendido en espera


de un evento, sin que hayan desaparecido las causas de su bloqueo.
b. Suspendido programado​​: Es el proceso que han sido suspendido,
pero no tiene causa para estar bloqueado.

Creación de procesos
Crear un proceso implica operaciones como:
● Dar un nombre a un proceso.
● Insertarlo en la lista de procesos conocidos del sistema ( o tabla de
procesos).
● Determinar la prioridad inicial de proceso.
● Crear el bloque de control de proceso.
● Asignar los recursos iniciales al proceso.
Un proceso puede crear un nuevo proceso. Si lo hace el proceso creador se
denomina proceso padre, y el proceso creado, proceso hijo. Sólo se necesita un
padre para crear un hijo. Tal creación origina una estructura jerárquica de procesos.
No se puede destruir un proceso cuando este ha creado otros procesos.

Destruir un proceso implica eliminarlo del sistema. Se le remueve de la tabla o


listado del sistema, sus recursos se devuelven al sistema y su bloque de control de
proceso se borra (es decir, el espacio de memoria ocupado por su PCB se devuelve
al espacio de memoria disponible.

6
Operaciones de procesos y recursos
Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de la
manipulación de los procesos. En general las operaciones que se pueden hacer
sobre un proceso son las siguientes:

Crear el proceso.
Se produce con la orden de ejecución del programa y suele necesitar varios
argumentos, como el nombre y la prioridad del proceso.
La creación de un proceso puede ser de dos tipos:

Jerárquica.

En ella cada proceso que se crea es hijo del proceso creador y hereda el entorno
de ejecución de su padre. El primer proceso que ejecuta un usuario será hijo del
intérprete de comandos con el que interactúa.

No jerárquico
Cada proceso creado por otro proceso se ejecuta independientemente de su
creador con un entorno diferente. Es un tipo de creación que no suele darse en los
sistemas operativos actuales.

Además de los dos tipos anteriores se pueden realizar las operaciones siguientes:
● Destruir un proceso​. Se trata de la orden de eliminación del proceso
con la cual el sistema operativo destruye su PCB ( Process control
Block).

● Suspender un proceso. Es una operación de alta prioridad que


paraliza un proceso que puede ser reanudado posteriormente. Suele
utilizarse en ocasiones de mal funcionamiento o sobrecarga del
sistema.

○ Reanudar un proceso. Trata de activar un proceso que ha sido


previamente suspendido.

○ Cambiar la prioridad de un proceso.

● Temporizar la ejecución de un proceso. ​Hace que un determinado


proceso se ejecute cada cierto tiempo (segundos, minutos, horas,...)
por etapas o de una sola vez, pero transcurrido un periodo de tiempo
fijo.

7
● Despertar un proceso. Es una forma de desbloquear un proceso que
habrá sido bloqueado previamente por temporización o cualquier otra
causa.

Descriptor de procesos y recursos


Es una estructura de datos asociada a una entidad informática ya sea un (Recurso o
Proceso), en la cual se indica y actualiza todas las informaciones relativas a dicha
entidad.

En el caso de un proceso la información general que contiene es:


1. Identificador:​​ Que puede ser interno y externo.
a. Interno:​​ Sistemas.
b. Externo: ​Usuario.
2. Descripción de la máquina virtual asociada: como espacio virtual asignado,
tipo de mapeo, tipo de acceso.

3. Descripción de los recursos de la máquina que usa como: Lista de recursos


que el proceso tiene derecho a solicitar, dirección real en la memoria
principal, estado de las variables internas del CPU, prioridad, etc.

4. Estados funcionales del proceso: Los estados de los procesos son


internos del sistema operativo y transparente al usuario. Para éste, su
proceso estará siempre en ejecución independientemente del estado en
que se encuentre internamente el sistema.

Transiciones
Un proceso puede encontrarse en estado de ejecución, bloqueado o listo (que
también se llama ejecutable).
De estos estados de los procesos se derivan las siguientes transiciones y estados:

Transición​​:
El paso de un estado a otro.
1. El proceso se bloquea en la entrada.
2. El planificador elige otro proceso.
3. El planificador elige este proceso.
4. La entrada se vuelve disponible.
Estados​​:
1. Ejecución ​(que en realidad hace uso del CPU en ese instante).
2. Bloqueado ​(incapaz de correr hasta que suceda algún evento externo.

8
3. Listo ​(ejecutable; se detiene temporalmente para permitir que se ejecute otro
proceso).
En estos tres estados son posibles cuatro transiciones:
1. Ocurre cuando un proceso descubre que no puede continuar. En algún sistema el
proceso debe ejecutar una llamada al sistema, BLOCK, para entrar en estado
bloqueado.

2 y 3. Son ocasionadas por el planificador del proceso, que es parte del sistema
operativo sin que el proceso llegue a saber de ella.

2. Ocurre cuando el planificador decide que el proceso en ejecución ya ha corrido el


tiempo suficiente y es tiempo de permitir que otro proceso tome tiempo de CPU.

3. Ocurre cuando todos los procesos han utilizado su parte del tiempo y es hora de
que el primer proceso vuelva a correr.

4. ​Ocurre cuando aparece el evento externo que estaba esperando un proceso


(como el arribo de alguna entrada). Si ningún otro proceso corre en ese instante, la
transición 3 se activará de inmediato y el proceso iniciara su ejecución, de lo
contrario tendrá que esperar, en estado listo.

Niveles, objetivos y criterios del planificador


La planificación es el proceso por el cual el sistema operativo selecciona qué
proceso ejecutar. La selección del proceso se basa en alguno de los algoritmos de
planificación.
La planificación de la CPU, en el sentido de conmutar entre los distintos procesos,
es una de las funciones del sistema operativo. Este despacho es llevado a cabo por
un pequeño programa llamado planificador a corto plazo o dispatcher
(despachador). La misión del dispatcher consiste en asignar la CPU a uno de los
procesos ejecutables del sistema, para ello sigue un determinado algoritmo.

Los acontecimientos que pueden provocar la llamada al dispatcher dependen del


sistema (son un subconjunto de las interrupciones), pero son alguno de estos:

● El proceso en ejecución acaba su ejecución o no puede seguir


ejecutándose (por una E/S, operación WAIT, etc).
● Un elemento del sistema operativo ordena el bloqueo del proceso en
ejecución
● El proceso en ejecución agota su cuantum o cuanto de estancia en la
CPU.
● Un proceso pasa a estado listo.

9
Sólo se activa el dispatcher como consecuencia de los 2 primeros acontecimientos
se estará haciendo un buen uso del procesador. Este criterio es acertado en
sistemas por lotes en los que los programas no son interactivos. Sin embargo, en un
sistema de tiempo compartido no es
adecuado, pues un proceso que se dedicara
a realizar cálculos, y no realizará E/S,
monopolizar el uso de la CPU.
● Cuándo introducir un nuevo proceso
en el Sistema.
● Determinar el orden de ejecución de
los procesos del sistema.
El scheduling está muy relacionado con la
gestión de los recursos. Existen tres niveles
de scheduling, estos niveles son:
● Planificador de la CPU o a
corto plazo.
● Planificador a medio plazo.
● Planificador a largo plazo

Planificación a largo plazo


Este planificador está presente en algunos sistemas que admiten además de
procesos interactivos trabajos por lotes. Usualmente, se les asigna una prioridad
baja a los trabajos por lotes, utilizándose estos para mantener ocupados a los
recursos del sistema durante períodos de baja actividad de los procesos
interactivos. Normalmente, los trabajos por lotes realizan tareas rutinarias como el
cálculo de nóminas; en este tipo de tareas el programador puede estimar su gasto
en recursos, indicándose al sistema. Esto facilita el funcionamiento del planificador a
largo plazo.

El objetivo primordial del planificador a largo plazo es el de dar al planificador de la


CPU una mezcla equilibrada de trabajos, tales como los limitados por la CPU
(utilizan mucho la CPU) o la E/S. Así, por ejemplo, cuando la utilización de la CPU
es baja, el planificador puede admitir más trabajos para aumentar el número de
procesos listos y, con ello, la probabilidad de tener algún trabajo útil en espera de
que se le asigne la CPU.

Planificación a mediano plazo


En los sistemas de multiprogramación y tiempo compartido varios procesos residen
en la memoria principal. El tamaño limitado de ésta hace que el número de procesos

10
que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria
estén bloqueados, desperdiciando así la CPU. En algunos sistemas se intercambian
procesos enteros (swap) entre memoria principal y memoria secundaria
(normalmente discos), con esto se aumenta el número de procesos, y, por tanto, la
probabilidad de una mayor utilización de la CPU.

El planificador a medio plazo es el encargado de regir las transiciones de procesos


entre memoria principal y secundaria, actúa intentando maximizar la utilización de
los recursos. Por ejemplo, transfiriendo siempre a memoria secundaria procesos
bloqueados, o transfiriendo a memoria principal procesos bloqueados únicamente
por no tener memoria.

Planificación a corto plazo


Qué proceso será el que se ejecutará en el procesador en el instante siguiente.

Expulsión denota si un proceso acapara el procesador cuando está ejecutándose.


Existen sistemas con y sin expulsión:
A. Sin expulsión: un proceso conserva el uso del procesador mientras lo
desee; es decir, mientras no solicite del SO un servicio que lo bloquee.
Ventajas: minimiza tiempo de planificación. Inconvenientes: un
proceso podría monopolizar el uso del procesador.
B. Con expulsión: el SO puede desalojar a un proceso del uso del
procesador (sin que el proceso lo haya solicitado). Ventaja: control
sobre el tiempo de ejecución de cada proceso. Inconveniente: gasto de
tiempo.

Objetivos y criterios de planificación


Los objetivos del planificador se resumen en:
A. Reparto equitativo del tiempo de procesador
B. Eficiencia en el uso del procesador
C. Menor tiempo de respuesta en uso interactivo
D. Cumplir plazos de ejecución de los sistemas de tiempo real.

El criterio más empleado establece dos clasificaciones. En primer lugar, se puede


hacer una distinción entre los criterios orientados a los usuarios y los orientados al
sistema. Los criterios orientados al usuario se refieren al comportamiento del
sistema tal y como lo perciben los usuarios o los procesos.

Uno de los parámetros es el tiempo de respuesta. El tiempo de respuesta es el


periodo de tiempo transcurrido desde que se emite una solicitud hasta que la

11
respuesta aparece en la salida. Sería conveniente disponer de una política de
planificación que ofrezca un buen servicio a diversos usuarios.
Otros criterios están orientados al sistema, esto es, se centran en el uso efectivo y
eficiente del procesador. Un ejemplo puede ser la productividad, es decir, el ritmo
con el que los procesos terminan. La productividad es una medida muy válida del
rendimiento de un sistema y que sería deseable maximizar.

En particular, una disciplina de planificación debe:


● Ser equitativa: debe intentar hacer una planificación justa, esto es, se
debe tratar a todos los procesos de la misma forma y no aplazar
indefinidamente ningún proceso. La mejor forma de evitarlo es emplear
alguna técnica de envejecimiento; es decir, mientras un proceso
espera un recurso, su prioridad debe crecer.
● Ser eficiente: debe maximizar el uso de los recursos tales como
intentar que la ocupación de la CPU sea máxima. Al mismo tiempo se
debe intentar reducir el gasto extra por considerar que es trabajo no
productivo. Normalmente el idear algoritmos eficientes supone invertir
recursos en gestión del propio sistema.
● Lograr un tiempo bueno de respuesta, es decir, que los usuarios
interactivos reciban respuesta en tiempos aceptables.
● Lograr un tiempo de proceso global predecible. Esto quiere decir que
un proceso debe ejecutarse aproximadamente en el mismo tiempo y
casi al mismo costo con independencia de la carga del sistema.
● Elevar al máximo la productividad o el rendimiento, esto es, maximizar
el número de trabajos procesados por unidad de tiempo. Eso supone,
por un lado, dar preferencia a los procesos que ocupan recursos
decisivos y, por otro, favorecer a los procesos que muestran un
comportamiento deseable. En el primer caso conseguimos liberar el
recurso cuanto antes para que esté disponible para un proceso de
mayor prioridad. Con el segundo criterio escogemos a los procesos
que no consumen muchos recursos dejándole al sistema mayor
capacidad de actuación.

Estos criterios son dependientes entre sí y es imposible optimizar todos de forma


simultánea. Por ejemplo, obtener un buen tiempo de respuesta puede exigir un
algoritmo de planificación que alterne entre los procesos con frecuencia, lo que
incrementa la sobrecarga del sistema y reduce la productividad. Por tanto, en el
diseño de una política de planificación entran en juego compromisos entre requisitos
opuestos; el peso relativo que reciben los distintos requisitos dependerá de la
naturaleza y empleo del sistema.

12
El reloj de interrupciones
El sistema operativo gestiona un reloj de interrupciones que genera interrupciones
cada cierto tiempo.
Un proceso mantiene el control de la CPU hasta que la libera voluntariamente
(acaba su ejecución, o se bloquea), hasta que el reloj interrumpe o hasta que alguna
otra interrupción desvía la atención de la CPU.
Si el usuario se encuentra en ejecución y el reloj interrumpe, el sistema operativo
entra en ejecución para comprobar, por ejemplo, si ha pasado el cuanto de tiempo
del proceso que estaba en ejecución.

El reloj de interrupciones asegura que ningún proceso acapara la utilización del


procesador. El sistema operativo, apoyándose en él, intenta distribuir el tiempo de
CPU entre los distintos procesos ya sean de E/S o de cálculo.
Por tanto, ayuda a garantizar tiempos de respuesta para los usuarios interactivos,
evitando que el sistema quede bloqueado en un ciclo infinito de algún usuario y
permite que los procesos respondan a eventos dependientes de tiempo.

13
Conclusión
Las computadoras en general son operadas a través de procesos los cuales son
necesarios para que nosotros usuarios podamos usarlas mpa eficientemente.
Los sistemas operativos modernos tiene mas complejos sistemas de administración
de sus procesos por los cuales hoy en día permiten realizar no solo uno sino varios
procesos los cuales nos permiten a nosotros ejecutar tareas sin necesidad de cerrar
o detener otras actividades para poder usar otras en pocas palabras son multitarea
y multiusuarios.

Con ayuda de estos procesos también somo capaces de realizar la administración


más eficiente de los recursos de la computadora así como sus métodos de entrada
y salida y otros tipos de operaciones que realizamos de manera frecuente en la
computadora.

El uso de las prioridades en los procesos y al momento de ser ejecutados son un


beneficio puesto que permiten al sistema operativo tener un mejor control de los
procesos y así determinar qué hacer con ellos sobre todo cuando se detecta que un
proceso ya está en segundo plano de ejecución lo puede detener y luego
automaticamente lo puede reiniciar para poder ejecutarlo de manera automática o
manual por el usuario.

Todos estos procesos son mapeados por así decirlo dentro del sistema contal de
que más adelante puedan ser ejecutados de manera eficiente y rápida de acuerdo
con las necesidades del usuario y las tareas que desea realizar, de igual manera
pueden administrar la entrada y salida del sistema cuando inicia un programa y
cuando termina asi mismo el sistema emplea todo lo anteriormente explicado en la
investigación de manera más detallada.

14
Referencias Bibliográficas

Sistemas Operativos
https://www.monografias.com/trabajos40/sistema-operativo-proceso/sist
ema-operativo-proceso.shtml

Reloj de interrupciones
https://lsi.vc.ehu.eus/pablogn/docencia/manuales/SO/TemasSOuJaen/P
LANIFICACIONDEPROCESOS/4y5ElRelojdeInterrupciones.UsodePiori
dades.htm

Sistemas operativos
http://wwwsistemasoperativos-tere.blogspot.mx/2011/08/secu
enciabilidad.html

http://eduadis.itlapiedad.edu.mx/~hocegueras/so1/so1_211.ht
ml

http://eduadis.itlapiedad.edu.mx/~hocegueras/so1/so1_211.ht
ml

15
16

Вам также может понравиться