12
U N I D A D 2 ELABORADO POR: FLOR DE LIZ LAURIANO GUTIERREZ CATEDRÁTICO: TOLEDO TORRES JACINTO MATERIA: SISTEMAS OPERATIVOS 1 SEPTIMO SEMESTRE GRUPO “4S

U n i d a d 2 sist oper

Embed Size (px)

Citation preview

Page 1: U n i d a d    2 sist oper

U N I D A D 2

ELABORADO POR:

FLOR DE LIZ LAURIANO GUTIERREZ

CATEDRÁTICO:

TOLEDO TORRES JACINTO

MATERIA:

SISTEMAS OPERATIVOS 1

SEPTIMO SEMESTRE

GRUPO “4S”

Page 2: U n i d a d    2 sist oper

2.1 DISEÑAR UNA TABLA QUE CONTENGA EL CONCEPTO, LAS

DIFERENCIAS Y SEMEJANZAS ENTRE EL PROCESO, EL

PROGRAMA Y EL PROCESADOR.

CONCEPTO

DIFERENCIA

SEMEJANZA

PROCESO

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.

El proceso se puede definir como un programa de gestión por el sistema operativo.

Un proceso tiene un

conjunto de registros

que se está usando.

Tiene un contador de

programa que indica la

siguiente instrucción.

Cada proceso tiene

su contador de

programa, registros y

variables, aislados de

otros procesos, incluso

siendo el mismo

programa en ejecución

2 veces.

PROGRAMA

Es un concepto con numerosas

acepciones. Puede tratarse de una

planificación, un temario, un

cronograma, una unidad temática

o una emisión de radio o televisión,

por citar algunas posibilidades.

Cuando, hablamos

específicamente de programa en

informática, estamos haciendo

referencia a un software. Se trata

de aplicaciones y recursos que

permiten desarrollar diferentes

tareas en

una computadora (ordenador),

un teléfono u otros equipos

tecnológicos

Un programa es un

montón de datos, no es

nada que esté vivo.

Utiliza únicamente

memoria secundaria.

Un programa en

ejecución es un

proceso.

PROCESADOR

Este es el cerebro del computador.

Dependiendo del tipo

de procesador y su velocidad se

obtendrá un mejor o peor

rendimiento. Hoy en día existen

varias marcas y tipos, de los cuales

intentaremos darles una idea de

sus características principales.

Configura la unidad central de procesamiento o CPU.

Combinan

instrucciones almacenadas

en código binario.

Es el encargado de

ejecutar los programas,

desde el sistema

operativo hasta

las aplicaciones de

usuario.

Page 3: U n i d a d    2 sist oper

2.2 REPRESENTAR EL DIAGRAMA DE ESTADOS

Diagrama de estados de un proceso

Nuevo (new): El proceso se está creando.

En ejecución (running): El proceso está en la CPU ejecutando instrucciones.

Bloqueado (waiting, en espera): Proceso esperando a que ocurra un suceso

(ej. terminación de E/S o recepción de una señal).

Preparado (ready, listo): Esperando que se le asigne a un procesador.

Terminado (terminated): Finalizó su ejecución, por tanto no ejecuta más

instrucciones y el SO le retirará los recursos que consume.

Para que un programa se ejecute, el SO debe crear un proceso para él. En un sistema con multiprogramación el procesador ejecuta código de distintos programas que pertenecen a distintos procesos. Aunque dos procesos estén asociados al mismo programa, se consideran dos secuencias de ejecución separadas, cada una de las cuales se considera un proceso. Llamamos traza de un proceso al listado de la secuencia de instrucciones que se ejecutan para el mismo.

Page 4: U n i d a d    2 sist oper

2.3 TRANSICIONES DE ESTADO DE UN PROCESO

La asignación del CPU al primer proceso de la lista de listos es llamada despacho,

y es ejecutado por la entidad del sistema llamada despachador. Indicamos esta

transición de la manera siguiente:

Despacho (nombre del proceso): Listo en ejecución.

Mientras el proceso tenga CPU, se dice que está en ejecución. Para prevenir que

cualquier proceso monopolice el sistema, ya sea de manera accidental o

