Está en la página 1de 6

Puntos para la exposición

1. Procesos de los sistemas operativos


¿Qué son los Sistemas operativos?
sistema operativo se define a todo el conjunto de programas capaces de administrar las
funciones básicas de un ordenador.
es el encargado de asegurar que las diferentes partes de la computadora interactúan
armoniosamente. Es el que decide cuándo se realiza la tarea y distribuye el trabajo para
que los sistemas no interfieran entre sí.
¿Qué es un Proceso?
Es un conjunto de actividades mutuamente relacionadas que al interactuar juntas
convierten los elementos de entrada en resultados.
Algunos autores lo denominan tarea, o trabajo (process, task o Jobs). Una de las
funciones fundamentales de un SO es la planificación de los procesos, ya que es el SO el
que proporciona la interfaz para el usuario ante los distintos componentes hardware de la
máquina.
Un proceso es un conjunto de instrucciones correspondientes a un programa que son
ejecutadas por la UCP.
Cuando se ejecuta más de un proceso de forma concurrente en un sistema, todos
necesitan que el propio sistema les suministre una serie de recursos. Para ello, el sistema
operativo, gracias a la UCP (Unidad Central de Proceso), se encarga de asignar estos
recursos en un orden adecuado y atendiendo a unas prioridades. También realiza
funciones de sincronización de todos los procesos, para que se ejecuten en el orden
adecuado y según la prioridad decidida. Cada vez que un programa se convierte en
proceso, es decir, cada vez que se ejecuta un programa, además de ubicar en memoria
las instrucciones que lo componen y sus datos asociados, a dicho proceso se le asocia
una estructura de datos.
Ejemplo: los elementos de entrada son los Hardware

2. Implantación de los procesos


Es conveniente pensar en un proceso como un procesador virtual que ejecuta un
programa y que se implementa a partir de un procesador físico.
• La implementación de procesos requiere:
• Bloque de control de un proceso PCB (Process Control Block), una estructura de datos
para administrar el proceso. Almacena información de un proceso.
• Bloque de control del sistema SCB (System Control Block), una estructura de datos que
para controlar la ejecución de los procesos. Almacena información de todos los procesos.
• Asignar los recursos necesarios para su ejecución, fundamentalmente la memoria para
almacenar el código, los datos y la pila.
• Multiplexar la CPU entre los procesos: repartir el tiempo de la CPU entre los diferentes
procesos para simular la ejecución paralela (concurrencia virtual).
IMPLEMENTACIÓN DE VARIOS PROCESOS SISTEMAS OPERATIVOS Procesos
• La ejecución aparentemente simultánea de varios procesos en un mismo sistema,
requiere repartir el tiempo de CPU entre los procesos a ejecutar (concurrencia virtual).
• Ello implica desasignar la CPU al proceso en ejecución y asignarla a un proceso
preparado. Esta actividad se conoce con el nombre de cambios de contexto.
• Realizar un cambio de contexto conlleva:
• Salvar el contexto del proceso en ejecución en su PCB.
• Poner en la CPU el contexto del nuevo proceso (nuevo contador de programa).
• Actualizar la información de control de los procesos.
• La implementación de varios procesos implica cambios de contexto.
3. Asignación de recursos
PROCESO COMO UNIDAD DE ASIGNACIÓN DE RECURSOS SISTEMAS
OPERATIVOS Procesos
• Para ejecutar un programa se necesita un entorno formado por una serie de recursos:
memoria, descriptores de ficheros y otros atributos del proceso.
• Un proceso se puede considerar como la unidad propietaria de todos esos recursos.
Memoria
Tiempo de CPU
Otros Atributos
Tabla de descripción de ficheros
4. Estados de un Proceso

• Al ejecutar un proceso éste va cambiando de estado.


El estado de un proceso se define como el comportamiento que presenta en un instante
dado:
• Activo: El proceso se puede ejecutar. No hay impedimentos en asignarle alguna CPU.
• En ejecución: el proceso tiene asignada una CPU, las instrucciones se están ejecutando.
Sólo puede haber un proceso en este estado por CPU.
• Preparado: el proceso puede ser ejecutado, pero está esperando a que se le asigne una
CPU libre. Puede haber varios procesos en este estado.
• Bloqueado: No puede ser ejecutado porque el proceso se encuentra esperando un
evento determinado como:
• La finalización de una operación de E/S (una lectura de teclado). • La comunicación con
otro proceso, etc.
5.
5.
5.
5.
5.
5.
5.
5.
5.
5.
P
rocesos y hebras

En sistemas operativos, un hilo de ejecución, hebra o subproceso es la unidad de


procesamiento más pequeña que puede ser planificada por un sistema operativo.

La creación de un nuevo hilo es una característica que permite a una aplicación realizar


varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una
serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de
autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe
llevar a cabo distintas funciones simultáneamente.

Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra
tarea.

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos,
son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un
mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda
modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a
ese dato modificado inmediatamente.

Lo que es propio de cada hilo es el contador de programa, la pila de ejecución y el estado


de la CPU (incluyendo el valor de los registros).
El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga
activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado.
Asimismo, en el momento en el que todos los hilos de ejecución finalizan, el proceso no
existe más y todos sus recursos son liberados.

Algunos lenguajes de programación tienen características de diseño expresamente


creadas para permitir a los programadores lidiar con hilos de ejecución (como
Java o Delphi). Otros (la mayoría) desconocen la existencia de hilos de ejecución y éstos
deben ser creados mediante llamadas de biblioteca especiales que dependen del sistema
operativo en el que estos lenguajes están siendo utilizados (como es el caso del C y
del C++).

Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos,


botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta
manera el programa responde de manera más ágil a la interacción con el usuario.
También pueden ser utilizados por una aplicación servidora para dar servicio a múltiples
clientes.

6. Planificación de procesos en Sistemas Operativos. 


Conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un
módulo denominado planificador, que debe decidir cuál de los procesos en
condiciones de ser ejecutado conviene ser despachado primero y qué orden de
ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo
que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un
buen servicio a los procesos existentes en un momento dado.
Definición y Conceptos Básicos
El término planificación de procesos hace referencia a un conjunto de políticas y
mecanismos del SO que gobiernan el orden en que se ejecutan los procesos (Milenkovic)

Un planificador de procesos es un módulo del SO que se encarga de mover los procesos


entre las distintas colas de planificación
La ejecución de un proceso consiste en una alternancia entre ráfagas de CPU y ráfagas
de E/S
Un proceso limitado por E/S (I/O bound) es aquél que pasa más tiempo haciendo E/S que
usando la CPU (tiene ráfagas de CPU cortas)
Un proceso limitado por CPU (CPU bound) es aquél que pasa más tiempo computando
que haciendo E/S (tiene ráfagas de CPU largas)
Tipos de Planificadores
Planificador a largo plazo (planificador de trabajos) – escoge los procesos que
ingresarán en la cola de listos
Planificador a medio plazo – escoge los procesos que se sacarán/introducirán
temporalmente de/en la memoria principal (intercambio, swapping)
Planificador a corto plazo (planificador de CPU) – escoge el proceso que se ejecutará
a continuación y le asigna la CPU

También podría gustarte