martes, 24 de julio de 2012

Actividad 17


Actividades Obligatorias
    • Indique cinco ejemplos de sistemas de tiempo real basados en computadora. Indique que "estimulos" alimentan al sistema y qué dispositivos o situaciones controla o supervisa el sistema.
    • QNX: Es un sistema operativo de tiempo real basado en Unix que cumple con la norma POSIX.
      Es desarrollado principalmente para su uso en dispositivos empotrados. Desarrollado por QNX Software Systems empresa canadiense.
    • MaRTE OS: proporciona a las aplicaciones un subconjunto de toda la funcionalidad POSIX, que puede ser implementado en un núcleo de sistema 
      operativo pequeño y eficiente apto para su utilización en sistemas empotrados pequeños con requerimientos de tiempo real.
    • LynxOS: En 1989, la compatibilidad con SVR3 se ha añadido al sistema, y más tarde, la compatibilidad de Linux. Hoy en día, LynxOS también funciona en otras arquitecturas, incluyendo ARM, MIPS y PowerPC.
      Ubuntu Studio: Ubuntu Studio es una distribución GNU/Linux basada en Ubuntu. Está orientada a la edición multimedia profesional de audio, video y gráficos.
    • VxWorks: es un sistema operativo de tiempo real, basado en Unix, vendido y fabricado por Wind River Systems. Como la mayoría de los sistemas operativos en tiempo real, vxWorks incluye kernel multitarea con planificador preemptive (los procesos pueden tomar la CPU arbitrariamente), respuesta rápida a las interrupciones, comunicación entre procesos, sincronización y sistema de archivos
    • Proporcione tres ejemplos en los que los semaforos sean un mecanismo apropiados de sincronización de tareas.
    • Obtenga información sobre una o más herramientas de análisis formales para sistemas de tiempo real.
    • Para ilustrar de forma concreta el empleo de semáforos bajo UNIX, les mostramos unos ejemplos de subrutinas en C que les pueden servir como modelos para elaborar sus rutinas de sincronización en las prácticas de la asignatura
    • Describa las bases de datos en tiempo real
    • Hay diferentes BD en tiempo real, una de las más conocidas es IndustrialSQLServer que es la BD de Wonderware, sistema SCADA de la compañía homonima. Este IndustrialSQLServer no es más que una versión modificada (mejorada) de SQLServer de Microsoft. La mejora consiste en que la BD puede seguir el ritmo del sistema SCADA, por ejemplo grabar miles de registros por segundo.
Actividades sugeridas
    • Explique los sistemas operativos en tiempo real
    • Un sistema operativo de tiempo real (SOTR o RTOS -Real Time Operating System en inglés) es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo.
    • ¿Cuáles son las carácteristicas de un lenguaje de tiempo real?
    • El determinismo es una cualidad clave en los sistemas de tiempo real. Es la capacidad de determinar con una alta probabilidad, cuanto es el tiempo que se toma una tarea en iniciarse. 
    • La responsibidad se enfoca en el tiempo que tarda una tarea en ejecutarse una vez que la interrupción ha sido atendida. 
    • Mensione los requisitos funcionales de un sistema de tiempo real
    • Si argumentáramos que: al ser parte de todo el sistema son una característica del sistema más que un requerimiento estaríamos diciendo que estas restricciones se cumplen con el solo hecho de pertenecer al sistema.

Autoevaluación
1.      ¿En qué consisite el diseño en tiempo real?
Hay dos diseños básicos:
Un sistema operativo guiado por eventos sólo cambia de tarea cuando un evento necesita
el servicio.
Uno de los algoritmos que suelen usarse para la asignación de prioridades es el Rate
Monotonic Schedule. Si el conjunto de tareas que tenemos es viable con alguna asignación
de prioridades fijas, también es viable con el Rate-Monotonic Schedule, donde la tarea
más prioritaria es la de menor periodo.

2.      ¿Qué son los sistemas de tiempo real?
Un sistema operativo de tiempo real (SOTR o RTOS -Real Time Operating System en
inglés) es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real.
Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo.
3.      ¿Cuáles son los sistemas operativos en tiempo real?
QNX
MaRTE OS
EasyTasks
LynxOS
RedHat Embedded Linux
eCos (Linux)
SOOS
Ubuntu Studio versión 8.04, sólo el núcleo (Linux)
VxWorks
Windows CE
Linchos
UNIX (Some)
DuinOS
RTA
Symbian4.
     ¿En qué consiste la siscronización y comunicación de tareas?
