Ruta de navegación

Contenido de XSL

Introducción a los Sistemas Operativos26022

Centro
Facultad de Economía y Empresa. Sección Álava 
Titulación
Doble Grado en ADE + Ingeniería Informática de Gestión y Sistemas de Información
Curso académico
2022/23
Curso
3
Nº Créditos
6
Código
26022

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4567.5
P. Laboratorio1522.5

Guía docenteAlternar navegación

Descripción y Contextualización de la AsignaturaAlternar navegación

La asignatura tiene como objetivo introducir al alumnado en la gestión de recursos que debe hacer un sistema operativo para proveer de un interfaz uniforme a los programas.

Los conceptos que se introducen permiten programar de una forma más efectiva, con mayor conocimiento sobre lo que está ocurriendo a más bajo nivel en el sistema. Además, se introducen otros conceptos como los del paralelismo y la necesidad de colaboración entre procesos para gestionar recursos compartidos.

Esta asignatura además proporciona un acercamiento a la línea de comandos de Unix y la familia de sistemas operativos basados en Unix (GNU/Linux, BSD; Mac OS X, Android, IOS).



Las presentaciones usadas en clase, prácticas, apuntes, libros y otros materiales se encuentran en https://lsi.vc.ehu.eus/pablogn/docencia/ISO/

Competencias/ Resultados de aprendizaje de la asignaturaAlternar navegación

Al finalizar el curso, el estudiante deberá ser capaz de identificar las interfaces de un sistema operativo, y en particular de desarrollar sobre Linux utilidades para las aplicaciones a partir de su interfaz de llamadas al sistema. La asignatura hace énfasis en diferentes tipos de sistemas (tiempo compartido, tiempo real, etc), en sus conceptos fundamentales (ficheros, protección de accesos, procesos, elementos de comunicación) y en la funcionalidad de sus componentes (subsistemas para la gestión de procesos, memoria, entrada-salida).



Formalmente, de acuerdo al Plan de Estudios, además de las competencias de la asignatura, se trabajarán las competencias generales C4, C5, C8 y C9, así como las competencias RI5, RI10 y RI14 de la rama común informática, tal y como aparecen en la Memoria de la Titulación.

Contenidos teórico-prácticosAlternar navegación

Teoría

======



Bloque temático: Sistema Operativo.



Tema 0: Introducción: función de los Sistemas Operativos.



Definición de sistema operativo como interfaz para las aplicaciones y como gestor de los recursos del computador. Perspectiva histórica de los sistemas operativos. Tipos de sistemas según su funcionalidad (monoprogramados, multiprogramados, de tiempo compartido, de tiempo real, empotrados y distribuidos). Interfaces del sistema operativo (de usuario, de administración, de las aplicaciones, del desarrollador). Mercado actual de los sistemas operativos (sistemas propietarios, sistemas abiertos, software libre) y perspectiva.



Tema 1: Conceptos necesarios sobre hardware y programa en memoria.



Tema 2: Mecanismo de Llamadas al Sistema. Kernel Linux.



Tomando como soporte los elementos que proporciona la interfaz hardware (espacios de direcciones, interfaz de los dispositivos, mecanismo de interrupciones), determinación de los servicios básicos comunes a establecer como código residente. Concepto de llamada al sistema operativo como función de acceso a un servicio residente. Implementación de las llamadas al sistema a través del mecanismo de interrupciones y los modos de ejecución.



Bloque temático: Ficheros.



Tema 3: Gestión del Sistema de Ficheros e Intérprete de Comandos. Usuarios y Seguridad.



Tema 4: Concepto de independencia del dispositivo y redirección de la entrada-salida.



Concepto de sistema de ficheros y sus mecanismos de representación. Definición de sistema multiusuario. Tipos de usuarios, modos de acceso y dominios de protección. Mecanismos básicos de gestión de la protección de accesos en sistemas centralizados. Llamadas al sistema relacionadas con la protección de accesos y la seguridad.



Bloque temático: Memoria



Tema 5: Desarrollo y Carga de Programas de C en Memoria: Librerías estáticas y dinámicas.



Carga y ubicación de programas en sistemas con uno o varios programas en memoria. Direccionamiento físico y virtual. Desarrollo de librería estáticas y dinámicas. Librerías de enlace dinámico. Llamadas al sistema operativo relacionadas con la carga de programas y la gestión de la memoria.



Tema 6: Gestión de Memoria. Paginación y Segmentación. Memoria Virtual.



Bloque temático: Procesos



Tema 7: Gestión de Procesos. Tiempo Real.



Concepto de flujo y contexto de ejecución. Sistemas multiprogramados y sistemas multihilo. Concepto de proceso e hilo (modelo Unix), estados y grafo de transición. Cambio de contexto. Planificación de procesos y políticas de planificación básicas. Llamadas al sistema operativo relacionadas con el control de procesos.



Tema 8: Concurrencia de Procesos



Conceptos de concurrencia, recurso compartido, condición de carrera y acceso exclusivo. Secciones críticas de código. Mecanismos básicos de acceso exclusivo a secciones criticas. Comunicación con paso de mensajes mediante buzones. Llamadas al sistema relacionadas con la comunicación entre procesos. Modelo de gestión de recursos basado en el esquema cliente-servidor. Ejemplos de gestores de recursos (drivers).



Bloque temático 5: Contenedores



Contenedores.



Concepto de contenedor / virtualización ligera. Teoría y técnicas usadas.





Prácticas

=========



Instalación y configuración de un programa de virtualización: VirtualBox.



Aprendizaje de la distribución Ubuntu (GNU/Linux) e instalación de Kubuntu en una máquina virtual.



Uso de redirecciones desde la línea de comandos, programar ejemplos de entrada-salida. Manejo del Sistema de Ficheros, manejo del derechos de acceso, redireccionamiento y tuberías, montaje, programar y otras tareas en el intérprete de comandos.



Monitorización de consumo de memoria, manejo del Lenguaje C, uso de funciones de librería y ficheros cabecera. Uso de compilador: gcc, crear librerías dinámicas y estáticas, gestionar los proyectos con make



Programación en C con Llamadas al Sistema, usando la línea de comandos.



Ficheros: Conocer las llamadas al sistema que gestionan los ficheros. Crear programas que usen las Llamadas al Sistema de Linux, en vez de las típicas funciones de librería.



Procesos: Gestionar los procesos usando comandos del bash. Gestionar los procesos usando llamadas a Sistema (interfaz del kernel Linux). Controlar el envío de señales a los procesos usando comandos del bash. Envío de señales a los procesos usando Llamadas a Sistema.



Conocer las diferentes técnicas de comunicación entre procesos (mediante mensajes,variables compartidas,archivos, pipes...). Comprobar que se cumplen las condiciones: exclusión mutua, progreso, espera activa e interbloqueo. Espera Activa Hardware. Semáforos. Tiempo Real.



Introducción a Docker como tecnología ligada al al núcleo del Sistema GNU/Linux.

MetodologíaAlternar navegación

La asignatura se desarrolla entre la teoría y las prácticas, reforzándose mutuamente para fijar conceptos mediante ejemplos, y fijar técnicas al entender la teoría.



Cualquier aclaración en pablo.gonzalez@ehu.eus o en tutorías en Lenguajes y Sistemas Informáticos.



Ver https://lsi.vc.ehu.eus/pablogn/ y https://lsi.vc.ehu.eus/pablogn/docencia/ISO/

Sistemas de evaluaciónAlternar navegación

  • Sistema de Evaluación Continua
  • Sistema de Evaluación Final
  • Herramientas y porcentajes de calificación:
    • Prueba escrita a desarrollar (%): 100

Convocatoria Ordinaria: Orientaciones y RenunciaAlternar navegación

Si no se puede realizar una evaluación presencial global de la asignatura, se realizarán los cambios pertinentes para hacerlo online mediante la utilización de las herramientas informáticas existentes en la UPV/EHU. Las características de esta evaluación online serán hechas públicas.



La evaluación de la asignatura se puede realizar en tres modos: Evaluación Continua, examen final en la Convocatoria Ordinaria y examen final en la Convocatoria Extraordinaria.



Los exámenes parciales de la Evaluación Continua tendrán un peso total en la asignatura de un 100% y consisten en pruebas escritas o exámenes a lo largo del curso que evalúan que se han obtenido los conocimientos tanto teóricos como prácticos. Si en este formato de Evaluación Continua no se supera el 5 sobre 10 con un mínimo de 3 sobre 10 en todos los parciales, se pasará a realizar la Evaluación Final en la Convocatoria Ordinaria.



Los exámenes escritos consisten en preguntas cortas sobre teoría y lo realizado en las prácticas y problemas-ejercicios. Hay ejemplos en la web: https://lsi.vc.ehu.eus/pablogn/docencia/ISO/



La evaluación de la asignatura en la Convocatoria Ordinaria se realiza mediante evaluación única en el examen final, sobre el 100% de la asignatura, que evalúa tanto conocimientos teóricos como aspectos prácticos desarrollados en los laboratorios a desarrollar durante el curso.



