Tarea3 Ezamora
Upcoming SlideShare
Loading in...5
×
 

Tarea3 Ezamora

on

  • 1,880 views

Universisda Israel.- Materia Aplicaciones Dsitribuidas ,SO,Procesos, TRANSICIONES DE ESTADO DE LOS PROCESOS, TIPO DE PROGRAMAS EN JAVA, PROCESOS CONCURRENTES EJECUTADOS EN MULTIPLES COMPUTADORES

Universisda Israel.- Materia Aplicaciones Dsitribuidas ,SO,Procesos, TRANSICIONES DE ESTADO DE LOS PROCESOS, TIPO DE PROGRAMAS EN JAVA, PROCESOS CONCURRENTES EJECUTADOS EN MULTIPLES COMPUTADORES

Statistics

Views

Total Views
1,880
Views on SlideShare
1,866
Embed Views
14

Actions

Likes
0
Downloads
11
Comments
0

2 Embeds 14

http://www.slideshare.net 8
http://www.techgig.com 6

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tarea3 Ezamora Tarea3 Ezamora Presentation Transcript

  • Un sistema operativo es parte del software de un ordenador y desempeña las siguientes funciones básicas: 1. Gestión de los recursos hardware del ordenador. 2. Gestión de las aplicaciones que se ejecutan en el ordenador (procesos). 3. Interfaz entre el usuario y el ordenador (IHM).
  • Definición de Sistema Operativo De manera esquemática, un sistema operativo se compone de: 1. Núcleo (Kernel): responsable de la gestión de memoria, de disco y de procesos. 2. Servicios (API: Aplicación Program Interface): mediante estos servicios las aplicaciones pueden realizar peticiones al sistema operativo para acceder a los recursos hardware del sistema. 3. Shell (Intérprete de comandos): es el proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que el sistema operativo entiende.
  • PROGRAMAS Y PROCESOS DE COMPUTACIÓN Un programa, o también llamado programa informático, programa de computación o programa de ordenador, es simplemente un conjunto de instrucciones para una computadora. Las computadoras necesitan de los programas para funcionar, y un programa no hace nada a menos que sus instrucciones sean ejecutadas por el procesador.  Un programa se puede referir tanto a un programa ejecutable como a su código fuente, el cual es transformado en un ejecutable cuando es compilado.
  • PROGRAMAS Y PROCESOS DE COMPUTACIÓN  Generalmente el código fuente de los programas es escrito por profesionales conocidos como programadores. El código fuente es escrito en un lenguaje de programación que sigue uno de los siguientes dos paradigmas: imperativo o declarativo. El código fuente puede ser convertido en una imagen ejecutable por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta el programa instrucción por instrucción, hasta que el programa termina.
  • TRANSICIONES DE ESTADO DE LOS PROCESOS Qué es un proceso ? Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos, etc. Un programa es un concepto estático, mientras que un proceso es un concepto dinámico. Es posible que un programa sea ejecutado por varios usuarios en un sistema multiusuario, por cada una de estas ejecuciones existirá un proceso, con su contador de programa, registros, etc. El sistema operativo necesita el concepto de proceso para poder gestionar el procesador mediante la técnica de multiprogramación o de tiempo compartido, de hecho, el proceso es la unidad panificable, o de asignación de la CPU.
  • TRANSICIONES DE ESTADO DE LOS PROCESOS Estados de un proceso y Transiciones de estado de los procesos Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:  En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.  Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.  Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.
  • TRANSICIONES DE ESTADO DE LOS PROCESOS Transiciones de estado de los procesos A continuación se dan ejemplos de eventos que pueden provocar transiciones de estado en un proceso en este modelo de tres estados
  • Tipos de programas en Java Los programas en Java suelen estar en una de las siguientes categorías: Applets Los applets son pequeños programas que se incorporan en una página Web y que por lo tanto, necesitan de un Navegador Web compatible con Java para poder ejecutarse. A menudo los applets se descargan junto con una página HTML desde un Servidor Web y se ejecutan en la máquina cliente.  Aplicaciones Las aplicaciones son programas standalone de propósito general que normalmente se ejecutan desde la línea de comandos del sistema operativo. Con Java se puede realizar cualquier programa que normalmente se crearía con algún otro lenguaje de programación.  Servlets Los servlets al contrario de los applets son programas que están pensados para trabajar en el lado del servidor y desarrollar aplicaciones Web que interactúen con los clientes. Los servlets son una alternativa de la programación CGI tradicional.
  • Tipos de programas en Java  Compilación y ejecución de programas Java (1 de 4) El Kit de desarrollo de Java (JDK) contiene las herramientas y librerías necesarias para crear y ejecutar applets y aplicaciones en Java. A continuación se listas algunas de las utilidades que se pueden encontrar en el JDK: javac. Es el compilador de Java. Se encarga de convertir el código fuente escrito en Java a bytecode.  java. Es el intérprete de Java. Ejecuta el bytecode a partir de los archivos class.  appletviewer. Es un visor de applets. En la mayoría de las ocasiones puede utilizarse en lugar de un Navegador Web.  javadoc. Se utiliza para crear documentación en formato HTML a partir de el código fuente Java y los comentarios que contiene.  javap. Es un desensamblador de Java.  jar. Es una herramienta utilizada para trabajar con los archivos JAR.
  • Tipos de programas en Java  Compilación y ejecución de programas Java (2 de 4) Obtención del JDK El JDK se puede obtener directamente de forma gratuita del sitio Web de JavaSoft, http://www.javasoft.com/ .  Instalación y configuración del JDK (Windows 9x) El JDK normalmente se distribuye en archivos de instalación auto-extraibles, por lo que al momento de llevar a cabo la instalación, básicamente se tiene que indicar el directorio en el cual se colocarán los archivos y directorios que se distribuyen en el JDK. Una vez instalado el JDK se tiene que actualizar la variable de ambiente PATH y crear una nueva variable llamada CLASSPATH. Por ejemplo, si el JDK fue instalado en C:jdk1.1.8, hacemos lo siguiente:  set PATH=C:jdk1.1.8bin;%PATH% set CLASSPATH=C:jdk1.1.8libclasses.zip;. Por ejemplo, si se instaló una versión de Java 2 (JDK 1.2 o posterior), hacemos lo siguiente:  set PATH=C:jdk1.2.2bin;%PATH% set CLASSPATH=C:jdk1.2.2jrelib;. La variable de ambiente CLASSPATH le dice a la Máquina Virtual de Java y otras aplicaciones de Java en donde buscar las clases que se necesitan para ejecutar un programa, tal como el archivo classes.zip, que contiene una librería de clases que conforma el API de Java. En Java 2 por lo general, no existe el archivo classes.zip por lo que sólo se hace referencia al directorio jrelib. Es necesario actualizar la variable PATH para que el sistema operativo sepa en donde encontrar los programas que se ejecutan cuando se trabaja con Java ,básicamente el compilador y el intérprete de Java, javac y java, respectivamente.
  • Programación Concurrente Virtualmente todos los sistemas de tiempo-real son inherentemente concurrentes - los dispositivos operan en paralelo en el mundo real.  Programación concurrente es el nombre dado a las técnicas y notación de programación para expresar "paralelismo" potencial y resolver la sincronización y los problemas de comunicación.  En la programación concurrente solo se cuenta con un procesador. El tiempo de CPU se reparte entre varios procesos.  El paralelismo implica que existen varios procesadores en el sistema. La programación paralela implica dividir la ejecucion de un programa en distintos módulos los cuales se ejecutaran en distintos procesadores.
  • CPU Inicia operación de E/S de Dispositivo de E/S Petición de proceso E/S Finalización de Señal Interrupción de fin de E/S E/S termina Continua con mas peticiones Paralelismo entre CPU y Dispositivos de E/S
  • Sistema de Reservación de Línea Aérea VDU VDU VDU VDU P P P P P Data Base
  • Terminología  Un programa concurrente es convencionalmente visto como una colección de procesos secuenciales autónomos que se ejecutan (lógicamente) en paralelo.  Los lenguajes de programación concurrente incorporan, explícita o implícitamente, la noción de proceso; cada proceso tiene un simple hilo de control.  La implementación actual (i.e. ejecución) de una colección de procesos usualmente toma una de estas tres formas: Multiprogramación ejecución de múltiples procesos en un solo procesador. Multiprocesamiento ejecución de múltiples procesos en un sistema multiprocesador donde hay acceso a memoria compartida. Programación Distribuida ejecución de múltiples procesos en varios procesadores los cuales no comparten memoria.
  • Concepto de Proceso Un sistema operativo ejecuta una variedad de programas:  Sistema Batch: jobs  Sistemas de tiempo compartido: programas de usuario o tareas Proceso - un programa en ejecución; la ejecucución del proceso debe progresar de manera secuencial. Un proceso incluye: program counter stack data section
  • Estados de los procesos Nuevo: El proceso es creado. Ejecución: Se ejecutan instrucciones. Espera: El proceso esta en espera por la ocurrencia de algún evento. Listo: El proceso esta esperando a que le asignen el procesador. Terminado: El proceso finaliza su ejecución. Diagrama de estados de los procesos.
  • Estados de los procesos Nuevo: El proceso es creado. Ejecución: Se ejecutan instrucciones. Espera: El proceso esta en espera por la ocurrencia de algún evento. Listo: El proceso esta esperando a que le asignen el procesador. Terminado: El proceso finaliza su ejecución. Diagrama de estados de los procesos.
  • Process Control Block Información asociada con cada proceso: Estado del proceso Program counter Registros del CPU Información de planificación del CPU Memoria Información para administración Información de estatus de E/S
  • Cambio de Contexto Cuando el CPU cambia a otro proceso, el sistema debe salvar el estado del proceso antiguo y cargar el estado del proceso nuevo. El cambio de contexto es overhead; el sistema no realiza cómputo útil durante el cambio. El tiempo de realización del cambio de contexto es dependiente del soporte de hardware.
  • Creacion del Proceso  Al crearse un proceso se le asigna memoria (para cargado de código, datos y stack), recursos, información del PCB, y se carga en memoria.  Además se inicializan registros para protección del espacio de memoria reserva a este proceso.  El proceso padre puede crear procesos hijos, los cuales a su vez pueden crear otros procesos, formando así un árbol de procesos.  Compartición de recursos.  Los padres e hijos comparten todos los recursos.  El hijo comparte un subconjunto de los recursos del padre.  El hijo y el padre no comparten recursos.  Ejecución  El padre y el hijo se ejecutan concurrentemente.  El padre espera hasta que el hijo termina.  Ejemplo UNIX  la llamada a fork crea un proceso nuevo.
  • Terminación de Procesos  El proceso ejecuta su última instrucción y pide al sistema que lo elimine (exit).  Los datos de salida van de hijo a padre (por fork).  Los recursos del proceso son desalojados por el sistema operativo.  El padre puede terminar la ejecución de un hijo(abort).  el proceso hijo se ha excedido en los recursos alojados.  la tarea asignada al proceso hijo ya no es requerida.  El proceso padre termina.  El sistema operativo no permite que el hijo continue su ejecución si el proceso padre termina.  terminación en cascada.
  • BIBLIOGRAFÍA ENLACE al tema anterior: INTRODUCCIÓN ENLACE al siguiente tema: PLANIFICACIÓN DE PROCESOS http://74.125.113.132/search? q=cache:nWH9LryJLq8J:delta.cs.cinvestav.mx/~pmalv arez/capi5tr.ppt+PROCESOS+CONCURRENTES+EJE CUTADOS+EN+MULTIPLES+COMPUTADORAS&cd =6&hl=es&ct=clnk&gl=ec