Академический Документы
Профессиональный Документы
Культура Документы
SISTEMAS OPERATIVOS
2 de agosto de 2010
Indice
1. Aspectos generales. 2. Laboratorios Sistemas Operativos. 2.1. Conociendo los Sistemas Operativos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Informe Final. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Laboratorios S0, Procesos, Hilos y Fibras. 3.1. Modelos ejemplares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Informe Final. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Laboratorios Comunicaci n Interprocesos. o 4.1. La experiencia: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Informe Final. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Calicaci n de laboratorios o 2
2 2 3
3 4 7
8 8 9 9
1.
Aspectos generales.
Los trabajos de monografas son de recopilaci n bibliogr ca, por ello cada trabajo debe indicar claramente una o a bibliografa, referencias o una simple descripci n de la fuente. o
2.
Pre-requisitos: Experiencias sobre Sistemas Operativos modernos. Aprendizaje esperado al t rmino de la experiencia. e Conceptuales o cognitivos: Al t rmino de la experiencia se conocer n: Implementaci n de tres Sistemas Operativos y e a o las dicultades que estos tiene al momento de instalar. Procedimentales o instrumentales: Instalar los Sistemas Operativos de modo que la estaci n quede operativa. o Actitudinales o val ricos: Mostrar iniciativa en la resoluci n de problemas. Tener capacidad para desarrollar buenos o o informes, los que deben inclur: En la primera p gina deber venir el nombre del grupo y sus integrandes ordenados de acuerdo a participaa a ci n en el informe y trabajo en general. Indicar n mero del laboratorio como aparece en la car tula de la o u a gua del mismo. Fecha de entrega( fecha y hora de envo). Resumen de media p gina m ximo, donde se indiquen los objetivos. a a Resultados obtenidos de toda la experiencia, an lisis de los resultados, y comparaci n con respecto a sus a o expectativas. Resultados obtenidos en la implementaci n, an lisis y comparaci n de resultados. Comparaci n de los o a o o resultados con lo esperado. Respuestas a preguntas formuladas, si se incorporan gr cos, tablas, estas deben estar esplicadas. a Conclusiones, que incluya que ha aprendido, dicultades y sugerencias que mejoren la experiencia. El informe debe contener un m ximo de 10 hojas tama o carta. a n Conclusiones, que incluya lo que aprendi de la experiencia, dicultades que se encontr , y sugerencias que o o mejoren el laboratorio. Incluya una calicaci n que indique su nivel de aprendizaje en la experiencia. o Objetivo de la experiencia: Conocer dicultades y procedimientos en la instalaci n de los diferentes SO. o
2.1.
C mo se comportan los sistemas que usted instalo, en el caso de servidores. ? o Qu formato tienen los archivos y sus protecciones. ? e
3.
Pre-requisitos: Experiencias sobre Sistemas Operativos modernos. Aprendizaje esperado al t rmino de la experiencia. e Conceptuales o cognitivos: Al t rmino de la experiencia se conocer n las diferencias principales entre procesos, hilos e a y bras. Procedimentales o instrumentales: En los sistemas operativos WINDOW$ y UBUNTU instalar las aplicaciones de procesos, bras e hilos. Actitudinales o val ricos: Mostrar iniciativa en la resoluci n de problemas. Tener capacidad para desarrollar buenos o o informes, los que deben inclur: En la primera p gina deber venir el nombre del grupo y sus integrandes ordenados de acuerdo a participaa a ci n en el informe y trabajo en general. Indicar n mero del laboratorio como aparece en la car tula de la o u a gua del mismo. Fecha de entrega y hora (envo). Resumen de media p gina m ximo, donde se indiquen los objetivos. a a Resultados obtenidos de toda la experiencia, an lisis de los resultados, y comparaci n con respecto a sus a o expectativas. Resultados obtenidos en la implementaci n, an lisis y comparaci n de resultados. Comparaci n de los o a o o resultados con lo esperado. Respuestas a preguntas formuladas, si se incorporan gr cos, tablas, estas deben estar esplicadas. a Conclusiones, que incluya que ha aprendido, dicultades y sugerencias que mejoren la experiencia. El informe debe contener un m ximo de 10 hojas tama o carta. a n Conclusiones, que incluya lo que aprendi de la experiencia, dicultades que se encontr , y sugerencias que o o mejoren el laboratorio. Objetivo de la experiencia: Trabajar con procesos, hilos y bras. Dar soluci n al problema productor/consumidor en o las plataformas de LINUX y WINDOW$.(entregar pseudo c digo y el programa con datos comparativos.) o
3.1.
Modelos ejemplares.
Primera parte. Monte la experiencia tres, y verique que funciona correctamente, preste atenci n a los modelos implementados. o
Segunda parte: Modicar la experiencia de modo que permita procesos y estos ejecuten respectivos hilos, y bras en las dos plataformas (genere procesos e hilos y compruebe lo sucedido, explique porque las diferencias).. 1. Realice un ejemplo simple para intercomunicaci n de procesos utilizando memoria compartida.(utilice el o lenguaje que m s le acomode). a 2. Construya en pseudo c digo el problema Productor/Consumidor, y corra su programa para obtener datos o comparativos.(utilice el lenguaje que m s le acomode). a Explicar las diferencias entre procesos, hilos y bras ( con ejemplos claros de programaci n.) o Cu les son las caracteristicas pr cticas de los procesos, hilos y bras que obtuvo. a a
Cu l es la diferencia entre todos procesos y los hilos del modelo entregado?, Cu l es ventaja a a y desventaja de utilizar hilos y/o bras, procesos.? C mo se comportan los procesos, hilos y bras? o
Segunda parte. La creaci n de procesos es posible mediante primitivas como son: CreateProcess(), para windows y os.fork() en o Python, por ser m s f cil este ultimo explicaremos en detalle ete. a a Fork() se basa en una primitiva del SO que permite hacer una copia del programa en memoria y comienza su ejecuci n en paralelo como el original1 , en la te ria la copia que se ejecuta en paralelo es muy simple, no siendo o o asi en la pr ctica que es complejo. Un Fork() genera un hijo del padre (una copia), que tiene sus propios registros, a PC, memoria, y estado. Aqu conceptualmente podrimos tener lo siguiente:
1
Algunos sistemas no realizan la copia por ser muy honerosa, en cambio hacen una copia literal.
Hilo PC
Hilo PC
Proceso 1 MEMORIA
Proceso 2
F IGURA 3.1 P ROCESOS . Aqu se aprecia que un proceso tiene su propio espacio de memoria, su propio hilo, y su propio PC (registros), en cambio los procesos livianos o hilos, son como sigue:
Hilo PC
Hilo PC
MEMORIA Proceso
Hacer un programa en C++ y en Python que genere procesos independientes.2 \# Ejemplo de fork() en python. \#-----------------------------import os # importo clase 0s def hijo(): print "Atencin estamos hijo:", os.getpid() o os._exit(0) # regresemos al padre def padre(): while True: newpid = os.fork() if newpid == 0: child() else: print Estoy en el padre:, os.getpid(), newpid if raw_input() == q: break padre() Este c digo genera hijos que muestran sus PID. m s ejemplos estan en http://effbot.org/librarybook/os.htm o a 1. Realice m s ejemplos y ejecutelos en las plataformas de WINDOW y LINUX. a
2
2. El viejo problema de PRODUCTOR CONSUMIDOR, hacer un programa en python que simule para diferentes entradas un comportamiento, para esto se deben utilizar procesos. 3. Cu l es la diferencia que aprecia entre los c digos anteriores y el siguiente ?: a o \# Otro ejemplo import os parm = 0 while True: parm = parm+1 pid = os.fork() if pid == 0: # copiar el proceso os.execlp(python, python, hijo.py, str(parm)) # overlay al programa hijo.py assert False, error de ejecucin del hijo.py o # no debiera pasar aqui... else: print pid del hijos:, pid if raw_input() == q: break \#-------------------------------------------------------\# Este es el hijo.py \#-------------------------------------------------------import os, sys print Hola desde el hijo:, os.getpid(), sys.argv[1]
Cu l es la diferencia entre todos procesos y los hilos del modelo entregado?, Cu l es ventaja a a y desventaja de utilizar hilos y/o bras, procesos.? C mo se comportan los procesos, hilos y bras? o
4.
Pre-requisitos: Experiencias sobre Sistemas Operativos modernos. Aprendizaje esperado al t rmino de la experiencia. e Conceptuales o cognitivos: Al t rmino de la experiencia se conocer n formas b sicas de comunicaci n interprocesos. e o a o Procedimentales o instrumentales: Construir aplicaciones ejemplares para cada una de las formas de comunicaci n o que m s abajo se indican. a Actitudinales o val ricos: Mostrar iniciativa en la resoluci n de problemas. Tener capacidad para desarrollar buenos o o informes, los que deben inclur: En la primera p gina deber venir el nombre del grupo y sus integrandes ordenados de acuerdo a participaa a ci n en el informe y trabajo en general. Indicar n mero del laboratorio como aparece en la car tula de la o u a gua del mismo. Fecha de entrega y hora (envo). Resumen de media p gina m ximo, donde se indiquen los objetivos. a a Resultados obtenidos de toda la experiencia, an lisis de los resultados, y comparaci n con respecto a sus a o expectativas. Resultados obtenidos en la implementaci n, an lisis y comparaci n de resultados. Comparaci n de los o a o o resultados con lo esperado. Respuestas a preguntas formuladas, si se incorporan gr cos, tablas, estas deben estar esplicadas. a Conclusiones, que incluya que ha aprendido, dicultades y sugerencias que mejoren la experiencia. El informe debe contener un m ximo de 10 hojas tama o carta. a n Conclusiones, que incluya lo que aprendi de la experiencia, dicultades que se encontr , y sugerencias que o o mejoren el laboratorio. Objetivo de la experiencia: Trabajar con software libre PYTHON y plataformas WINDOWS y LINUX, para realizar comparaciones de tiempo y funcionalidad.
4.1.
La experiencia:
Primera parte. Para la realizaci n de esta experiencia es necesario trabajar con PYTHON y tener instalada la ultima versi n en o o plataformas WINDOWS y LINUX. Las experiencias que se realizar n corresponden a modelos ejemplares de los siguientes m todos de comunicaa e ci n. o Lnea de comandos. (interprete de comandos). Pipes (anonymous y Names). Signals. Sockets.
Segunda parte: En cada m todo de comunicaci n desarrolle una aplicaci n ejemplar en PYTHON que demuestre claramente el e o o punto en ambas plataformas. El c digo puede ser original o de reutilizaci n, en este ultimo caso asegurese que su o o aplicaci n sea simple y clara de entender. (Para el interprete de comandos, este deber reconocer como mnimo o a dos comandos, pero debe permitir su upgrade).
5.
Calicaci n de laboratorios o
La calicaci n de laboratorios tendr dos componentes: o a Trabajo pr ctico 60 %.3 a Trabajo de informe laboratorio 40 %. Suma de ambos trabajos dene la nota de laboratorios.
La calicaci n pr ctica ser observada por el trabajo individual en laboratorios, eventualmente se realizar n preguntas y se solicitar en o a a a a forma puntual alg n trabajo sobre la pr ctica que est siendo realizada. u a a
Bibliografa. Referencias
[1] [2] [3] [4] L minas del curso 2008. a Prentice Hall, ISBN 968-880-627-7, Andrew S. Tanembaum.Sistemas Operativos Distribuidos Prentice Hall, ISBN 970-17-0165-8, Andrew Tanembaum, Sistemas Operativos. http://www.Librosite.net/Stallings3