Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco) 1
Contenido Contenido Presentación de la materia Antecedentes de la materia Objetivo de la materia Temario Entrega de practicas y tareas Herramientas computacionales Bibliografía Formas de la evaluación y asistencia Avisos y actividades Actitudes y valores *Tarea 01 2
Presentación de la materia Presentación de la materia Una computadora es una máquina capaz de procesar información a gran velocidad. Una computadora esta compuesta por un conjunto de componentes electrónicos, mecánicos e interfaces para interactuar con el exterior (hardware) y por un conjunto de programas (software) que determinan que operaciones llevar a cabo. Los datos ordenados (información) que constituyen una entrada (input) a la computadora se procesan mediante una lógica (programa) para producir una salida (output). 3
Presentación de la materia Presentación de la materia Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para utilizar una computadora. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos así como actuar como plataforma para que el resto de aplicaciones del usuario se ejecutan en un equipo de cómputo. 4
Presentación de la materia Presentación de la materia Objetivos del Sistema Operativo: Ejecutar programas del usuario y resolver los problemas del usuario de manera fácil y sencilla. Hace que la computadora sea fácil y conveniente de usar. Utiliza el hardware de la computadora de forma eficiente. Usuarios Software de aplicaciones Software del Sistema Sistema Operativo 5 Hardware
Presentación de la materia Presentación de la materia Componentes de un sistema de cómputo: Hardware: proveé los componentes básicos de cómputo (CPU, memoria, dispositivos de E/S). Sistema Operativo: controla y coordina el uso del hardware entre los varios programas de aplicación para los diferentes usuarios. Programas de Aplicación: define las formas en que los recursos del sistema son utilizados para resolver los problemas de cómputo de los usuarios (compiladores, bases de datos, juegos de video, programas de negocios). Usuarios (gente, maquinas, otras computadoras). 6
Presentación de la materia Presentación de la materia Componentes del Sistema Operativo: Núcleo o Kernel Administrador de memoria Sistema de entrada/salida Administrador de archivos Intérprete de comandos Por que necesitamos al Sistema Operativo Usuario: provee interfaces de usuario, interprete de comandos, estructura de directorios, programas de utilerías (compiladores, editores, filtros). Ambiente de programaciónn: prove un ambiente de alto nivel para manejo E/S, manejo de archivos, manejo de procesos. Eficiencia: remplaza al operador en la calendarización de tareas, almacenamiento archivos de E/S, manejo de concurrencia, etc. 7
Antecedentes de la materia Antecedentes de la materia Capacidades para el diseño y análisis de algoritmos Programación estructurada Programación en lenguaje C Conocimiento y manejo de sistemas operativos basados en UNIX Sistemas Operativos I 8
Objetivo de la materia Objetivo de la materia Reafirmar y alcanzar conocimientos avanzados de sistemas operativos, utilizando y programando sistemas operativos basados en UNIX. Conociendo y aplicando las bases de los sistemas operativos distribuidos y las herramientas para la construcción de sistemas en ambientes distribuidos y multiprocesador. 9
Temario Temario Unidad 1: Introducción Unidad 2: Comunicación Unidad 3: Sincronización Unidad 4: Procesos y procesadores Unidad 5: Sistemas distribuidos de archivos Unidad 6: Seguridad Unidad 7: Memoria Compartida Distribuida 10
Entrega de prácticas y tareas Entrega de prácticas y tareas La entrega de los reportes de práctica y tareas escritas se realizará a través de la página: http://computacion.cs.cinvestav.mx/~efranco 11
Entrega de prácticas y tareas Entrega de prácticas y tareas Usuario y contraseña Grupo Usuario Contraseña 5CV2 5cv2so2 2sistemasop2010 5CV3 5cv3so2 3sistemasop2010 Escribir y almacenar las claves de confirmación, para aclaraciones a con respecto a la evaluación. El nombre del archivo a enviar deberá tener el tipo de trabajo, nombre de este y nombre del alumno. P.g. Mapa_mental_01_Sistemas_operativos_de_Adrian_Franco.pdf Tarea_3_Diagrama_de_flujo_edgardo_Franco.docx 12
Entrega de prácticas y tareas Entrega de prácticas y tareas Reportes y tareas en formatos PDF, DOC & DOCX Enviar código fuente e instrucciones de compilación En el caso de trabajos con varios archivos comprimir en formatos ZIP, RAR, TAR, JAR o GZIP, sin contraseña. Reportes y tareas Portada Encabezado en cada hoja con el nombre del alumno, materia, grupo, nombre del trabajo y número de página. Bibliografía en formato IEEE. Códigos y programas Documentado (Nombre del alumno, versión, explicación del programa) El nombre de las variables deberá ser adecuado y entendible (En español) Documentación de funciones y partes importantes de los códigos según el objetivo del programa y la teoría vista en clase. Instrucciones de compilación y capturas de pantalla de muestra del funcionamiento en los reportes. 13
Entrega de prácticas y tareas Practicas Equipos de 1 a 3 integrantes. La práctica se comienza a desarrollar en el laboratorio y se entrega en la siguiente sesión de laboratorio, el reporte se entrega a más tardar a los 2 días una vez entregada la práctica. Los programas siempre deberán de estar documentados antes de entregar la práctica. Practicas copiadas de otros equipos o grupos serán anuladas y ameritan sanción. 14
Entrega de prácticas y tareas Formato de los reportes de practica Portada Introducción Planteamiento del problema Diseño y funcionamiento de la solución (Descripción de la abstracción del problema y su solución, apoyándose de diagramas y figuras en un lenguaje claro) Implementación de la solución (Según la solución diseñada como se implemento en el lenguaje de programación) Funcionamiento (Verificación de la solución, pruebas y resultados de salida *Pantallazos) Errores detectados (Si existe algún error detectado, el cuál no fue posible resolver o se desconoce el motivo y solo ocurre con ciertas condiciones es necesario describirlo) Posibles mejoras (Describir posibles disminuciones de código en la implementación o otras posibles soluciones) Conclusiones (Por cada integrante del equipo) Anexo (Códigos fuente *con colores e instrucciones de compilación) Bibliografía (En formato IEEE) 15
Entrega de prácticas y tareas Qué se envía por la página Web en una práctica? En un solo archivo (ZIP, RAR, TAR, JAR o GZIP) Reporte (DOC, DOCX o PDF) Códigos fuente (.C,.H, etc.) Código documentado: Titulo, descripción, fecha, versión, autor. (Funciones y Algoritmos: Qué hace?, Cómo lo hace?, Qué recibe?, Qué devuelve?, Causa de errores?). OBSERVACIONES *NO enviar ejecutables o archivos innecesarios, las instrucciones de compilación van en el anexo del reporte. (Yo compilare los fuente) Nombre del archivo P.g. Practica _10 _Reloj_digital_de_equipo_01.rar 16
Entrega de prácticas y tareas Tareas Personales. Tareas copiadas de otros serán anuladas y ameritan sanción. La fecha de entrega se acordará al momento de su asignación. El formato de cada una depende del tipo de trabajo, se acordara al momento de su asignación 17
Herramientas computacionales Herramientas computacionales Lenguaje C estandarizado (ANSI C) No depender de la versión del compilador Se usará la distribución de LINUX de su preferencia (Recomendado Fedora & Ubuntu) Buscar un editor de texto que indique con colores las sentencias del código, que permita fácilmente buscar, remplazar y ubicarse en líneas especificas del código. (Recomendado SciTE. 18
Bibliografía Bibliografía Tannenbaum, Andrew. Sistemas Operativos Distribuidos. Prentice Hall Hispanoamericana, México, 1996. 2ª Ed. Coulouris, George, Dollimore, Jean y Kindberg, Tim. Distributed Systems. Concepts and desig. Addison Wesley, México, 1995. 2ª Ed. Andrew S. Tanenbaum. "Sistemas Operativos Modernos". Pearson Education, 2003. 2ª Ed. Francisco M. Márquez. "UNIX Programación avanzada", Alfaomega Ra-Ma, 2004,. 3ª Ed. U. Coronilla Conteras. "Programación de sistemas LINUX", Grupo editorial Exodo, 2010,. 1ª Ed. 19
Formas de evaluación Formas de evaluación Habrán tres momentos de evaluación 1er Momento (Unidades 1 y 2) 2do Momento (Unidades 3 y 4) 3er Momento (Unidades 5, 6 y 7) *La evaluación final será el promedio de estos Evaluación del 1er, 2do y 3er momento 20 % Evaluación continua (Tareas, ejercicios, exposiciones) 30 % Practicas 50 % Examen parcial 20
Formas de evaluación Formas de evaluación Asistencias Las inasistencias a clases equivalen a 2 decimas menos del parcial. 2 retardos se consideran como una falta. Tolerancia 10 minutos Falta a los 15 minutos Participaciones en clase Cada participación equivale a 1 decima extra al parcial. Extraordinario Para tener derecho a extraordinario, es necesario haber obtenido una calificación final mayor a 4.5 durante el curso. Cualquier sanción establecida afectará la calificación del parcial. 21
Avisos y actividades Avisos y actividades Cualquier tipo de aviso y actividades planeadas durante el semestre serán notificadas en la página Web del curso. Consultar la página Web antes de clases para confirmar mi asistencia. Contacto: efranco.docencia@gmail.com 22
Actitudes y valores Actitudes y valores Mis valores éticos fundamentales Responsabilidad Habilidad para responder a nuestros actos, ideales, compromisos, conocimientos, valores éticos, a la familia, al mundo en el que vivimos y a la sociedad. Respeto Reconocer que todo tiene un valor (persona, ser vivo, idea, opinión, etc.) y aunque para mi una cosa no tenga el mismo valor que para el resto, todos mis actos nunca deben de afectar a lo que los demás valoran. Honestidad Consiste en comportarse y expresarse con coherencia y sinceridad (decir la verdad), y de acuerdo con los valores éticos propios. 23
Actitudes y valores Actitudes y valores Actitudes de una persona feliz Amable Amoroso (Con las personas que te rodean y con las actividades que realices) Optimista Tolerante Cortes Que necesito para lograr mis objetivos Esfuerzo Dedicación Trabajo Salud No seas apático a esto elige mejorar cada día como persona, nunca pases por encima de los demás para alcanzar tus metas. Cuales deberían ser los principales objetivos de un buen profesionista Siempre anteponer mi ética antes de actuar Aprender en todo momento Ayudar en todo momento a quien lo necesite Compartir conocimiento Desempeñar mi trabajo con gusto por ello y siempre de la mejor manera posible sin condicionarlo a una ganancia económica. (Todo viene por añadidura no seas ambicioso) Ser feliz 24
Tarea 01 Mi verdadera carta de presentación Tarea 01 Mi verdadera carta de presentación Define y redacta quién eres. Establece y describe la definición a 5 valores éticos que rigen (o regirán si nunca lo habías pensado) tu vida. Describe 3 objetivos personales (uno a corto, otro a mediano y uno a largo plazo) y el porque de ellos. Describe el motivo por el que deseas ser un profesionista y el porque de estudiar ingeniería en sistemas. Finalmente redacta como has cambiado tu forma de ver la vida a partir de que comenzaste tu carrera en ESCOM a la fecha. *Se entregará antes del día Domingo 08 de Agosto de 2010 (23:59:59 hora limite). *Valor 0.5 extra del primer parcial. *Se revisará redacción (coherencia y ortografía) *Deberá ser de 600 palabras mínimo. 25