PDF de programación - Desarrollo de un Entorno de Aprendizaje de Sistemas Operativos

Imágen de pdf Desarrollo de un Entorno de Aprendizaje de Sistemas Operativos

Desarrollo de un Entorno de Aprendizaje de Sistemas Operativosgráfica de visualizaciones

Publicado el 25 de Agosto del 2017
871 visualizaciones desde el 25 de Agosto del 2017
3,0 MB
188 paginas
Creado hace 14a (10/12/2009)
Universidad Nacional del Nordeste

Facultad de Ciencias Exactas, Naturales y Agrimensura

Trabajo Final de Aplicación

“Desarrollo de un Entorno de Aprendizaje de Sistemas Operativos”

Laura Cristina Gonzalez - L.U.: 30.470

Prof. Coordinador: Agr. Castor Herrmann

Prof. Orientador: Mgter. David Luis la Red Martínez

Licenciatura en Sistemas
Corrientes - Argentina

2009

A mi Familia, Amigos y Compañeros

Prefacio

Una de las muchas y muy variadas posibles aplicaciones de la P.O.O. (programación
orientada a objetos) está en el desarrollo de algoritmos que implementen estrategias de
administración de recursos por parte del Sistema Operativo.

Como parte de las estrategias antes mencionadas, podemos considerar las de adminis-
tración o asignación del procesador, es decir aquéllas según las cuales los S. O. seleccionan
a cuál de los procesos listos para ser ejecutados en ejecución concurrente, le asignarán el
procesador en un momento dado, es decir, a qué proceso darán la posibilidad de utilizar
la CPU para ejecutar sus propias instrucciones; a esta decisión también se la conoce como
despacho del proceso.

El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción

de un programa en ejecución también llamada tarea.

En sistemas de multiprogramación la CPU alterna de programa en programa, en
un esquema de seudoparalelismo, es decir que la cpu ejecuta en cierto instante un solo
programa, intercambiando muy rápidamente entre uno y otro.

El paralelismo real de hardware se da en las siguientes situaciones:

• En ejecución de instrucciones de programa con más de un procesador de instrucciones

en uso simultáneamente.

• Con la superposición de ejecución de instrucciones de programa con la ejecución de

una o más operaciones de entrada / salida.

El objetivo es aumentar el paralelismo en la ejecución.
El modelo de procesos posee las siguientes características:

• Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios

procesos secuenciales o procesos.

• Un proceso incluye al programa en ejecución y a los valores activos del contador,

registros y variables del mismo.

• Conceptualmente cada proceso tiene su propia CPU virtual.

• Si la CPU alterna entre los procesos, la velocidad a la que ejecuta un proceso no

será uniforme.

• Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida

y estado.

• Un solo procesador puede ser compartido entre varios procesos con cierto algoritmo
de planificación, el cual determina cuándo detener el trabajo en un proceso y dar
servicio a otro distinto.

En cuanto a las jerarquías de procesos es necesario señalar que los Sistemas Opera-
tivos deben disponer de una forma de crear y destruir procesos cuando se requiera durante
la operación, teniendo además presente que los procesos pueden generar procesos hijos
mediante llamadas al Sistema Operativo, pudiendo darse ejecución en paralelo.

Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:

vi

• Cada proceso es una entidad independiente pero frecuentemente debe interactuar

con otros procesos.

• Los procesos pueden bloquearse en su ejecución porque:

— Desde el punto de vista lógico no puede continuar porque espera datos que aún

no están disponibles.

— El Sistema Operativo asignó la CPU a otro proceso.

Los estados que puede tener un proceso son 3:

• En ejecución: utiliza la CPU en el instante dado.

• Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.

• Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.

Son posibles cuatro transiciones entre estos estados.
Estados de Procesos
Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias

las circunstancias que pueden hacer que el mismo cambie de estado.

Debido a ello se puede establecer una Lista de Listos para los procesos listos y una

Lista de Bloqueados para los bloqueados.

La Lista de Listos se mantiene en orden prioritario y la Lista de Bloqueados está
desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los
eventos que están esperando.

Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en

la última parte de la Lista de Listos.

La asignación de la CPU al primer proceso de la Lista de Listos se denomina Despacho,

que es ejecutado por una entidad del Sistema Operativo llamada Despachador.

El Bloqueo es la única transición de estado iniciada por el propio proceso del usuario,

puesto que las otras transiciones son iniciadas por entidades ajenas al proceso.

Los sistemas que administran los procesos deben poder crear, destruir, suspender,

reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso.

La creación de un proceso significa:

• Dar nombre al proceso.

• Insertar un proceso en la lista del sistema de procesos conocidos.

• Determinar la prioridad inicial del proceso.

• Crear el bloque de control del proceso.

• Asignar los recursos iniciales del proceso.

Un proceso puede crear un nuevo proceso, en cuyo caso el proceso creador se denomina
proceso padre y el proceso creado proceso hijo y se obtiene una estructura jerárquica de
procesos.

