syllabus armonizado - utalca

6
Syllabus Armonizado Plan :16 ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN INGENIERIA CIVIL EN COMPUTACIÓN SISTEMAS OPERATIVOS Nombre del Módulo SISTEMAS OPERATIVOS Número de Créditos Expresados en SCT - CHILE Créditos STC-Chile: 6 Número de horas totales: 162 Distribución de horas Presencial Autónomo Cátedra Ayudantía Práctica Laboratorio Seminario Clínica Terreno Taller Tarea Estudio 3,00 0,00 0,00 1,00 0,00 0,00 0,00 0,00 1,00 4,00 Área de Conocimiento Ingeniería y Tecnología Semestre 7 Requisitos - ARQUITECTURA DE COMPUTADORES Y DISEÑO DE CIRCUITOS DIGITALES (PRERREQUISITO) Unidad Responsable de la Construcción del Syllabus INGENIERIA CIVIL EN COMPUTACION Competencias del perfil de egreso al que contribuye este módulo y nivel de logro de cada una de ellas 08. Dominar el cuerpo de conocimiento disciplinar de ciencias de la computación conforme a estándares reconocidos nacional e internacionalmente para su correcto desempeño profesional. Nivel de logro de la competencia:AVANZADO 10. Utilizar las ciencias de la computación como herramienta tanto para el desarrollo de la misma como de otras ciencias y de actividades productivas en general, trabajando en equipos multidisciplinarios e integrando conocimiento específico de otras disciplinas.Nivel de logro de la competencia: INTERMEDIO 09. Utilizar el cuerpo de conocimiento disciplinar en el quehacer profesional para la solución de problemas específicos de su ámbito laboral, considerando múltiples plataformas de desarrollo computacional.Nivel de logro de la competencia: INTERMEDIO Aprendizajes Conoce el uso de capas en el desarrollo de sistemas operativos Conoce los principios fundamentales de los sistemas operativos modernos Discute y soluciona problemas relacionados con el manejo de aplicaciones concurrentes en el sistema operativo 1 / 6

Upload: others

Post on 25-Jun-2022

30 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Syllabus Armonizado - UTalca

Syllabus Armonizado

Plan :16

ESCUELA INGENIERÍA CIVIL EN COMPUTACIÓN

INGENIERIA CIVIL EN COMPUTACIÓN

SISTEMAS OPERATIVOS

Nombre del Módulo SISTEMAS OPERATIVOS

Número de Créditos

Expresados en SCT - CHILE Créditos STC-Chile: 6 Número de horas totales: 162

Distribución de horas

Presencial AutónomoCátedra Ayudantía Práctica Laboratorio Seminario Clínica Terreno Taller Tarea Estudio3,00 0,00 0,00 1,00 0,00 0,00 0,00 0,00 1,00 4,00

Área de Conocimiento Ingeniería y Tecnología

Semestre 7

Requisitos

- ARQUITECTURA DE COMPUTADORES Y DISEÑO DE CIRCUITOS DIGITALES(PRERREQUISITO)

Unidad Responsable de laConstrucción del Syllabus

INGENIERIA CIVIL EN COMPUTACION

Competencias del perfil de

egreso al que contribuyeeste módulo y nivel de logro

de cada una de ellas

08. Dominar el cuerpo de conocimiento disciplinar de ciencias de la computación conforme aestándares reconocidos nacional e internacionalmente para su correcto desempeñoprofesional. Nivel de logro de la competencia:AVANZADO

10. Utilizar las ciencias de la computación como herramienta tanto para el desarrollo de lamisma como de otras ciencias y de actividades productivas en general, trabajando en equiposmultidisciplinarios e integrando conocimiento específico de otras disciplinas.Nivel de logro dela competencia: INTERMEDIO

09. Utilizar el cuerpo de conocimiento disciplinar en el quehacer profesional para la soluciónde problemas específicos de su ámbito laboral, considerando múltiples plataformas dedesarrollo computacional.Nivel de logro de la competencia: INTERMEDIO

Aprendizajes

Conoce el uso de capas en el desarrollo de sistemas operativos

Conoce los principios fundamentales de los sistemas operativos modernos

Discute y soluciona problemas relacionados con el manejo de aplicaciones concurrentes en elsistema operativo

1 / 6

Page 2: Syllabus Armonizado - UTalca

Syllabus Armonizado

Reconoce los conceptos fundamentales del paralelismo

Identifica y maneja procesos de coordinación y sincronización en programas paralelos

