Desarrollo de Funciones en el Sistema Informático GUÍA DIDÁCTICA DEL PROFESOR Guía didáctica: Desarrollo de Funciones en el Sistema Informático 1. Presentación de la guía La guía didáctica del profesor del módulo Desarrollo de Funciones en el Sistema Informático se ha elaborado con el objetivo de prestar al profesor que imparte la asignatura una propuesta didáctica de apoyo pedagógico para el desarrollo de su función docente. En la guía se incluyen y se describen los materiales curriculares que presentó el M inisterio de Educación y Ciencia cuando se diseñaron los ciclos formativos y en los que se desarrollan la definición y el desarrollo de los procesos de enseñanza -aprendizaje de los Ciclos Formativos, tanto de grado superior como de grado medio, de la Formación Profesional actual. Se recogen en esta guía el Real Decreto 1660/1994, publicado en el BOE el 30.10.1994, donde se desarrolla el título del módulo, y el Real Decreto 1675/1994, publicado en el BOE el 06.10.94, donde se desarrolla el currículo del módulo. La guía sigue las directrices trazadas por el libro editado por el Ministerio de Educación y Ciencia sobre propuestas didácticas de apoyo al profesor, editado por la Dirección General de Formación Profesional Reglada y Promoción Educativa, en el que se orienta al profesor sobre la programación de los contenidos y las actividades de formación que pueden ser adaptadas y aplicadas por los docentes de forma directa. La guía está dividida en 8 apartados, que son: – Introducción al módulo. – Capacidades terminales y criterios de evaluación. – Orientaciones metodológicas. – Índice secuencial de las unidades de trabajo: organización de los contenidos. – Estructura de las unidades de trabajo del libro del alumno. – Distribución temporal de las unidades de trabajo. – Elementos curriculares o unidades de trabajo. – Material didáctico (material y equipos didácticos). A continuación se desarrollan cada uno de estos 8 puntos. 2 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático 2. Introducción al módulo El desarrollo didáctico y la programación del módulo Desarrollo de Funciones en el Sistema Informático se obtienen a partir del perfil del ciclo formativo Administración de Sistemas Informáticos. El ciclo formativo Administración de Sistemas Informáticos está dividido en 9 módulos profesionales, como unidades coherentes de formación, necesarios para obtener la titulación de técnico en Administración de Sistemas Informáticos. La duración establecida para este ciclo es de 2.000 horas, incluida la formación en centros de trabajo. Estas 2.000 horas se dividen en 2 periodos anuales lectivos, cinco trimestres en el centro educativo y el sexto trimestre en el centro de trabajo. Uno de los módulos incluidos en este ciclo formativo es el módulo Desarrollo de Funciones en el Sistema Informático, que tiene una duración aproximada de 175 horas, a impartir en el 2º curso, con una frecuencia de 6 horas por semana. La competencia general de este módulo está recogida en la unidad de competencia n° 4 del Real Decreto del título, y que dice: Proponer y coordinar cambios para mejorar la explotación del sistema y las aplicaciones. Es importante que las realizaciones que se planteen como básicas tengan como punto de referencia el sistema productivo, y en concreto la ocupación o el puesto de trabajo que pueden desempeñar los técnicos que realizan este módulo. REALIZACIONES PROFESIONALES REFERENCIADAS A LA OCUPACIÓN CRITERIOS BÁSICOS DE REALIZACIÓN Formular técnicamente los cambios y mejoras necesarios en el sistema y/o aplicaciones para proporcionar criterios de decisión a la persona autorizada. – Se detectan las carencias y dificultades de explotación del sistema y de las aplicaciones observadas y sugeridas por los usuarios. – Se definen de forma clara y concisa las funciones, prestaciones y recursos de los cambios y mejoras que hay que programar. – Se informa sobre las ventajas que aportaría al proceso de datos la incorporación del nuevo producto, indicando prestaciones, costes y servicios necesarios. © ITES-PARANINFO 3 Guía didáctica: Desarrollo de Funciones en el Sistema Informático REALIZACIONES PROFESIONALES REFERENCIADAS A LA OCUPACIÓN CRITERIOS BÁSICOS DE REALIZACIÓN Realizar, a su nivel, los cambios propuestos en el sistema y/o aplicaciones de acuerdo con las prestaciones requeridas. – Se identifican los ficheros y/o utilidades del sistema implicados en la realización de los cambios propuestos. – Se utiliza la interfaz de programación disponible en el sistema, si procede. – El funcionamiento del sistema y/o aplicación no resulta afectado durante la realización de los cambios y mejoras. Realizar pruebas funcionales y de usuario previas a la implantación de los cambios desarrollados en el sistema y/o aplicaciones. – La configuración y/u operatividad del sistema y/o aplicaciones no se ven afectadas durante la realización de las pruebas. – Los datos utilizados y las condiciones de realización de las pruebas permiten verificar la respuesta ante situaciones de error. – La prueba verifica que la entrada, acceso y producción de datos es la requerida. Elaborar y mantener la documentación y guías de usuario descriptivas de los cambios y mejoras introducidos en el sistema y/o aplicaciones según las normas y procedimientos establecidos. – Se cumple con las normas y procedimientos de documentación establecidos. – Se elaboran las guías de usuario de forma sencilla y entendible para facilitar su uso y aplicación. – La información describe las estructuras de control, datos y características del sistema utilizados en el cambio introducido y es interpretada fácilmente por terceras personas. 3. Capacidades terminales y criterios de evaluación En este apartado se describen las capacidades terminales y sus correspondientes criterios de evaluación, correspondientes al Real Decreto del título, en base a las realizaciones planteadas en el apartado anterior. El título profesional y por tanto las competencias que adquieren los alumnos que realizan este ciclo formativo está basado en la suma de las diferentes capacidades terminales que se adquieren con cada uno de los módulos que forman el ciclo formativo. 4 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático Las capacidades terminales del módulo Desarrollo de Funciones en el Sistema Info rmático, así como sus correspondientes criterios de evaluación, según el Real Decreto del currículo publicado en el BOE, son: CAPACIDADES TERMINALES CRITERIOS DE EVALUACIÓN Desarrollar un programa ejecutable utilizando las interfaces de programación que ofrece el “softbase” de un sistema operativo monousuario, multiusuario y de red. – Diseñar y codificar programas sencillos que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Explicar los problemas de concurrencia de procesos y tareas en sistemas multiusuario y multitarea. – Describir técnicas de comunicación y sincronización de procesos. – Explicar modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. – Identificar funciones o servicios de llamada al sistema, tales como: • Entrada/salida de datos. • Lanzamiento y parada de procesos. • Gestión de disco. – Mediante la realización de un proyecto con un sistema operativo y de red y un entorno de desarrollo y documentación sobre la interfaz de programación: • Clasificar las principales librerías, funciones o servicios según su utilidad. • Interpretar la aplicación y sintaxis de algunas funciones o servicios. • Interpretar la información de los manuales del programador. • Codificar un programa que responda a un problema propuesto de aplicación y utilización básica de la interfaz. • Obtener un programa ejecutable. © ITES-PARANINFO 5 Guía didáctica: Desarrollo de Funciones en el Sistema Informático CAPACIDADES TERMINALES CRITERIOS DE EVALUACIÓN Establecer procedimientos de prueba que permitan verificar el funcionamiento del sistema y de los programas desarrollados. – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Describir métodos de prueba sistemática del funcionamiento de los programas desarrollados. – En el proyecto que se va a realizar, disponiendo de la documentación de configuración del sistema y su entorno de desarrollo convenientemente caracterizada: • Proponer un procedimiento de prueba del programa acorde con las especificaciones establecidas y observando las medidas de seguridad del sistema y la información. • Verificar el funcionamiento del/los programas y su repercusión en el sistema mediante los procedimientos de prueba propuestos. • Interpretar los errores o fallos detectados en el programa. • Proponer cambios y/o mejoras en el programa. Elaborar la documentación sobre la configuración del sistema y los cambios o mejoras desarrollados en el programa. – Citar y explicar criterios de calidad de la documentación de configuración. – En el proyecto propuesto, en el cual se han realizado cambios sobre un sistema: • Registrar en la documentación los cambios realizados con arreglo a los criterios de calidad establecidos. • Intercambiar la documentación elaborada para: – Verificar su utilidad como instrumento de comunicación técnica sobre el sistema. – Detectar y corregir las carencias observadas. – Proponer nuevas soluciones. 6 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático CAPACIDADES TERMINALES CRITERIOS DE EVALUACIÓN Valorar técnica y económicamente la implicación que tienen los cambios sobre un sistema considerando su configuración. – Relacionar diversos requerimientos formulados al sistema con componentes “hardware” y “software”. – Describir los problemas de coste que presenta la programación. – Añadiendo nuevos requerimientos al proyecto realizado: • Proponer hipótesis razonadas de solución al requerimiento planteado, especificando los cambios que se deben realizar y sobre qué puntos del sistema: “hardware”, sistema operativo, sistema operativo de red... • Analizar y comparar las soluciones propuestas en cuanto a recursos necesarios, coste, ventajas e inconvenientes. • Elaborar un informe claro, preciso y con la terminología informática adecuada sobre las soluciones encontradas. 4. Orientaciones metodológicas Se van a exponer una serie de orientaciones metodológicas encaminadas a conseguir que el alumno conozca la importancia del módulo Desarrollo de Funciones en el Sistema Informático, dentro del proceso productivo de cualquier industria, servicio, residencia, etc., y se interese profesionalmente en esta materia técnica. Los temas deben exponerse en un lenguaje sencillo a la vez que técnico para que el alumno, futuro profesional, vaya conociendo la terminología y el argot que se utiliza en el campo de la administración de sistemas informáticos: Desarrollo de Funciones en el Sistema Informático. Los diferentes temas que componen el módulo son materias de aplicación práctica en las aulas montadas al efecto con sus correspondientes sistemas informáticos, si bien también es bueno valernos de material gráfico, como diapositivas, vídeos, catálogos comerciales, etc., que hagan más fácil la comprensión por parte de los alumnos. © ITES-PARANINFO 7 Guía didáctica: Desarrollo de Funciones en el Sistema Informático Utilizar información técnico-comercial, de empresas o distribuidores de la zona, para que los alumnos conozcan los materiales, características, aplicaciones, formas de comercialización, etc. Inculcar la idea de trabajo en equipo, diseñando los trabajos o actividades por equipos de alumnos (2 o 3 por actividad), que es lo que se van a encontrar después en el mundo del trabajo. Plantear las prácticas en base al orden de ejecución de las tareas y la exactitud, las verificaciones y comprobaciones de las comunicaciones, gestión de redes locales y sobre todo guardar y hacer guardar las normas básicas de seguridad. Desarrollo de Funciones en el Sistema Informático con Linux es un libro escrito por un equipo de desarrolladores experimentados y constituye el recurso más completo para cualquier informático de nivel principiante e intermedio. Está diseñado para que el lector obtenga los mejores resultados posibles de uno de los más populares sistemas operativos. Para lograr sus objetivos, la obra contiene en cada uno de sus quince capítulos una introducción teórico-práctica exhaustiva y una descripción técnica de los conceptos más importantes de Linux, utilizándose como referencia Red Hat Linux 7.0. Hay que destacar, especialmente, los capítulos dedicados a instalación, administración general del sistema, procesos, señales, gestión de entrada y salida sobre ficheros y aplicaciones cliente/servidor mediante sockets. Se han utilizado múltiples pantallas, con objeto de proporcionar al lector una información rápida, visual y clara. La propuesta de programación está constituida por una relación secuenciada de unidades de trabajo, donde se integran y desarrollan, al mismo tiempo, alrededor de los procedimientos (contenidos organizadores), los conceptos (contenidos de soporte), las actividades de enseñanza-aprendizaje y los criterios de evaluación, huyendo de los clásicos temas o lecciones estancos, que mediatizan el proceso de aprendizaje. Para el diseño de una programación concreta será preciso contemplar: – Los conocimientos previos del alumno. – Los recursos materiales del centro educativo. – Los medios utilizados en el entorno productivo. 8 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático En cuanto al primer aspecto, se ha considerado que los conocimientos previos del alumno son aquellos adquiridos en los módulos de primer curso y las materias cursadas en el Bachillerato. Para el segundo aspecto se ha considerado un aula de informática con el suficiente número de equipos como para que los alumnos puedan trabajar individualmente o en grupos de dos. Sería conveniente disponer en el aula de equipos de cierta envergadura, conectados en red y con la adecuada dotación de software (sistema operativo Unix, sistema operativo de red, y sistema y herramientas de desarrollo [compilador de C] de versiones más recientes). En cuanto al tercer aspecto, dado el/los sistema/s operativo/s utilizado/s y la portabilidad del lenguaje elegido, es el que menos problemas plantea. Recomendaciones para la confección y desarrollo de actividades El profesor diseñará actividades, cuestionarios y guiones en apoyo de las actividades y evaluación del aprendizaje. En cada unidad didáctica se programarán actividades específicas de recuperación para los alumnos que no alcancen las capacidades propuestas, y de consolidación para el resto. Las actividades y la distribución temporal de las unidades que se plantean en esta guía deben ser tomadas a modo de orientación general, y será labor de cada profesor el adaptarlas, modificarlas o cambiarlas en función de las características inmediatas de su propio entorno de actividad: tipo de alumnos, conocimientos previos de éstos, equipamiento del centro educativo, sistemas empleados en el entorno, etc. ¿Por qué se ha elegido el sistema LINUX para el desarrollo de este libro?* Linux es, sin género de dudas, uno de esos grandes acontecimientos que marcan época en el desarrollo del software. La última década del siglo XX supuso la creación, popularidad y su implantación. La primera década del siglo XXI, sin lugar a dudas, será la década de la consolidación y, sobre todo, la profesionalización. Probablemente, como pasa con todos los grandes inventos, su creador, el joven estudiante Linus Torvald, de la Helsinky University Technology de Finlandia, al principio de los 90, nunca pudo imaginar que la popularidad llegaría a ser tan grande. Nació, entre otros objetivos, como competidor del sistema operativo Minix, el líder en los ambientes universitarios, y “ligero rival” de Unix. Hoy ha superado a Minix en los ámbitos universitarios, amenaza seriamente a Unix y a su más directo rival, Windows. (*) Reseña tomada del prólogo del libro, escrita por el autor. © ITES-PARANINFO 9 Guía didáctica: Desarrollo de Funciones en el Sistema Informático 1. El 27% de los sistemas operativos de servidores vendidos en el 2000 eran Linux, frente al 41% de Windows (en el 2003 se espera que estas cifras suban al 37% para Linux y, también, al 44,5% para Windows). 2. Más de seis millones de sitios Web funcionan con tecnología Linux. Alrededor de 3,6 millones utilizan sistemas de Microsoft. 3. Linux es utilizado por el 72% de las empresas con menos de cien empleados. 4. En ordenadores de sobremesa, sin embargo, se estima que sólo llegará a un 5,2%, por un 89,9% para Microsoft. Por si estos datos no fueran suficientes, algunos más que refuercen las ideas anteriores: IBM y Dell (entre otros grandes fabricantes, OEM) ofrecen servidores con Linux, incluso distribuyen equipos de sobremesa y portátiles, a petición; además, IBM anunció a finales del año 2000, de boca de su presidente, Louis Gerstner, que su compañía invertirá cerca de 1.000 millones de dólares en potenciar este sistema en el año 2001. Sony ha anunciado sus planes para que su famosa consola de videojuegos PlayStation pueda funcionar con Linux. Muchas empresas de la lista de la prestigiosa revista Fortune utilizan Linux. En el caso de España, ya.com, Internet Factory, Fraganzia..., emplean el servidor Apache de código abierto Linux. Otras grandes empresas que utilizan en mayor o menor nivel Linux son: Telefónica, Hewlett-Packard, Airtel, Coca Cola, Euskaltel, el MAP (Ministerio de Administraciones Públicas), etc. Han corrido ríos de tinta contando las bondades de Linux junto a sus limitaciones y desventajas. También Microsoft, el teórico “enemigo público número 1”, reacciona, y no sólo con hechos (véase el próximo lanzamiento de su nuevo sistema operativo XP, entre otros nuevos servicios), sino con “dichos”. Sus más altos directivos aprovechan cualquier foro para anunciar que no tienen ningún miedo a la competencia, pero, por si no estuvieran muy seguros del futuro, también difunden ideas como que “el software libre no respeta la propiedad intelectual y es inseguro” (Craig Mundie, vicepresidente de Microsoft), etc. Podríamos, en consecuencia, hacer un listado con los pros y contras de Linux, desde una perspectiva académica y profesional independiente. La primera sería una lectura detenida de esta obra que tenemos en nuestras manos. En ella podemos deducir muchas de las razones que están haciendo a Linux el fenómeno que hoy es en ámbitos universitarios y ya comienza a ser en ámbitos profesionales, adivinando con facilidad dichos pros y contras. Sin embargo, no recurriremos al tópico fácil anterior, que en este caso es cierto, y tras consultar libros profesionales y académicos, consultar prensa profesional y técnica española y extranjera, navegar por la Red y la experiencia de nuestro departamento, creemos que algunos de los secretos del éxito de Linux podrían ser éstos: 10 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático – Bajo coste y posibilidad de acceder a su código fuente, lo que convierte a Linux en un sistema muy flexible. – Carácter “altruista” y “aventurero” de multitud de usuarios que claman por la gran corriente del “software libre”, “el código abierto” y sobre todo gratuito. – Solidez como servidor Web o servidor de correo electrónico. – Un buen número de distribuciones de software, lo que permite capacidad de elección tanto a nivel personal como profesional y, sobre todo, empresarial. – Los sistemas de instalación de las distribuciones actuales compiten en sencillez con cualquier otro sistema propietario. – Es fácil crear un sistema GNU/Linux desde el principio y, en consecuencia, hace la distribución a su medida. – Los grupos de usuarios crecen como las “setas” en temporada. Es difícil encontrar una provincia, una región, país, universidad, etc., donde no exista constituido uno o más grupos formalmente organizados. – Linux es una plataforma ideal para Internet, ya que se puede instalar sobre todo tipo de servidores de distinta naturaleza, lo que facilita su conversión en proveedores de servicios de Internet (PSI, o por sus siglas en ingles, ISP). Numerosos proveedores se basan exclusivamente en GNU/Linux, entre otras distribuciones, debido a su gran fiabilidad. – Linux, en el plan comercial, permite ahorrar dinero en licencias y software comercial, lo que le convierte en una plataforma idónea para las PYMES, sobre todo si están orientadas a la Red. Los inconvenientes del sistema LINUX son: – Difícil penetración en el mercado doméstico y personal, pese a la gran cantidad de aplicaciones gratuitas que pueblan la Red y “los kioscos” de prensa. – Hay empresas que “recelan” de Linux. Pocas compañías lo emplean, por ahora, en aplicaciones cruciales de su negocio, debido a la falta de experiencia, soporte... – Algunas empresas no ven con buenos ojos su “carácter de software libre” y “el código abierto” que Linux ofrece. Piensan que sus desarrollos pueden estar en manos de una comunidad de programadores independientes, lo que impediría resolver “en tiempo y hora” sus problemas técnicos y comerciales. – La interfaz gráfica de usuario es difícil de utilizar, aunque proyectos como GNOME (creación del mejicano Miguel de Icaza), GNU, etc., están quitándole fuerza a estos argumentos. © ITES-PARANINFO 11 Guía didáctica: Desarrollo de Funciones en el Sistema Informático Entonces, ¿cuál podría ser nuestra respuesta a la polémica? Exclusivamente académica. Linux es un sistema de software libre y de código abierto idóneo para organizaciones de todo tipo. Ofrece una ventaja competitiva siempre que se vayan resolviendo todos los inconvenientes, que realmente existen. Linux seguirá aumentando en popularidad y en penetración en la industria del software. Es una plataforma excelente para la enseñanza. De hecho, nuestra Facultad y Escuela Universitaria de Informática, han incorporado la enseñanza de Linux a los programas oficiales de la enseñanza de asignaturas de sistemas operativos, en los diferentes cursos, e incluso en este curso académico hemos adelantado su estudio a primer curso (siempre lo incluíamos a partir de segundo curso y en superiores, donde seguirá estando presente, ya en niveles avanzados) después de la experiencia piloto que hicimos el curso pasado y que resultó muy positiva. Por otra parte, somos de los convencidos de que la filosofía del código abierto no sólo es beneficiosa para la formación de las nuevas y futuras generaciones de técnicos, programadores, diplomados en formación profesional e ingenieros informáticos, electrónicos de sistemas y de telecomunicaciones. Entendemos que es una opción excelente para la economía, la industria y las empresas tener desarrollos accesibles a la comunidad de programadores de manera gratuita, en contraposición al sistema de licencias al que pertenece la industria de software propietario. Creo con total convicción que las dos filosofías deben cohabitar y, es más, estamos convencidos de que se producirán sinergias entre ambas filosofías, de las que ganaremos todos: empresas de software propietario, distribuidoras de software libre, empresas, administración y, naturalmente, los “sufridos” usuarios. No creo que el problema sea encontrar “enemigos” o “demonizar” en uno u otro sentido. Muy al contrario, pienso que hay espacio para todos y la competencia que trae el software libre será beneficiosa para todo el mundo, incluidas las empresas creadoras de software propietario o abierto clásico, que estoy seguro serán las más beneficiadas. El libro que tiene entre sus manos tiene las grandes virtudes que ha de ofrecer un libro técnico: rigor (los autores han hecho un ejercicio serio y riguroso para mostrarnos las propiedades fundamentales de Linux), fiabilidad (se han asegurado que todas las órdenes, programas... funcionasen correctamente), claridad de exposición (aquí se aprecia la experiencia docente que ya atesoran) y didáctica (el libro debe poder permitir al lector avanzar en su aprendizaje fácil y gradualmente, tanto por sí solo como con ayuda –siempre conveniente– de su profesor y maestro). Desarrollo de Funciones en el Sistema Informático LINUX es un libro que refleja todas las características clave que se le debe exigir a una obra de Linux y que hemos comentado anteriormente. Es una obra que servirá para un amplio público, que irá desde los estudiantes de los cursos superiores de formación profesio- 12 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático nal, pasando por las ingenierías técnicas y superiores de informática y telecomunicaciones, así como para aquellas carreras de ingeniería que siempre requerirán conceptos fundamentales de sistemas operativos. También será una herramienta para el lector “autodidacta” y “seguidor” de Linux, que encontrará en esta obra las respuestas a sus muchas preguntas y le facilitará su aprendizaje en uno de los sistemas operativos con mayor futuro que hoy tenemos a nuestra disposición. 5. Índice secuencial de las unidades de trabajo: organización de los contenidos El módulo Desarrollo de Funciones en el Sistema Informático se estructura en base a los siguientes contenidos básicos: Técnicas de programación sobre sistemas – Modelos de interfaz de programación. • Construcción de guiones o “scripts”. • Primitivas del sistema. • Llamadas al sistema. • Interfaz entre las llamadas al sistema y los programas en C. – Comunicación y sincronización de procesos. • Control de procesos. – Información sobre procesos. – Control de memoria asignada a un proceso. – Señales: concepto, tipos... – Funciones de tiempo. – Comunicación entre procesos. • Tuberías. • Semáforos. • Buzones. • Memoria compartida. • Colas de mensajes. © ITES-PARANINFO 13 Guía didáctica: Desarrollo de Funciones en el Sistema Informático Programación sobre un sistema operativo y un sistema en red – Procedimientos de aplicación de la interfaz de programación en los programas. • Llamadas al sistema para el acceso a ficheros. • Llamadas al sistema para el control de procesos. – Gestión de los recursos del sistema. • Servicios de programación. • Librerías. • Funciones. – Procedimientos de prueba sistemática. Información y documentación – Informes de viabilidad. – Criterios de elaboración. – Documentación de configuración del sistema y desarrollo de los cambios. Desarrollo de un proyecto – Programación sobre un sistema operativo y/o un sistema en red. – Realización de programas o rutinas que mejoren y/o creen nuevas órdenes y/o rutinas del sistema operativo. – Diseño y valoración de cambios y/o mejoras del sistema. – Información y documentación del proyecto. – Elaboración de las correspondientes guías o manuales. Los contenidos se pueden agrupar en cinco bloques: Bloque 1.- Conocimientos base. – Está formado por las unidades o capítulos del libro 1, 2, 3 y 4 y pretende hacer un recorrido por los fundamentos de Linux. Bloque 2.- Gestión del sistema de ficheros. – Formado por los capítulos 5 y 6. 14 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático Bloque 3.- Procesos. – Formado por los capítulos 7, 8, 9, 10, 11 y 12. Bloque 4.- Comunicaciones entre procesos. – Desarrollado en el capítulo 13. Bloque 5.- Aplicaciones y proyectos. – Desarrollado en los capítulos 14 y 15. Las unidades o capítulos del libro son: 1. Introducción. 2. Instalación de Linux. 3. Mis primeros pasos en Linux. 4. Administración general del sistema. 5. El sistema de ficheros. 6. Otros comandos de Linux. 7. Procesos. 8. Editores de texto. 9. Compilador GCC de Linux. 10. Gestión de entrada y salida de ficheros. 11. Tratamiento de procesos. 12. Señales. 13. Comunicación entre procesos. 14. Aplicaciones cliente/servidor mediante sockets. 15. X Windows. 6. Estructura de las unidades de trabajo del libro del alumno Cada una de las unidades didácticas o capítulos del libro está compuesta por los siguientes apartados: – Introducción. © ITES-PARANINFO 15 Guía didáctica: Desarrollo de Funciones en el Sistema Informático – Contenidos. – Objetivos. – Desarrollo de los contenidos. 7. Distribución temporal de las unidades de trabajo Según se indicaba en el apartado 2 de esta guía, este módulo se imparte en el 1° curso del ciclo formativo, y tiene una duración de 290 horas lectivas, a razón de 9 horas a la semana. La media de tiempo, en horas, para el desarrollo de las 18 unidades o capítulos que forman el módulo son: La relación de las unidades de trabajo con sus correspondientes número de horas orientativas es la siguiente: Bloques Bloque 1 Capítulos 1. Introducción. Horas 13 2. Instalación de Linux. 3. Mis primeros pasos en Linux. 4. Administración general del sistema. Bloque 2 5. El sistema de ficheros. 34 6. Otros comandos de Linux. Bloque 3 7. Procesos. 36 8. Editores de texto. 9. Compilador GCC de Linux. 10. Gestión de entrada y salida de ficheros. 11. Tratamiento de procesos. 12. Señales. Bloque 4 13. Comunicación entre procesos. 32 Bloque 5 14. Aplicaciones cliente/servidor mediante sockets. 60 15. X Windows. 16 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático 8. Elementos curriculares o unidades de trabajo Los elementos curriculares que definen cada una de las unidades de trabajo o capítulos del libro son: Unidad 1: Características del sistema de desarrollo elegido. Introducción. Mis primeros pasos en Linux. CONCEPTOS (CONTENIDO SOPORTE) – C como lenguaje estructurado. – Ciclo de creación de un programa. – Estructura general de un programa: • Bloques de declaración. • Bloques de ejecución. – Estructura de un programa C: • Directrices para el preprocesador. • Declaración de variables y funciones externas. • Declaración de variables globales y funciones prototipo. • Funciones (main(), etc.). – Un editor de texto. Elementos. – Funciones: PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. – Creación de una guía-resumen de instalación y utilización del compilador empleado, a partir de los manuales del producto. – Creación de una guía-resumen de utilización del editor de textos empleado, a partir de los manuales del producto. – Descripción e identificación de los distintos elementos del listado de un programa fuente escrito en C. – Identificación de las distintas estructuras de programación que aparecen en el listado fuente. – Edición de un programa a partir de su listado fuente. • De usuario. – Utilización del compilador de C empleado. • De librería. – Realización de pruebas. – La compilación: • Características del compilador que se empleará. – Corrección de los errores observados. – Documentación del programa. • Opciones más utilizadas. – El enlazado. Opciones más utilizadas. © ITES-PARANINFO 17 Guía didáctica: Desarrollo de Funciones en el Sistema Informático CONCEPTOS (CONTENIDO SOPORTE) PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Los ficheros de cabecera. Ficheros más utilizados. – Librerías de C. Librerías más utilizadas. – Ejecución de un programa. – La depuración. Opciones del depurador. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Utilización de los manuales específicos del compilador, del editor y del equipo a emplear. – Se entregarán a los alumnos varios listados en papel de programas fuente codificados en C, para su discusión y utilización. – Utilización práctica de un editor para introducir, corregir, salvar e imprimir texto. – Instalación del compilador a emplear. – Utilización del depurador de código que acompañe al compilador. – Utilización práctica del compilador, del enlazador, de las librerías y del depurador, a partir de los listados de programas fuentes. Obtención y prueba de código ejecutable de programas ya elaborados. – Descripción y justificación del proceso de obtención de programas ejecutables. – Reconocimiento y manejo de las utilidades de un editor. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos. – Identificación y comprensión de la documentación presente en los listados. 18 © ITES-PARANINFO CRITERIOS DE EVALUACIÓN – Clasificar las instrucciones típicas de los lenguajes estructurados según su función. – Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. – Describir el entorno de desarrollo del lenguaje: recursos que se utilizan y procedimiento práctico de desarrollo de programas. – Citar y explicar criterios de calidad de la documentación de configuración. – Describir e interpretar el uso adecuado de los recursos del lenguaje C. Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Elaboración de un esquema general de: • El proceso de obtención de programas ejecutables. • Las funciones de un editor. Unidad 2: Arquitectura del sistema operativo. Administración general del sistema. CONCEPTOS (CONTENIDO SOPORTE) – Estructura del sistema. – Arquitectura del sistema operativo. – Interfaz de las llamadas al sistema. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Utilización de los manuales específicos del sistema y del equipo a emplear. – Describir las características de la arquitectura del sistema operativo. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos. – Describir las características de la interfaz de las llamadas al sistema. – Identificación y comprensión de la documentación sobre el sistema. – Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. – Identificación y comprensión de las características del sistema. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. © ITES-PARANINFO 19 Guía didáctica: Desarrollo de Funciones en el Sistema Informático Unidad 3: Ficheros. CONCEPTOS (CONTENIDO SOPORTE) – El sistema de ficheros: • Características. • Estructura. • Tipos de ficheros. • Tablas de control de acceso a los ficheros. – Administración de los sistemas de ficheros: PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. – Elección de las llamadas al sistema necesarias para la resolución del problema. • Operaciones sobre el disco. – Construcción del algoritmo. • Generación del sistema. – Utilización de las correspondientes llamadas al sistema. • Chequeo del sistema. – Sistema de entrada/salida sobre ficheros. – Librería estándar de entrada/salida. – Control sobre ficheros abiertos. Fcntl. – Administración de ficheros. – Compartición y bloqueo de ficheros. – Obtención de un programa ejecutable: • Realización de pruebas. • Corrección de los errores observados. • Documentación del programa. • Documentación de los cambios efectuados en el sistema. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Creación de funciones de usuario. – Explicar modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. – Utilización de las funciones de librería. – Discusión de ejercicios resueltos. – Planteamiento de ejercicios. – Resolución de ejercicios en grupo. – Identificar funciones o servicios de llamada al sistema, tales como: • Entrada/salida de datos. • Gestión de disco. 20 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos, valorando: – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. • La correcta elección de las estructuras. • La calidad del resultado. – Describir métodos de prueba sistemática del funcionamiento de los programas desarrollados. • La eficiencia del resultado. – Elaborar la documentación correspondiente. • La documentación. – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. • Las pruebas realizadas. – Identificación y comprensión de la documentación. – Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. Unidad 4: Ficheros especiales. CONCEPTOS (CONTENIDO SOPORTE) – Gestión de directorios: • Operaciones sobre directorios: – Creación. – Borrado. – Apertura. – Cierre. – Creación de nuevas entradas en un directorio. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. – Elección de los objetos de programación necesarios para la resolución del problema. – Construcción del algoritmo. – Lectura de las entradas de un directorio. – Utilización de las correspondientes llamadas al sistema. – Etcétera. – Obtención de un programa ejecutable: • Codificación del algoritmo. © ITES-PARANINFO 21 Guía didáctica: Desarrollo de Funciones en el Sistema Informático CONCEPTOS (CONTENIDO SOPORTE) – Gestión de dispositivos. • Operaciones sobre dispositivos: – Entrada/salida sobre terminales. – Control de terminales. – Etcétera. – Administración del sistema de ficheros. • Montaje y desmontaje. • Estado. – Consistencia del sistema. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Evaluación inicial de los conocimientos previos. – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Creación de funciones de usuario. – Utilización de las funciones de librería. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) • Compilación del programa fuente. • Montaje (enlazado) del programa objeto y las librerías necesarias. – Realización de pruebas. – Corrección de los errores observados. – Documentación del programa. – Documentación de los cambios efectuados en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. CRITERIOS DE EVALUACIÓN – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Explicar modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. – Identificar funciones o servicios de llamada al sistema, tales como: – Discusión de ejercicios resueltos. • Entrada/salida de datos. – Planteamiento de ejercicios. • Gestión de disco. – Resolución de ejercicios en grupo. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos, valorando: • La correcta elección de las estructuras. • La calidad del resultado. • La eficiencia del resultado. • La documentación. 22 © ITES-PARANINFO – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Describir métodos de prueba sistemática del funcionamiento de los programas desarrollados. – Citar y explicar criterios de calidad de la documentación de configuración. Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Las pruebas realizadas. – Identificación y comprensión de la documentación. CRITERIOS DE EVALUACIÓN – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. – Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. Unidad 5: Procesos. CONCEPTOS (CONTENIDO SOPORTE) – Procesos. – Estado de un proceso. – Tabla de procesos y área de usuario. – Llamadas al sistema: • Ejecución de programas. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. • Creación de procesos. – Elección de los objetos de programación necesarios para la resolución del problema. • Terminación de procesos. – Construcción del algoritmo. – Información sobre procesos: • Identificadores de proceso: – Identificadores de grupo y usuarios. – Variables de entorno. – Parámetros de ficheros. – Gestión de la memoria asignada a un proceso: • Asignación dinámica de memoria. – Utilización de las correspondientes llamadas al sistema. – Obtención de un programa ejecutable: • Codificación del algoritmo. • Compilación del programa fuente. • Montaje (enlazado) del programa objeto y las librerías necesarias. – Realización de pruebas. • Bloqueo de memoria. © ITES-PARANINFO 23 Guía didáctica: Desarrollo de Funciones en el Sistema Informático CONCEPTOS (CONTENIDO SOPORTE) PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Corrección de los errores observados. – Elaboración de la documentación del programa. – Documentación de los cambios efectuados en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Evaluación inicial de los conocimientos previos. – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Creación de funciones de usuario. – Utilización de las funciones de librería. – Discusión de ejercicios resueltos. CRITERIOS DE EVALUACIÓN – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Utilizar los modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa: • Identificar funciones o servicios de llamadas al sistema, tales como: – Planteamiento de ejercicios. – Lanzamiento y parada de procesos. – Resolución de ejercicios en grupo. – Etcétera. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos. – Identificación y comprensión de la documentación. – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Describir métodos de prueba sistemática del funcionamiento de los programas desarrollados. – Elaborar la documentación correspondiente. – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. 24 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Utilizar las librerías y los enlazadores de los sistemas operativos y los depuradores. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. Unidad 6: Señales. CONCEPTOS (CONTENIDO SOPORTE) – La gestión del asincronismo. Las señales: • Concepto. • Tipos. – Diferentes sistemas gestores de señales: • System V. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. • 4.3 BSD. – Elección de los objetos de programación necesarios para la resolución del problema. • POSIX. – Construcción del algoritmo. – Llamadas al sistema en alguno o en todos los sistemas gestores de señales. – Utilización de las correspondientes llamadas al sistema. – Aplicación de las señales: – Obtención de un programa ejecutable: • Software tolerante a fallos. • Depuración del programa. • Sincronización de procesos. • Realización de pruebas. – Funciones de tiempo asociado a procesos: • Stime, Time, Times, etc. • Corrección de los errores observados. • Elaboración de la documentación del programa. – Documentación de los cambios efectuados en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. © ITES-PARANINFO 25 Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Evaluación inicial de los conocimientos previos. – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Creación de funciones de usuario. – Utilización de las funciones de librería. – Discusión de ejercicios resueltos. – Planteamiento de ejercicios. – Resolución de ejercicios en grupo. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos, valorando: • La calidad del resultado. • La eficiencia del resultado. • La documentación elaborada. • Las pruebas realizadas. – Identificación y comprensión de la documentación. CRITERIOS DE EVALUACIÓN – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Explicar modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. – Identificar funciones o servicios de llamada al sistema. – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Realizar pruebas sistemáticas sobre los programas desarrollados. – Documentar los/las programas/funciones realizados/as. – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. – Utilizar las librerías y los enlazadores de los sistemas operativos así como los depuradores. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. Unidad 7: Control de procesos. CONCEPTOS (CONTENIDO SOPORTE) PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Medida de la distribución del tiempo de ejecución: – Manejo e interpretación de los manuales y del material bibliográfico. • Llamada al sistema: Profil. 26 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático CONCEPTOS (CONTENIDO SOPORTE) – Contabilidad de los usuarios que utilizan el sistema: • Llamada al sistema: acct. – Depuración de programas: • Depuradores: adb y sdb. • Llamada al sistema: ptrace. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Utilización de los recursos del sistema. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. – Elección de los objetos de programación necesarios para la resolución del problema. – Construcción del algoritmo. – Utilización de las correspondientes llamadas al sistema. – Obtención de un programa ejecutable: • Codificación del/de los algoritmo/s. • Compilación del/de los programa/s fuente. • Creación de librerías. • Montaje (enlazado) del programa objeto y las librerías necesarias. – Realización de pruebas. – Corrección de los errores observados. – Elaboración de la documentación del programa. – Documentación de los cambios efectuados en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Evaluación inicial de los conocimientos previos. – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Creación de funciones de usuario. CRITERIOS DE EVALUACIÓN – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Usar los modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. © ITES-PARANINFO 27 Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Utilización de las funciones de librería. – Discusión de ejercicios resueltos. CRITERIOS DE EVALUACIÓN – Identificar funciones o servicios de llamada al sistema. – Resolución de ejercicios en grupo. – Realizar la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos, valorando: – Describir métodos de prueba sistemática del funcionamiento de los programas desarrollados. – Planteamiento de ejercicios. • La correcta elección de las estructuras. • La calidad del resultado. • La eficiencia del resultado. • La documentación. • Las pruebas realizadas. – Identificación y comprensión de la documentación. – Citar y explicar criterios de calidad de la documentación. – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. – Utilizar las librerías y los enlazadores de los sistemas operativos y depuradores. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. Unidad 8: Comunicación entre procesos dentro del mismo sistema. CONCEPTOS (CONTENIDO SOPORTE) – Comunicación entre procesos. – Tuberías: • Sin nombre. • En los intérpretes de órdenes. • Con nombre. – Comunicación: • Bidireccional. • Full-Duplex. 28 © ITES-PARANINFO PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Manejo e interpretación de los manuales y del material bibliográfico. – Utilización de los recursos del sistema. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. – Elección de los objetos de programación necesarios para la resolución del problema. – Construcción del algoritmo. Guía didáctica: Desarrollo de Funciones en el Sistema Informático CONCEPTOS (CONTENIDO SOPORTE) – Mecanismos IPC del UNIX SYSTEM V. • Semáforos. – Conceptos. – Llamadas al sistema. • Memoria compartida: – Llamadas al sistema. • Colas de mensajes: – Llamadas al sistema. PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Utilización de las correspondientes llamadas al sistema. – Obtención de un programa ejecutable: • Realización de pruebas. • Corrección de los errores observados. • Elaboración de la documentación del programa. • Documentación de los cambios efectuados en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Creación de funciones de usuario. – Explicar modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. – Utilización de las funciones de librería. – Discusión de ejercicios resueltos. – Planteamiento de ejercicios. – Resolución de ejercicios en grupo. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos, valorando: • La correcta elección de las estructuras. • La calidad del resultado. • La eficiencia del resultado. • La documentación. • Las pruebas realizadas. – Identificar funciones o servicios de llamada al sistema. – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Utilizar métodos de prueba sistemática para verificar el funcionamiento de los programas desarrollados. – Documentar los/las programas/funciones realizados/as. – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. © ITES-PARANINFO 29 Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Identificación y comprensión de la documentación. CRITERIOS DE EVALUACIÓN – Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. Unidad 9: Comunicación en red. CONCEPTOS (CONTENIDO SOPORTE) PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Características de los sistemas distribuidos. – Manejo e interpretación de los manuales y del material bibliográfico. – Configuración de los sistemas distribuidos. – Protocolos. – Utilización de los recursos del sistema. – Direcciones de red. – Interpretación del problema propuesto de aplicación y utilización básica de la interfaz. – Organización de los sistemas operativos en los sistemas distribuidos. – Elección de los objetos de programación necesarios para la resolución del problema. – Modelo cliente-servidor. – Sockets. Concepto: • Características: – Construcción del algoritmo. Utilización de las correspondientes llamadas al sistema. – Obtención de un programa ejecutable: – Tipos. • Creación de librerías de usuario. – Propiedades. • Realización de pruebas. – Creación. • Corrección de los errores observados. – Supresión. • Elaboración de la documentación del programa. – Enlazamiento a una dirección. – Llamadas al sistema. • La comunicación por datagramas: – Llamadas al sistema. 30 © ITES-PARANINFO – Documentación de los cambios efectuados en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. Guía didáctica: Desarrollo de Funciones en el Sistema Informático CONCEPTOS (CONTENIDO SOPORTE) PROCEDIMIENTO (CONTENIDO ORGANIZADOR) • La comunicación por conexión: – Llamadas al sistema. • La parametrización de los sockets. • Problemas de seguridad. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Evaluación inicial de los conocimientos previos. – Utilización de los manuales específicos del sistema y del equipo a emplear, así como consulta de libros, manuales y revistas. – Creación de funciones de usuario. – Utilización de las funciones de librería. – Discusión de ejercicios resueltos. – Planteamiento de ejercicios. – Resolución de ejercicios en grupo. – Resolución y presentación de los ejercicios propuestos en el modo y tiempo previstos, valorando: • La correcta elección de las estructuras. • La calidad del resultado. • La eficiencia del resultado. • La documentación. • Las pruebas realizadas. – Identificación y comprensión de la documentación. CRITERIOS DE EVALUACIÓN – Diseñar y codificar programas que pongan en evidencia el uso adecuado de los recursos del lenguaje C. – Explicar modelos de interfaz de programación que ofrecen los sistemas y su procedimiento de aplicación desde un programa. – Identificar y utilizar funciones o servicios de llamada al sistema. – Justificar la necesidad de la prueba sistemática de los cambios introducidos en un sistema y sus aplicaciones. – Describir métodos de prueba sistemática del funcionamiento de los programas desarrollados. – Documentar las funciones desarrolladas. – Relacionar diversos requerimientos formulados al sistema con componentes hardware y software. – Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. – Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sea ejecutable. © ITES-PARANINFO 31 Guía didáctica: Desarrollo de Funciones en el Sistema Informático Unidad 10: Proyecto. CONCEPTOS (CONTENIDO SOPORTE) PROCEDIMIENTO (CONTENIDO ORGANIZADOR) – Todos los desarrollados en las unidades anteriores, profundizando en todos los que fuera necesario. – Manejo e interpretación de los manuales y del material bibliográfico. – Interpretación del problema propuesto y utilización básica de la interfaz. – Elección de los objetos de programación necesarios para la resolución del problema. – Elección de las estructuras necesarias para la resolución del problema. – Construcción del algoritmo. – Utilización de las correspondientes llamadas al sistema. – Obtención de un programa ejecutable: • Codificación. • Compilación. – Creación de librerías de usuario. – Realización de pruebas. – Corrección de los errores observados. – Documentación del programa. – Realización de los manuales del usuario y del programador. – Documentación de los cambios introducidos en el sistema. – Valoración técnica y económica de los cambios a introducir en el sistema. – Análisis de la viabilidad del proyecto encomendado. 32 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE – Presentación y exposición del problema planteado, así como de su resolución, justificando convenientemente cada uno de los pasos o fases que han llevado a su elaboración. – Ejecución de las pruebas necesarias para verificar la eficiencia y eficacia de la aplicación desarrollada. – Presentación de la documentación necesaria para el conocimiento y utilización de la aplicación: • Manual de usuario. • Manual del programador. – Utilización de la documentación sobre el sistema, su configuración, su entorno de desarrollo y la interfaz de programación. CRITERIOS DE EVALUACIÓN – En el proyecto que se va a realizar, disponiendo de la documentación de configuración del sistema y su entorno de desarrollo convenientemente caracterizada: • Clasificar las principales librerías, funciones o servicios según su utilidad. • Interpretar la aplicación y sintaxis de algunas funciones o servicios. • Interpretar la información de los manuales del programador. • Codificar programas que respondan a problemas propuestos de aplicación y utilización básica de la interfaz. • Obtener programas ejecutables. • Proponer un procedimiento de prueba del programa acorde con las especificaciones establecidas y observando las medidas de seguridad del sistema y la información. • Verificar el funcionamiento de los programas y su repercusión en el sistema mediante los procedimientos de prueba propuestos. • Interpretar los errores o fallos detectados en el programa. • Proponer cambios y/o mejoras en el programa. • Registrar en la documentación los cambios realizados con arreglo a los criterios de calidad establecidos. • Intercambiar la documentación elaborada para: – Verificar su utilidad como instrumento de comunicación técnica sobre el sistema. – Detectar y corregir las carencias observadas. – Proponer nuevas soluciones. © ITES-PARANINFO 33 Guía didáctica: Desarrollo de Funciones en el Sistema Informático ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE CRITERIOS DE EVALUACIÓN – Caso de que se añadan nuevos requerimientos al proyecto realizado: • Proponer hipótesis razonadas de solución al requerimiento planteado, especificando los cambios que se deben realizar y sobre qué puntos del sistema: hardware, sistema operativo, sistema operativo de red. • Analizar y comparar las soluciones propuestas en cuanto a recursos necesarios, coste, ventajas e inconvenientes. • Elaborar un informe claro, preciso y con la terminología informática adecuada sobre las soluciones encontradas. El índice del libro Desarrollo de Funciones en el Sistema Informático es el siguiente: 1. Introducción. 1.1. ¿Qué es Linux? 1.2. Linux: software de libre distribución. 1.3. Características de Linux. 1.4. Linux frente a otros sistemas operativos. 1.5. Novedades y actualidad. 2. Instalación de Linux. 2.1. Requisitos hardware. 2.2. Preparación para la instalación. 2.3. Creación de las particiones. 2.3.1. Creación de las particiones en un disco nuevo. 2.3.2. Creación de las particiones en un disco con otro sistema. 2.3.3. Creación del espacio de intercambio. 2.4. Creación del sistema de archivos. 2.5. Instalación del software. 34 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático 2.5.1. Usando la utilidad ‘fips’ de Linux. 2.5.2. En un disco nuevo desde CD-ROM. 2.5.3. En un disco nuevo desde otro disco duro. 2.5.4. Pasos en la instalación. 2.6. Después de la instalación. 2.6.1. Cambiar el modo de arranque. 2.6.2. Cambiar la configuración de los dispositivos. 3. Mis primeros pasos en Linux. 3.1. Entrada y salida del sistema. 3.2. El shell de Linux. 3.2.1. Creación de una cuenta de usuario. 3.2.2. Órdenes básicas del sistema. 3.2.3. Variables del entorno. 3.2.4. Cauces y filtros. 3.3. Introducción a los ficheros y directorios. 3.3.1. El directorio de trabajo. 3.3.2. Desplazamiento por la estructura de directorios. 3.3.3. El directorio home. 3.3.4. Órdenes básicas orientadas a ficheros. 4. Administración general del sistema. 4.1. Administración de usuarios. 4.1.1. El superusuario. 4.1.2. El entorno del superusuario. 4.1.3. La orden su. 4.1.4. Cuentas de usuario y contraseñas. 4.1.5. Crear usuarios. 4.1.6. Cambiar contraseñas. 4.1.7. Eliminar usuarios. 4.1.8. Crear grupos. 4.1.9. Borrar grupos. 4.2. Seguridad en el sistema Linux. © ITES-PARANINFO 35 Guía didáctica: Desarrollo de Funciones en el Sistema Informático 4.2.1. Permisos de los ficheros. 4.2.2. Modificar los permisos de ficheros. 4.2.3. Cambiar el propietario de un fichero. 4.2.4. Cambiar de grupo a un fichero. 4.3. Configuración de periféricos. 4.3.1. Impresoras. 4.3.2. Instalación de una impresora. 4.3.3. Instalación de una tarjeta de sonido. 4.3.4. Módems. 4.3.5. Cambiar la configuración de la pantalla. 4.3.6. Configuración del CD-ROM. 4.3.7. Configuración del ratón. 4.3.8. Configuración del teclado. 5. El sistema de ficheros. 5.1. Montado de un sistema de ficheros. 5.2. Creación de un sistema de ficheros en disquete. 5.3. Copias de seguridad usando disquetes. 5.4. Estructura del sistema de ficheros. 5.4.1. Tabla de inodos. 5.4.2. Manejo de los inodos. 5.4.3. Ficheros y directorios. 5.4.4. Enlace de ficheros. 5.5. Organización del sistema de ficheros. 6. Otros comandos de Linux. 6.1. Relación de comandos. 7. Procesos. 7.1. Linux, un sistema de tiempo compartido. 7.2. Prioridad de los procesos. 7.3. Examinar los procesos. 7.4. La orden nohup. 36 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático 7.5. Eliminar procesos. 7.6. Señales. 7.7. Procesos del sistema. 8. Editores de texto. 8.1. El editor de textos ed. 8.2. El editor de textos vi. 8.2.1. Entrada al editor vi. 8.2.2. Modos de trabajo. 8.2.3. Comandos del editor vi. 8.3. El editor de textos GNU Emacs. 8.3.1. Entrada al editor GNU Emacs. 8.3.2. Comandos del editor GNU Emacs. 8.3.3. Editor GNU Emacs basado en X Window (Xemacs). 9. Compilador GCC de Linux. 9.1. Ciclo de desarrollo de programas en C. 9.2. Opciones de compilación. 9.3. Utilidad make. 9.4. Utilidad de depuración de programas. 10. Gestión de entrada y salida sobre ficheros. 10.1. Streams y archivos. 10.2. Puntero a un fichero. 10.3. Abrir un fichero. 10.4. Cerrar un fichero. 10.5. Escritura de datos en ficheros. 10.5.1. Escribir caracteres. 10.5.2. Escribir líneas de caracteres. 10.5.3. Escribir con formato. 10.5.4. Escribir bloques de datos. 10.6. Lectura de datos de un fichero. 10.6.1. Leer caracteres. © ITES-PARANINFO 37 Guía didáctica: Desarrollo de Funciones en el Sistema Informático 10.6.2. Leer líneas de caracteres. 10.6.3. Leer con formato. 10.6.4. Leer bloques. 10.7. Otras funciones de utilidad. 10.8. Sistema de errores. 10.9. Funciones de acceso directo a datos. 10.10. Funciones de gestión de ficheros. 10.10.1. Gestión de ficheros. 10.10.2. Trabajar con los atributos de los ficheros. 10.10.3. Trabajo con sistemas de ficheros. 10.11. Funciones de manejo de directorios. 10.12. Funciones de entrada/salida de bajo nivel. 11. Tratamiento de procesos. 11.1. Ejecución de procesos. 11.1.1. La función system. 11.1.2. La función fork. 11.1.3. Funciones exec. 11.2. Terminación de procesos. 11.2.1. La función exit. 11.2.2. Función atexit. 11.3. Lectura de los atributos de un proceso. 11.4. Modificación de los atributos de un proceso. 11.5. Lectura y modificación de recursos de un proceso. 11.6. Variables de entorno. 11.7. Funciones de espera. 12. Señales. 12.1. Conceptos generales. 12.1.1. Ignorar una señal. 12.1.2. Tratar señales por defecto. 12.1.3. Capturar la señal. 12.2. Las señales de Linux. 38 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático 12.3. La máscara de señales. 12.4. Tratamiento de señales entre procesos. 12.4.1. Capturar señales. 12.4.2. Funciones de espera de una señal. 12.4.3. Envío de señales a procesos. 12.5. Temporizadores. 13. Comunicación entre procesos. 13.1. Pipes (tuberías). 13.1.1. Pipes sin nombre. 13.1.2. Pipes con nombre o FIFOS. 13.1.3. Utilización de pipes con nombre. 13.2. Estructuras IPC. 13.2.1. Colas de mensajes. 13.2.1.1. Creación de una cola de mensaje. 13.2.1.2. Añadir mensajes a una cola. 13.2.1.3. Leer mensajes de la cola. 13.2.1.4. Control sobre una cola de mensajes. 13.2.2. Semáforos. 13.2.2.1. Creación de un semáforo. 13.2.2.2. Operaciones con semáforos. 13.2.2.3. Control de semáforos. 13.2.3. Memoria compartida. 13.2.3.1. Creación de un segmento de memoria compartida. 13.2.3.2. Acceso a un segmento de memoria compartida. 13.2.3.3. Liberación de un segmento de memoria compartida. 13.2.3.4. Control de la memoria compartida. 14. Aplicaciones cliente/servidor. 14.1. Modelo cliente/servidor. 14.2. Aplicaciones cliente/servidor. 14.3. Protocolo TCP/IP. 14.4. Servidores orientados a conexión y no orientados a conexión. © ITES-PARANINFO 39 Guía didáctica: Desarrollo de Funciones en el Sistema Informático 14.5. Desarrollo de aplicaciones con sockets. 14.6. Principales funciones en el manejo de sockets. 14.7. Programas ejemplo con sockets. 15. X Window. 15.1. Los componentes de X Window. 15.1.1. X server. 15.1.2. Generadores de ventanas. 15.1.3. Entornos de trabajo. 15.2. GNOME. 15.3. El panel de GNOME. 15.4. Añadir elementos al panel. 15.4.1. Añadir apliques. 15.4.2. Añadir un menú. 15.4.3. Añadir un lanzador. 15.4.4. Añadir cajones. 15.4.5. Añadir un submenú. 15.5. Configuración del panel. 15.5.1. Propiedades globales del panel. 15.5.2. Propiedades. 15.6. Menú principal. 15.6.1. El editor de menús. 15.7. El escritorio GNOME. 15.7.1. El menú de escritorio. 15.8. El gestor de archivos GNOME. 15.8.1. El árbol de directorio. 15.8.2. La ventana de visualización. 15.8.3. La barra de herramientas. 15.8.4. Menús de comandos y opciones. 15.9. El centro de control de GNOME. 15.9.1. Escritorio. 15.9.2. Gestor de ventanas Sawfish. 15.9.3. Manejadores de documentos. 40 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático 15.9.4. Multimedios. 15.9.5. Opciones de la interfaz gráfica. 15.9.6. Periféricos. 15.9.7. Sesión. 15.10. Apliques para el panel. 15.10.1. Divertimentos. 15.10.2. Monitores. 15.10.3. Multimedios. 15.10.4. Red. 15.10.5. Relojes. 15.10.6. Utilerías. 15.11. El menú de aplicaciones. 15.12. El menú de utilerías. 15.13. El menú de gráficos. 15.14. Configurar la pantalla X term. 15.14.1. Modificar el título de la ventana X term. 15.14.2. Modificar colores. 15.14.3. Modificar el tamaño y posición de la ventana. 15.14.4. Modificar la fuente del texto. 15.15. Salir de X Window. 9. Material didáctico (material y equipos didácticos) En primer lugar debemos considerar el libro Desarrollo de Funciones en el Sistema Informático como el primer material didáctico con el que cuentan el profesor y el alumno para el aprendizaje, ya que el módulo es ya de por sí complicado para la localización y utilización de material didáctico que nos ayude a desarrollar las clases. El libro se ha diseñado pensando en ello y se ha procurado ilustrar profusamente, incluyéndose en él 375 figuras, tablas y programas, que facilitan la localización y comprensión de las diferentes partes de las máquinas eléctricas. Desde el punto de vista práctico el material didáctico de apoyo más idóneo para impartir las clases es: © ITES-PARANINFO 41 Guía didáctica: Desarrollo de Funciones en el Sistema Informático – Catálogos de fabricantes. – Material gráfico o soportes informáticos facilitado por casas comerciales. – Vídeos y diapositivas adquiridas a empresas. – Equipo básico del MEC para el desarrollo del módulo. Los materiales que pueden ser de más utilidad para las necesidades específicas de las prácticas docentes de este módulo en el taller, y que vienen descritas en el libro del ministerio sobre los Ciclos Formativos de Formación Profesional, en el apartado Dominio Profesional (equipos, materiales, información, procesos, etc.), son los que después intervienen en los sistemas productivos, por lo que los reproducimos a continuación dada su importancia: Información (naturaleza, tipo y soportes) Manuales de referencia de lenguajes de programación, generadores de código, lenguajes de consulta de bases de datos. Manual de uso de traductores y depuradores de código. Documentación de las aplicaciones instaladas. Información sobre librerías del sistema y usuarios. Información sobre los recursos del sistema informático. Información sobre acceso a bases de datos. Información relevante en materia de derechos de propiedad intelectual y copyrights. Medios de producción y/o tratamiento de la información Equipos informáticos: ordenadores, periféricos de entrada, salida y almacenamiento. “Software”: lenguajes de programación: Pascal o C. Aplicaciones. Generadores de aplicaciones, pantallas, informes. Librerías del sistema y de usuarios. Traductores, depuradores. Procesos, métodos y procedimientos Métodos de programación estructurada. Procedimientos de uso y manejo de librerías del sistema y de usuarios, traductores, depuradores, generadores de código, pantallas, informes. Interpretación de mensajes. Procedimientos de documentación de programas y pruebas. Principales resultados de trabajo Informes técnicos detallando las carencias detectadas y posibles soluciones. Informes técnicos sobre los cambios y mejoras realizados en el sistema y las aplicaciones (incluirá, si procede, listados de los programas fuente y guías de utilización). Implantación de las mejoras y cambios propuestos en el sistema y/o aplicaciones. 42 © ITES-PARANINFO Guía didáctica: Desarrollo de Funciones en el Sistema Informático Personas y/u organizaciones destinatarias del servicio Responsables de la empresa. Usuarios finales. Empresas de desarrollo y mantenimiento de “software” de productos. © ITES-PARANINFO 43