Está en la página 1de 10

Sistemas

Operativos
Docente: Juan Carlos Díaz López
Alumnos: Abimael Méndez Zacarias
Fecha: 15/03/2023
Tarea: Resumen de la unidad
Semestre: 2do
Turno: Matutino
Grupo: ISMA-2
Carrera: ISC
Índice
Introducción ........................................................................................................................3
2.1. Concepto de proceso ..................................................................................................4
2.2. Estados y transiciones de los procesos.................................................................4
2.3. Procesos ligeros: Hilos o hebras .............................................................................5
2.4. Concurrencia y secuencialidad. ................................................................................6
2.5. Niveles, objetivos y criterios de planificación. ...................................................7
2.6. Técnicas de administración del planificador. .......................................................8
Conclusión ........................................................................................................................... 10
Introducción
Es de suma importancia que nosotros logremos conocer todas las las características
de los sistemas operativos si queremos poder entender cómo es que estos mismos
funcionan, es por tal motivo que en este documento se describen las características
que presentan los sistemas operativos para la administración de procesos en los
sistemas mono y multiprocesadores. Es por tal motivo que en este documento
vamos a poder encontrar el concepto de procesos referente a los sistemas
operativos, de igual manera vamos a observar en que estados los podemos
encontrar, ya que los procesos se clasifican dependiendo que estén o no haciendo.

Esta investigación es con el propósito de poder entender con mucha más precisión
lo que significa ser un sistema operativo y cuáles son los múltiples elementos que
este mismo engloba.
2.1. Concepto de proceso
Un proceso es un programa que se encuentra en un estado de ejecución, y que
incluye los valores actuales del contador de programa, los registros y las variables.
Un proceso es un concepto manejado por el sistema operativo que consiste en el
conjunto formado por:

➢ Las instrucciones de un programa con destino a ser ejecutadas por el


microprocesador.
➢ Su estado de ejecución que es dado en un momento especifico, esto es, los
valores de los registros de la CPU para dicho programa.
➢ La memoria de trabajo, es decir, la memoria que se ha reservado y sus
contenidos.

Este concepto muestra un cambio ligeramente en el caso de los sistemas operativos


clasificados como 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. 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.

2.2. Estados y transiciones de los procesos


Un proceso se puede clasificar en cualquiera de los siguientes tres estados: Listo,
En ejecución y Bloqueado. Los procesos que se encuentran en el estado listo son
los que pueden pasar a estado de ejecución si el planificador los selecciona. Los
procesos que se encuentran 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.

Un proceso puede variar entre 5 distintos estados


➢ 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 esta pronto para ejecutar, esperando por la CPU.

4
➢ Terminated: cuando el proceso está terminado.
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.

➢ El proceso se bloquea en la entrada.


➢ El planificador elige otro proceso.
➢ El planificador elige este proceso.
➢ La entrada se vuelve disponible.

Estados:

➢ Ejecución (que en realidad hace uso del CPU en ese instante).


➢ Bloqueado (incapaz de correr hasta que suceda algún evento externo.
➢ Listo (ejecutable; se detiene temporalmente para permitir que se ejecute otro
proceso).

2.3. Procesos ligeros: Hilos o hebras


Un proceso ligero (thread o hebra) es un programa en ejecución que comparte la
imagen de la memoria y otras informaciones con otros procesos ligeros. Los
procesos ligeros son una unidad básica de utilización de la CPU consistente en un
juego de registros y un espacio de pila. Comparte el código, los datos y los recursos
con sus hebras pares. Una tarea (o proceso pesado) está formada ahora por una o
más hebras. Una hebra sólo puede pertenecer a una tarea

Características

➢ Se comparten recursos. La compartición de la memoria permite a las hebras


pares comunicarse sin usar ningún mecanismo de comunicación
interproceso del SO.
➢ La conmutación de contexto es más rápida gracias al extenso compartir de
recursos
➢ No hay protección entre las hebras. Una hebra puede escribir en la pila de
otra hebra del mismo proceso
5
Un hilo es una entidad más reducida capaz de convivir junto a otros hilos bajo el
contexto de un único proceso, permitiendo compartir la información de estado,
el área de memoria y/o los recursos asociados a ese proceso. Dentro de un
proceso puede haber uno o más hilos de control cada uno con:

➢ Un estado de ejecución (en ejecución, listo, bloqueado).


➢ Un contexto de procesador, que se salva cuando no esté ejecutándose.
➢ Una pila de ejecución.
➢ Algún almacenamiento estático para variables locales. Acceso a la
memoria y a los recursos de ese trabajo que comparte con los otros hilos.

Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato
modificado inmediatamente, lo que quiere decir que comparte los mismos recursos,
es por esto por lo que en conjunto se les denomina como un proceso. Lo que
diferencia a los hilos de los procesos tradicionales es que estos generalmente
comparten otros recursos de forma directa y es más rápido cambiar de hilo a otro
dentro de un mismo proceso que cambiar de un proceso a otro, debido a que los
hilos comparten datos y espacios de direcciones; mientras que, en los procesos, al
ser independientes, no lo hacen. Los hilos poseen un estado de ejecución y pueden
sincronizarse entre ellos para evitar problemas de compartimiento de recursos. Por
lo general cada hilo tiene una tarea específica y determinada, como forma de
aumentar la eficiencia del uso del procesador.

2.4. Concurrencia y secuencialidad.


Para que dos actividades, sean concurrentes, es necesario que tengan relación
entre sí, como puede ser la cooperación en un trabajo determinado o el uso de
información compartida. Los procesos son concurrentes si existen
simultáneamente. Los procesos concurrentes pueden funcionar en forma totalmente
independiente unos de otros, o pueden ser asíncronos, lo cual significa que en
ocasiones requiere cierta sincronización y cooperación. Si un sistema es
multiprocesador, también pueden presentarse situaciones de concurrencia siempre
y cuando las actividades necesiten actuar entre sí, bien por utilizar información
común, o por cualquier otra causa. Los procesos del sistema pueden ejecutarse

6
concurrentemente, puede haber múltiples tareas en el CPU con varios procesos.
Existen varias razones para permitir la ejecución concurrente:

2.5. Niveles, objetivos y criterios de planificación.


Niveles de Planificación
La planificación es el proceso por el cual el sistema operativo selecciona que
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 conmutarla 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.

Objetivos y Criterios de Planificación

➢ Los objetivos del planificador se resumen en:


➢ Reparto equitativo del tiempo de procesador
➢ Eficiencia en el uso del procesador
➢ Menor tiempo de respuesta en uso interactivo
➢ Cumplir plazos de ejecución de los sistemas de tiempo real

El principal objetivo de la planificación a corto plazo es repartir el tiempo del


procesador de forma que se optimicen algunos puntos del comportamiento del
sistema. Generalmente se fija un conjunto de criterios con los que evaluar las
diversas estrategias de planificación. 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

7
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 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. Otra forma de clasificación es
considerar los criterios relativos al rendimiento del sistema y los que no lo son. Los
criterios relativos al rendimiento son cuantitativos y, en general, pueden evaluarse o
ser analizados fácilmente. Algunos ejemplos son el tiempo de respuesta y la
productividad. Los criterios no relativos al rendimiento son, en cambio cualitativos y
no pueden ser evaluados fácilmente. Un ejemplo de estos criterios es la
previsibilidad. Sería conveniente que el servicio ofrecido a los usuarios tenga las
mismas características en todo momento, independientemente de la existencia de
otros trabajos ejecutados por el sistema.

2.6. Técnicas de administración del planificador.


Planificación a plazo fijo.
En la planificación a plazo fijo, ciertos trabajos se planifican para ser terminados en
un periodo específico. Estos trabajos tienen un alto valor si se entregan a tiempo y
pueden carecer de valor si se entregan después del límite. La planificación a plazo
fijo es compleja por muchas razones: Los usuarios deben proporcionar por
adelantado y en forma precisa las necesidades de recursos de su trabajo. Tal
información rara vez está disponible. El sistema debe ejecutar el programa de plazo
fijo sin una severa degradación de servicio para los otros usuarios. El sistema debe
planificar cuidadosamente las necesidades de recursos permitiendo un libre tránsito
del plazo fijo. Esto puede ser difícil debido a la llegada de programas nuevos con
demandas impredecibles. Si se activan muchos trabajos de plazo fijo, la
planificación puede llegar a ser tan compleja que necesite métodos de optimización
sofisticados para asegurar que el plazo fijo se cumpla. El manejo intenso de

8
recursos requeridos por la planificación de plazo fijo puede generar una sobrecarga
sustancial.

Planificación Primero en llegar - Primero en Salir (FIFO).


Los procedimientos son despachados de acuerdo con el orden de llegada a la cola
de listos. Una vez que un proceso tiene el CPU, se ejecuta hasta su terminación.
Esta planificación es No apropiativa; es justa en el sentido formal, pero algo injusta
porque los grandes procesos hacen esperar a trabajos pequeños y, los trabajos sin
importancia hacen esperar a los trabajos importantes. La Planificación FIFO ofrece
una varianza en tiempo de respuesta relativamente pequeña y es, por tanto, más
predecible que otros esquemas; no es un esquema útil en la planificación de
procesos interactivos porque no garantiza buenos tiempos de respuesta. También
se puede implementar mediante la utilización de una lista. Se reemplazan las
páginas de la cabeza y se agregan al final. Una vez que el proceso obtiene la CPU,
se ejecuta hasta terminar, ya que es una disciplina “no apropiativa”. Puede
ocasionar que procesos largos hagan esperar a procesos cortos y que procesos no
importantes hagan esperar a procesos importantes. Es más predecible que otros
esquemas. No puede garantizar buenos tiempos de respuesta interactivos. Suele
utilizarse integrado a otros esquemas, por ejemplo, de la siguiente manera:

➢ Los procesos se despachan con algún esquema de prioridad.


➢ Los procesos con igual prioridad se despachan “FIFO”.

9
Conclusión
Entonces podemos concluir que la administración de procesos es utilizada para
proporcionar información sobre estos y sobre los programas que se encuentran
activos en la computadora. Su importancia radica en que los resultados se alcanzan
con más eficiencia cuando las actividades y los recursos relacionados se gestionan
como un proceso. Por eso es importante conocer los tipos que existen, como lo son
los tradicionales y los ligeros que ya se mencionaron y describieron a grandes
rasgos anteriormente, además de conocer los estados en los que se pueden
encontrar y las transiciones a las que pueden pasar. También es importante conocer
la planificación de dichos procesos, pues así podemos saber cuál es más
conveniente para cada uno de ellos y cómo funciona su ejecución en nuestro
sistema operativo.

10

También podría gustarte