Comprende la organización en capas del hardware computacional

Comprende los fundamentos del paralelismo en teoría de sistemas

Comprende y maneja el problema de asignación de recursos computacionales

Comprende los conceptos de virtualización y aislamiento

Identifica problemas en la implementación de programas paralelos

Familiarizarse con las formas de comunicación existentes en los sistemas computacionales

Conoce los fundamentos de la computación paralela y distribuida

Reconoce problemas de concurrencia en aplicaciones reales

Conoce aspectos relacionados al uso de interrupciones en un sistema operativo

Conoce y utiliza los distintos paradigmas computacionales

Conoce los fundamentos de sistemas operativos en red y distribuidos

Conoce aspectos específicos del trabajo de los sistemas operativos

Aplica estrategias formales para la solución de problemas que surgen del manejo concurrentede aplicaciones en un sistema operativo

Reconoce los conceptos fundamentales de sincronización en el contexto de la computaciónparalela

Conoce y aplica métodos para el control de concurrencia

Diseña e implementa algoritmos paralelos

Conoce aspectos específicos asociados a las arquitecturas paralelas

Reconoce e identifica los errores que se producen en la comunicación entre capas delhardware computacional

Maneja aspectos de calendarización en la asignación de recursos

Evalúa la aplicabilidad de algoritmos de calendarización en distintos contextos

Maneja conceptos avanzados de scheduling y dispatching en la asignación de recursos

Implementa algoritmos basados en méritos para la asignación y calendarización de recursos

Aplica conceptos para el manejo de memoria

Conoce los principios utilizados en la gestión de sistemas de memoria

Conoce aspectos básicos relacionados al uso de máquinas virtuales

Fundamenta la necesidad de técnicas de manejo de memoria

Maneja conceptos de seguridad en el contexto de sistemas operativos

2 / 6

Page 3: Syllabus Armonizado - UTalca

Syllabus Armonizado

Conoce las interfaces locales de comunicación

Conoce aspectos básicos de los sistemas de archivos

Unidades de aprendizajes y

saberes esenciales UNIDAD #1: Concurrencia y SincronizaciónExplicar el concepto de capa lógica.Explicar los beneficios de construir capas abstractas de manera jerárquica.Explicar los objetivos y funciones de los sistemas operativos modernos.Describir las funciones de un sistema operativo moderno con respecto a la conveniencia,eficiencia y habilidad de evolucionar.Describir la necesidad de concurrencia en el framework de un sistema operativo.Resumir la gama de mecanismos que pueden ser empleados a nivel de sistema operativopara realizar sistemas concurrentes, y describe las ventajas de cada uno.Distinguir entre el uso de recursos computacionales para una respuesta más rápida delmanejo de acceso eficiente a un recurso compartido.Identificar oportunidades para particionar un programa secuencial en módulos paralelosindependientes.Describir cómo los sistemas computacionales son construidos capa sobre capa, basados enla separación de propósitos, con interfaces bien definidas, y escondiendo detalles de lascapas inferiores en las capas superiores.Describir cómo el hardware, VM, OS y aplicaciones corresponden a capas adicionales deinterpretación/procesamiento.Distinguir entre la ejecución secuencial y paralela de un programa dado, y las implicancias enrendimiento de cada una.Demostrar en una línea de tiempo de ejecución que eventos y operaciones paralelas puedentomar lugar simultáneamente (i.e. al mismo tiempo). Explica cómo esto puede ser explotadopara realizar trabajo en menos tiempo.Describir cómo los recursos finitos de computación (ej. tiempo de procesamiento, memoria,almacenamiento y ancho de banda) son gestionados en su cuidadosa asignación a entidadesexistentes.Explicar por qué es importante aislar y proteger la ejecución de programas y ambientesindividuales que se sustentan en recursos compartidos.Explicar por qué los chequeos de precondiciones, y las acciones basadas en dichos chequeosdeben compartir la misma unidad de atomicidad para ser efectivos.Dar un ejemplo de un orden de accesos entre actividades concurrentes (ej. programa con unacarrera por datos) que no es secuencialmente consistente.Explicar como las interrupciones son utilizadas para implementar control de E/S ytransferencias de datos.Dar un escenario de ejemplo en el que una actualización optimista pueda no completarsenunca.Discutir las ventajas y desventajas de usar procesamiento de interrupciones.Explicar el uso de una lista de dispositivos y manejador de cola de E/S.Articular las diferencias entre modelos de thread único vs multi-thread, server único vs multi-server, motivados por ejemplos de la vida real (ej, preparación de recetas, lineas paramúltiples telares y parejas comprando comida).Articular el concepto de escalamiento fuerte vs débil, es decir, cómo el rendimiento esafectado por la escala del problema vs el escalamiento de los recursos para resolverlo. Estopuede ser motivado por ejemplos simples de la vida real.Discutir sistemas operativos de red, cliente-servidor y distribuidos y sus diferencias con lossistemas operativos mono usuario.Describir como los recursos de computación son usados por software de aplicación y sonmanejados por software de sistema.Explicar los diferentes estados que una tarea puede tener y las estructuras de datosnecesarias para el manejo de muchas tareas.Resumir técnicas para lograr la sincronización de un sistema operativo (ej. describe cómoimplementar semáforos usando primitivas de OS).Describir los motivos para el uso de interrupciones, despachos (dispatching), y cambios de

