Sei sulla pagina 1di 9

INSTITUTO TECNOLÓGICO DE

VILLAHERMOSA

Alumno:
Alex Gustavo Calvo Hernández

Materia:
Sistemas Operativos

Fecha de Entrega:
Martes 19 de febrero a las 8:00 PM

Docente:
Teresa de Jesús Javier Baeza

Periodo:
Enero- Junio 2020

Tema:
Investigación 2

Sistemas operativos
2.1. CONCEPTO DE PROCESO

Un proceso es una instancia de ejecución de un programa, caracterizado por


su contador de programa, su palabra de estado, sus registros del procesador,
su segmento de texto, pila y datos, etc. Un programa es un concepto estático,
mientras que un proceso es un concepto dinámico. Es posible que un programa
sea ejecutado por varios usuarios en un sistema multiusuario, por cada una de
estas ejecuciones existirá un proceso, con su contador de programa, registros,
etc. El sistema operativo necesita el concepto de proceso para poder gestionar
el procesador mediante la técnica de multiprogramación o de tiempo
compartido, de hecho, el proceso es la unidad panificable, o de asignación de
la CPU.

Así mismo, el Proceso, que necesita recursos para realizar su tarea: tiempo de
CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:

Crear y destruir los procesos.

Parar y reanudar los procesos.

Ofrecer mecanismos para que se comuniquen y sincronicen.

Sistemas operativos
2.2 ESTADOS DE UN PROCESO Y TRANSICIONES DE ESTADO DE LOS
PROCESOS.
Durante su vida, un proceso puede pasar por una serie de estados discretos,
algunos de ellos son:

• En ejecución: El proceso ocupa la CPU actualmente, es decir, se está


ejecutando.

• Listo o preparado: El proceso dispone de todos los recursos para su


ejecución, sólo le falta la CPU.

• Bloqueado: Al proceso le falta algún recurso para poder seguir


ejecutándose, además de la CPU. Por recurso se pueden entender un
dispositivo, un dato, etc. El proceso necesita que ocurra algún evento
que le permita poder proseguir su ejecución.

Se considera un sistema con una sola CPU, aunque no es difícil la extensión a


múltiples procesadores. Solamente puede haber un proceso en ejecución a la
vez, pero pueden existir varios listos y varios pueden estar bloqueados. Así
pues, se forman una lista de procesos listos y otra de procesos bloqueados. La
lista de procesos listos se ordena por prioridad, de manera que el siguiente
proceso que reciba la CPU será el primero de la lista. La lista de procesos
bloqueados normalmente no está ordenada; los procesos no se desbloquean
(es decir, no pasan a ser procesos listos) en orden de prioridad, sino que lo
hacen en el orden de ocurrencia de los eventos que están esperando. Como se
verá más adelante, hay situaciones en las cuales varios procesos pueden
bloquearse esperando la ocurrencia del mismo evento; en tales casos es
común asignar prioridades a los procesos que esperan.

Sistemas operativos
Transiciones de estado de los procesos

• De ejecución á Listo: por ejemplo, en un sistema de tiempo compartido,


cuando el proceso que ocupa la CPU lleva demasiado tiempo
ejecutándose continuamente (agota su cuanto) el sistema operativo
decide que otro proceso ocupe la CPU, pasando el proceso que
ocupaba la CPU a estado listo.

•  De Listo á en ejecución: cuando lo requiere el planificador de la CPU


(veremos el planificador de la CPU en el tema de planificación de
procesos).

• De Bloqueado á Listo: se dispone del recurso por el que se había


bloqueado el proceso. Por ejemplo, termina la operación de E/S, o se
produce una operación SIGNAL sobre el semáforo en que se bloqueó el
proceso, no habiendo otros procesos bloqueados en el semáforo.

Sistemas operativos
2.3. PROCESOS LIGEROS: HILOS O HEBRAS

Son subprocesos de un proceso. Se conocen también como procesos ligeros.


Dentro de un proceso se pueden identificar flujos de ejecución independientes.
Existen técnicas para hacer que estos flujos de ejecución puedan actuar como
un proceso Podemos decir también que un hilo no es más que la habilidad de
un proceso o programa para dividirse en varios hilos de ejecución simultáneos
o aparentemente simultáneos.

CARACTERISTICAS:

• La memoria y los recursos son asignados a los procesos.


• Todos los hilos de un proceso comparten la memoria y los recursos
asignados a ese proceso.
• Sin embargo, cada hilo tiene un contexto diferente.
• El procesador es el único recurso que no se comparte entre los hilos.
• Cada hilo tiene una pila diferente
• Un proceso puede ser formado por uno o más hilos

Diferencia entre Proceso e Hilo

Un proceso es una entidad relativamente independiente que dispone de su


propio espacio de direcciones, su propia información de estado y que utiliza los
mecanismos de comunicación entre procesos que le proporciona el sistema
operativo para comunicarse con otros procesos. Por otro lado, 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.

Sistemas operativos
2.5. NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIÓN

Se consideran tres niveles importantes de planificación,

• PLANIFICACIÓN DE ALTO NIVEL:


Se encarga de llevar procesos de disco a memoria y viceversa. Seleccionando
los trabajos que deben admitirse en el sistema.

• También se denomina Planificación de trabajos.


• Determina a qué trabajos se les va a permitir competir activamente por
los recursos del sistema, lo cual se denomina Planificación de admisión.
• Administrar todos los recursos del sistema excepto el CPU.
• Mantiene las colas de procesos bloqueados y suspendidos.
• Controla la creación de procesos.
• Maneja el nivel de multiprogramación.

