Información general


Tipo de asignatura: obligatoria

Coordinador:

trimestre:2

Créditos: 6

Profesorado: Leonardo Janer García

Descripción


A nivel general esta asignatura abarca los siguientes descriptores especificados para la materia a la que pertenece (Arquitectura, Sistemas Operativos y Redes de Ordenadores):

1.- Introducción al soporte de la arquitectura al sistema operativo (memoria virtual, TLB)

2.- Programación del firmware de un microcomputador comercial para el desarrollo de un prototipo

3.- Concurrencia, entrada / salida y buses (encuesta, interrupciones, DMA, tipo E / S)

4.- Estructuras internas en la jerarquía de memoria (discos, memoria principal, cachés, mecanismos de detección y corección de errores)

5.- Introducción a los procesadores segmentados lineales y multiprocesadores

6.- TCP y sockets (protocolos, ARQ, Control de flujo, UDP, TCP, API sockets)

7.- Introducción a los sistemas operativos (tipo de sistemas operativos y características, procesos, flujos, espacios de direcciones, modos de ejecución, comandos básicos)

8.- Interfaces (librerías de usuario, servicios del sistema)

9.- Gestión de procesos (servicios del sistema, planificación, flujos, cambios de contexto, estructuras básicas de apoyo) 

10.- Gestión del espacio de direcciones (servicios del sistema, gestión de la memoria, memoria virtual, swap, thrashing, estructuras básicas de apoyo)

11.- Gestión de la entrada / salida (servicios del sistema, buffering, spooling, independencia de los dispositivos, estructuras básicas de apoyo)

12.- Sistema de ficheros (servicios del sistema, asignación de espacio en disco, tipo de sistemas de ficheros, estructuras básicas de apoyo)

13.- Compartición de recursos y sincronización (memoria, archivos, exclusión mutua, regiones críticas, abrazo mortal)

Para el seguimiento de la asignatura el estudiante trabaja con su ordenador personal (portátil) que deberá llevar a todas y cada una de las clases

Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covidien-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.

Resultados de aprendizaje


A nivel general esta asignatura contribuye a siguientes resultados de aprendizaje especificados para la materia a la que pertenece (Arquitectura, Sistemas Operativos y Redes de Ordenadores):

1.- Demostrar conocimiento y comprensión de hechos esenciales, conceptos, principios y teorías relativas a la informática ya sus disciplinas de referencia

2.- Utilizar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, desarrollo, implantación y evaluación de productos) de forma que se demuestre la comprensión de los compromisos adoptados en las decisiones de diseño

3.- Evaluar, y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos

4.- Evaluar sistemas hardware y software en función de un criterio de calidad determinado

5.- Determinar los factores que tienen incidencia negativa en la seguridad y la fiabilidad de un sistema

6.- Diseñar soluciones que integran tecnologías hardware, software y comunicaciones (y capacidad de desarrollar soluciones específicas de software de sistemas) para sistemas distribuidos y dispositivos de computación ubicua

7.- Desarrollo de proyectos en equipo

8.- Comprender y utilizar de forma eficaz manuales, especificaciones de productos y otra información de carácter técnico escrita en inglés

A un nivel más concreto, al finalizar la asignatura el estudiante / a debe ser capaz de:

  1. (RA1) Conocer las principales arquitecturas y servicios de los sistemas operativos
  2. (RA2) Utilizar las llamadas al sistema de diferentes sistemas operativos
  3. (RA3) Entender la necesidad de disponer de mecanismos de protección en entornos multiproceso y multiprocesador
  4. (RA4) Entender y definir los conceptos de hilos, procesos, y relacionarlos
  5. (RA5) Entender diferentes mecanismos de planificación de CPU
  6. (RA6) Aplicar mecanismos de comunicación y de sincronización entre procesos
  7. (RA7) Entender los diferentes Componentes implicados en las operaciones de entrada y salida
  8. (RA8) Entender los diferentes mecanismos de gestión de ficheros
  9. (RA9) Conocer diferentes alternativas para programar scripts para resolver problemas recurrentes en el sistema
  10. (RA10) Entender los mecanismos de comunicación entre procesos en Internet con sockets
  11. (RA11) Conocer el lenguaje de programación C
  12. (RA12) Conocer el lenguaje de programación Python

Metodología de trabajo


