(09627) Sistemas operacionales (Moodle)

Anuncio
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE TECNOLOGÍAS DE
INFORMACIÓN Y COMUNICACIONES
Código-Materia:
Requisitos:
Programa-Semestre:
Periodo académico:
Intensidad Semanal:
Créditos:
09627 – Sistemas Operacionales
11325 - Interfaces y Arquitectura de Hardware
Ing. Telemática - Semestre 8, Ing. de Sistemas - Semestre 7
2016-2
4 Horas / Semana
3
Programa: Ingeniería de Sistemas
Resultados de Aprendizaje
relacionados con el
Programa
Fuente de Valoración
• K: Herramientas de Ingeniería (T)
NO
Resultados
de Aprendizaje
Programa: Ingeniería Telemática
Resultados de Aprendizaje
relacionados con el
Programa
Fuente de Valoración
• K: Herramientas de Ingeniería (T)
NO
Resultados
de Aprendizaje
Introducción
Un sistema operativo es un software encargado de realizar la gestión de los recursos de una
computadora, estos recursos son principalmente: el procesador, la memoria RAM, los dispositivos de
almacenamiento y los dispositivos de entrada y salida. Los sistemas operativos se crean con la
necesidad de abstraer al desarrollador de la forma particular en que se programa cada tipo de recurso
en una computadora.
El curso presenta dos ejes fundamentales, uno de ellos es el estudio de los algoritmos empleados
para realizar la administración de recursos en un sistema operativo y el otro corresponde a las
fundamentos y tecnologías que hacen posible la virtualización tanto de sistemas operativos como de
servicios.
Objetivos
Objetivo General
 Capacitar al estudiante en la comprensión del funcionamiento de un sistema operativo, su
virtualización y las implicaciones de la concurrencia entre aplicaciones.
Objetivos Terminales
 Explicar la estructura de un sistema operativo y las estrategias de administración de sus recursos.
 Explicar las diferentes alternativas para realizar virtualización a nivel de sistema operativo y sus
implicaciones técnicas.
 Instalar, configurar y administrar los sistemas operativos Windows y Linux en versión servidor.
Contenido
Este es el contenido propuesto para el desarrollo del curso:
Unidad 1. Introducción a los sistemas operativos
Temas: Conceptos de sistemas operativos, Virtualización
 Explicar de manera general los principales componentes de un sistema operativo.
 Describir los servicios que un sistema operativo proporciona a los usuarios, a los procesos y a
otros sistemas.
 Entender las diversas formas de estructuras de un sistema operativo.
 Entender el concepto de máquina virtual, las razones para implementarlas y las dificultades
que pueden presentarse en su utilización.
Unidad 2. Procesos e hilos
Temas: Procesos, Hilos
 Entender el concepto de proceso como la base del funcionamiento de un sistema operativo.
 Explicar los estados de los procesos y sus posibles transiciones.
 Describir los diversos mecanismos relacionados con los procesos, incluyendo los de
planificación, creación, finalización y comunicación.
 Identificar la importancia de los hilos en la realización de las tareas de un sistema operativo.
 Explicar el funcionamiento de los hilos a nivel de usuario y a nivel del kernel, y la forma como
se relacionan estos niveles a partir de los modelos multihilo (muchos a uno, uno a uno,
muchos a muchos).
Unidad 3. Condiciones de carrera y planificación
Temas: Ambientes de planificación, algoritmos de planificación
 Entender los mecanismos de planificación de la CPU e identificar el mecanismo apropiado
para una situación en particular.
 Seleccionar el algoritmo de planificación adecuado a partir de los criterios de evaluación
aplicados a una situación particular.
 Identificar y entender la problemática del acceso concurrente a datos compartidos en los
sistemas operativos.
 Explicar algunas soluciones de hardware y software para la sincronización de procesos.
 Implementar semáforos como una solución de programación al problema de la sección crítica.
Unidad 4. Gestión de memoria
Temas: Memoria de intercambio, memoria virtual
 Describir detalladamente las diferentes formas de organizar la memoria principal del sistema.
 Analizar diversas técnicas de gestión de memoria, incluyendo la paginación y segmentación.
 Describir las ventajas de un sistema de memoria virtual.
 Explicar los conceptos de paginación bajo demanda, algoritmos de sustitución de páginas y
asignación de marcos de página.
 Entender el concepto de sobrepaginación, sus implicaciones en las actividades del sistema
operativo y los mecanismos existentes para limitar sus efectos.
Unidad 5. Sistema de archivos
Temas: Sistema de archivos
 Explicar la función de los sistemas de archivos.
 Entender los conceptos relacionados con el sistema de archivos para ser aplicados en el
trabajo cotidiano a la hora de almacenar información, cuando se trabaja con los sistemas
operativos.
Talleres
Este es el listado de los talleres propuestos para el desarrollo del curso:
1.
2.
3.
4.
5.
6.
Conceptos básicos de sistemas operativos
Virtualización
Sincronización de procesos
Planificación de procesos
Bloqueos mutuos
Memoria virtual
Formación Previa
Los conocimientos mínimos para la comprensión del curso comprenden:
 Redes y Comunicaciones
 Programación Orientada a Objetos
Metodología
El curso se desarrollará de forma teórico-práctica. En las clases teóricas se abordaran los
fundamentos de los módulos de administración de un sistema operativo, así como los algoritmos que
puede ser empleados por cada módulo para la distribución de recursos en una computadora. En las
clases prácticas se abordarán las herramientas que permiten hacer la virtualización de sistemas
operativos, ejemplos prácticos para comprender la importancia de un adecuado manejo de la
concurrencia y ejercicios relacionados con cada módulo de administración.
Los parciales serán teóricos-prácticos. El proyecto final consistirá en la solución de un problema que
requiere la implementación, ejecución y monitoreo de un servicio sobre un servidor Linux o Windows.
El servicio a desarrollar deberá ser accesible a través de la red y manejar concurrencia.
Evaluación
La forma de evaluación del curso es la siguiente:
 3 Parciales
 6 Talleres
 1 Proyecto final
El cálculo de la nota final se realizará teniendo en cuenta el siguiente algoritmo:
Nota promedio = (Promedio Parciales * 60%) + (Promedio Talleres * 40%) +
Si Nota promedio >= 3.0 entonces
Nota definitiva = (Nota promedio*60%)+(Nota proyecto final*40%)
Sino
Nota definitiva = Nota promedio
Referencias
[1] Operating System Concepts. Novena Edición (2012). Peter B. Galvin, Abraham Silberchatz, Greg
Gagne. Editorial Wiley
[2] Modern Operating Systems. Cuarta Edición (2014). Andrew Tanembaum, Herbert Bos. Editorial
Prentice Hall.
[3] Operating Systems: Three Easy Pieces. http://pages.cs.wisc.edu/~remzi/OSTEP/
[4] The Little Book of Semaphores. Segunda Edición. http://www.greenteapress.com/semaphores/
Descargar