Encabezado Facultad de Ciencias
Presentación

Ciencias de la Computación (plan 1994) 2021-1

Sexto Semestre, Sistemas Operativos

Grupo 7001, 65 lugares. 31 alumnos.
Profesor José Luis Torres Rodríguez ma ju 18:30 a 20
Ayudante Andrés Leonardo Hernández Bermúdez lu mi 19 a 20
Ayudante Diego Alberto Barriga Martínez lu mi 19 a 20
Ayud. Lab. Oscar Emilio Cabrera López mi 14 a 16
 

Sistemas Operativos 2021-1 (en construcción)

José Luis Torres Rodríguez

Andrés Leonardo Hernández Bermúdez

Oscar Emilio Cabrera López

Requisitos

  • Conocimientos básicos de Linux

  • Conocimientos de Arquitectura de Computadoras

  • Conocimientos de programación en un lenguaje estructurado u orientado a objetos

Objetivos

  • Introducir al estudiante en el estudio de los elementos que conforman un sistema operativo

  • Presentar al estudiante los elementos necesarios para comprender la forma en que un sistema operativo controla los recursos de un sistemas de cómputo

  • Proporcionar al estudiante bases que le permitan explotar los recursos de un sistema de cómputo (principalmente Linux)

  • Estudiar la estructura de los sistemas operativos tradicionales y sentar las bases para entender los sistemas operativos distribuidos

  • Llevar a cabo la implementación de algunas de las técnicas usadas en los sistemas operativos modernos, abordadas durante el curso, con el objetivo de reforzar la comprensión de las mismas.

    • Esto incluye el uso de sistemas de archivos actuales, aplicaciones y arquitecturas disponibles en la nube, entre otros

Sistemas Operativos

  • Linux, Windows, Android

Lenguaje de programación

  • C

Primera sesión para presentar los detalles del curso

La primera sesión se llevará a cabo el día 21 de septiembre a las 19:00 horas a través de Google Meet. La liga para conectarse a la sesión se les hará llegar por correo a las direcciones que se tienen registradas en el sistema de la Facultad de Ciencias; estas direcciones se tomarán de la lista oficial del grupo. Se les sugiere consultar el correo de la dirección que tienen registrada para el envío de avisos de la Facultad.

En caso de que no hayan recibido el correo con la liga para la reunión, a más tardar el día 20 de septiembre, pueden enviar un correo a la dirección jluis@ciencias.unam.mx, incluyendo su nombre completo y su número de cuenta.

Impartición de las clases

  • Clases teóricas:

    Profesor: 2 sesiones en video por semana y una sesión en línea para solución de dudas (el día y la hora se les comunicarán durante la primera sesión)
    Ayudante: las sesiones de ayudantía se llevarán a cabo en línea, los lúnes y miércoles de 19 a 20 horas, como se indica en el horario.

  • Laboratorio:
    2 sesiones en videollamada de 1 hora y media por semana. En la primera sesión se les indicarán los días en los que se llevarán a cabo esta sesiones y la forma en la que se trabajará.

De las sesiones de laboratorio

Se llevarán a cabo una serie de prácticas con el objetivo de que el alumno se familiarice con el lenguaje de programación y para reforzar los temas abordados en las sesiones teóricas.

Lista de recursos de cómputo a usar

  • GitLab para la entrega de proyectos de programación y la documentación correspondiente

  • Comunicación:

    • Se hará uso de un grupo en Telegram para comunicación grupal y personal

    • Se requiere su cuenta de correo personal para el envío de información

    • Se hará uso de un grupo de correo de Gmail para comunicación grupal (se formará a partir de las cuentas de correo de los integrantes del grupo)

  • Se utilizará Google Drive para trabajo colaborativo en equipo y para la entrega de documentos

  • Google Meet para las sesiones en línea

  • Canal de Youtube para la publicación de videos sobre el curso

Los datos de los recursos mencionados se les proporcionarán en la primera sesión.