Las horas de aprendizaje dirigido comprenden:

  1. Clases teórico / prácticas en grupo grande (toda la clase) en las que el profesorado introduce los contenidos de la asignatura y se realizan actividades docentes que persiguen que el estudiante sea un protagonista activo en la adquisición de sus conocimientos.
  2. Actividades que se realizan en equipos de dos personas o individualmente. Estas actividades prácticas se realizarán tanto en las clases con grupos reducidos como en las clases con grupos grandes (todos los alumnos).
  3. Presentaciones de forma individual y / o en grupos de temas concretos relativos al temario de la asignatura
  4. Redacción de informes de forma individual y / o en grupos de temas concretos relativos al temario de la asignatura
  5. Ejecución de proyectos (en equipos de trabajo) para trabajar habilidades, competencias transversales
  6. Resolución de problemas en un tiempo determinado en formato de retos para evaluar la capacidad del estudiante ante situaciones cotidianas de mercado 

El objetivo final es que el alumno adquiera los conocimientos de la asignatura mediante actividades las cuales pueden ser pequeñas como proyectos más completos donde intervengan los conocimientos que se van adquiriendo a lo largo del curso. Dentro de las horas de aprendizaje autónomo se consideran las horas para preparar las clases teóricas, las horas para estudiar y consolidar los conocimientos adquiridos, las horas para preparar el trabajo de las prácticas y, por último, las horas que el estudiante puede dedicar a aumentar y complementar sus conocimientos sobre la materia.

Este curso, debido a la situación generada por la Covidien, algunas de las sesiones de grupo grande se harán en formato híbrido: presencial y en línea (vía en streaming). Esto permitirá que los estudiantes puedan ir rotativamente en las clases presenciales, respetando el máximo de estudiantes por aula que imponen las medidas de distanciamiento. Cuando no les toque sesión presencial podrán seguir la clase en línea desde casa.

En cuanto a las sesiones de prácticas en espacios más reducidos (como laboratorios, estudios o plató), en su caso se trabajará simultáneamente en varios espacios para garantizar que se cumplen las condiciones establecidas por los protocolos de seguridad.

contenidos


  1. Tema 1: Introducción a los Sistemas Operativos
  2. Tema 2: Scripting (Pitón)
  3. Tema 3: Comunicación entre Procesos y Sockets (C)
  4.  Tema 4: Sistemas Operativos

Actividades de aprendizaje


Se pone a disposición de los estudiantes una serie de actividades de carácter eminentemente práctico que son la base de las actividades de aprendizaje de la asignatura. Estas actividades los estudiantes / se las tendrán que resolver, a veces de manera no presencial, siguiendo las indicaciones de los docentes y / o también serán trabajadas en clase, ya sea como ejemplos en las sesiones de teoría, ya sea en sesiones de laboratorio ( grupos grandes o pequeños). Si bien algunas de estas actividades podrían tener carácter optativo (los docentes no verificarán de manera individualizada la realización por parte de los estudiantes), serán imprescindibles para alcanzar los conocimientos teórico-prácticos de la asignatura.