Dos tipos de sincronizacion entre tareas que se dan en los STR son:
La exclusion mutua: Se emplea cuando los datos compartidos pueden ser accesados
concurrentemente por dos o mas tareas. Para resolver este problema se hace uso de los
semaforos binarios. 
La sincronizacion condicional: Ocurre cuando una tarea esta esperando una señal de otra
tarea antes de que pueda proceder. Los semaforos binarios y la sincronizacion de eventos
se emplean para controlar esta situacion. 


jueves, 19 de julio de 2012

Actividad 16


Actividades Obligatorias
    • Empleando publicaciones comerciales o recursos de internet de información de fondo, defina un conjunto de criterios pra evaluar herramientas para la ingeniería de software cliente/servidor.
    • Un sistema raíz típicamente será una gran computadora, actúa como deposito de los datos corporativos. El sistema raíz esta conectado con servidores (típicamente son estaciones de trabajo potentes, o PC) y que poseen un doble papel. Los servidores actúan para actualizar y solicitar los datos corporativos mantenidos por el sistema raíz. Además mantienen sistemas departamentales locales y desempeñan un papel clave al poner en red los PC de nivel de usuario a través de una red de área local (LAN).
    • Investigue los últimos avances en el software para trabajo en grupo y desarrolle un resumen breve.
    • conjunto de programas informáticos que integran el trabajo en un sólo proyecto con muchos usuarios concurrentes que se encuentran en diversas estaciones de trabajo, conectadas a través de una red (internet o intranet).
    • Ofrezca ejemplos de de tres o cuatro mensajes que pudieran dar lugar a una solicitud de un metodo de cliente mantenido en el servidor
    • El diseño de datos domina el proceso de diseño. Para utilizar efectivamente las capacidades de un sistema de gestión de bases de datos relacional (SGBDR) o un sistema de gestión de bases de datos orientado a objetos (SGBDOO) el diseño de los datos pasa a ser todavía más significativo que en las aplicaciones convencionales. 
      • Cuando se selecciona el paradigma controlado por sucesos, el modelado del comportamiento (una actividad de análisis), deberá de realizarse y será preciso traducir los aspectos orientados al control implícitos en el modelo de comportamiento al modelo de diseño. 
      • El componente de interacción/presentación del usuario de un sistema C/S implementa todas aquellas funciones que se asocian típicamente con una interfaz gráfica de usuario (IGU). 
      • Suele seleccionarse un punto de vista orientado a objetos para el diseño. En lugar de la estructura secuencial que proporciona un lenguaje de procedimientos se proporciona una estructura de objetos mediante la vinculación entre los sucesos iniciados en la IGU y una función de gestión de sucesos que reside en el software basado en el cliente. 
    • Investigue cuales son los componentes de software para sistemas cliente/servidor
    • Presentación distribuida. En este enfoque la lógica de la base de datos y la lógica de la aplicación permanecen en el servidor, típicamente en una computadora central. El servidor contiene también la lógica para preparar información de pantalla, empleando un software tal como CICS. Se utiliza un software especial basado en PC para transformar la información de pantalla basada en caracteres que se transmite desde el servidor en una presentación IGU en un PC.
