Sistemas Operativos, 14 Invierno



Curso
  • Clave: 1151018, Ingeniería en Computación: TBP, Ingeniería en Electrónica: AC-RC y AC-SE
  • Créditos: 9
  • Trimestre: 14 Invierno
  • Inicio del curso: 6 de enero de 2014
  • Fin del curso: 20 de marzo de 2014
  • Días y hora de clase: Lunes, miércoles y viernes de 08:30-10:00 hrs.
  • Grupo: CSI01.
  • Salón de clase: G208
  • Asesorías: Martes y jueves de 11:30-13:00 hrs, G314-4

Objetivos
  • Describir los principios básicos y los objetivos de un sistema operativo.
  • Describir el diseño interno de un sistema operativo.
  • Programar procesos concurrentes utilizando llamadas al sistema operativo.
  • Implementar un sistema de archivos simple.



Contenido Sintético

1. Introducción a los sistemas operativos.
2. Arquitecturas de sistemas operativos: monolíticas y micro-kernel.
3. Modo protegido de los procesadores.
4. Admistración de dispositivos de entrada/salida: DMA, interrupciones y rutinas de atención.
5. Administración de la memoria: Protección y memoria virtual.
6. Ciclo de vida de un proceso y llamadas al sistema para la gestión de procesos.
7. Comunicación entre procesos: señales, pipes, mecanismos de System V.
8. Sincronización entre procesos: señales y semáforos.
9. Algoritmos de planificación de procesos: round-robin, por prioridad.
10. Organización de sistemas de archivos.
11. Comunicación entre procesos remotos. Introducción.



Bibliografía

Herramientas

Mensajes

Publicado
Mensaje
060114
Inicio de curso                                                                      
240114
Reposición de clase, jueves 30 de enero de 13:00-14:30, en el G208. Confirmado
300114
Tarea 1: agregar una nueva llamada al sistema en el kernel 3.7.x
070214
Primer examen parcial: viernes 14 de febrero de 08:30-10:00, en el G208
100214
Reposición de clase, jueves 13 de febrero de 13:00-14:30, en el G208. Confirmado
160214
El martes 18 de febrero es la fecha límite para entregar la práctica: agregar una llamada al sistema al kernel 3.12.x
140214
Reposición de clase, jueves 27 de febrero de 13:00-14:30, en el G208. Confirmardo.
280214
Fecha límite para entrega del programa hijos chambeadores con señales: 040314
280214
Fecha límite para entrega del programa cliente-servidor con PIPEs: 060314
280214
Fecha límite para entrega del programa cliente-servidor con FIFOs: 060314

Reposición de clase, jueves 6 de marzo de 13:00-14:30, en el G208. Confirmado.

Fecha límite para entrega del programa cliente-servidor con colas de mensajes: 

Fecha límite para entrega del programa cliente-servidor con memoria compartida:

Fecha límite para entrega del programa cena de filósofos:
120314
Reposición de clase, jueves 13 de marzo de 13:00-14:30, en el G208. Confirmado.
170314
Reposición de clase, jueves 20 de marzo de 13:00-14:30, en el G208. Confirmado.
200314
Segundo examen parcial:miércoles 26 de marzo de 08:30-10:00, en el G208


280314
Fecha límite para entrega de programas: lunes 31 de marzo a las 10:00hrs.



Evaluación
  • 1er parcial: 40% examenes, 40% programas, 20% prácticas
  • 2do parcial: 40% examenes, 40% programas, 20% prácticas

Calificaciones parciales

  • Calificaciones. Última actualización: 260314


Calendario

Sem Dia Notas
Códigos y tareas
1
060114 01.Introducción a los sistemas operativos
Arquitectura conceptual
1
080114 02.Introducción
Arquitectura concreta
1
100114 03.Modelo y fuentes de Linux, versiones 0.01 y 3.12.6
Desarrollar, compilar y ejecutar un programa sin sistema operativo
2
130114 Instalación del Linux
Cancún
2
150114 Soporte de tarjeta wireless-USB como módulo del kernel y ejecución de Linux 0.01

2
170114 Soporte de tarjeta wireless-USB directamente en el kernel
3
200114 04.Proceso de traducción, enlazado estático y enlazado dinámico Ejecutar el kernel de Linux 0.01 y compilar el kernel de Linux versión 3.12.6
3
220114 05.Enlazado estático y enlazado dinámico con lenguaje C, bibliotecas estáticas y bibliotecas dinámicas

3
240114 06.Creación de bibliotecas estáticas y dinámicas

4
270114 07.Monitores y evolución de un sistemas operativo

4
290114 08.Modos de operación del CPU y modo protegido del Intel 386
4
300114
09.Llamadas al sistema (reposición) Understanding the Linux kernel
Agragar una nueva llamada al sistema al kernel 3.7.x
4
310114 10.Traza de ejecución y creación de procesos en Linux 

5
030214 11.Creación de procesos en linux: fork, vfork, exit y wait

5
050214 Descanso obligatorio  
5
070214 12.Hijos chambeadores

6
100214 Alta de usuarios: /etc/passwd, /etc/shadow, /etc/group
13.Relación de proceos, ambiente UNIX/Linux y tiempo

6
120214 13.Programas de tiempo en Linux

6
130214
14.Famila exec (reposición)

6
140214 1er examen parcial
7
170214 15.Terminación de proceso, exit y atexit
7
190214 16.Modelos de estados de procesos

7
210214 17.Señales

8
240214 18.Comunicación entre procesos, PIPEs, system, popen

8
260214 19.FIFOs a través del shell

8
270214
20.Envolturas y FIFOs con funciones (reposición) Envolturas, makefile y cliente-servidor
8
280214 21.System IPCs y llaves

9
030314 22.Colas de mensajes

9
050314 23.Cliente-servidor con colas de mensajes

9
060314
24.Memoria compartida (reposición)
25.Cliente-servidor con memoria compartida
26.GUI con QT4
27.Base de datos con MySQL y driver de C

9
070314 28.Condiciones de competencia, zona crítica

10
100314 29.Soluciones para la exclusión mutua

10
120314 30.Semáforos y semáforos SVIPC y problemas clásicos de concurrencia

10
130314
31.Solución de zona crítica con semáforos IPC-SV
32.Procesos e hilos
33.Procesos e hilos en sistemas de memoria compartida
34.Hilos con OpenMP
35.Hilos con POSIX threads (reposición)
--.Hilos Python
--.Multmat secuencial y multmat hilos


10
140314 36.Entrada-salida y dispositivos en Linux
37.Archivos
38.Archivos directorios
39.Listar un directorio
40.Implantación de sistemas de archivos
41.Enlaces
42.Administración de espacio libre
so_stat
so_ls
so_cp
so_mkdir

11
170314 43.Procesos remotos
11
190314 44.Sockets TCP

11
200314
45.Cliente-servidor TCP (reposición)
46.Servidores concurrentes y multihilo

11
210314
Descanso obligatorio