Programacion de Sistemas
Prof. Gustavo De la Cruz Tovar
Sexto Semestre. Ingenieria Cibernetica y en Sistemas Computacionales.
Escuela de Ingenieria. Universidad La Salle.
Objetivo:
Entender desde el punto de vista de programacion, como se explotan los
recursos de un sistema operativo y aplicar dichos conocimientos para resolver
problemas en los cuales los sistemas de informacion deben utilizar las
capacidades del sistema operativo.
Conocimientos necesarios:
+ Programacion Estructurada.
+ Lenguaje C
+ UNIX Basico
+ Teoria de sistemas operativos.
Herramientas de hardware y software a utilizar:
+ Computadora que soporte sistema UNIX
+ UNIX System V Release 4 ( OSF/1, Solaris, Linux)
+ Lenguaje C y Perl.
+ Editor de texto. vi o pico
Temario:
Nota: Cada tema se ejemplificara en laboratorio, utilizando lenguaje C
y Perl.
Tema 0. Repaso conocimientos base.
Horas: 4
+ Lenguaje C.
+ UNIX Basico
Tema I. Introduccion a la programacion de sistemas.
Horas: 6
+ Definicion.
+ Arquitectura de un sistema operativo desde el punto
de vista de programacion de sistemas.
+ Kernel y shell.
+ Llamadas al sistema.
+ Fundamentos de programacion en Perl.
Tema II. Modelo UNIX.
Horas: 6
+ Arquitectura UNIX.
+ API y ABI.
+ Variables del shell y linea de comandos.
+ Esquemas de permisos.
+ Uso de llamadas basicas al sistema.
+ Scripts.
Tema III. Procesos y Programas.
Horas: 8
+ Definicion y estructura.
+ Organizacion en UNIX.
+ Operaciones basicas con procesos.
+ Llamadas al sistema para administracion de procesos.
Tema IV. Archivos
Horas: 6
+ Entrada y Salida.
+ Organizacion de sistemas de archivos UNIX.
+ Operaciones sobre archivos y directorios.
+ Redireccionamiento.
+ STREAMS.
+ Llamadas al sistema para administracion de archivos.
Tema V. Comunicacion entre procesos. Mecanismos basicos.
Horas: 8
+ Comunicación entre procesos.
+ Tipos de procesamiento.
+ Entubamientos (PIPES y FIFOS).
+ Seþnales.
+ Llamadas al sistema para administracion de entubamientos y sennales.
Tema VI. Comunicación entre procesos - Concurrencia.
Horas: 8
+ Concurrencia
+ Semáforos.
+ Memoria compartida.
+ Mensajes.
+ Llamadas al sistema para administracion de mecanismos de
concurrencia.
+ Conceptos sobre monitores de transacciones.
Tema VII. Comunicación entre procesos distribuídos.
Horas: 10
+ Procesos Distribuidos.
+ Protocolos de Redes.
+ UNIX y Redes.
+ Cliente/Sevidor.
+ Sockets.
+ Llamadas a procedimientos Remotos (RPC)
+ Tecnologias Internet. Correo. WWW.
+ HTML y CGI.
+ Seguridad en redes.
Bibliografia.
+ UNIX Programacion Practica. Kay Robbins. Ed. Prentice Hall.
(Libro de Texto)
+ El Entorno de Programacion UNIX. Brian Kernighan. Ed. Prentice Hall.
(En biblioteca)
+ Advanced Programming in the UNIX Environment. Richard Stevens.
Addison Wesley. 1992. (En biblioteca)
+ UNIX Network Programming. Richard Stevens. Prentice Hall. 1990
+ El Lenguaje de Programacion C. Brian Kernighan. Ed. Prentice Hall.
(En biblioteca)
. Programming Perl. Larry Wall . Ed. O'Reilly. Segunda Edicion.
. Learning Perl. Larry Wall . Ed. O'Reilly. Segunda Edicion.
+ Conceptos de Sistemas Operativos. Silberschatz. Addison Wesley. 1994.
(En biblioteca)
+ Sistemas Operativos. Diseño e implantación. Tannenbaum.
(En biblioteca)
+ http://www.perl.com
Evaluacion
Tres examenes parciales :
1er. parcial (E1). Tema I a III.
Fecha Estimada aplicacion: Ultima semana marzo.
2o. parcial (E2): Tema IV,V y VI.
Fecha Estimada aplicacion: Tercera semana mayo.
3er. parcial (E3): Tema VII.
Fecha Estimada aplicacion: Ultima semana del semestre.
Mecanismo de aplicacion:
Examen escrito.
Examen en computadora.
Examen casa.
El examan se aplica el dia que se acuerde, sin
posibilidad de cambio instantaneo.
Practicas:
Practica 1. (P1) Tema I a III.
Practica 2. (P2) Tema IV a VI.
Practica 3. (P3) Tema VII.
Las practicas consisten en contestar los ejercicios indicados
en los apuntes. Equipos minimo de 1 persona maximo 4.
NOTA: Practica con uno o mas ejercicios copiados es calificada con 0.
Se deben entregar practicas en fechas acordadas. No
se aceptan retrasos.
Proyecto Final (PF):
Programa en C o Perl con interaccion con Internet
en el cual se debe utilizar procesos, comunicacion de procesos,
archivos y sockets.
Nota:
Considerar equipo de 4 personas.
Calificacion Final = [ (E1 + E2+ E3)/3 ] * 0.4 +
[ (P1 + P2+ P3)/3 ] * 0.35 +
[ PF ] * 0.25
Calificacion aprobatoria: 6.00000
+ Reglas.
+ Clase empieza 8:00 pm. Tolerancia de 15 minutos.
+ Asistencia necesaria y con participacion en clase
(no navegacion en Internet, ni interrumpcion por
otras actividades (trabajos otras materias o diversion))
               (
geocities.com/gusdelact)