3 / 6

Page 4: Syllabus Armonizado - UTalca

Syllabus Armonizado

contexto para el apoyo de la concurrencia en un sistema operativo.Distinguir múltiples constructos de programación para sincronización que pueden ser inter-implementados, pero que tienen ventajas complementarias.Distinguir carreras sobre datos de carreras de más alto nivel.Explicar cuándo y por qué el envío de mensajes multicast o basado en eventos puede serpreferible a otras alternativas.Describir al menos una técnica de diseño para evitar fallos de ¿liveness¿ en programas queutilizan múltiples locks o semáforos.Describir los méritos relativos del control de concurrencia optimista vs conservador bajodiferentes rangos de contienda entre actualizaciones.Dar un ejemplo de un problema que calza con el paradigma de productor- consumidor.Describir el soporte a nivel de lenguaje ensamblador para todas las operaciones atómicas.Describir los mecanismos en que los errores son detectados, señalados y manejados a travésde las capas.Describir el valor de las APIs y el middleware.Analiza los compromisos inherentes al diseño de sistemas operativos. UDemostrar los posibles problemas en tiempo de ejecución que surgen de la operaciónconcurrente de muchas tareas separadas.Escribir un algoritmo paralelo correcto y escalable.Explicar por qué la sincronización es necesaria en un programa paralelo específico.Escribir un programa utilizando actores y/o procesos reactivos.Usar exclusión mutua para evitar condiciones de carrera dadas.Escribir un programa que puede revelar un error de programación concurrente, por ejemplo,perder una actualización cuando dos actividades intentan incrementar una variable.Diseñar, codificar, probar y depurar programas para una computación paralela.Contrastar los modos de kernel y usuario en un sistema operativo.Crear diagramas de estado y de transición para dominios de problemas simples.Escribir un programa que termina correctamente cuando todo un conjunto de tareasconcurrentes han sido completadas.Usar una cola correctamente sincronizada para almacenar datos transmitidos entreactividades.Usar semáforos o variables de condición para bloquear thread hasta que se cumpla unaprecondición necesaria.

UNIDAD #2: Administración y Planificación de ProcesosConocer algoritmos tradicionales de calendarización de tareas.Describir los algoritmos de calendarización que asignan recursos a entidades encompetencia, y los aspectos de méritos en base a los que dichos algoritmos son evaluados,por ej. equidad.Discutir la necesidad de calendarizado preferente y con plazos (deadline scheduling).Comparar y contrastar enfoques estáticos y dinámicos para la calendarización en tiempo real.Describir relaciones entre algoritmos de calendarización y los dominios de aplicación.Describir los tipos de calendarización de procesador, tales como de corto plazo, medianoplazo, largo plazo y E/S.Conocer métodos alternativos de calendarización.Comparar y contrastar algoritmos tradicionales para calendarización preferente y no-preferente de tareas en un sistema operativo, tales como esquemas de prioridad, decomparación de rendimiento, y de reparto justo.Implementar algoritmos simples de calendarización.Identificar formas en que la lógica embebida en algoritmos de calendarización es aplicable aotros dominios, tales como E/S de disco, calendarización de redes, calendarizado deproyectos, y problemas fuera de las ciencias de la computación.Describir la diferencia entre procesos y threads. OS-4.4:UUsar aspectos de mérito de implementaciones de calendarización alternativas.

UNIDAD #3: Administración de Memoria y VirtualizaciónResumir los principios de memoria virtual, en el contexto de caching y paginado.Describe los principios del manejo de memoria.Explicar el funcionamiento de un sistema con manejo de memoria virtual.Explicar el concepto de memoria virtual y cómo se implementa en hardware y software.

4 / 6

Page 5: Syllabus Armonizado - UTalca

Syllabus Armonizado

Discutir el concepto de thrashing, tanto en términos del porqué su ocurrencia y las técnicasutilizadas para reconocerlo y manejar el problema.Defender los distintos métodos de asignación de memoria a tareas, identificando los méritosrelativos de cada una.Evaluar las ventajas y deventajas de la virtualización.

UNIDAD #4: Administración del Almacenamiento y la E/SConocer los aspectos de seguridad relacionados al trabajo de un sistema operativo.Describir el acceso a datos desde una unidad magnética.Describir las decisiones que se deben tomar para diseñar sistemas de archivos.Articular la necesidad de protección y seguridad en un SO.Comparar y contrastar diferentes enfoques para organizar los archivos, reconociendo lasfortalezas y debilidades de cada uno.

Metodología a utilizar CLASES MAGISTRALES (Método Expositivo)

Consiste en la presentación de un tema lógicamente estructurado con la finalidad desuministrar a los alumnos información esencial y organizada procedente de diversas fuentescon unos objetivos específicos predefinidos, pudiendo utilizar para ello otros recursosdidácticos además de la exposición oral. Esta metodología se centra fundamentalmente en laexposición verbal por parte del profesor de los contenidos sobre la materia objeto de estudio. Las exposiciones verbales se pueden realizar de diversas formas y con distintos medios, perola característica esencial de esta modalidad de enseñanza es que es unidireccional â¿•hablara los estudiantesâ¿• ya que tanto la selección de los contenidos a exponer como la forma dehacerlo constituyen una decisión del profesor. Como objetivos más comunes que puedenorientar el desarrollo de una clase teórica estarían los siguientes: - Exponer los contenidosbásicos relacionados con el tema objeto de estudio (narraciones, historias de casos,resúmenes de investigación, síntesis de resultados, etc.) - Explicar la relación entre losfenómenos para facilitar su comprensión y aplicación (generación de hipótesis, pasos en unaexplicación, comparación y evaluación de teorías, resolución de problemas, etc.) - Efectuardemostraciones de hipótesis y teoremas, (discusión de tesis, demostración de ecuaciones,etc.) y - Presentación de experiencias para ilustrar una aplicación práctica de los contenidos(experimentos, presentación de evidencias, aportación de ejemplos y experiencias, etc.).MÉTODO DE PROYECTOS (APRENDIZAJE POR PROYECTOS) Este método acerca una realidad concreta a un ambiente académico por medio de larealización de un proyecto de trabajo, para lo que se deben definir claramente las habilidades,actitudes y valores que se estimulará en el proyecto. Resulta indispensable dar asesoría yseguimiento a los alumnos a lo largo de todo el proyecto. Comprende un enfoque interactivode organización del trabajo en el aula y fuera de ella en el cual los alumnos son responsablesde su aprendizaje y del de sus compañeros en una estrategia de corresponsabilidad paraalcanzar metas e incentivos grupales.

Evaluaciones de

aprendizaje - Unidad de Aprendizaje

Unidad #1: 40%

Entregables (laboratorios, controles y/o tareas cortas): 30%Prueba parcial: 40%Proyectos de programación: 30%

- Unidad de Aprendizaje

Unidad #2: 20%

Entregables: 40%

5 / 6

Page 6: Syllabus Armonizado - UTalca

Syllabus Armonizado

Prueba parcial: 60%

- Unidad de Aprendizaje

Unidad #3: 20%

Entregables: 40%Prueba parcial: 60%

- Unidad de Aprendizaje

Unidad #4: 20%

Entregables: 30%Prueba parcial: 30%Proyectos de programación: 40%

Requerimientos especiales

Bibliografía

Nombre: "Operating Systems Concepts"., Tipo de bibliografía: Básica, Autor(es):Silberschatz, Abraham, Peter Galvin y Greg Gagne.

Nombre: "Operating Systems: Principles and Practice", Tipo de bibliografía:Complementaria, Autor(es): Anderson, Thomas y Michael Dahlin

Nombre: "Modern Operating Systems"", Tipo de bibliografía: Complementaria, Autor(es):Tanenbaum, Andrew S.

Nombre: "Operating Systems: Internals and Design Principles", Tipo de bibliografía:Complementaria, Autor(es): Stallings, William.

Powered by TCPDF (www.tcpdf.org)

6 / 6