ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sistemas Operativos

jesus.lp8 de Noviembre de 2012

4.036 Palabras (17 Páginas)297 Visitas

Página 1 de 17

Administración de procesos y del procesador

Murillo Hidalgo Leslye Norma

Instituto Tecnológico de Iztapalapa

México D.F.

Leslye.frog@hotmail.com

Abstract.- The operating system performs, among others, the following functions: Facilitates computer use in general computer communication / user, manages and allocates hardware resources (processor, memory and peripherals) to different programs or tasks, manages and maintains files on mass storage devices, supports other program , protects data and programs, especially complex issue in multiuser systems, identifies and authenticates users who use the computer, post the use of resources by different users.

Resumen: El sistema operativo efectúa, entre otras, las siguientes funciones: Facilita el uso de la computadora, en general, la comunicación computadora / usuario, Gestiona y asigna recursos hardware (procesador, memoria y periféricos) a los distintos programas o tareas, Gestiona y mantiene los archivos en dispositivos de memoria masiva, Apoya a otros programa, Protege los datos y los programas, cuestión especialmente compleja en sistemas multiusuario, Identifica y autentifica a los usuarios que hacen uso de la computador, Contabiliza la utilización de los recursos realizada por los distintos usuarios.

I. INTRODUUCIÓN

II. CONCEPTO DE PROCESO

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

III. ESTADOS Y TRANSICIONES DE LOS PROCESOS

Los estados se pueden dividir en: Activos e inactivos

• Activos los que compiten por el procesador. Tipos:

• Ejecución.- Cuando el proceso tiene el control del cpu

• Preparado (Listo).- Tienen las condiciones para ser ejecutados pero no están en ejecución por alguna causa.

• Bloqueado.- No pueden ejecutarse porque necesitan algún recurso no disponible

Fig1. Estado activo

Inactivos.- No pueden competir por el cpu

Justificación:

Si todos los procesos están en bloqueados esperando un suceso y no hay memoria disponible para nuevos procesos, el procesador estará desocupado, sin uso. La Solución: procesos suspendidos:

• Permitir la ejecución de más procesos

• Ampliar la memoria principal

• Intercambio de procesos entre memoria y disco (swapping)

Surgen 2 nuevos estados de un proceso:

• suspendido listo: el proceso está suspendido, pero se encuentra listo para ejecutarse

• suspendido bloqueado: el proceso está suspendido y además está esperando que suceda un evento

TRANSICIONES DE ESTADO.- Cambio de un estado a otro

• Comienzo (Creación).- Un proceso comienza al ser dada la orden de ejecución insertándose en la lista de listos

• Ejecución.- Cuando el CPU está inactivo y en la cola de listos haya un proceso en espera de ser ejecutado. (Pasa al CPU)

• Bloqueado.- Un proceso en ejecución solicita una operación a un dispositivo, durante la espera el proceso se bloqueará. Su PCB se insertará en la lista de bloqueados.

• Preparado.- 4 causas:

1 Orden de ejecución de un programa en espera

2 Si un proceso está bloqueado esperando una operación de entrada/salida y ésta termina.

3 Si un proceso está en ejecución y aparece una interrupción que fuerza al sistema operativo a ejecutar otro proceso, el 1º pasará a listo y su PCB se inserta en la lista de listos (Quantum, proceso de mayor prioridad)

• Activación.- Un proceso suspendido listo pasará a listo al ser reactivado

• Suspendido bloqueado.- Un proceso está bloqueado y el sistema operativo lo suspende

• Suspendido listo.- 3 causas:

1 Suspensión de un proceso listo

2 Suspensión de un proceso en ejecución

3 Desbloqueo de un proceso suspendido bloqueado al desaparecer la causa de su bloqueo

Pasos que sigue el S.O.

1. Envío de datos del proceso finalizado al creador. (p.e. Código de finalización)

2. El SO desasigna los recursos que tiene

3.- Suspensión.- Paralización de un proceso que puede ser reanudado posteriormente, se aplica en ocasiones de mal funcionamiento o sobrecarga de trabajo (Guarda su PCB en disco)

4.- Reanudación.- Activación de un proceso suspendido (Reinserta el PCB en memoria)

5.- Cambio de prioridad.- Reasignación de un nuevo rango de prioridad

6.- Temporizar la ejecución.- Un proceso se ejecuta cada cierto periodo de tiempo, por etapas o de una vez

7.- Despertar un proceso.- Desbloqueo de un proceso

8.- Bloqueo.- puesta en espera de un proceso

Prioridades

Todo proceso por su importancia tiene necesidades de ejecución en cuanto a urgencia de recursos. No todos acceden de igual forma y con igual frecuencia al CPU debido a su prioridad

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

V. CONCURRENCIA Y SECUENCIABILIDAD

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo la comunicación entre procesos, competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos y es fundamental para que existan diseños como Multiprogramación.

 Aspectos de un sistema operativo para gestionar la concurrencia.

1. Debe seguir la pista de los distintos procesos activos, por medio de PBC’s

2. Debe asignar y quitar recursos a cada proceso activo:

• Tiempo de procesador.

• Memoria: (virtual, swapping)

• Archivos

• E/S:

3. Debe proteger datos y recursos de cada proceso contra injerencias no intencionadas de otros procesos.

VI. ESTRUCTURA (NIVELES O ESTRATOS DE DISEÑO).

El núcleo o kernel se divide en 5 capas o niveles:

Nivel 1. Gestión de Memoria: Proporciona las facilidades de bajo nivel para la gestión de memoria secundaria necesaria para la ejecución de procesos.

Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas.

Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por los procesos.

Nivel 4. Información o Aplicación o Interprete de Lenguajes: Facilita la comunicación

...

Descargar como (para miembros actualizados) txt (27 Kb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com