SlideShare una empresa de Scribd logo
Tarea3 Ezamora
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

Más contenido relacionado

PPT
Conceptos Basicos De Sistemas Operativos
PPT
Tarea4 Juan Martinez Conceptos Basicos De Sistemas Operativos
PDF
Conceptos Básicos de Sistemas Operativos
PPTX
Elementos de la programación de sistemas
PPTX
So wind 7
DOCX
COMPILADORES
PDF
Conceptos Básicos de Sistemas Operativos
Conceptos Basicos De Sistemas Operativos
Tarea4 Juan Martinez Conceptos Basicos De Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
Elementos de la programación de sistemas
So wind 7
COMPILADORES
Conceptos Básicos de Sistemas Operativos

La actualidad más candente (20)

DOCX
Ap01 java
PDF
Relacion cargador sistema operativo
PDF
Tutorial de prolog
DOCX
UNIDAD 3
DOCX
Programacion
PDF
funciones y características de un sistema operativo
DOCX
Unidad 2
PPT
capitulo5-2011-110612183514-phpapp01
PPTX
Software
DOCX
PDF
Giseproi curso de programación - sesión 1 a - introducción a la programación
DOCX
acti27 de oct
DOCX
DOCX
Unidad 3
DOCX
Gestion de procesos Android
DOCX
Unidad 3
PDF
Freepascal
Ap01 java
Relacion cargador sistema operativo
Tutorial de prolog
UNIDAD 3
Programacion
funciones y características de un sistema operativo
Unidad 2
capitulo5-2011-110612183514-phpapp01
Software
Giseproi curso de programación - sesión 1 a - introducción a la programación
acti27 de oct
Unidad 3
Gestion de procesos Android
Unidad 3
Freepascal
Publicidad

Destacado (7)

PPTX
Myriam cando semana 1
PPT
Ooooooo # 6
PDF
ANATOMIA JAVA
PPTX
Bases de datos lol
PDF
Módulo 3 e 4 ap
PPT
Anatomía de un proyecto - Diapositiva
PDF
Direito Sao Bernardo InventáRio Julgado Stj 090828 Julgado 01
Myriam cando semana 1
Ooooooo # 6
ANATOMIA JAVA
Bases de datos lol
Módulo 3 e 4 ap
Anatomía de un proyecto - Diapositiva
Direito Sao Bernardo InventáRio Julgado Stj 090828 Julgado 01
Publicidad

Similar a Tarea3 Ezamora (20)

PDF
Programas Y Procesos
PPTX
Sistemas Operativos
PPTX
Sistemas Operativos
PPSX
Programas y procesos de computación
PDF
Apliacaciones Distribuidas. Sistemas Operativos
PPTX
Procesos.pptx
PPTX
Semana3 Ad Mauro Patino
PPTX
Sistemas Operativos
PPSX
Semana III Myriam Cando
PPTX
Tarea4 Mamfredy Mejia
PPT
Balotario_Examen_ParciFGSDFAFASSFAal-SO.ppt
PPT
Balotario_Examen_Parcial-SOESGDFGFFDHGSFGH.ppt
PPTX
Programación de servicios y procesos
PPT
Balotario_Examen_Parcial-dsfasfsafSO-G1.ppt
PPTX
FSO-02.1- Sistemas Operativos - Procesos.pptx
DOCX
Unidad 2 concepto de Programa,Proceso y Procesador
PDF
Sistemas distribuidos en computación aplicación
PPTX
Trabajo digital 1
PPTX
Trabajo digital 1
DOCX
Administración de Procesos
Programas Y Procesos
Sistemas Operativos
Sistemas Operativos
Programas y procesos de computación
Apliacaciones Distribuidas. Sistemas Operativos
Procesos.pptx
Semana3 Ad Mauro Patino
Sistemas Operativos
Semana III Myriam Cando
Tarea4 Mamfredy Mejia
Balotario_Examen_ParciFGSDFAFASSFAal-SO.ppt
Balotario_Examen_Parcial-SOESGDFGFFDHGSFGH.ppt
Programación de servicios y procesos
Balotario_Examen_Parcial-dsfasfsafSO-G1.ppt
FSO-02.1- Sistemas Operativos - Procesos.pptx
Unidad 2 concepto de Programa,Proceso y Procesador
Sistemas distribuidos en computación aplicación
Trabajo digital 1
Trabajo digital 1
Administración de Procesos

Último (20)

PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PPTX
Historia-Clinica-de-Emergencia-Obstetrica 1.10.pptx
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
Historia-Clinica-de-Emergencia-Obstetrica 1.10.pptx
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Escuelas Desarmando una mirada subjetiva a la educación
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf

Tarea3 Ezamora

  • 2. 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).
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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
  • 14. Sistema de Reservación de Línea Aérea VDU VDU VDU VDU P P P P P Data Base
  • 15. 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.
  • 16. 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
  • 17. 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.
  • 18. 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.
  • 19. 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
  • 20. 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.
  • 21. 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.
  • 22. 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.
  • 23. 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