Contenido del curso

  • Introducción a los sistemas operativos

    • Conceptos de sistemas operativos

    • Administración y manejo de recursos

    • Máquinas virtuales

    • Elementos y estructura de un sistema operativo

    • Tipos de sistemas operativos

  • Breve introducción a GitLab

  • Procesos

    • Descripción de un proceso

    • Creación y finalización de procesos

    • Estado de un proceso

    • Comunicación entre procesos

    • Procesos y máquinas virtuales

  • Hilos

    • Revisión del concepto de hilo

    • Uso e implementación de hilos

    • Modelos de hilo simple y multihilos

    • Hilos en sistemas distribuidos

  • Planificación

    • Conceptos básicos

    • Criterios y algoritmos de planificación

    • Planificación de hilos

    • Planificación en sistemas distribuidos

    • Problemas clásicos

  • Comunicación y sincronización de procesos

    • Condiciones de carrera

    • Región crítica

    • Exclusión mutua y solución de Peterson

    • Semáforos

    • Monitores

    • Problemas y ejemplos

  • Interbloqueo

    • Modelado de interbloqueos

    • Métodos para el manejo de interbloqueos

    • Prevención y evitación de interbloqueos

  • Manejo de memoria principal

    • Conceptos generales

    • Intercambio

    • Asignación de memoria contigua

    • Paginación

    • Tablas de páginas

    • Segmentación

    • Virtualización de la memoria

  • Manejo de memoria virtual

    • Introducción

    • Paginación sobre demanda

    • Copy-on-write

    • Reemplazo de páginas

    • Manejo de marcos

  • Sistemas de archivos

    • Conceptos generales

    • Métodos de acceso

    • Estructura de directorios y discos

    • Estructura de un sistema de archivos

    • Implementación de sistemas de archivos y directorios

    • Métodos de asignación

    • Manejo de espacio libre

    • Recuperación de sistemas de archivos

    • Archivos compartidos

  • Contenedores

Evaluación del semestre

Se considerarán los siguientes elementos para llevar a cabo la evaluación:

  • Exámenes: se aplicarán 3 exámenes, de acuerdo al avance que tengamos en el curso.

    • Requisito para presentar examen: haber entregado puntualmente las tareas anteriores a la fecha del examen. No habrá reposiciones de exámenes

Es requisito indispensable el contar con un promedio aprobatorio en los exámenes y haberlos presentado todos, sin excepción, para tener derecho a obtener una calificación final aprobatoria en el semestre.

No es posible obtener una calificación aprobatoria si no se presentaron los exámenes.

  • Prácticas, sobre cada uno de los temas principales vistos a lo largo del semestre.

    Es requisito indispensable el haber entregado todas las prácticas para tener derecho a obtener una calificación final aprobatoria en el semestre.

    No es posible obtener una calificación aprobatoria si no se ha cumplido con la entrega de las prácticas y los proyectos asignados durante el semestre.

  • Tareas teórico-prácticas. En estas tareas se aplicarán todos los conocimientos vistos a la fecha, complementados con material adicional.

  • Todos los trabajos duplicados serán evaluados con cero, sin hacer indagaciones.

  • La calificación final se entregará a más tardar el día de la segunda vuelta de los exámenes finales. Esta fecha también es el límite para solicitar aclaraciones de cualquier trabajo entregado.
    .

  • Sin excepción, no se aceptarán reclamaciones fuera de la fecha señalada en el punto anterior.

  • Sin excepciones, no se permitirá renunciar a ninguna calificación.

  • La calificación de NP sólo se asignará a quien no haya entregado ningún trabajo y no haya presentado ningún examen.

  • De ninguna manera se dará un trato ni una calificación especial a ningún estudiante, por el hecho de tener un promedio alto en su historial académico, contar con algún tipo de beca, por ser su última materia de la carrera o por llevar una cantidad grande de materias. Tampoco se tomarán en cuenta recomendaciones de ninguna persona para asignar la calificación final.

Escala

La calificación final se calculará con base en los siguientes porcentajes:

Exámenes 30%

Prácticas 50%

Tareas 20%

Bibliografía

  • Operating System Concepts, 9th edition, 2013
    Silverschatz, Abraham; Galvin, Peter; Gagne, Greg
    John Wiley & Sons

  • Sistemas Operativos Modernos, 3a edición, 2009
    Tanenbaum, Andrew S.
    Pearson/Prentice Hall

  • Fundamentos de Sistemas Operativos. Primera edición.
    Golf, Gunnar; Ruiz, Esteban; Bergero, Federico; Meza, Erwin
    Universidad Nacional Autónoma de México, Instituto de Investigaciones Económicas, Facultad de Ingeniería. 2015.
    Distribuido libremente bajo los términos de la CC BY-SA versión 4.0.
    Sitio web:http://sistop.org/

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.