Con el objetivo de recoger evidencia del logro de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo, relacionadas con las competencias comunes, transversales y específicas. La competencia transversal asociada a la asignatura de conocimiento de tercera lengua se trabaja a partir de las fuentes documentales que los estudiantes deben consultar, y de la propia asignatura que tiene como lengua vehicular el inglés

  1. Prácticas de Scripting: Pruebas individuales / grupales de aplicación práctica de los conceptos teóricos y procedimientos prácticos del Tema 2 de la asignatura (evidencia de los resultados del aprendizaje RA2, RA9, RA12)
  2. Prácticas de Comunicación entre Procesos: Pruebas individuales / grupales de aplicación práctica de los conceptos teóricos y procedimientos prácticos del Tema 3 de la asignatura (evidencia de los resultados del aprendizaje RA2, RA4, RA6, RA10, RA11)
  3. Prácticas de Administración de Sistemas Operativos: Pruebas individuales / grupales de aplicación práctica de los conceptos teóricos y procedimientos prácticos de los Temas 1 y 4 de la asignatura (evidencia de los resultados del aprendizaje RA1, RA2, RA3, RA5, RA7, RA8)
  4. Presentaciones: Pruebas individuales / grupales de aplicación práctica de los conceptos teóricos y procedimientos prácticos delsTemes 1 y 4 de la asignatura (evidencia de los resultados del aprendizaje RA1, RA3, RA5, RA7, RA8)
  5. Trabajo en Grupo: Pruebas individuales / grupales de aplicación práctica de los conceptos teóricos y procedimientos prácticos de los Temas 1 y 4 de la asignatura (evidencia de los resultados del aprendizaje RA5, RA8
  6. prueba Escrita: Pruebas individuales / grupales de aplicación práctica de los conceptos teóricos y procedimientos prácticos de los Temas 1, 2, 3 y 4 de la asignatura (evidencia de los resultados del aprendizaje RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10, RA11, RA12)

En relación a las competencias básicas asignadas a la asignatura, éstas quedan cubiertas especialmente en cuanto a los aspectos que se explicitan:

  • CB2: resolución de problemas dentro de su área de estudio.
  • CB5: desarrollo de habilidades de aprendizaje necesarias para estudios posteriores (acceso autónomo a documentación, hábitos de trabajo efectivos)

En relación a las competencias transversales asociadas a la asignatura, éstas quedan cubiertas especialmente en cuanto a los aspectos que se explicitan:

  • CT1: el conocimiento de la lengua inglesa se trabaja a partir de las fuentes documentales que los estudiantes deben consultar, dado que mayoritariamente todas ellas se encuentran en inglés. Todo el material escrito de la asignatura (notas, enunciados de problemas, enunciados de prácticas, ...) se distribuyen exclusiva y únicamente en inglés. El idioma vehicular de la asignatura es el inglés.
  • CT2: el trabajo como miembros de un equipo interdisciplinar se trabaja mayoritariamente en las actividades prácticas donde la gestión y de la responsabilidad compartida es especialmente relevante

En relación a las competencias específicas asociadas a la asignatura, éstas quedan cubiertas especialmente para que los a los aspectos que se explicitan:

  • EFB4: se trabaja en las pruebas prácticas asociadas al tema IPC y al tema de scripting, con una importante componente práctica
  • EFB5: se trabaja en las pruebas prácticas asociadas al tema IPC y al tema de scripting, con una importante componente práctica, pero especialmente en las de comunicación entre procesos, focalizadas en los elementos de comunicación entre procesos en el mismo o diferentes sistemas

En relación a las competencias comunes asociadas a la asignatura, éstas quedan cubiertas especialmente para que los a los aspectos que se explicitan:

  • CIN1: se trabaja principalmente en las pruebas prácticas que conllevan el desarrollo de soluciones informáticas
  • CIN4: se trabaja en las actividades del tema de SISTEMAS OPERATIVOS, donde se analizan aspectos funcionales y de especificaciones, y en las actividades de evaluación continuada
  • CIN5: se trabaja en las actividades del tema de SISTEMAS OPERATIVOS, donde se analizan aspectos funcionales y de especificaciones, y en las actividades de evaluación continuada
  • CIN9: se trabaja de forma transversal en las pruebas escritas de la asignatura, que trabajan los aspectos más teóricos, pero también en las actividades prácticas, pues en cada una de ellas se hace énfasis en aspectos de la estructura y arquitectura de los sistemas
  • CIN10: se trabaja de forma transversal en las pruebas escritas de la asignatura, que trabajan los aspectos más teóricos, pero también en las actividades prácticas, pues en cada una de ellas se hace énfasis en aspectos de la estructura y arquitectura de los sistemas
  • CIN14: se trabaja en las pruebas prácticas asociadas al tema IPC focalizadas en los elementos de comunicación entre procesos en el mismo o diferentes sistemas

Para superar (aprobar) las actividades evaluativas, los estudiantes deberán demostrar:

  • Que han adquirido los conocimientos teóricos relativos a los contenidos de la asignatura y que su comprensión les permite llevarlos a la práctica [MECES-2 punto a, punto c]
  • Que pueden desarrollar soluciones a problemas que, si bien pueden ser similares a otros vistos anteriormente, presentan aspectos que son nuevos [MECES-2 punto f]

Normas de realización de las actividades

  • En todas las actividades es obligada la asistencia para ser evaluadas.
  • Las actividades son obligatorias. Las actividades no realizadas o en las que no se ha asistido, son evaluadas como 0.

Sistema de evaluación


1.- Prueba Escrita 15%

2.- Actividades vinculadas al tema de scripting 35%

3.- Actividades vinculadas al tema de IPC 35%

4.- Actividades vinculadas al tema de SISTEMAS OPERATIVOS 10%

5.- Evaluación continua 5%

Todas las notas son obligatorias. Se pueden recuperar las pruebas escritas

Para las pruebas escritas la media de las pruebas debe tener una calificación mínima de 4,0. Si la nota es inferior a 4.0 entonces la calificación final será la de las pruebas escritas.

Bibliografía


básico

Presentaciones y apuntes de la asignatura en el Moodle

www.netacad.com

https://docs.python.org

Complementario

Sistemas operativos: tres piezas fáciles

Remzi H. Arpaci-Dusseau y los Andrea C. Arpaci-Dusseau

(http://pages.cs.wisc.edu/~remzi/OSTEP/#book-chapters)

Operating System Concepts (9th Edition)

Abuelo Silberschatz, Peter Baer Galvin, Greg Gagne

John Wiley and Sons, Inc

ISBN: 978-1-118-0633-0

The C Programming Language (Second Edition)

Brian W. Kernighan y Dennis M. Ritchie

Prentice Hall

ISBN-13: 978-0131103627