Conceptos Básicos de Sistemas Operativos

8,049 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
8,049
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
115
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Conceptos Básicos de Sistemas Operativos

  1. 1. CONCEPTOS BÁSICOS DE SISTEMAS OPERATIVOS Vinicio Valdivieso V. Aplicaciones Distribuidas I 7mo Nivel A, Ingenieria de Sistemas 3era Semana Tarea 4
  2. 2. 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.
  3. 3. 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.
  4. 4. 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. Admitido Listo tiempo exedido Bloqueado Ejecución Salir
  5. 5. Transición de estados ESTADO 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 > Cuando el proceso ejecuta sus última instrucción pasa al estado terminado. El sistema Terminado libera las estructuras que representan al proceso.
  6. 6. Tipo de Programas en Java El código para crear procesos se lo realizará en Java; tipos de programa en Java:  Aplicaciones  Applets  Servlets
  7. 7. 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)
  8. 8. Tipo de Programas en Java Applets  Un Java applet es una pequeña aplicacion java que realiza una tarea especifica, esta es entregada al usuario en forma de Java bytecode.  Los Applets son usados para proveer características interactivas a las aplicaciones web que no pueden ser provistas por por HTML solamente.
  9. 9. Tipo de Programas en Java Servlets Servlets son objetos del lenguaje de programación Javaque procesan requerimientos dinámicamente y contruyen procesos.
  10. 10. 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últiples computadores 2. Procesos Concurrentes ejecutados en un solo computador 3. Programación concurrente dentro de un proceso
  11. 11. 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.
  12. 12. 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
  13. 13. 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
  14. 14. 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.
  15. 15. 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.

×