Upload
floresitalagu
View
78
Download
0
Embed Size (px)
Citation preview
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”
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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