Procesos de un sistema operativo

5
1 GESTION DE LOS RECURSOS. Las actividades que se ejecutan en un sistema informático se consideran procesos y son trozos de programas en ejecución. Podemos definir un proceso, como una instancia de un programa en ejecución que es creado y gestionado por el sistema operativo. Todo programa en ejecución dentro de un ordenador va a necesitar una serie de recursos. El sistema operativo es el encargado de coordinar y controlar todos los recursos y condiciones de ejecución que demandan los procesos. Los sistemas operativos se clasifican en: Monotarea: El sistema ejecuta solo un programa, de forma que todos los recursos se le dedican en exclusiva hasta que finalizan. Por ejemplo MS-DOS. Multitarea: usa o simula la concurrencia, lo que permite ejecutar varios programas al mismo tiempo. Se logra compartiendo el uso de los recursos entre los programas que los solicitan. Por ejemplo Microsoft Windows. Se habla de sincronización cuando se hace que determinado eventos o procesos ocurran en un orden predefinido, que puede ser simultáneo o no entre ellos, mediante una señal de reloj. 2 ESTADOS DE UN PROCESO. El sistema operativo se considera un proceso como una progresión de estados desde que comienza su ejecución hasta que finalice. Un proceso puede encontrase en: 2.1 CONTROL DE PROCESOS (BCP) PREPARADO O ESPERA EJECUCIÓN BLOQUEADO

Transcript of Procesos de un sistema operativo

Page 1: Procesos de un sistema operativo

1 GESTION DE LOS RECURSOS.

Las actividades que se ejecutan en un sistema informático se consideran procesos y son trozos de programas en ejecución.

Podemos definir un proceso, como una instancia de un programa en ejecución que es creado y gestionado por el sistema operativo.

Todo programa en ejecución dentro de un ordenador va a necesitar una serie de recursos. El sistema operativo es el encargado de coordinar y controlar todos los recursos y condiciones de ejecución que demandan los procesos.

Los sistemas operativos se clasifican en:

Monotarea: El sistema ejecuta solo un programa, de forma que todos los recursos se le dedican en exclusiva hasta que finalizan. Por ejemplo MS-DOS.

Multitarea: usa o simula la concurrencia, lo que permite ejecutar varios programas al mismo tiempo. Se logra compartiendo el uso de los recursos entre los programas que los solicitan. Por ejemplo Microsoft Windows.

Se habla de sincronización cuando se hace que determinado eventos o procesos ocurran en un orden predefinido, que puede ser simultáneo o no entre ellos, mediante una señal de reloj.

2 ESTADOS DE UN PROCESO.

El sistema operativo se considera un proceso como una progresión de estados desde que comienza su ejecución hasta que finalice.

Un proceso puede encontrase en:

2.1 CONTROL DE PROCESOS (BCP)

Formado por una estructura de datos que contiene información asociada a dicho proceso. También recibe el nombre de bloque de contexto o descriptor de proceso.

Cuando se inicia la ejecución de un proceso se crea un BCP que se mantendrá hasta que finalice. Entre otros datos:

Identificador del proceso: PID de Linux. Estado en el que se encuentra el proceso: preparado, bloqueado y ejecución.

PREPARADO O ESPERA

EJECUCIÓNBLOQUEADO

Page 2: Procesos de un sistema operativo

Prioridad del proceso: respecto a los demás procesos existente para poder aplicar algoritmos de prioridad y de planificación, punteros a las colas de planificación.

Recursos: asignados, solicitados.

3. ALGORITMOS DE PLANIFICACIÓN

3.1 COMO PLANIFICAR LA CPU.

Los algoritmos de planificación son las políticas que se seguirán para elegir qué proceso entra en cada momento a ejecutarse en el sistema.

Criterio:

Maximizar: utilización y productividad de la CPU Minimizar: el tiempo de retorno, de espera y de respuesta.

El sistema operativo además ha de disponer de algoritmos de gestión y planificación para decidir qué proceso se va a ejecutar y llevar la cuenta de los procesos que están en el sistema, de sus prioridades y de toda la información referente a ellos.

3.2 CRITERIOS DE RENDIMIENTO DE UN ALGORITMO DE PLANIFICACION.

Utilización de la CPU: Porcentaje de tiempo que está ocupado el procesador. Debe tender a ser el máximo posible.

Productividad: trabajos que se completan o finalizan por unidad de tiempo. Tiempo de retorno: Intervalo de tiempo desde la entrada de un proceso en el sistema

hasta su finalización. Tiempo de espera: Tiempo que un proceso permanece en la cola de preparados. Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar en la CPU

desde que ocurre el evento que lo bloquea.

Sea t el tiempo que un proceso necesita estar en ejecución para finalizar su trabajo, t i, el instante en el que el usuario solicita la ejecución del proceso y tf el momento en el que proceso termina su ejecución. En función de estas variables tendremos las siguientes medidas para cada proceso.

Tiempo de servicio (T): es el que necesitaría un proceso para ejecutarse si fuera el único presente en el sistema: T= tf-ti

Tiempo de espera (E): es el tiempo que permanece un proceso en el sistema sin que se esté ejecutando: E=T-t

Índice de servicio (I): representa el tanto por uno de tiempo que el proceso está en ejecución respecto al tiempo de vida del mismo en el sistema. Su valor máximo (y por tanto óptimo) es 1:

I=t/T

Page 3: Procesos de un sistema operativo

4. GESTION DE LA MEMORIA.

La labor del gestor de la memoria es asignar a los procesos aquellas partes de la memoria principal que se encuentran desocupados mediante el traspaso de información desde la memoria secundaria. Esto sucede cuando la memoria RAM no es lo suficientemente grande para acoger simultáneamente a todos los procesos, es decir, prácticamente siempre.

Memoria Virtual

Un proceso puede entrar y salir dela memoria varias veces, no es necesario que un programa este en su totalidad de la memoria para que se ejecute.

La memoria virtual es una técnica que, utilizando la memoria secundaria permite ejecutar programas más grandes que el tamaño de la memoria.

Fallo de página es cuando varios fragmentos de un programa están ejecutándose y alguno de ellos hace referencia a un trozo no cargado en la memoria principal.

Si la memoria está llena, para poder asignar un nuevo fragmento del programa a la memoria principal antes debemos descargar otro trozo, puede llegar un momento que el sistema operativo este más tiempo ocupado con el intercambio de fragmentos que con la ejecución problema conocido como hiperpaginación.

Las técnicas que se usan para usar la memoria secundaria como memoria virtual son la de paginación y segmentación.

Paginación consiste en dividir la pantalla en zonas fijas llamadas frames o marcos de pantalla y de la misma forma dividir los programas en porciones iguales estos marcos denominados páginas.

Para cada proceso: tabla de páginas.

Para cada asignación: tabla de marcos de páginas libres.

Segmentación: el programa se divide en segmentos que se diferencian de las páginas en que su tamaño no es fijo; aunque si existe un tamaño máximo de segmento.

Page 4: Procesos de un sistema operativo