conceptos basicos de sistemas operativos

15
CONCEPTOS BÀSICOS DE SISTEMAS OPERATIVOS

Upload: dbseii

Post on 17-Jun-2015

8.798 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Conceptos Basicos De Sistemas Operativos

CONCEPTOS BÀSICOS DE SISTEMAS OPERATIVOS

Page 2: Conceptos Basicos De Sistemas Operativos

ProgramasProgramas y Procesos de y Procesos de ComputciònComputciòn

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

Programa:Programa:

Page 3: Conceptos Basicos De Sistemas Operativos

ProgramasProgramas y Procesos de y Procesos de ComputciònComputciòn

Es una entidad dinámica, que solo existe cuando un programa se ejecuta.

Procesos:Procesos:

Page 4: Conceptos Basicos De Sistemas Operativos

Transiciones de Estado de los Transiciones de Estado de los ProcesosProcesos

Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:

* En Ejecución - * Listo o Preparado - * Bloqueado* En Ejecución - * Listo o Preparado - * Bloqueado

Page 5: Conceptos Basicos De Sistemas Operativos

Transiciones de Estado de los Transiciones de Estado de los ProcesosProcesos

El proceso ocupa la CPU actualmente, es decir, se está ejecutando.

En EjecuciónEn Ejecución::

El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.

Listo o PreparadoListo o Preparado::

Page 6: Conceptos Basicos De Sistemas Operativos

Transiciones de Estado de los Transiciones de Estado de los ProcesosProcesos

Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU.

Solamente puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados.

Bloqueado:Bloqueado:

Page 7: Conceptos Basicos De Sistemas Operativos

Transiciones de Estado de los Transiciones de Estado de los ProcesosProcesos

En la siguiente presentación describiremos la transición de estados del gráfico.

Page 8: Conceptos Basicos De Sistemas Operativos

Transiciones de Estado de los Transiciones de Estado de los ProcesosProcesos

Nuevo ListoNuevo Listo Al crearse un proceso pasa inmediatamente al estado listo.

Listo EjecutandoListo EjecutandoEn el estado listo el proceso solo espera que se asigne un procesador para ejecutar. Al liberarse el proceso el planificador (Schedule) selecciona el próximo proceso.

Ejecutando ListoEjecutando ListoAnte una interrupción que se genere, el proceso puede perder el recurso procesador y pasar al estado listo. El schedule selecciona el próximo proceso a ejecutar.

Ejecutando BloqueadoEjecutando BloqueadoA medida que el proceso ejecuta instrucciones realiza pedidos en distintos componentes. El proceso es puesto en la cola de espera hasta que se complete su pedido.

Bloqueado ListoBloqueado ListoCuando ocurre el evento del proceso que estaba esperando en la cola de espera. El proceso es puesto nuevamente en la cola de proceso listos.

Ejecutando TerminadoEjecutando TerminadoCuando el proceso ejecuta su ultima instrucción pasa al estado terminado. El sistema libera las estructuras que representa el proceso.

Page 9: Conceptos Basicos De Sistemas Operativos

Tipo de Programas en JavaTipo de Programas en Java

• El código para crear procesos se lo realiza en Java.

• Existen tres tipos de programas:

1. Aplicaciones.- Tiene main y se ejecuta (stone-alone).

2. Applets.- No tiene main y se ejecuta mediante un navegador (appletviewer).

3. Servlets.- No tiene main y se ejecuta en el contexto de un servidor web.

Page 10: Conceptos Basicos De Sistemas Operativos

Programación ConcurrenteProgramación Concurrente

Consiste en la ejecución simultanea de procesos, existen tres clases de computación concurrente:

1. Procesos Concurrentes Ejecutados en Múltiples Computadoras.

2. Procesos Concurrentes Ejecutados en un solo Computador.

3. Programación Concurrente dentro de un Proceso

Page 11: Conceptos Basicos De Sistemas Operativos

Procesos Concurrentes Ejecutados en Procesos Concurrentes Ejecutados en Múltiples ComputadorasMúltiples Computadoras

• Son procesos separados ejecutándose concurrentemente en computadores independientes interconectados a través de una red.

• Cuando se accede a una página web utilizando un navegador. Un proceso de una máquina local interactúa con un proceso de una maquina remota (servidor web).

Page 12: Conceptos Basicos De Sistemas Operativos

Procesos Concurrentes Ejecutados en un Procesos Concurrentes Ejecutados en un solo Computadorsolo Computador

• Ciertos computadores que utilizan sistemas operativos multitarea, que permite la ejecución concurrente de múltiples tareas o procesos.

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

Page 13: Conceptos Basicos De Sistemas Operativos

Programación Concurrente dentro de un Programación Concurrente dentro de un ProcesoProceso

Un programa, podría necesitar realizar otras tareas mientras espera indefinidamente por la entrada de un usuario en una interfaz de una ventana.

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

1. Procesos Padres e Hijos 1. Procesos Padres e Hijos

2. Threads o Hilos2. Threads o Hilos

Page 14: Conceptos Basicos De Sistemas Operativos

Programación Concurrente dentro Programación Concurrente dentro de un Procesode un Proceso

En tiempo de ejecución, un proceso puede crear procesos hijos. A través de la multitarea real o virtual, el proceso original, denominado proceso padre, continúa ejecutándose simultáneamente con el proceso hijo.

Procesos Procesos Padres e hijos:Padres e hijos:

Page 15: Conceptos Basicos De Sistemas Operativos

Programación Concurrente dentro Programación Concurrente dentro de un Procesode un Proceso

En vez de procesos hijos, un proceso puede crear threads o hilos, también conocidos como procesos ligeros.

• Los hilos poseen una mínima información de estado, comportándose por lo demás de la misma forma que los procesos.

• Debido a que implican menos sobrecarga, es preferible utilizar hilos que utilizar procesos hijos.

Procesos Procesos Threads o Hilos:Threads o Hilos: