13
SISTEMAS OPERATIVOS

Sistemas Operativos

Embed Size (px)

DESCRIPTION

Sistemas Operativos

Citation preview

Page 1: Sistemas Operativos

SISTEMAS OPERATIVOS

Page 2: Sistemas Operativos

PROGRAMAS Y PROCESOS DE COMPUTACION

Un programa software es un artefacto construido por un desarrollador de software, utilizando algún lenguaje de programación.

Cuando un programa se ejecuta en un computador se representa como “proceso”

Un proceso es un programa que se ejecuta, con valores, información de su estado y asignación de los recursos necesarios para que el S.O. pueda gestionar la ejecución de esos procesos.

Page 3: Sistemas Operativos

TRANSICIONES DE LOS ESTADOS DE LOS PROCESOS

Page 4: Sistemas Operativos

Un proceso puede pasar por una serie de estados discretos entre los que tenemos:

-En Ejecución.- Ocupa la CPU actualmente, se esta ejecutando.

-Listo o preparado.- El proceso dispone de todos los recursos para su ejecución, solo le falta la CPU.

-Bloqueado.- Le falta algún recurso para seguir ejecutándose.

El proceso repite el ciclo listo – ejecución – bloqueado, tantas veces como sea necesario, hasta que la ejecución del proceso se complete, momento en el cual el proceso queda terminado.

TRANSICIONES DE LOS ESTADOS DE LOS PROCESOS

Page 5: Sistemas Operativos

TRANSICIÓN DE ESTADOS.

Transición ProcesoNuevo-Listo Al crearse

Listo ejecutando El proceso solo espera para que se le asigne un procesador para ejecutar.

Ejecutando-Listo Ante una interrupción que se genere puede perder el recurso procesador y pasar al estado listo.

Ejecutado- Bloqueado A medida que ejecuta instrucciones realiza pedidos en distintos componentes.

Bloqueado-Listo Una vez que ocurre el evento en la cola de espera es puesto nuevamente en la cola de procesos listos.

Ejecutado-terminado Cuando ejecuta sus últimas instrucciones pasa al estado terminado

Page 6: Sistemas Operativos

TIPO DE PROGRAMAS EN JAVA

El código para crear procesos se lo realizará en Java, por lo cual es necesario conocer que existen tres tipos de programas Java:

Aplicaciones .- Tiene un método principal (main), se ejecuta como un proceso independiente (stand-alone)

Applets.- No tiene un método main, se

ejecuta mediante el uso de un navegador o una herramienta (appletviewer).

Servlets.- Parecido al applets en el hecho que no tiene un método main se ejecuta en el contexto de un servidos web.

Page 7: Sistemas Operativos

PROGRAMACIÓN CONCURRENTE. Consiste en la ejecución simultanea de procesos;

existen tres clases de programación concurrente:

1.PROCESOS CONCURRENTES EJECUTADOS EN MULTIPLES COMPUTADORES

Procesos separados ejecutándose concurrentemente en computadores independientes interconectados a través de la red

Interactúan con otros procesos mediante el intercambio de datos sobre la red , pero su ejecución es completamente independiente.

La programación concurrente, requiere que el software utilizado para los programas participantes contenga la lógica necesaria para permitir la interacción entre los procesos.

Page 8: Sistemas Operativos

PROGRAMACIÓN CONCURRENTE.

2. PROCESOS CONCURRENTES EJECUTADOS EN UN ÚNICO COMPUTADOR

La concurrencia puede ser real o virtual.

La verdadera concurrencia multitarea solo es posible si el computador tiene múltiples CPU, de forma que cada CPU pueda ejecutar un proceso.

- No se necesita una programación especial

- No es necesario una lógica de software especial en un programa para iniciar multitarea

Page 9: Sistemas Operativos

3. PROGRAMACION CONCURRENTE DENTRO DE UN PROCESO

Muchas veces un único programa necesita iniciar diferentes tareas que se ejecuten concurrentemente.

La programación concurrente dentro de un proceso se lleva acabo a través de dos tipos de herramientas proporcionadas por el sistema operativos:

- Procesos Padres e Hijos

- Threads o Hilos

PROGRAMACIÓN CONCURRENTE.

Page 10: Sistemas Operativos

PROCESOS PADRES E HIJOS

Un proceso puede crear procesos subordinados o procesos hijos, a través de la multitarea real o virtual, el proceso original llamado proceso padre, continúa ejecutándose simultáneamente con el proceso hijo.

Proceso Hijo consiste en un programa en ejecución con valores propios información de estado que hereda del proceso padre.

Proceso padre puede saber cuando un proceso hijo ha finalizado.

Page 11: Sistemas Operativos

PROCESOS PADRES E HIJOS

Page 12: Sistemas Operativos

THREADS O HILOS

En vez de procesos hijos un proceso puede crear threads o hilos también conocidos como procesos ligeros, Poseen una mínima información de estado.

La creación y coordinación de hilos requiere el soporte de la programación. El software correspondiente al programa debe escribirse con la lógica necesaria para la creación de hilos y la coordinación, o sincronización de la ejecución de la familia de hilos creados por el hilo padre.

Page 13: Sistemas Operativos

THREADS O HILOS