maliciosamente el sistema operativo ajusta un reloj de interrupción del hardware

para permitir al usuario ejecutar su proceso durante un intervalo de tiempo

específico o cuánto. Si el proceso no abandona voluntariamente el CPU, antes de

que expire el intervalo, el reloj genera una interrupción, haciendo que el sistema

operativo recupere el control. El sistema operativo hace que el proceso que

anteriormente se hallaba en estado de ejecución pase al de listo, y hace que el

primer proceso de la lista de listos pase al estado de ejecución.

Estas transiciones de estado se indican como:

- tiempo excedido (nombre del proceso): en ejecución Listo

- bloqueado (nombre del proceso): en ejecución bloqueado

El proceso cambia del estado bloqueado al estado listo:

- despertar (nombre del proceso): bloqueado Listo.

Page 5: U n i d a d    2 sist oper

Con esto tenemos definidas 4 transacciones de estado.

- despacho (nombre del proceso): Listo en

ejecución

- tiempo excedido (nombre del proceso): en ejecución Listo

- bloqueado (nombre del proceso): en

ejecución bloqueado

- despertar (nombre del proceso): bloqueado Listo.

Page 6: U n i d a d    2 sist oper

2.4 CONCEPTO DE SEMAFORO

Un semáforo es una variable especial (o tipo abstracto de datos) que constituye el

método clásico para restringir o permitir el acceso a recursos compartidos (por

ejemplo, un recurso de almacenamiento del sistema o variables del código fuente)

en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos

concurrentemente). Fueron inventados por Edsger Dijkstra en 1965 y se usaron por

primera vez en el sistema operativo.

CONCEPTO DE EXCLUSIÓN MUTUA.

Consiste en que un solo proceso excluye temporalmente a todos los demás para

usar un recurso compartido de forma que garantice la integridad del sistema.

CONCEPTO DE SECCIÓN CRÍTICA.

Es la parte del programa con un comienzo y un final claramente marcados que

generalmente contiene la actualización de una o más variables compartidas.

Para que una solución al problema de la exclusión mutua sea válida, se tienen que

cumplir una serie de condiciones:

Hay que garantizar la exclusión mutua entre los diferentes procesos a la hora de

acceder al recurso compartido. No puede haber en ningún momento dos procesos

dentro de sus respectivas secciones críticas.

No se deben hacer suposiciones en cuanto a la velocidad relativa de los procesos

en conflicto.

Ningún proceso que esté fuera de su sección crítica debe interrumpir a otro para el

acceso a la sección crítica.

Page 7: U n i d a d    2 sist oper

2.5 PLANIFICACIÓN DEL PROCESADOR

Planificación apropiativa: es la estrategia de permitir que procesos ejecutables

(desde el punto de vista lógico) sean suspendidos temporalmente.

Planificación no apropiativa: es la estrategia de permitir la ejecución de un

proceso hasta terminar.

Planificación del procesador: determinar cuándo deben asignarse los

procesadores y a qué procesos, lo cual es responsabilidad del Sistema Operativo.

NIVELES DE PLANIFICACIÓN DEL PROCESADOR Se consideran tres niveles importantes de planificación, los que se detallan a

continuación:

Planificación de alto nivel:

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

o 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.

Planificación de nivel intermedio:

o Determina a qué procesos se les puede permitir competir por la cpu.

o Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa

“suspensiones” y “activaciones” (“reanudaciones”) de procesos.

o Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.

Planificación de bajo nivel:

o 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.

o La efectúa el despachador del Sistema Operativo, el que opera muchas veces por

segundo y reside siempre en el almacenamiento primario.

Page 8: U n i d a d    2 sist oper

Los distintos Sistemas Operativos utilizan varias Políticas de Planificación, que se

instrumentan mediante Mecanismos de Planificación.

CRITERIOS DE PLANIFICACIÓN

Para realizar los objetivos de la planificación, un mecanismo de planificación debe

considerar lo siguiente:

La limitación de un proceso a las operaciones de Entrada / Salida: cuando un

proceso consigue la cpu, ¿la utiliza solo brevemente antes de generar una petición

de Entrada / Salida?

La limitación de un proceso a la cpu: cuando un proceso obtiene la cpu, ¿tiende a

usarla hasta que expira su tiempo?

Si un proceso es por lote (batch) o interactivo: los usuarios interactivos deben recibir

inmediato servicio para garantizar buenos tiempos de respuesta.

¿Qué urgencia tiene una respuesta rápida?: por ejemplo, un proceso de tiempo real

de un sistema de control que supervise una refinería de combustible requiere una

respuesta rápida, más rápida que la respuesta requerida por un proceso en lotes

(batch) que deberá entregarse al día siguiente.

Page 9: U n i d a d    2 sist oper

La prioridad de un proceso: a mayor prioridad mejor tratamiento.

Frecuentemente un proceso genera fallos (carencias) de página:

o Probablemente los procesos que generan pocos fallos de página hayan acumulado

sus “conjuntos de trabajo” en el almacenamiento principal.

o Los procesos que experimentan gran cantidad de fallos de página aún no han

establecido sus conjuntos de trabajo.

o Un criterio indica favorecer a los procesos que han establecido sus conjuntos de

trabajo.

o Otro criterio indica favorecer a los procesos con una tasa alta de fallos de página ya

que rápidamente generarán una petición de Entrada / Salida.

Frecuentemente un proceso ha sido apropiado por otro de más alta prioridad, lo cual

significa lo siguiente:

o A menudo los procesos apropiados deben recibir un tratamiento menos favorable.

o Cada vez que el Sistema Operativo asume la sobrecarga para hacer ejecutar este

proceso, el corto tiempo de ejecución antes de la apropiación no justifica la

sobrecarga de hacer ejecutar al proceso en primer lugar.

¿Cuánto tiempo de ejecución real ha recibido el proceso?: un criterio considera que

debe ser favorecido un proceso que ha recibido muy poco tiempo de cpu.

¿Cuánto tiempo adicional va a necesitar el proceso para terminar?: los tiempos

promedio de espera pueden reducirse priorizando los procesos que requieren de un

tiempo de ejecución mínimo para su terminación, pero pocas veces es posible

conocer la cantidad de tiempo adicional que cada proceso necesita para terminar.

Page 10: U n i d a d    2 sist oper

OBJETIVOS DE LA PLANIFICACIÓN

Los objetivos de la planificación del procesador son los siguientes e involucran a

los conceptos detallados seguidamente:

Ser justa:

o Todos los procesos son tratados de igual manera.

o Ningún proceso es postergado indefinidamente.

Maximizar la capacidad de ejecución:

o 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:

o En un máximo de unos segundos.

Ser predecible:

o Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo

independientemente de la carga del sistema.

Minimizar la sobrecarga:

o No suele considerarse un objetivo muy importante.

Equilibrar el uso de recursos:

o Favorecer a los procesos que utilizarán recursos infrautilizados.

Equilibrar respuesta y utilización:

o 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:

o 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:

o Los mecanismos de planificación deben favorecer a los procesos con prioridades

más altas.

Page 11: U n i d a d    2 sist oper

Dar preferencia a los procesos que mantienen recursos claves:

o 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”:

o Un ejemplo de comportamiento deseable es una tasa baja de paginación.

Degradarse suavemente con cargas pesadas:

o Un mecanismo de planificación no debe colapsar con el peso de una exigente carga

del sistema.

o 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.

Muchas de estas metas se encuentran en conflicto entre sí, por lo que la

planificación se convierte en un problema complejo.

Page 12: U n i d a d    2 sist oper

BIBLIOGRAFÍAS

http://systope.blogspot.mx/2012/05/procesos-e-hilos.html#sthash.crcOEC1Z.dpuf

Definición de programa en informática - Qué es, Significado y

Concepto http://definicion.de/programa-en-informatica/#ixzz3npGlaF7F

Definición de programa en informática - Qué es, Significado y

Concepto http://definicion.de/programa-en-informatica/#ixzz3npGd0Xog

http://www.monografias.com/trabajos5/sisope/sisope.shtml#ixzz3npH5ktLq