sistemas operativos

14
SISTEMAS OPERATIVOS CONCEPTOS BÁSICOS

Upload: pp-guanuchi

Post on 13-Jun-2015

4.699 views

Category:

Education


0 download

DESCRIPTION

Contienes definiciones basicas de un sistema operativo, transiciones tipo de programas en java y procesos

TRANSCRIPT

Page 1: Sistemas Operativos

SISTEMAS OPERATIVOS

CONCEPTOS BÁSICOS

Page 2: Sistemas Operativos

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 compilador se representa como un proceso

Programas y procesos de computación

Page 3: Sistemas Operativos

En ejecución – el ocupa la CPU, se esta ejecutando

Listo o preparado – dispone de todos los recursos

Bloqueado – falta recursos para seguir ejecutándose

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

Transiciones de estado de los procesos

Page 4: Sistemas Operativos

El código para crear procesos se lo realiza en JAVA, se conoce tres tipos:

AplicacionesApplesServlets

Tipos de programas en JAVA

Page 5: Sistemas Operativos

Una clase java (APLICACIÓN), tiene un método principal (main) y se ejecuta como un proceso independiente (stand – alone)

Un APPLET, no tiene un método main y se ejecuta mediante el uso de un navegador (appletviewer)

Un SERVLET se parece a un applet, ya que no tiene un método main y se ejecuta en un servido r web

Un programa java que se compile sin importar el tipo de programa, se convierte en un código denominado bytecode (código objeto universal)

Page 6: Sistemas Operativos

PROGRAMACION CONCURRENTE

La computación distribuida supone el uso de programación concurrente, que consiste en la ejecución simultanea de procesos

Hay tres tipos:

1. Procesos concurrentes ejecutados en múltiples computadores2. Procesos concurrentes ejecutados en un solo computador3. Programación concurrente dentro de un proceso

Page 7: Sistemas Operativos

Procesos concurrentes ejecutados en múltiples computadores.

Son procesos separados ejecutándose concurrentemente en computadoras independientes interconectados a través de una 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, que implica a múltiples máquinas requiere de determinado soporte de programación.

Page 8: Sistemas Operativos

Procesos concurrentes ejecutados en un único computador

La concurrencia puede ser real o virtual

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

Se utiliza tiempo compartido, lo que permite que los procesos puedan ejecutarse por turnos, creando una ilusión que se ejecutan en paralelo

No se necesita una programación especial, para llevar a cabo este tipo de programación.

Page 9: Sistemas Operativos

Programación concurrente dentro de un proceso

Además de la programación concurrente entre diferentes procesos, muchas veces un único programa necesita iniciar diferentes tareas que se ejecuten concurrentemente.

También se podrá necesitar que se ejecute varias tareas en paralelo por motivo de rendimiento.

Page 10: Sistemas Operativos

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 hijos2. Threads o hilos

Page 11: Sistemas Operativos

Procesos padres e hijos

En tiempo de ejecución, un proceso puede crear procesos subordinados o procesos hijos.

A través de la multitarea real o virtual, el proceso original, denominado proceso padre, continua ejecutándose simultáneamente con el proceso hijo.

Un proceso hijo es un proceso completo que consiste en un programa en ejecución, con valores propios información de estado, que hereda del proceso padre.

Page 12: Sistemas Operativos

Un proceso padre puede saber cuando un proceso hijo ha finalizado.

http://www.unach.edu.ec/Virtualizacion/Sistemas_Operativos/paginas/Unidad8.gif

Page 13: Sistemas Operativos

Threads o hilos

En vez de procesos hijos, un proceso 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 procesos hijos

Page 14: Sistemas Operativos

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.