conceptos básicos de sistemas operativos

15
CONCEPTOS BÁSICOS DE SISTEMAS OPERATIVOS VinicioValdiviesoV. Aplicaciones Distribuidas I 7mo Nivel A, Ingenieria de Sistemas 3era Semana Tarea 4

Upload: fvaldivieso

Post on 02-Jun-2015

4.096 views

Category:

Technology


3 download

DESCRIPTION

Deber de Aplicaciones Distribuidas I, donde se explica los conceptos de programas y procesos de computación.

TRANSCRIPT

Page 1: Conceptos Básicos de Sistemas Operativos

CONCEPTOS BÁSICOS DE

SISTEMAS OPERATIVOS

VinicioValdiviesoV.

Aplicaciones Distribuidas I

7mo Nivel A, Ingenieria de Sistemas

3era Semana

Tarea 4

Page 2: Conceptos Básicos de Sistemas Operativos

Programas y Procesos de

computación

Un programa software,

es un artefacto

construido por un

desarrollador de

software, utilizando algún

lenguaje de

programación.

Page 3: Conceptos Básicos de Sistemas Operativos

Programas y Procesos de

computación

Un proceso consiste en

un programa que se

ejecuta, con valores,

información de su

estado, y asignación de

los recursos necesarios

para que el sistema

operativo pueda

gestionar la ejecución de

dicho proceso.

Page 4: Conceptos Básicos de Sistemas Operativos

Transiciones de estado de

los procesos Durante su vida, un proceso puede pasar por una serie de estados

discretos.

Solamente puede haber un proceso en ejecución a la vez, pero pueden

existir varios listos y varios pueden estar bloqueados.

Listo

EjecuciónBloqueado

Admitido

Salir

tiem

po

exedido

Page 5: Conceptos Básicos de Sistemas Operativos

Transición de estadosESTADO DESCRIPCION

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

Listo –> Ejecutando En el estado de listo, el proceso solo espera para que se le asigne un procesador para

ejecutar (tener en cuenta que puede existir más de un procesador en el sistema).

Al liberarse un procesador el planificador (scheduler) selecciona el próximo proceso,

según algún criterio definido, a ejecutar.

Ejecutando –> Listo Ante una interrupción que se generé, el proceso puede perder el recurso procesador

y pasar al estado de listo. El planificador será el encargado de seleccionar el próximo

proceso a ejecutar.

Ejecutando –> Bloqueado A medida que el proceso ejecuta instrucciones realiza pedidos en distintos

componentes (ej.: genera un pedido de E/S). Teniendo en cuenta que el pedido puede

demorar y, además, si está en un sistema multiprogramado, el proceso es puesto en

una cola de espera hasta que se complete su pedido. De esta forma, se logra utilizar

en forma más eficiente el procesador.

Bloqueado –> Listo Una vez que ocurre el evento que el proceso estaba esperando en la cola de espera,

el proceso es puesto nuevamente en la cola de procesos listos.

Ejecutando >

Terminado

Cuando el proceso ejecuta sus última instrucción pasa al estado terminado. El sistema

libera las estructuras que representan al proceso.

Page 6: Conceptos Básicos de Sistemas Operativos

Tipo de Programas en Java

El código para crear

procesos se lo realizará

en Java; tipos de

programa en Java:

Aplicaciones

Applets

Servlets

Page 7: Conceptos Básicos de Sistemas Operativos

Tipo de Programas en Java

Aplicaciones

Los usuarios finales suelen interactuar con la máquina virtual de Java y el conjunto estándar de bibliotecas.

Las aplicaciones Java pueden usarse de forma variada, como por ejemplo, ser incrustadas en una página Web.

Para el desarrollo de aplicaciones, se utiliza un conjunto de herramientas conocidas como JDK (Java Development Kit)

Page 8: Conceptos Básicos de Sistemas Operativos

Tipo de Programas en Java

Un Java applet es unapequeña aplicacion java querealiza una tarea especifica, esta es entregada al usuarioen forma de Java bytecode.

Los Applets son usadospara proveer característicasinteractivas a lasaplicaciones web que no pueden ser provistas porpor HTML solamente.

Applets

Page 9: Conceptos Básicos de Sistemas Operativos

Tipo de Programas en Java

Servlets son objetos del

lenguaje de programación

Javaque procesan

requerimientos

dinámicamente y contruyen

procesos.

Servlets

Page 10: Conceptos Básicos de Sistemas Operativos

Programación Concurrente

La computación distribuida, supone el uso de programación concurrente, que consiste en la ejecución simultánea de procesos. Clases de computación concurrente:

1. Procesos Concurrentes ejecutados en múltiplescomputadores

2. Procesos Concurrentes ejecutados en un solo computador

3. Programación concurrente dentro de un proceso

Page 11: Conceptos Básicos de Sistemas Operativos

Procesos concurrente ejecutados

en multiples computadores

Son procesos separados ejecutándose concurrentemente en

computadores independientes interconectados a través de una red.

Los procesos interactúan con otros procesos mediante el intercambio de

datos sobre la red, pero su ejecución es completamente independiente.

Page 12: Conceptos Básicos de Sistemas Operativos

Procesos concurrentes ejecutados

en un único computador

Ciertos computadores que utilizan sistemas operativos multitarea,

que permite la ejecución concurrente de múltiples tareas o

procesos.

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

Page 13: Conceptos Básicos de 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.

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:

Procesos Padres e Hijos

Threads o Hilos

Page 14: Conceptos Básicos de 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,

continúa 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.

Un proceso padre puede saber cuando un proceso hijo ha

finalizado.

Page 15: Conceptos Básicos de Sistemas Operativos

THREADS O HILOS

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.