UNIDAD 2

INSTITUTO TECNOLÓGICO  SUPERIOR DE LA MONTAÑA
EXTENSIÓN ACADÉMICA ILIATENCOINGENIERÍA  EN SISTEMAS COMPUTACIONALES.

 

SEMESTRE: TERCERO

        UNIDAD II

MATERIA: SISTEMAS OPERATIVOS

TRABAJO:

                   REPORTE DE INVESTIGACIÓN

TEMA:

ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR

ING.: ADRIÁN NAVA SÁNCHEZ

ALUMNO:

TEÓDULO ZACARÍAS  CANTÚ

NUMERO DE CONTROL:

S14122013

 

ILIATENCO, GRO.,  A 28 DE SEPTIEMBRE DEL 2015

 

 

 

 

INDICE:

UNIDAD 2

Administración de procesos y del procesador.

 

2.1 Concepto de procesos……………………………………..3

 

2.2 Estados y transiciones de los procesos…………………....5

 

2.3 Procesos ligeros: Hilos o hebras…………………………..6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INTRODUCION

En este presente trabajo de investigación  presentare la administración de procesos y  del procesador la gestión de procesos es la tarea fundamental de cualquier sistema operativo moderno el sistema operativo debe asignar recursos a los procesos, permitir el intercambio de información entre los mismos, proteger los recursos de un proceso del resto y facilitar la sincronización de procesos también presentare los Procesos ligeros: Hilos o hebras.

 


 

 UNIDAD 2

administración de procesos y del procesador.

la gestión de procesos es la tarea fundamental de cualquier sistema operativo moderno. el sistema operativo debe asignar recursos a los procesos, permitir el intercambio de información entre los mismos, proteger los recursos de un proceso del resto y facilitar la sincronización de procesos. para alcanzar estos objetivos, el sistema operativo mantiene una estructura de datos para cada proceso que describe su estado y los recursos que posee y que permite al sistema operativo imponer un control sobre los procesos (pcb bloque de control de proceso).

en un monoprocesador multiprogramado, debe intercalarse en el tiempo, la ejecución de múltiples procesos. en un multiprocesador, no sólo puede intercalarse la ejecución sino que los procesos se pueden ejecutar simultáneamente. ambos, intercalación y ejecución simultánea, son formas de concurrencia y llevan a una multitud de problemas complejos, tanto para el programador de aplicaciones como para el sistema operativo.

el sistema operativo debe llevar a cabo la función de planificar y ofrecer mecanismos para compartir y sincronizar procesos.

 

 2.1 concepto de proceso.

programas.- colección de instrucciones que el procesador interpreta y ejecuta, se almacenan en sistemas no volátiles necesitando ser cargados en memoria principal para poder ser ejecutados, se considera un ente estático.

procesos.-programa en ejecución, el sistema operativo les asigna recursos, se consideran un ente dinámico.

el proceso es una abstracción creada por el so, que se compone de:

código de programa: sección texto

contexto de ejecución: pc, registros del procesador y una pila para invocación de procedimientos

sección de datos, que contiene variables globales

recursos del sistema.

 

características

permite modularizar y aislar errores de programas durante su ejecución

soporta concurrencia de actividades, lo que permite un mejor aprovechamiento de los recursos

denominaremos como procesos tanto a los trabajos (jobs) en sistemas de lotes, como a las tareas (task) en sistemas de tiempo compartido

 

modelo

la diferencia entre un programa (conjunto de instrucciones) y un proceso (instrucciones ejecutándose) es obvia y crucial para entender el funcionamiento de los so.

imaginemos un mecánico de autos en un taller donde se reparan carros con averías complejas en las que se hace necesario consultar el manual de cada modelo, que contiene las instrucciones para reparar cada posible avería. además, se permiten reparaciones rápidas a las que se les da mayor prioridad. existe un almacén de refacciones y herramientas suficientes para las reparaciones. comparando esta situación con un sistema de cómputo se pueden establecer las siguientes analogías:

el mecánico sería el cpu (procesador) que realizará el trabajo.

el manual de cada reparación sería el programa.

las herramientas serían los recursos disponibles

las refacciones serían los datos.