• PLANIFICACIÓN DE NIVEL INTERMEDIO:


En algunos casos, en especial cuando el sistema está sobrecargado, el
planificador de nivel medio encuentra ventajoso retirar trabajos activos de la
memoria para reducir el grado de multiprogramación, y por lo tanto, permitir
que los trabajos se completen más aprisa. Este subadministrador controla los
trabajos que se intercambian hacia fuera y de regreso.

• Determina a qué procesos se les puede permitir competir por la CPU.


• Efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos.
• Debe ayudar a alcanzar ciertas metas en el rendimiento total del
sistema.
• Equilibrar la administración de trabajos en el sistema con la asignación
del CPU a dichos procesos.
• Nivelar la carga del sistema (procesos activos y pasivos).

• PLANIFICACIÓN DE BAJO NIVEL:


Se encarga de pasar de un proceso a otro en memoria principal. Determinando
a cuál proceso listo se le asignará el CPU cuando éste se encuentra disponible.

Sistemas operativos
• Determina a qué proceso listo se le asigna la CPU cuando esta queda
disponible y asigna la CPU al mismo, es decir que “despacha” la CPU al
proceso.

OBJETIVOS DE PLANIFICACIÓN
Los objetivos de la planificación del procesador son los siguientes e involucran
a los conceptos detallados seguidamente:

Ser justa:
• Todos los procesos son tratados de igual manera.
• Ningún proceso es postergado indefinidamente.
Maximizar la capacidad de ejecución:
• Maximizar el número de procesos servidos por unidad de tiempo.
• Maximizar el número de usuarios interactivos que reciban unos tiempos
de respuesta aceptables: En un máximo de unos segundos.
Ser predecible:
• Un trabajo dado debe ejecutarse aproximadamente en la misma
cantidad de tiempo independientemente de la carga del sistema.
Minimizar la sobrecarga:
• No suele considerarse un objetivo muy importante.
Equilibrar el uso de recursos:
• Favorecer a los procesos que utilizarán recursos infrautilizados.
Equilibrar respuesta y utilización:
• La mejor manera de garantizar buenos tiempos de respuesta es
disponer de los recursos suficientes cuando se necesitan, pero la
utilización total de recursos podrá ser pobre.
Evitar la postergación indefinida:
• Se utiliza la estrategia del “envejecimiento” o mientras un proceso
espera por un recurso su prioridad debe aumentar, así la prioridad
llegará a ser tan alta que el proceso recibirá el recurso esperado.
Asegurar la prioridad:
• Los mecanismos de planificación deben favorecer a los procesos con
prioridades más altas.

Sistemas operativos
Dar preferencia a los procesos que mantienen recursos claves:
• Un proceso de baja prioridad podría mantener un recurso clave, que
puede ser requerido por un proceso de más alta prioridad. o si el recurso
es no apropiado, el mecanismo de planificación debe otorgar al proceso
un tratamiento mejor del que le correspondería normalmente, puesto que
es necesario liberar rápidamente el recurso clave.
•Dar mejor tratamiento a los procesos que muestren un “comportamiento
deseable”:
• Un ejemplo de comportamiento deseable es una tasa baja de
paginación.
•Degradarse suavemente con cargas pesadas:
• Un mecanismo de planificación no debe colapsar con el peso de una
exigente carga del sistema.
• Se debe evitar una carga excesiva mediante las siguientes acciones: No
permitiendo que se creen nuevos procesos cuando la carga ya es
pesada. Dando servicio a la carga más pesada al proporcionar un nivel
moderadamente reducido de servicio a todos los procesos.

CRITERIOS DE PLANIFICACIÓN
• Equidad Garantizar que cada proceso obtiene su proporción justa de la
CPU.
• Eficacia Mantener ocupada la CPU el ciento por ciento del tiempo.
• Tiempo de respuesta Minimizar el tiempo de respuesta para los usuarios
interactivos.
• Tiempo de regreso Minimizar el tiempo que deben esperar los usuarios
por lotes (batch) para obtener sus resultados.
• Rendimiento Maximizar el número de tareas procesadas por hora.

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

Se denomina planificador al software del sistema operativo encargado de


asignar los recursos de un sistema entre los procesos que los solicitan.
Siempre que haya tomar una decisión, el planificador debe decidir cuál de los
procesos que compiten por la posesión de un determinado recursos lo recibirá.

El planificador es un componente funcional muy importante de los sistemas


operativos multitarea y multiproceso y es esencial en los   sistemas operativos
de tiempo real. Su función consiste en repartir el tiempo disponible de un
microprocesador entre todos los procesos para su ejecución.

Todo sistema operativo gestiona los programas mediante el concepto de


proceso. En un instante dado, en el ordenador pueden existir diversos procesos
listos para ser ejecutados. Sin embargo, solamente uno de ellos puede ser
ejecutado (en cada microprocesador). De ahí la necesidad de que una parte del
sistema operativo gestione, de una manera equitativa, qué proceso debe
ejecutarse en cada momento.

La planificación (scheduling) es la base para lograrla multiprogramación. Un


sistema multiprogramado tendrá varios procesos que requerirán el recurso
procesador a la vez. Esto sucede cuando los procesos están en estado ready
(pronto).

Si existe un procesador disponible y existen procesos en estado ready, se debe


elegir el que será asignado al recurso para ejecutar. El componente del sistema
operativo que realiza la elección del proceso es llamada planificador
(scheduler).

Sistemas operativos

Potrebbero piacerti anche