Actividades sugeridas
    • Sugiera cinco aplicaciones en las cuales un servidor principal parezca una estrategia de diseño adecuada
    • Presentación remota. La lógica primaria de la base de datos y de la aplicación permanecen en el servidor, y los datos enviados por el servidor serán utilizados por el cliente para preparar la presentación del usuario.
    • Presentación distribuida. En este enfoque la lógica de la base de datos y la lógica de la aplicación permanecen en el servidor, típicamente en una computadora central. El servidor contiene también la lógica para preparar información de pantalla, empleando un software tal como CICS. Se utiliza un software especial basado en PC para transformar la información de pantalla basada en caracteres que se transmite desde el servidor en una presentación IGU en un PC.
    • Lógica distribuida. Se asignan al cliente todas las tareas de presentación del usuario y también los procesos asociados a la introducción de datos tales como la validación de nivel de campo, la formulación de consultas de servidor, y las solicitudes de informaciones de actualizaciones del servidor. Se asignan al servidor las tareas de gestión de las bases de datos, y los procesos para las consultas del cliente, para actualizaciones de archivos del servidor, para control de versión de clientes, y para aplicaciones de ámbito general de la empresa.
    • Gestión de datos remota. Las aplicaciones del servidor crean una nueva fuente de datos dando formato a los datos que se han extraído de alguno otro lugar. Las aplicaciones asignadas al cliente se utilizan para explotar los nuevos datos a los que se ha dado formato mediante el servidor.
    • Bases de datos distribuidas. Los datos de que consta la base de datos se distribuyen entre múltiples clientes y servidores. Consiguientemente, el cliente debe de admitir componentes de software de gestión de datos así como componentes de aplicación y de IGU.
    • Sugiera cinco aplicaciones en las cuales el cliente principal parezca ser una estrategia de diseño adecuada
    • • El diseño de datos domina el proceso de diseño. Para utilizar efectivamente las capacidades de un sistema de gestión de bases de datos relacional (SGBDR) o un sistema de gestión de bases de datos orientado a objetos (SGBDOO) el diseño de los datos pasa a ser todavía más significativo que en las aplicaciones convencionales. 
      • Cuando se selecciona el paradigma controlado por sucesos, el modelado del comportamiento (una actividad de análisis), deberá de realizarse y será preciso traducir los aspectos orientados al control implícitos en el modelo de comportamiento al modelo de diseño. 
      • El componente de interacción/presentación del usuario de un sistema C/S implementa todas aquellas funciones que se asocian típicamente con una interfaz gráfica de usuario (IGU). 
      • Suele seleccionarse un punto de vista orientado a objetos para el diseño. En lugar de la estructura secuencial que proporciona un lenguaje de procedimientos se proporciona una estructura de objetos mediante la vinculación entre los sucesos iniciados en la IGU y una función de gestión de sucesos que reside en el software basado en el cliente. 
  • Investigue un lenguaje de consulta estructurado (SQL) y proporcione un breve ejemplo de la forma en que se podría caracterizar una transacción empleando ese lenguaje.
  • • MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL.
    • MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación.


  • Autoevaluación
    • 1. ¿En qué consiste el diseño en ambiente de redes?
    • Un sistema raíz típicamente será una gran computadora, actúa como deposito de los datos corporativos. El sistema raíz esta conectado con servidores (típicamente son estaciones de trabajo potentes, o PC) y que poseen un doble papel.
    • 2. ¿Cómo se debe ser la estructura de los sistemas cliente / servidor?
    • Cuando se esta desarrollando un software para su implementación empleando una arquitectura de computadoras concreta, el enfoque de diseño debe de considerar el entorno especifico de construcción.
    • 3. ¿Cuáles son las cinco configuraciones diferentes para la asignación de componentes de software?
    • Presentación distribuida. En este enfoque la lógica de la base de datos y la lógica de la aplicación permanecen en el servidor, típicamente en una computadora central. El servidor contiene también la lógica para preparar información de pantalla, empleando un software tal como CICS.
    • Presentación remota. La lógica primaria de la base de datos y de la aplicación permanecen en el servidor, y los datos enviados por el servidor serán utilizados por el cliente para preparar la presentación del usuario.
    • Lógica distribuida. Se asignan al cliente todas las tareas de presentación del usuario y también los procesos asociados a la introducción de datos tales como la validación de nivel de campo, la formulación de consultas de servidor, y las solicitudes de informaciones de actualizaciones del servidor.
    • Gestión de datos remota. Las aplicaciones del servidor crean una nueva fuente de datos dando formato a los datos que se han extraído de alguno otro lugar.
    • Bases de datos distribuidas. Los datos de que consta la base de datos se distribuyen entre múltiples clientes y servidores.
    • 4. ¿Cómo debe ser el diseño para sistemas cliente/servidor?
    • Cuando se diseña software para su implementación empleando una arquitectura cliente/servidor, el enfoque de diseño debe de ser "personalizado" para adecuarlo a los problemas siguientes:¿Para qué es necesario el diseño de bases de datos en el ambiente de redes? 
    • El diseño de datos domina el proceso de diseño. Para utilizar efectivamente las capacidades de un sistema de gestión de bases de datos relacional (SGBDR) o un sistema de gestión de bases de datos orientado a objetos (SGBDOO) el diseño de los datos pasa a ser todavía más significativo que en las aplicaciones convencionales. 
    • Cuando se selecciona el paradigma controlado por sucesos, el modelado del comportamiento (una actividad de análisis), deberá de realizarse y será preciso traducir los aspectos orientados al control implícitos en el modelo de comportamiento al modelo de diseño. 
    • El componente de interacción/presentación del usuario de un sistema C/S implementa todas aquellas funciones que se asocian típicamente con una interfaz gráfica de usuario (IGU). 
    • Suele seleccionarse un punto de vista orientado a objetos para el diseño. En lugar de la estructura secuencial que proporciona un lenguaje de procedimientos se proporciona una estructura de objetos mediante la vinculación entre los sucesos iniciados en la IGU y una función de gestión de sucesos que reside en el software basado en el cliente. 

    martes, 17 de julio de 2012

    Actividad 15


    Actividades Obligatorias
      • Liste algunos ejemplos de entidades y sus atributos.
      • la entidad de un empleado puede describir el nombre del empleado, su edad, su dirección, su salario, su trabajo específico
      • Defina el término metadato ¿cuál es su propósito?.
      • Son datos acerca de los datos del archivo o base de datos. Los metadatos describen el nombre dado y la longitud asignada a cada concepto de datos. Los metadatos también describen la longitud y composición de cada uno de los registros.
      • ¿Cuáles son las ventajas de organizar el almacenamiento de datos como archivos separados?
      • El uso de archivos separados con frecuencia implica que los mismos datos se almacenen en más de un lugar.
      • ¿Cuáles son las ventajas de organizar el almacenamiento de datos usando un enfoque de base de datos?
      • El enfoque de base de datos permite que diferentes usuarios compartan la misma base de datos, teniendo acceso a diferentes grupos de datos.
      • Liste los tipos de archivo usados comunmente en archivos convencionales ¿cuáles de éstos son archivos temporales?
        • Archivos maestros
        • Archivos de tablas
        • Archivos de transacción
        • Archivos de trabajo
        • Archivo para impresión
    Actividades sugeridas
      • ¿Qué sucede frecuentemente cuando se usa una organización de archivos revuelta?

      • Nombre los tres tipos principales de organización de base de datos
        • Estructura de datos jerárquica
        • Estructura en red de datos
        • Estructura de datos relaciónales
      • Indique las diferencias entre "ordenar" e "indexar".
      • La Indexación es la ordenación de manera lógica de los renglones de relación, con base a un determinado criterio y el ordenamiento es un arreglo secuencial de una relación.

    Autoevaluación
    1.      ¿Cual es el diseño de base de datos?

    Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseño de la base de datos, quizá las más fuertes sean:
    • La velocidad de acceso,
    • El tamaño de la información,
    • El tipo de la información,
    • Facilidad de acceso a la información,
    • Facilidad para extraer la información requerida,
    • El comportamiento del manejador de bases de datos con cada tipo de información.
    2.      ¿Qué son las bases de datos?
    De forma sencilla podemos indicar que una base de datos no es más que un conjunto de información relacionada que se encuentra agrupada o estructurada.
    3.      ¿cuáles son los tipos de archivos?

      Los archivos pueden ser usados para guardar datos durante un periodo indefinido de tiempo o pueden ser usados para guardar datos temporalmente para un propósito específico. Los archivos maestros y los archivos de tablas son usados para guardar datos durante un periodo largo. Los archivos temporales son llamados, por lo general, archivos de transacciones, archivos de trabajo o archivos de reporte.
    4.      ¿En que consiste la organización secuencial?

    Los archivos pueden ser usados para guardar datos durante un periodo indefinido de tiempo o pueden ser usados para guardar datos temporalmente para un propósito específico. Los archivos maestros y los archivos de tablas son usados para guardar datos durante un periodo largo. Los archivos temporales son llamados, por lo general, archivos de transacciones, archivos de trabajo o archivos de reporte.
    5.      ¿Cuáles son las listas encadenadas?

    Cuando se guardan archivos en dispositivos de acceso directo, tales como disco o tambor, las opciones se expanden. Los registros pueden ser ordenados en forma lógica, en vez de física, usando listas encadenadas. Las listas encadenadas se logran usando un juego de apuntadores para dirigirse al siguiente registro lógico que se encuentre ubicado en cualquier parte del archivo.