Sistemas Operativos
EVA| mina|inco|fing|udelar
  • Sitio EVA

    • Sitio EVA del curso
  • Curso

    • Principal
    • Horarios
    • Cronograma
    • Programa
    • Resultados
    • Cartelera (07/04)
  • Material

    • Teórico
    • Prácticos
    • Exámenes
    • Bibliografía
    • Links

Programa de la Asignatura


Nombre de la Asignatura Sistemas Operativos
Créditos 12 créditos
Objetivo de la Asignatura Introducir los conceptos básicos de los Sistemas Operativos y de Programación Concurrente
Metodología de enseñanza Se dictarán 5 horas semanales de exposiciones teóricas y 2 horas semanales de clases prácticas.
Temario
  • Introducción: Conceptos generales de los Sistemas Operativos.
  • Estructura de los sistemas operativos: Servicios. Llamados a sistemas. Diseño e implementación. Máquinas virtuales. Inicio del sistema.
  • Procesos: Concepto de Proceso, estructuras y operaciones sobre procesos. Comunicación entre procesos. Hilos. Planificación.
  • Programación Concurrente: Introducción. Interferencia, cooperación y sincronización entre tareas. Problema de las secciones críticas. Semáforos. Monitores. Declaración de tareas concurrentes. Primitivas de sincronización basada en intercambio de mensajes.
  • Bloqueos Mutuos: Modelo del sistema y caracterización de bloqueos mutuos. Manejo de bloqueos mutuos: prevención, detección y recuperación.
  • Administración de la Memoria: Evolución histórica. Conceptos básicos. Paginación. Segmentación. Memoria Virtual. Paginación bajo demanda. Copy-on-Write. Algoritmos de reemplazo. Asignación de memoria. Hiperpaginación. Mapeo de memoria. Asignación de memoria a nivel del sistema.
  • Subsistema de Entrada/Salida: Conceptos básicos. Entrada/Salida a nivel hardware, aplicación y sistema. Performance.
  • Almacenamiento Secundario: Discos y Sistema de Archivos. Conceptos: atributos, operaciones, tipos, estructura. Organización y métodos de acceso. Estructura de directorios. Organización de volúmenes. Administración del espacio. Sistema de archivos distribuidos.
  • Protección y Seguridad: Principios del diseño. Métodos básicos de autenticación y Control de acceso.
  • Sistema de propósito especial: Sistemas de tiempo real. Sistemas multimedia.
  • Tecnologías: Multiprocesadores, Virtualización Sistemas distribuidos.
Bibliografía Sistemas operativos
  • Operating System Concepts, Silberchatz, Galvin. Ed. John Wiley & Sons. 8th edition ISBN 978-0-470-12872-5 (2008)
  • Operating Systems: Internals and Design Principles, William Stallings. Ed. Prentice Hall. 6th edition ISBN: 0136006329 (2009)
  • Modern Operating Systems, Andrew S. Tanenbaum. Ed. Prentice Hall. 2nd edition ISBN: 0130313580 (2001)
  • Distributed Operating Systems, Andrew S. Tanenbaum. Ed. Prentice Hall. 1st edition ISBN: 0132199084 (1994)
  • The Logical Design of Operatin Systems, L. Bic, A. Shaw. Ed. Prentice Hall, 2nd edition. ISBN: 0135401127 (1988)

Programación concurrente
  • Foundations of Multithreaded, Parallell, and Distributed Programming, G. R. Andrews Ed. Addison-Wesley ISBN: 0201357526 (2000).
  • Concurrent Programming: Principles and Practice, Gregory R. Andrews, Sally Elliott. Ed. Addison-Wesley ISBN: 0805300864 (1991).
  • Principles of concurrent and distributed programming, M Ben-Ari. Ed. Prentice Hall International - Series in Computer Science ISBN: 013711821X (1990).
  • Concurrent Programming: The Java Programming Language, Stephen J. Hartley. Ed. Oxford Univ. Press ISBN: 0195113152 (1998).
  • Concurrency in Ada, Alan Burns, Andy Wellings, Andrew J. Wellings, John Barnes. Cambridge Univ. Press ISBN: 052162911X (1998).
