Contenido temático

Anuncio
UNIVERSIDAD NACIONAL AUTÓNOMA
DE MÉXICO
LICENCIADO EN CIENCIAS DE LA COMPUTACIÓN
Programa de la asignatura: Sistemas operativos
Clave:
Semestre:
Campo de conocimiento:
Área de formación:
0713
6
Ciencias de la computación
Organización de Sist de Cómp
Linea terminal:
Horas por
Horas
Total de horas
Diploma
semana
Créditos:
Teo
T/P
Prác
12
3
2
4
9
144
Tipo:
Modalidad:
Carácter:
Teórico-práctico
Curso
Obligatoria
Seriación indicativa antecedente: Análisis de Algoritmos I, Organización y Arquitectura
de Computadoras, Ingenierı́a de Software.
Seriación obligatoria antecedente: Probabilidad I, Modelado y Programación, Álgebra
Lineal I.
Seriación indicativa subsecuente: Redes de Computadoras.
Objetivo General: Proporcionar un panorama de los elementos que conforman un sistema operativo a
fin de entender la forma en que se controlan los recursos de los sistemas de cómputo.
Establecer las bases para explotar los recursos de los sistemas de cómputo a su máxima capacidad.
Conocer los aspectos de seguridad a considerar al diseñar e implmentar un sistema operativo.
Se estudiará la estructura de los sistemas operativos tradicionales (en sistemas independientes) y se
sentarán las bases para entender los sistemas operativos distribuidos.
Al finalizar el curso el alumno comprenderá el papel del sistema operativo entre los distintos niveles de
abstracción en que se puede trabajar con un sistema de cómputo.
Contenido temático
Unidad
1
2
3
4
5
6
7
8
Tema
Introducción
Programación
Procesos
Manejo de memoria
Seguridad
Sistemas de archivos
Entrada-salida
Sistemas operativos modernos
Total de Semanas
1
Semanas
2.0
1.0
3.5
2.5
1.0
2.5
2.5
1.0
16.0
Desarrollo temático
1. Introducción.
Comprender las funciones de un sistema operativo y las diferentes formas de analizarlo,
ası́ como los elementos que lo componen.
1.1. Funciones de un sistema operativo. Evolución de los sistemas operativos. Factores a considerar al
diseñar un sistema operativo.
1.2. Máquinas virtuales.
1.3. Control de recursos.
1.4. Elementos que conforman un sistema operativo; estructuras de los sistemas operativos.
2. Programación.
Aprender a utilizar las funciones de un sistema operativo.
2.1. Uso de los servicios de un sistema operativos; API; creación de procesos; estados de los procesos.
3. Procesos.
Comprender el funcionamiento interno de un sistema operativo. Conocer el comportamiento de los procesos.
3.1. Ejecución de procesos; procesos concurrentes; comunicación entre procesos; problemas de manejo
de procesos; despacho de procesos; hilos.
4. Manejo de memoria.
Comprender la forma en que su usa la memoria de una computadora para la coexistencia de procesos.
4.1. Utilización de la memoria; intercambio de bloques de memoria; memoria virtual; paginación y
segmentación.
5. Seguridad.
Conocer los aspectos que debe considerar un sistema operativo para ofrecer seguridad a
los recursos del sistema.
5.1. Polı́ticas y mecanismos; sistemas seguros; mecanismos de protección.
6. Sistemas de archivos.
Conocer la forma en que se organiza la información en un medio de almacenamiento
permanente.
6.1. Datos y meta-datos; archivos y su organización; directorios; problemas de implantación; seguridad.
7. Entrada-salida.
Conocer los problemas a resolver para integrar dispositivos periféricos a un sistema
operativo.
7.1. Problemas de hardware; problemas de software; manejo de discos; manejo de terminales; manejo
del reloj.
8. Sistemas operativos modernos.
Conocer temas de interés en el desarrollo de sistemas operativos modernos.
8.1. Sistemas operativos distribuidos: Caracterı́sticas generales; problemas de comunicación en sistemas distribuidos; sincronización; relación entre procesos y procesadores; sistemas de archivos
distribuidos.
8.2. Nuevas arquitecturas para los sistemas operativos.
2
BIBLIOGRAFÍA BÁSICA:
1. Tanenbaum, A. S., Modern Operating Systems 3rd ed., Prentice Hall, 2007.
2. Silberschatz, A., Galvin, P. B., Gagne, G. Operating Systems Concepts, 8th ed., John Wiley and
sons, 2008,
3. Tanenbaum, A. S., Woodhull, A. S., Operating Systems: Design and Implementation 3rd ed., Prentice
Hall, 2006.
4. Bic, L., Shaw, A., Operating Systems Principles, Pearson Education, 2003,
5. Stallings, W., Operating Systems: Internals and Design Principles, 6th ed., Prentice Hall, 2008,
BIBLIOGRAFÍA COMPLEMENTARIA:
1. Bach, M., The Design of the UNIX Operating System, Prentice Hall, 1986.
2. Bovet, D. P., Cesati, M., Understanding the Linux Kernel, O’Reilly, 2000,
Sugerencias didácticas:
Exposición oral
Exposición audiovisual
Ejercicios dentro de clase
Ejercicios fuera del aula
Seminarios
Lecturas obligatorias
Trabajo de investigación
Prácticas de taller o laboratorio
Otras: Realizar trabajo práctico
modificando el núcleo de
un sistema operativo experimental, como Pintos o
Minix.
Mecanismos de evaluación del aprendizaje:
√
Exámenes parciales
(√)
Examen final escrito
(√)
Trabajos y tareas fuera del aula
(√ )
Prácticas de laboratorio
( √)
Exposición de seminarios por los
( )
alumnos
√
Participación en clase
( )
Asistencia
( √)
Proyectos de programación
(√)
Proyecto Final
( )
Otras:
( )
√
(√)
(√)
(√)
(√)
(√)
(√)
(√)
( )
√
( )
PERFIL PROFESIOGRÁFICO: Egresado preferentemente de la Licenciatura en Ciencias de la Computación o Matemático con especialidad en Computación. Es conveniente que posea un posgrado en la
disciplina.
3
Descargar