Este curso se enfoca en la resolución de problemas de implementación de sistemas operativos y redes de comunicación. Dichos temas se encuentran estrechamente relacionados. Por un lado, el sistema operativo administra recursos y provee una interfaz a los programas que utilizan estos recursos. Por otro lado, las redes de comunicación permiten que aplicaciones que se ejecuten en diferentes dispositivos se comuniquen entre sí y operen como un solo recurso virtual. Además, los protocolos de red usualmente son ejecutados por el sistema operativo, y éste necesita de la red para ofrecer servicios como el sistema de archivos.
A nivel del Plan de Estudios, el propósito del curso es ofrecer un espacio práctico para aplicar y profundizar los conceptos que ofrece la teoría tanto de Sistemas Operativos como de Redes de Comunicación de datos (que se llevan simultáneamente en el tercer año de la carrera de Bachillerato en Computación e Informática) para implementar soluciones que incorporen aspectos de ambas áreas.
El objetivo general del curso es que cada estudiante consolide e integre los conocimientos aprendidos en los cursos de Sistemas Operativos y Redes de Comunicación, para que sea capaz de diseñar e implementar soluciones que consideren los retos, necesidades, buenas prácticas y requerimientos de ambas áreas, a través del desarrollo de proyectos, tareas programadas y prácticas de laboratorio.
Durante este curso el estudiante desarrollará habilidades para:
- Desarrollar aplicaciones distribuidas que utilizan sockets para comunicarse entre sí, para comprender cómo una aplicación puede hacer uso de los servicios de red disponibles en el SO, a través de la resolución de tareas programadas y prácticas de laboratorio
- Desarrollar aplicaciones que resuelvan problemas de red clásicos como control de flujo, control de congestión y transmisión confiable, para aplicar los conceptos teóricos aprendidos en el curso de Redes de Comunicación y entender cómo implementan estas soluciones en el sistema operativo, a través de la resolución de tareas programadas y prácticas de laboratorio.
- Desarrollar un prototipo de SO, que incorpore conceptos como multi-hilo, sincronización de procesos, interrupciones y llamadas al sistema, para reforzar el entendimiento de estos conceptos aprendidos en el curso teórico de Sistemas Operativos, a través de la resolución de tareas programadas y prácticas de laboratorio, cuyas soluciones pueden ser virtuales.
- Incorporar el soporte de aplicaciones de red al prototipo de SO desarrollado, para poder proveer una solución que integre los conceptos aprendidos en los cursos de Sistemas Operativos y Redes de Comunicación, a través del desarrollo de un proyecto programado.
Transversales:
- Aplicar mecanismos de seguridad, paralelismo y sistemas distribuidos en las tareas y proyectos, para reforzar el entendimiento de conceptos aprendidos en los cursos de Sistemas Operativos y Redes de Comunicación, a través del desarrollo de un proyecto programado.
Objetivos | Eje temático | Contenidos | |
---|---|---|---|
Redes | Sistemas Operativos | ||
1,3,5 | Estrategias de sincronización |
|
|
1,2 | Uso de interrupciones por aplicaciones de red |
|
|
3,4,5 | Infraestructura física |
|
|
2 | Requerimientos de red para sistemas distribuidos |
|
|
2,5 | Administración de almacenamiento distribuido |
|
|
3,4 | Aplicaciones en sistemas distribuidos |
|
|
3,4 | Administración de memoria distribuida |
|
|
5 | Seguridad |
|
|
- A. Downey, “The Little Book of Semaphores”, 2da edición, Greenteapress, Massachussets, Estados Unidos, 2008.
- J. Kurose y K. W. Ross, “Computer Networking: A Top-Down Approach Featuring the Internet”, 3ra edición, editorial Addison-Wesley, 2004.
- L. Peterson y B. Davie, “Computer Networks: A Systems Approach”, 5a edición, editorial Morgan Kaufmann, 2011.
- A. Silberchatz, P. Galvin y G. Gadge, “Operating Systems Concepts”, 9na edición, John Wiley and Sons, 2013.
- W. Stallings, “Operating Systems: Internals and Design Principles”, 8va edición, Prentice Hall, 2014.
- A. Tanenbaum y D. Wetherall, “Computer Networks”, 5a edición, editorial Pearson, 2010.
- Tanenbaum, “Modern Operating Systems”, 3ra edición, Prentice Hall, 2007.
- Tanenbaum y A. Woodhull, “Operating Systems Design and Implementation”, 3ra edición, Prentice Hall, 2006.
Este no es un documento oficial. Documentos oficiales se entregan en la secretaría de la escuela.