Conocimientos previos recomendados Sólidos conocimientos de arquitectura de computadoras y de programación.

Anexos


Cronograma tentativo
  • Introducción: Conceptos básicos. (2 clases - 5 horas).
  • Estructura de los sistemas operativos: Servicios. Llamados a sistemas. Diseño e implementación. Máquinas virtuales. Inicio del sistema. (3 clases - 7.5 horas).
  • Procesos: Concepto de Proceso, Estructuras y operaciones sobre procesos. Comunicación entre procesos. Hilos. Planificación de procesos. (4 clases - 10 horas)
  • Programación Concurrente: Introducción, Interferencia, cooperación y sincronización entre tareas: Problema de las secciones críticas, Semáforos, Monitores, Declaración de tareas concurrentes, Primitivas de sincronización basada en intercambio de mensajes. (7 clases - 17.5 horas).
  • Competencia por recursos: Problema de Bloqueo: Modelo el sistema, Caracterización.
    Manejo de bloqueos: prevención, detección y recuperación (1 clase - 2.5 horas).
  • Administración de la Memoria: Conceptos Básicos. Memoria virtual: Propósito, organización, implementación y administración. (3 clases - 7.5 horas).
  • Subsistema de Entrada/Salida: (2 clases - 5 horas).
  • Almacenamiento Secundario: Discos y Sistema de Archivos; Conceptos: atributos, operaciones, tipos, estructura; Organización y métodos de acceso; Estructura de directorios; Organización de volumen; Administración de espacio. (3 clases - 7.5 horas)
  • Protección y Seguridad: Principios del diseño, Métodos básicos de autenticación y Control de acceso. (1 clase - 2.5 horas)
  • Sistemas de propósito especifico: Sistema de tiempo real y multimedia (1 clase - 2.5 horas).
  • Tecnologías: Virtualización. Multiprocesadores. Sistemas distribuidos (1 clase - 2.5 horas).

Las clases teóricas y su estudio posterior mas las clases prácticas y la realización de los ejercicios del curso deberán requerir una carga promedio de 11 horas 15 minutos semanales durante el curso.
Modalidad del curso
y procedimiento de
evaluación

La asignatura se evaluará por medio de dos pruebas individuales (parciales) donde el estudiante obtendrá:

  • Exoneración del examen final.
  • Suficiencia en el curso; el estudiante queda habilitado a rendir el  examen.
  • Insuficiencia en el curso; el estudiante reprueba el curso y debe reinscribirse en el mismo.

Se presenta a continuación el esquema de evaluación:

  • Exoneración: El estudiante debe alcanzar el 60% del puntaje de los parciales.
  • Suficiencia en el curso: El estudiante debe alcanzar el 25% del puntaje de los parciales.
  • Insuficiencia en el curso: El estudiante no alcanza el 25% del puntaje de los parciales.

Materia Ingeniería en Computación: Arquitectura, Sistemas Operativos y Redes de Computadores.
Previaturas

Para alumnos del plan 87

  • Análsis Matemático 1 (examen)
  • Geometría y Álgebra Lineal Anual (examen)
  • Programación II (examen)
  • Programación III (examen)
  • Arquitectura de Sistemas (examen)

Para alumnos del plan 97

  • Cálculo 1 (examen)
  • Geometría y Álgebra Lineal 1 (examen)
  • Matemática Discreta 1 (examen)
  • Programación 2 (examen)
  • Programación 3 (curso)
  • Introducción a la Arquitectura de Computadoras o Arquitectura de Computadores 1 (curso)

Cupo No tiene.
Grupo MINA | Instituto de Computación | Facultad de Ingeniería | Universidad de la República