La destrucción de un proceso implica:

vii

• Borrarlo del sistema.

• Devolver sus recursos al sistema.

• Purgarlo de todas las listas o tablas del sistema.

• Borrar su bloque de control de procesos.

Un proceso suspendido no puede proseguir hasta que otro proceso lo reanude.
Reanudar (reactivar) un proceso implica reiniciarlo en el punto donde fue suspendido.
La destrucción de un proceso puede o no significar la destrucción de los procesos hijos,

según el Sistema Operativo.

Generalmente se denomina Tabla de Procesos al conjunto de información de control

sobre los distintos procesos.

Una interrupción es un evento que altera la secuencia en que el procesador ejecuta las

instrucciones; es un hecho generado por el hardware del computador.

Cuando ocurre una interrupción, el Sistema Operativo:

• Obtiene el control.

• Salva el estado del proceso interrumpido, generalmente en su bloque de control de

procesos.

• Analiza la interrupción.

• Transfiere el control a la rutina apropiada para la manipulación de la interrupción.

Una interrupción puede ser iniciada por un proceso en estado de ejecución o por un

evento que puede o no estar relacionado con un proceso en ejecución.

Generalmente las interrupciones se pueden clasificar en los siguientes tipos:

• SVC (llamada al supervisor): es una petición generada por el usuario para un servicio

particular del sistema.

• Entrada/Salida: son iniciadas por el hardware de Entrada / Salida.

• Externas: son causadas por distintos eventos, por ejemplo, expiración de un cuanto
en un reloj de interrupción o recepción de una señal de otro procesador en un sistema
multiprocesador.

• De reinicio: ocurren al presionar la tecla de reinicio o cuando llega una instrucción

de reinicio de otro procesador en un sistema multiprocesador.

• De verificación de programa: son causadas por errores producidos durante la ejecu-

ción de procesos.

Concurrencia e Hilos con Java
Los hilos o procesos ligeros son una parte de código o miniprograma que puede ser
ejecutada independientemente, de forma que una aplicación o un applet puede tener varios

viii

hilos ejecutándose simultáneamente y efectuando distintas tareas; estos hilos se encuentran
dentro de un programa y son parte de él.

Los hilos, a veces también llamados contextos de ejecución, pueden ser utilizados para
la implementación de algoritmos paralelos o procesos concurrentes, sin ser necesario dis-
poner de equipos con estructura de multiprocesador. En el caso de un solo procesador,
los procesos ligeros incorporan mecanismos para compartirlo, estableciéndose prioridades
entre ellos y también facilidades de sincronización, cuando es necesario.

Objetivos logrados
Se han alcanzado los objetivos planteados para el presente trabajo:

• Desarrollo de una página Web empleando para la confeccion de la misma software

Dreamweaver .

• Desarrollo de Applets empleandoel lenguaje Java y el Netbeans IDe 6.7.1.

Etapas de desarrollo
Se ha efectuado una amplia recopilación bibliográfica específica a los temas pertinentes
a la tarea planificada y a los productos de software que se emplearon para la concreción
del trabajo final.

Se ha desarrollado el aplicativo con la utilización del lenguaje Java, versión jdk1.5.0-15.
En el marco de la herramienta Dreamweaver CS3 se desarrollaron la página web del

aplicativo utilizadando páginas HTML.

En el marco de la herramienta Netbeans IDE 6.7.1 se desarrollaron los Applets utili-

zadandos en la página web del aplicativo.

Generacion del ejecutable del Sistema desarrollado por el Profesor Orientador Mgter.

David Luis la Red Martinez, Concurrencia e Hilos en java

Una vez finalizada la etapa de desarrollo se realizaron las siguientes actividades:

• Montar la página web en un servidor.

• Testear el buen funcionamiento de la página y de los algoritmos desarrollados.

Finalizada la aplicación se realizó la grabación en DVD de todo el material corres-
pondiente al trabajo final: una versión de la aplicación, otra referente al libro en formato
LaTex y el PDF generado. También se incluyó los instaladores de los productos utilizados
para el desarrollo, es decir Netbeans IDE 6.7.1, Dreamweaver CS3,java 6.0 update 11.

• Organización del Informe Final

El trabajo final de aplicación comprende un informe final impreso y un DVD además
de un resúmen y de un resúmen extendido. El informe final está organizado en capítulos
los que se indican a continuación:

Introducción: Es un breve marco teórico sobre los Sistemas operativos:

• Conceptos S.O., estructuras S.O., tendencias S.O.

• Definiciones de procesos, estados y planificacion de procesos, niveles de planificacion,

etc.

ix

Java: Se presentan los principales aspectos y características referidas al lenguaje.
  • Links de descarga
http://lwp-l.com/pdf6567

Comentarios de: Desarrollo de un Entorno de Aprendizaje de Sistemas Operativos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad