Sistemas
Operativos
Tercer Curso,
Licenciado en Física
Facultad de Ciencias, Universidad de
Cantabria
1. Profesores
2. Programa
3. Apuntes
4. Ejercicios
5. Prácticas
6. Exámenes
1. Profesor
2. Programa
Bloque I: Principios de Sistemas Operativos
Tema 1. Principios básicos de los sistemas operativos
Concepto de sistema operativo. Evolución de los
sistemas operativos. Estructura de los sistemas operativos. Concepto de
programa y proceso. Concurrencia: gestión de procesos y threads.
Ficheros
y el sistema de ficheros. Gestión de memoria. Entrada/salida.
Sistemas multiusuario y protección.
Tema 2. Concurrencia
Introducción a la programación concurrente.
Creación e identificación de procesos. Ejecución
de programas. Terminación de procesos y espera a la
terminación. Threads: conceptos básicos. Creación
e identificación de threads y manipulación de sus
atributos. Terminación de threads.
Tema 3. Ficheros
Conceptos básicos. Gestión de ficheros.
Lectura y escritura. Entrada/salida asíncrona. Entrada/salida
sincronizada. Acceso al estado y características de ficheros.
Funciones de gestión de directorios. Tuberías y ficheros
especiales FIFO.
Tema 4. Sincronización y programación dirigida por
eventos
Necesidad de la sincronización y principales
métodos. Sincronización de acceso mutuamente exclusivo.
Sincronización de espera mediante semáforos.
Sincronización de espera mediante variables condicionales.
Interbloqueos (deadlocks). Generación,
bloqueo y aceptación de señales.
Tema 5. Planificación y despacho
Conceptos. Políticas de planificación.
Interfaz para planificación de procesos. Esquemas de
planificación mixta entre procesos y threads.
Planificación en sistemas multiprocesadores. Interfaz para
planificación de threads.
Tema 6. Sistemas de tiempo real y sistemas empotrados
Concepto de sistema de tiempo real. Concepto y
características de sistemas empotrados. Políticas de
planificación para
tiempo real. Protocolos de sincronización de tiempo real.
Análisis de sistemas de tiempo real. Relojes y temporizadores
POSIX.
Tema 7. Gestión de memoria
Mecanismos de gestión de la memoria. Mecanismos de
memoria virtual. Esquemas de gestión de memoria en aplicaciones
de tiempo real. Mecanismos de memoria compartida.
Tema 8. Gestión de dispositivos de entrada-salida
Características de los dispositivos de
entrada/salida. Entrada/salida por consulta. Entrada/salida por
interrupciones. Entrada/salida por acceso directo a memoria.
Organización de manejadores de dispositivos (drivers) de
entrada/salida. Programación de manejadores de dispositivos de
entrada/salida. Implementación de manejadores de dispositivos.
Bloque II. Programación orientada al
sistema
Tema 9. Programación en Lenguaje C
Introducción al lenguaje C.
Estructura de un programa . Tipos de datos y declaraciones de datos.
Operadores y
expresiones. Entrada/ salida simple. Instrucciones de control.
Funciones y paso de parámetros. Modularidad. Tratamiento de
errores.
Tema 10. Programación del
intérpretes de órdenes
Introducción. Repaso de las
principales órdenes del intérprete. Redirección de entrada y salida. Creación y ejecución de scripts.
Paso de parámetros a un script. Instrucciones condicionales.
Listas de instrucciones. Instrucciones de lazo.
Instrucción de lectura.
3. Apuntes
Para ver los apuntes en formato pdf pinchar sobre el enlace
correspondiente:
Programa
Bloque I
Tema 1. Principios básicos
de
los sistemas operativos
Tema 2. Concurrencia
Tema 3. Ficheros
Tema 4. Sincronización y
programación dirigida por
eventos
Tema 5. Planificación y despacho
Tema 6. Sistemas de tiempo real y sistemas
empotrados
Tema 7. Gestión de memoria
Tema 8. Gestión de dispositivos de
entrada/salida
Bloque II
Tema 9. Programación
en Lenguaje C
Tema 10. Programación
del
intérpretes
de
órdenes
4. Ejercicios
Ejercicios
de
Programación
en
Lenguaje
C
Soluciones a los ejercicios
(fichero comprimido zip)
5. Prácticas
6. Exámenes