Este Curso de Programación para Gestión de Sistemas le ofrece una formación especializada en la materia. Debemos saber que 2n la actualidad, en el mundo de la informática y las comunicaciones, es muy importante conocer la programación de sistemas informáticos, dentro del área profesional de sistemas y telemática. Por ello, con el presente curso se trata de aportar los conocimientos necesarios para conocer el desarrollo y optimización de componentes software para tareas administrativas de sistemas y el desarrollo de componentes software para el manejo de dispositivos (Drivers).
UNIDAD FORMATIVA 1. DESARROLLO Y OPTIMIZACIÓN DE COMPONENTES SOFTWARE PARA TAREAS ADMINISTRATIVAS DE SISTEMAS
UNIDAD DIDÁCTICA 1. DESCRIPCIÓN DE LOS SERVICIOS, ESTRUCTURA Y ADMINISTRACIÓN DE SISTEMAS OPERATIVOS.
- Definición y conceptos básicos sobre Sistemas Operativos:
- – Descripción de los servicios básicos ofrecidos por un Sistema Operativo
- – Gestión de memoria. Memoria virtual
- – Ejecución de programas y gestión de procesos
- – Gestión del almacenamiento. Sistemas de Archivos
- – Gestión de dispositivos de entrada/salida
- – Gestión de red
- – Gestión de errores
- – Gestión de la seguridad
- – Auditoría (logs del sistema)
- – Procesos de arranque (boot) y finalización del sistema (shutdown)
- Características estructurales de los Sistemas Operativos:
- – Sistemas monolíticos
- – Microkernels
- – Sistemas modulares y por capas
- – Máquinas virtuales
- – Sistemas distribuidos
- Herramientas administrativas de uso común en Sistemas Operativos:
- – Interfaces de usuario gráficos
- – Intérpretes de comandos
UNIDAD DIDÁCTICA 2. PROGRAMACIÓN DE SISTEMAS OPERATIVOS. LENGUAJES Y LIBRERÍAS DE USO COMÚN.
- Las llamadas al sistema (System Calls):
- – Definición
- – Uso directo y mediante Application Programming Interfaces (APIs)
- – Principales tipos de llamadas al sistema:
- * Control de procesos
- * Gestión de ficheros
- * Gestión de dispositivos
- * Información del sistema
- * Comunicaciones
- – Descripción y uso de las APIs estándar de uso común para llamadas a sistema:
- * Win32 API (Sistemas Windows)
- * POSIX API (Sistemas Unix, Linux, Mac)
- * Java API (Multiplataforma)
- Programas de utilidades y comandos del sistema:
- – Principales tipos:
- * Operaciones con ficheros y directorios
- * Funciones de estado
- Edición y manipulación de ficheros
- * Soporte para lenguajes de programación (compiladores, enlazadores, ensambladores, intérpretes, etc.)
- * Ejecución de programas
- * Comunicaciones, mensajería, intercambio remoto de archivos, etc.
- – Uso de utilidades y comandos mediante lenguajes de script de uso común
- * Windows scripting
- * Linux/Unix scripting
UNIDAD DIDÁCTICA 3. EL CICLO DE VIDA DEL SOFTWARE DE GESTIÓN DE SISTEMAS.
- Modelos del ciclo de vida del software.
- – En cascada (waterfall)
- – Iterativo
- – Incremental
- – En V
- – Basado en componentes (CBSE)
- – Desarrollo rápido (RAD)
- – Ventajas e inconvenientes. Pautas para la selección de la metodología más adecuada.
- Descripción de las fases en el ciclo de vida del software:
- – Análisis y especificación de requisitos
- * Tipos de requisitos : funcionales/ no funcionales, de usuario, de interfaz, de seguridad y de rendimiento
- * Modelos para el análisis de requisitos
- * Documentación de requisitos
- * Validación de requisitos
- * Gestión de requisitos
- – Diseño:
- * Modelos para el diseño de sistemas : contexto y arquitectura, procesos, datos, objetos, interfaces de usuario ,componentes y despliegues
- * Diagramas de diseño: diagramas de entidad-relación, diagramas de flujo, diagramas de contexto y UML. Diagramas UML de uso común en diseño de sistemas
- * Documentación: herramientas de generación de documentación y documentación el código
- – Implementación. Conceptos generales de desarrollo de software:
- * Principios básicos del desarrollo de software
- * Técnicas de desarrollo de software : basadas en prototipos, basadas en componentes, métodos de desarrollo rápido y otras técnicas de desarrollo
- – Validación, verificación y pruebas:
- * Validación y verificación de sistemas: planificación, métodos formales de verificación y métodos automatizados de análisis
- * Pruebas de software: tipos, diseño de pruebas, ámbito de aplicación, automatización de pruebas, herramientas y estándares sobre pruebas de software.
- Calidad del software:
- – Principios de calidad del software
- – Métricas y calidad del software:
- * Concepto de métrica y su importancia en la medición de la calidad
- * Principales métricas en las fases del ciclo de vida software
- – Estándares para la descripción de los factores de Calidad:
- * ISO-9126
- * Otros estándares. Comparativa
UNIDAD DIDÁCTICA 4. DESARROLLO DEL SOFTWARE DE GESTIÓN DE SISTEMAS
- Análisis de especificaciones para el desarrollo de software de gestión de sistemas:
- – Identificación de los componentes necesarios según las especificaciones
- – Análisis de los componentes reutilizables
- – Análisis de la integración de los componentes en la arquitectura del sistema
- – Identificación de los modelos funcionales y de datos de los componentes
- Técnicas de programación presentes en lenguajes de uso común aplicables al desarrollo de software de gestión de sistemas:
- – Programación estructurada:
- * Tipos primitivos y estructurados
- * Variables. Ámbito de utilización
- * Operadores aritméticos y lógicos
- * Estructuras de control. Bucles, condicionales y selectores
- * Funciones y procedimientos. Parámetros por valor y referencia.
- * Recursividad
- * Programación de elementos básicos: cadenas, fechas y ficheros.
- * Conversiones de tipos
- * Manejo de errores (excepciones)
- * Lenguajes estructurados de uso común
- – Programación orientada a objetos:
- * Clases y objetos
- * Herencia, polimorfismo y sobrecarga dinámica de métodos
- * Propiedades: selectores (get), modificadores (set) y referencias (let)
- * Lenguajes orientados a objetos de uso común
- Técnicas de programación de software de gestión de sistemas:
- – Reutilización de código.
- * Uso de librerías del sistema
- * Llamadas a utilidades y aplicaciones del sistema
- – Técnicas específicas aplicables a los servicios básicos del sistema:
- * Programación de la gestión de los procesos: multitarea, control de bloqueos(deadlock) y comunicación entre procesos
- * Programación de la gestión de memoria: jerarquías de memoria, paginación de memoria, segmentación de memoria, intercambio(swapping), compartición de memoria, seguridad y memoria virtual
- * Programación de los sistemas de archivos: acceso a archivos y directorios, atributos y mecanismos de protección
- * Programación de los sistemas de entrada y salida: gestión de interrupciones, acceso directo a memoria (DMA) , puertos de entrada/salida y asignación de memoria
- * Programación de la seguridad: control de variables, control de desbordamiento de búferes , aserciones, precondiciones y post-condiciones.
- – Técnicas de optimización
- Control de calidad del desarrollo del software de gestión de sistemas:
- – Métricas aplicables
- – Verificación de requisitos
- – Proceso de mejora continua
- Herramientas de uso común para el desarrollo de software de sistemas:
- – Editores orientados a lenguajes de programación
- – Compiladores y enlazadores
- – Generadores de programas
- – Depuradores
- – De prueba y validación de software
- – Optimizadores de código
- – Empaquetadores
- – Generadores de documentación de software
- – Despliegue de software:
- * Gestores y repositorios de paquetes. Versionado y control de dependencias
- * Distribución de software
- * Gestores de actualización de software
- – De control de versiones
- – Entornos integrados de desarrollo (IDE) de uso común:
- * Específicos de sistemas Windows
- * Específicos de sistemas Unix
- * Multiplataforma
UNIDAD FORMATIVA 2. DESARROLLO DE COMPONENTES SOFTWARE PARA EL MANEJO DE DISPOSITIVOS (DRIVES)
UNIDAD DIDÁCTICA 1. EL NÚCLEO DEL SISTEMA OPERATIVO
- Arquitectura general del núcleo
- Subsistemas del núcleo:
- – Gestión de procesos
- – Gestión de memoria
- – Sistemas de ficheros
- – Control de dispositivos
- – Comunicaciones
- Aspectos de seguridad sobre el desarrollo de elementos del núcleo
- Consideraciones sobre compatibilidad de versiones del núcleo
UNIDAD DIDÁCTICA 2. PROGRAMACIÓN DE CONTROLADORES DE DISPOSITIVO
- Funcionamiento general de un controlador de dispositivo
- Principales tipos de controladores de dispositivo:
- – Carácter
- – Bloque
- – Paquete
- Técnicas básicas de programación de controladores de dispositivos
- – Estructuras básicas de datos de dispositivos
- – Gestión de errores de dispositivos
- – Gestión de memoria de dispositivos
- – Control de interrupciones
- – Gestión de puertos de entrada y salida
- – Uso de Acceso directo a memoria (DMA) y buses
- Técnicas de depuración y prueba:
- – Impresión de trazas
- – Monitorización de errores
- – Técnicas específicas de depuración de controladores en sistemas operativos de uso común:
- * Windows
- * Unix
- – Aplicación de estándares de calidad del software al desarrollo de controladores de dispositivos
- Compilación y carga de controladores de dispositivos
- Distribución de controladores de dispositivo
- Particularidades en el desarrollo de dispositivos en sistemas operativos de uso común:
- – Sistemas Windows
- – Sistemas Unix
- – Modos de instalación de controladores de dispositivo en sistemas operativos de uso común. Dispositivos Plug & Play:
- * Instalación de dispositivos en Windows
- * Instalación de dispositivos en Sistemas Unix
- Herramientas:
- – Entornos de desarrollo de controladores de dispositivo en sistemas operativos de uso común
- – Herramientas de depuración y verificación de controladores de dispositivos
- Documentación de manejadores de dispositivo:
- – Elaboración de especificaciones técnicas siguiendo directrices específicas de sistemas operativos de uso común
- – Elaboración de manual de instalación
- – Elaboración de manual de uso
Características del curso
- Conferencias 0
- Cuestionarios 0
- Duración 180 Horas
- Nivel de habilidad Todos los niveles
- Idioma Español
- Estudiantes 0
- Certificado No
- Evaluaciones Si