Desarrollo y optimización de componentes software para tareas administrativas de sistemas. IFCT0609
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
José Luis Villada Romero. Desarrollo y optimización de componentes software para tareas administrativas de sistemas. IFCT0609
Presentación del manual
Capítulo 1Descripción de los servicios, estructura y administraciónde sistemas operativos. 1.Introducción
2.Definición y conceptos básicos sobre sistemas operativos
2.1.Descripción de los servicios básicos ofrecidos por un sistema operativo
2.2.Gestión de memoria. Memoria virtual
Contigua: particiones fijas y variables
Intercambio (swapping)
Paginación
Segmentación
Segmentación paginada
Memoria virtual
2.3.Ejecución de programas y gestión de procesos
2.4.Gestión de almacenamiento. Sistemas de archivos
2.5.Gestión de dispositivos de entrada/salida
2.6.Gestión de red
2.7.Gestión de errores
2.8.Gestión de la seguridad
2.9.Auditoría (logs del sistema)
2.10. Procesos de arranque (boot) y finalización del sistema (shutdown)
3.Características estructurales de los sistemas operativos
3.1.Sistemas monolíticos
3.2.Microkernels
3.3.Sistemas modulares y por capas
3.4.Máquinas virtuales
3.5.Exokernel
3.6.Modelo cliente-servidor
3.7.Sistemas distribuidos
4.Herramientas administrativas de uso común en sistemas operativos
4.1.Interfaces gráficas de usuario
4.2.Intérpretes de comandos
5.Resumen
Ejercicios de repaso y autoevaluación
Capítulo 2Programación de sistemas operativos. Lenguajes y librerías de uso común. 1.Introducción
2.Las llamadas al sistema (system calls)
2.1.Definición
2.2.Uso directo y mediante Application Programming Interfaces (API)
2.3.Principales tipos de llamadas al sistema
Control de procesos
Gestión de ficheros
Gestión de dispositivos
Información del sistema
Comunicaciones
2.4.Descripción y uso de las API estándar de uso común para llamadas a sistema
Win32 API (sistemas Windows)
POSIX API (sistemas Unix, Linux, Mac)
Java API (multiplataforma)
3.Programas de utilidades y comandos del sistema
3.1.Principales tipos
Operaciones con ficheros y directorios
pwd
cd
ls
mkdir y rmdir
mv y cp
rm
find
Dir
CD
MKDIR
RMDIR
TREE
COPY
MOVE
DEL
Funciones de estado
uptime
free
vmstat
iostat
df
who
Edición y manipulación de ficheros
chown y chgrp
chmod
emacs y vi
attrib
type
Soporte para lenguajes de programación (compiladores, enlazadores, ensambladores, intérpretes, etc.)
Compiladores
Enlazadores
Ensambladores
Intérpretes
Otros
Ejecución de programas
ps
kill
top
Tasklist y taskkill
Comunicaciones, mensajería, intercambio remoto de archivos, etc
Write
Wall
ssh
ftp
3.2.Uso de utilidades y comandos mediante lenguajes de script de uso común
Windows scripting
Linux/Unix scripting
4.Resumen
Ejercicios de repaso y autoevaluación
Capítulo 3El ciclo de vida del software de gestión de sistemas. 1.Introducción
2.Modelos del ciclo de vida del software
2.1.Modelo en cascada
2.2.Modelo iterativo
2.3.Modelo incremental
2.4.Modelo en V
2.5.Modelo basado en componentes (CBSE)
2.6.Modelo de desarrollo rápido (RAD)
2.7.Pautas para la selección de la metodología más adecuada. Ventajas e inconvenientes
3.Descripción de las fases en el ciclo de vida del software
3.1.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
Modelos basados en escenarios
Documentación de requisitos
Validación de requisitos
Gestión de requisitos
3.2.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
Lenguaje UML. Diagramas UML de uso común en diseño de sistemas
Documentación: herramientas de generación de documentación y documentación de código
Umbrello
MagicDraw
Doxygen
3.3.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
3.4.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
Tipos
Diseño de pruebas, ámbito de aplicación, automatización de pruebas
Estándares de pruebas
4.Calidad del software
4.1.Principios de calidad del software
4.2.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
4.3.Estándares para la descripción de los factores de calidad
ISO-9126
Funcionalidad
Confiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
Otros estándares. Comparativa
5.Resumen
Ejercicios de repaso y autoevaluación
Capítulo 4Desarrollo del software de gestión de sistemas. 1.Introducción
2.Análisis de especificaciones para el desarrollo de software de gestión de sistemas
2.1.Identificación de los componentes necesarios según las especificaciones
2.2.Análisis de los componentes reutilizables
2.3.Análisis de la integración de los componentes en la arquitectura del sistema
2.4.Identificación de los modelos funcionales y de datos de los componentes
3.Técnicas de programación presentes en lenguajes de uso común aplicables al desarrollo de software de gestión de sistemas
3.1.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
Apertura y cierre de ficheros
Lectura y escritura en ficheros
Recorrido de un fichero secuencial (feof)
Conversiones de tipos
Manejo de errores (excepciones)
Lenguajes estructurados de uso común
3.2.Programación orientada a objetos
Clases y objetos
Atributos
Métodos
Mensaje
Herencia, polimorfismo y sobrecarga dinámica de métodos
Propiedades: selectores (get), modificadores (set) y referencias (let)
Lenguajes
4.Técnica de programación de software de gestión de sistemas
4.1.Reutilización de código
Uso de bibliotecas del sistema
Llamadas a utilidades y aplicaciones del sistema
4.2.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
Ejemplo de programación de procesos
Interbloqueo (deadlock)
Exclusión mutua
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 postcondiciones
4.3.Técnicas de optimización
5.Control de calidad del desarrollo del software de gestión de sistemas
5.1.Métricas aplicables
5.2.Verificación de requisitos
Técnicas de verificación automática para especificación de requisitos
Verificación automática de especificaciones de requisitos en lenguaje natural
Técnicas de verificación manual para la especificación de requisitos
Revisión
Inspección
Errors–Abstraction
5.3.Proceso de mejora continua
6.Herramientas de uso común para el desarrollo de software de sistemas
6.1.Editores orientados a lenguajes de programación
6.2.Compiladores y enlazadores
Opción –c
6.3.Generadores de programas
6.4.Depuradores
6.5.De prueba y validación de software
6.6.Optimizadores de código
6.7.Empaquetadores
6.8.Generadores de documentación de software
6.9.Despliegue de software
Gestores y repositorios de paquetes. Versionado y control de dependencias
Distribución de software
Licencias OEM (Original Equipment Manufacturer)
Licencias FPP o Retail
Licencias académicas
Licencias por volumen
Licencias de software libre
Gestores de actualización de software
6.10. Control de versiones
6.11. Entornos integrados de desarrollo (IDE) de uso común
Específicos de sistemas Windows
BloodShed Dev-C++
Microsoft Visual Studio Express
Borland C++
Específicos de sistemas Unix
Multiplataforma
Eclipse CDT
NetBeans IDE
Code::Blocks y CodeLite
7.Resumen
Ejercicios de repaso y autoevaluación
Bibliografía. Monografías
Textos electrónicos, bases de datos y programas informáticos
Отрывок из книги
ic editorial
El elemento mínimo acreditable es la Unidad de Competencia. La suma de las acreditaciones de las unidades de competencia conforma la acreditación de la competencia general.
.....
Todo sistema operativo necesita un proceso de arranque y parada. El proceso de arranque prepara el sistema para que los usuarios puedan usarlo. Este proceso se divide en dos partes: arranque hardware y arranque del SO. El arranque hardware se realiza bajo la supervisión de la BIOS y es propio del hardware, no del sistema operativo. Se realiza un test de hardware y se carga en memoria el registro de arranque maestro (MBR), alojado en el primer sector del disco de inicio. El MBR contiene información sobre las particiones del disco de inicio, así como sobre cuál es la partición activa.
Tras esto, el control se pasa al MBR. El MBR busca en la partición activa el sector de arranque (que se encuentra en los primeros sectores de la partición) y lo carga en memoria. Estos sectores contienen el cargador del SO. Una vez cargado en memoria, se le otorga el control y comienza la carga real del SO con la siguiente secuencia de pasos: test del sistema de ficheros, creación de las estructuras de datos internas, completado de la carga del SO residente y creación del proceso de login para la autenticación del usuario.
.....