la actividad de usar las herramientas para desmontar las piezas defectuosas sustituyéndolas por otras nuevas siguiendo las instrucciones del manual equivaldría al proceso.

 

suponiendo que en un momento dado el mecánico está realizando una reparación compleja (de las que llevan tiempo) y aparece un carro que solicita una reparación de las rápidas (ha aparecido una interrupción). el mecánico suspende momentáneamente la reparación compleja anotando en qué situación se queda dicha reparación y qué operación estaba realizando en ese momento (guarda el estado del proceso). asimismo, sustituye el manual que estaba realizando por el de la nueva reparación que se dispone a realizar (cambio de programa). comienza la nueva reparación (cambio de proceso), en la que las herramientas no serán las mismas que antes (distintos recursos); las indicaciones del usuario, las refacciones (datos) y las indicaciones del manual (programa) llevarán a feliz término la reparación para que el mecánico regrese a la reparación inicial.

con este ejemplo se resalta que un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y un programa.

2.3 procesos ligeros (hilos o hebras).

un hilo de ejecución, en sistemas operativos, es similar a un proceso en que ambos representan una secuencia simple de instrucciones ejecutada en paralelo con otras secuencias. los hilos permiten dividir un programa en dos o más tareas que corren simultáneamente, por medio de la multiprogramación. en realidad, este método permite incrementar el rendimiento de un procesador de manera considerable. en todos los sistemas de hoy en día los hilos son utilizados para simplificar la estructura de un programa que lleva a cabo diferentes funciones.

todos los hilos de un proceso comparten los recursos del proceso. residen en el mismo espacio de direcciones y tienen acceso a los mismos datos. cuando un hilo modifica un dato en la memoria, los otros hilos utilizan el resultado cuando acceden al dato. cada hilo tiene su propio estado, su propio contador, su propia pila y su propia copia de los registros de la cpu. los valores comunes se guardan en el bloque de control de proceso (pcb), y los valores propios en el bloque de control de hilo (tcb).

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 más ágilmente a la interacción con el usuario.

diferencias entre hilos y procesos

los hilos se distinguen de los tradicionales procesos en que los procesos son generalmente independientes, llevan bastante información de estados, e interactúan sólo a través de mecanismos de comunicación dados por

el sistema. por otra parte, muchos hilos generalmente comparten otros recursos directamente. en sistemas operativos que proveen facilidades para los hilos, es más rápido cambiar de un hilo a otro dentro del mismo proceso, que cambiar de un proceso a otro. este fenómeno se debe a que los hilos comparten datos y espacios de direcciones, mientras que los procesos al ser independientes no lo hacen. al cambiar de un proceso a otro el sistema operativo (mediante el dispatcher) genera lo que se conoce como overhead, que es tiempo desperdiciado por el procesador para realizar un cambio de modo (mode switch), en este caso pasar del estado de running al estado de waiting o bloqueado y colocar el nuevo proceso en running. en los hilos como pertenecen a un mismo proceso al realizar un cambio de hilo este overhead es casi despreciable.

   BIBLIOGRAFIA.
https://www.monografias.com/trabajos12/hisis/hisis.shtml
https://es.wikipedia.org/wiki/procesos_transiciones.

 

 

                FIFO  (first-in, first-out)

Una cola es una estructura de datos donde el primer elemento en entrar es el primero en salir, también denominadas estructuras FIFO (First In, First Out).
Esta estructura de datos se puede definir como una lista enlazada con acceso FIFO a la que sólo se tiene acceso al final de la lista para meter elementos y al principio de esta para sacarlos.
Acceso: los elementos se añaden por un extremo (final) y se sacan por el otro extremo (frente).

Operaciones básicas en Colas                                                                                                             

Insertar.- Almacena al final de la cola el elemento que se recibe como parámetro.                       

  Eliminar.- Saca de la cola el elemento que se encuentra al frente.                                                

    Vacía.- Regresa un valor booleano indicando si la cola tiene o  no elementos (true – si la cola esta vacía, false – si la cola tiene al menos un elemento).                                                                          

Llena.- Regresa un valor booleano indicando si la cola tiene espacio disponible para insertar nuevos elementos ( true –si esta llena y false si existen espacios disponibles).

 

 

 

 


Crea una página web gratis Webnode