Se considerará que el alumno se ha presentado a la Convocatoria Ordinaria si aprueba la Evaluación Continua o si se presenta al examen final en la Convocatoria Ordinaria. En caso contrario, la nota será No Presentado.



De la misma forma para aprobar se debe obtener un 5 sobre 10 en el examen final de la Convocatoria Ordinaria o de la Extraordinaria. En caso de obtener una calificación menor, se considerará que el alumno ha suspendido dicha convocatoria.



Se evaluará con el formato de examen final si se solicita al profesor o se obtiene una nota menor del 30% en una prueba de la Evaluación Continua. El examen final consiste en el 100% de la nota de la asignatura, tanto en la Convocatoria Ordinaria como en la Convocatoria Extraordinaria.



Los alumnos que no superen o no se presenten a la convocatoria ordinaria, deberán examinarse en una convocatoria Extraordinaria en la que se les evaluará en un examen global de toda la asignatura.





* RENUNCIA al derecho al examen:

El alumno que no se presente al examen en la convocatoria ordinaria, obtendrá como calificación final "No Presentado", independientemente de que haya realizado, o no, el resto de controles durante el curso.





* EXCEPCIÓN en la modalidad de evaluación:



- Se podrá optar a un examen único por el 100% de la nota final simplemente no realizando un parcial de la Evaluación Continua.



* CASOS DE COPIA:

Se aplicará la normativa vigente referente a la evaluación del alumnado, https://lsi.vc.ehu.eus/pablogn/docencia/Protocolodeplagio.pdf



Implicará suspenso un examen sin nombre y apellidos en cualquier momento del examen.

Realizar el examen implica la aceptación de estas normas.



Quien copie o sea copiado tiene suspenso, así como por hablar, gestos, papeles que no sean el examen o cualquier otro comportamiento extraño para un examen.



Se deben dejar estuches y portalápices, ropa, mochilas y carpetas en colgadores y mesas no ocupadas en el examen.



Implicará suspenso usar o tener a mano un móvil o tableta, reloj "inteligente", calculadora o cualquier aparato como reproductores de audio, auriculares, cámaras de fotos o dispositivos electrónicos que almacenen texto o imágenes. Se penalizará que suene o vibre un móvil.



Dos respuestas claramente parecidas significa copia.



Se interpretará como copia que partes de respuestas coincidan literalmente con libros, apuntes u otra documentación que se pueda encontrar durante la corrección del examen.



Una vez repartido el examen, se deberá esperar 15 min. para salir y se está presentado (corre convocatoria).



Cualquier respuesta ilegible o muy desordenada, o sin unidades u objetivo de cada operación se calificará con puntuación 0.

Las preguntas se pueden responder en cualquier orden. Las respuestas deben estar correctamente identificadas.



Implicará cero puntos en la pregunta el basar la explicación en la descripción de las instrucciones del programa ordenadas por número de línea o cualquier descripción sin verdadera información que se pueda tomar como respuesta.



Las respuestas demasiado largas, no relacionadas directamente con la pregunta, sólo con un ejemplo o con errores graves (repito, graves) pueden restar puntuación en función del grado de desconocimiento de la materia.

Convocatoria Extraordinaria: Orientaciones y RenunciaAlternar navegación

El examen final extraordinario escrito consiste en el 100% de la nota.

El resto de condiciones son las mismas que las expuestas en el apartado de convocatoria ordinaria.



Materiales de uso obligatorioAlternar navegación

Sistema operativo GNU/Linux, manuales y herramientas y programas C que se proporcionarán.

Ver https://lsi.vc.ehu.eus/pablogn/docencia/ISO/

BibliografíaAlternar navegación

Bibliografía básica

C. Rodríguez, I. Alegria, J. González, A. Lafuente: Descripción Funcional de los Sistemas Operativos. Síntesis, 1994.

A.S. Tanenbaum: Modern Operating Systems (3rd Edition), Prentice-Hall, 2008.

M. Rochkind: Advanced Unix Programming, Addison-Wesley, 2004.

Silberschatz, P.B. Galvin, G. Gagne: Operating System Concepts (Eight edition), John Wiley & Sons, 2008.

W. Stallings: Sistemas Operativos (Quinta edición). Prentice-Hall, 2005.

Direcciones web

https://www.kernel.org/doc/man-pages/
http://redy.fotolibre.net/curso-de-bash-para-fotografos-linuxeros/
http://www.commandlinefu.com/commands/browse/sort-by-votes
http://www.cs.cf.ac.uk/Dave/C/