lunes, 13 de marzo de 2017

Unidad #1 Perspectiva practica de la administracion de bases de datos


1.1. Administrador de Base de Datos (DBA)

Un administrador de bases de datos (o DBA) tiene la responsabilidad de mantener y operar las bases de datos que conforman el sistema de información de una compañía.

Debido a la importancia de los datos que están a su cargo, el administrador de bases de datos debe ser experto en TI (tecnología de la información), teniendo particular conocimiento de DBMS (sistemas de administración de bases de datos) y el lenguaje de consulta SQL. También debe tener conocimiento de varios tipos de lenguaje de programación para poder automatizar ciertas tareas.

Una de sus tareas es la de asegurar la integridad del sistema de información de la compañía. Además, es necesario que posea un buen entendimiento de DBMS para optimizar las consultas, ajustar la configuración de DBMS o para sincronizar en forma precisa las herramientas de control del acceso a las bases de datos.
Es posible que el administrador de bases de datos tenga que brindar asistencia técnica a usuarios de las aplicaciones cliente o equipos de desarrollo para solucionar problemas, dar consejos o ayudar a resolver consultas complicadas.

1.1.1 Funciones de un DBA

Los DBA realizan pruebas de rendimiento, pruebas de impacto, pruebas funcionales, pruebas de código, pruebas de carga de datos, pruebas de implementación y pruebas de integración en proyectos Investigación, desarrollo e innovación. Para la ejecución de pruebas es necesario aplicar las metodologías basadas en Ingeniería del software, sus aplicaciones funcionales y los requerimientos de calidad, añadiendo las líneas base de la ingeniería requerimientos en la inteligencia de negocios y las tecnologías de la información. Algunas de las actividades más relevantes de un DBA son:

  •  Analistas de datos.
  • Analistas de sistemas.
  • Analistas de programación.
  • Administradores de bases de datos.
  • Consultores de sistemas.
  • Consultores de tecnologías de la información.
  • Consultores de aplicaciones.
  • Consultores de programación.
  • Programadores de bases de datos.
  • Programadores de procesos de negocio.
  • Integradores de datos.
  • Ingenieros de datos.
  • Ingenieros estadísticos.
  • Jefes de centros de datos.
  • Coordinadores de área



1.1.2 Relación del DBA con otras áreas de la Sistemas.

En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es sólo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales. Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.





1.2 Análisis de los Manejadores de Bases de Datos

SGBD                         
Características
Requerimientos (de instalación)
Microsoft  SQL Server (2012)






SQL Server 2012 brindará a los usuarios grandes avances en tres campos principales:
Confianza de misión crítica con mayor tiempo activo, rendimiento ultra rápido y características mejoradas de seguridad para cargas de trabajo de misión crítica.
Avances innovadores con exploración de datos de auto-servicio administrado y capacidades asombrosas e interactivas de visualización de datos.
La nube en sus propios términos al habilitar la creación y extensión de soluciones a lo largo de la nube en las instalaciones y en la nube pública.
Memoria:
·  Mínimo: 1 GB
· Se recomienda: al menos 4 GB y debe aumentar a medida que el tamaño de la base de datos aumente para asegurar un rendimiento óptimo.
Velocidad del procesador:
· Mínimo: Procesador x86: 1,0 GHz o Procesador x64: 1,4 GHz
· Recomendado: 2 GHz o más
Procesador:
·Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T Intel Pentium IV compatible con EM64T
·  Procesador x86: compatible con Pentium III o superior
Microsoft Access




Compile bases de datos más rápida y fácilmente que nunca.
Cree formularios e informes más impactantes.
Obtenga acceso más fácilmente a las herramientas adecuadas en el momento exacto.
Agregue expresiones complejas y automatización sin escribir ni una línea de código.
Obtenga una ubicación central para los datos.
Obtenga acceso a la base de datos de formas nuevas.
Procesador: 500 Megahertz (MHz) o más veloz.
Memoria (RAM): 256 Megabytes (MB) de RAM o más.
Espacio en disco duro: 1.5 GiB.
Pantalla (monitor): resolución de 1024×768 o superior.
Sistema operativo: Windows XP con Service Pack 3 (SP3) (sólo 32bits) o Windows Vista SP1, Windows 7, Windows Server 2003 R2 con MSXML 6.0, Windows Server 2008.
My SQL



·   Escrito en C y en C++
·  Probado con un amplio rango de compiladores diferentes
·  Funciona en diferentes plataformas
·  Proporciona sistemas de almacenamiento transaccionales y no transaccionales
·  Un sistema de reserva de memoria muy rápido basado en threads
· Un sistema de privilegios y contraseñas que es muy flexible y seguro, y que permite verificación basada en el host
Suficiente espacio en disco rígido para descomprimir, instalar, y crear las bases de datos de acuerdo a sus requisitos. Generalmente se recomienda un mínimo de 200 megabytes.
Un sistema operativo Windows de 32 bits, tal como 9x, Me, NT, 2000, XP, o Windows Server 2003.
Soporte para protocolo TCP/IP.
InterBase




InterBase nos garantiza que es un producto fiable y robusto, probado exhaustivamente y que ofrece unos buenos niveles de seguridad.
Código Abierto
Mantenimiento prácticamente nulo
Bajo Coste de Desarrollo
Tráfico de red reducido
Integración en Herramientas de Desarrollo
Versiones soportadas de Sistema Operativo: Windows 95 / Windows 98 / Windows NT Workstation 4.x / Windows 2000
Protocolos soportados: TCP/IP
Instalación: Un programa de cliente "shim" es cargado en los clientes. Éste cargará los programas apropiados del Servidor para completar la instalación.
Hardware (Mínimo): Pentium P100 como mínimo absoluto. 64Mb RAM., Disco Duro de 500Mb o similar, Tarjeta de red
Hardware (recomendado): PC Pentium PIII 1GHz, 128Mb RAM, Disco Duro de 4.0Gb, tarjeta de red
Oracle


· Admite varias opciones de soportes de arranque.
· Ayuda en la instalación del sistema operativo.
· Proporciona un juego específico de capacidades de procesador de servicio y de configuración de Oracle ILOM.
·  Capacidades de administración y de solución de problemas.
Sistema operativo: Windows 2000 Advanced Server SP4, Windows XP SP2, Windows 2003 Enterprise Server SP1 (32 bit), Windows 2003 Enterprise Server SP1 (64 bit)
Memoria mínima: 1 GB
Memoria recomendada: 2 GB
Espacio en disco mínimo: 500 MB de espacio libre
Espacio en disco recomendado: 1 GB de espacio libre
DB2




DB2 UDB es un sistema para administración de bases de datos relacionales (RDBMS) multiplataforma, especialmente diseñada para ambientes distribuídos, permitiendo que los usuarios locales compartan información con los recursos centrales.
Sistema operativo: Windows XP Professional,  Vista Business, Vista Enterprise, Vista Ultimate, 7 Professional, 7 Enterprise, 7 Ultimate, 8 Standard, 8 Professional
Hardware: Todos los procesadores Intel y AMD capaces de ejecutar los sistemas operativos Windows.
DBase





Convertir sus datos en Información valiosa.
Gestiona visualmente los archivos de aplicaciones.
Genera automáticamente código SQL libre de errores.
Crear fácilmente EXE’s de 32 bits.
Agrupar y definir fácilmente las relaciones entre componentes visuales a través de los Contenedores de Objetos.
• Windows XP SP2
•Intel Pentium 4, 2.40GHz SP2 32bits
•  512MB de RAM
•  25mb En el disco duro
Paradox




Contiene nuevas librerías de ayuda especializadas para que usted cree y ejecute el lenguaje de Consulta Estructurado (SQL) sin teclear el código.
Paradox agrega un diseñador para crear las formas de Web en una Plataforma independiente.
Windows 95, Windows 98, o Windows NT® 4.0
Procesador 486/66 DX o mayor
16 MB RAM (32 RAM recomendado)
65 MB de espacio en Disco Duro



1.3. Consideraciones para elegir un buen DBMS


Consideración al Elegir un DBMS:

Número de Usuarios: Cantidad máxima de personas que tengan todo tipo de contacto con el sistema de base de datos desde que éste se diseña, elabora, termina y se usa
Número de Transacciones: Son las cantidades de transacciones reales promovidas por eventos como la compra de un producto, la inscripción a un curso o la realización de un depósito.
Cantidad de Datos para Almacenar: Hace referencia a la capacidad de registros que se puede almacenar o de recuperar su estado en un momento previo a la pérdida de datos.
Consistencia de la Información: Impedir que exista información inconsistente o contradictoria en la BD. Surge cuando existen varias copias del mismo dato y tras la modificación de una de ellas, las demás no son actualizadas, o lo son pero de forma incorrecta.
Experiencia Propia o Externa: Contar con el conocimiento necesario para la interacción con el BDSM y de esa manera poder realizar las tareas que se nos han presupuesto.
Que OS se Implementará: Si no se tiene un sistema operativo en base al SGBD y esto también tendría consideraciones como la operatividad y la capacidad de administración de un servidor en tal o cual SO y los gastos que implicarían su mantenimiento.


1.4. Nuevas Tecnologías y Aplicaciones de los Sistemas de Bases de Datos

Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicación sino de una Organización entera que los va a utilizar; se integran las aplicaciones, se diferencian las estructuras lógicas y físicas. El concepto de relación cobra importancia. Originalmente las aplicaciones cubrían necesidades muy específicas de procesamiento, se centraban en una tarea específica. Las bases de datos evitan las inconsistencias que se producían por la utilización de los mismos datos lógicos desde distintos archivos a través de procesos independientes.
El mundo real considera interrelaciones entre datos y restricciones semánticas que deben estar presentes en una base de datos. No solo debe almacenar entidades y atributos, sino que también debe almacenar interrelaciones entre datos.
 La redundancia de datos debe ser controlada, pero si se admite cierta redundancia física por motivos de eficiencia.
Pretenden servir a toda la organización.
 La independencia de los tratamientos sobre los datos y estos mismos, ha tenido una enorme influencia en la arquitectura de los SGBD.
La definición y descripción del conjunto de datos contenido en la base debe ser única e integrada con los mismos datos.
La actualización y recuperación de las bases de datos debe realizarse mediante procesos incluidos en SGBD, de modo que se mantenga la integridad, seguridad y confidencialidad de la base.
Las limitaciones de los sistemas orientados a archivos puramente secuenciales no los privaron de ser herramientas eficaces para producir pagos, facturas y otros informes una o dos veces al mes. Sin embargo, para ejecutar muchas tareas rutinarias en los negocios se necesita el acceso directo a los datos -La capacidad de tener acceso y procesar directamente un registro dado sin ordenar primero el archivo o leer los registros en secuencia.
Los archivos de acceso directo permiten la recuperación de los registros aleatoriamente, a diferencia de los de acceso secuencial. Sin embargo, los archivos de acceso directo solamente proporcionaron una solución parcial. Para lograr una solución más completa a estos problemas fue necesario introducir los sistemas de gestión de bases de datos.
Los usuarios cada vez necesitamos más recursos en tecnología, es por eso que surgen las evoluciones de sistemas, y por ende de las bases de datos, es impresionante ver como la información se procesa en microsegundos, mientras se realizan transacciones al mismo tiempo en la misma base de datos en lugares y estados diferentes.
La importancia de la información es lo que ha llevado a que las empresas y otras instituciones inviertan para la seguridad de sus datos, el futuro de la tecnología es incierto debido a que algunas proyecciones de tecnología estimadas hace 5 años y proyectadas hasta los próximos 10 años ya son una realidad, la tecnología avanza a pasos agigantados es por eso que no debemos quedarnos atrás y apostar a las nuevas tecnologías que sin duda harán más fácil la vida de las personas que tratamos con la administración y seguridad de la información.
Tanto en uno como en otro papel, la tecnología de bases de datos se ve sometida a numerosos cambios tanto desde el punto de vista empresarial como tecnológico. Las nuevas aplicaciones están llevando hasta el límite a los sistemas de bases de datos disponibles, al incorporar documentos multimedia.

Referencia: Link

Unidad #1 Introducción al lenguaje ensamblador

1.1 Importancia de la programación en lenguaje ensamblador

Definición: El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria.

1.2 EL PROCESADOR Y SUS REGISTROS INTERNOS

Ø  Definición de registros:

Un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.

Ø  Función de los registros:

Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits“.

 La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.

Algunos registros básicos:

Dentro del conjunto básico de registros de control se deben incluir a los siguientes:
A. Contador de programa (PC).
B. Registro de direcciones de la memoria (MAR).
C. Registro de datos (RD).
D. Registro de instrucciones (IR).
E. Palabra de estado de programa (PSW).

Función del PC
La función del PC consiste en seguir la pista de la instrucción por buscar (capturar) en el siguiente ciclo de máquina, por lo tanto contiene la dirección de la siguiente instrucción por ejecutar. El PC es modificado dentro del ciclo de búsqueda de la instrucción actual mediante la suma de una constante. El número que se agrega al PC es la longitud de una instrucción en palabras.

Función de MAR
 Funciona como registro de enlace entre la CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la dirección es colocada en el MAR por la unidad de control y ahí permanece hasta que se completa la transacción. El número de bit que hay en el MAR es igual al del canal de direcciones.

Función de RD
La función del RD consiste en proporcionar un área de almacenamiento temporal (memoria intermedia, acumulada o buffer) de datos que se intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones (obtenidos en el ciclo de ejecución) o datos del operando (obtenidos en el ciclo de ejecución). Debido a su conexión directa con el canal de datos el RD contiene el mismo número de bit que dicho canal.

Función de IR
Es un registro que conserva el código de operación de la instrucción en todo el ciclo de la máquina. El código es empleado por la unidad de control de la CPU para generar las señales apropiadas que controla le ejecución de la instrucción. La longitud del ER es la longitud en bit del código de operación.

Función de PSW
 La palabra de estado o condición de programa almacena información pertinente sobre el programa que este ejecutándose.

Además el PSW contiene bit que hacen posible que la computadora responda a solicitudes de servicio asincrónicas generadas por dispositivos de Entrada-Salida, o condiciones de error interno. Estas señales se denominan interrupciones.


1.3 Memoria Principal (RAM)

RAM es el acrónimo inglés de Random Access Memory (memoria de acceso aleatorio). La memoria principal está formada por un conjunto de unidades llamadas palabras.

Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella (puede darse el caso de que una sola instrucción necesite varia palabras), o un dato o parte de un dato (también un dato puede ocupar varias palabras).
A la cantidad de palabras que forman la MP se le denomina capacidad de memoria.

Una palabra está formada a su vez de unidades más elementales llamadas bits, del mismo modo que en el lenguaje natural una palabra está formada por letras.




1.4 CONCEPTO DE INTERRUPCIONES

Una interrupción es una situación especial que suspende la ejecución de un programa de modo que el sistema pueda realizar una acción para tratarla. Tal situación se da, por ejemplo, cuando un periférico requiere la atención del procesador para realizar una operación de E/S.

PASOS PARA EL PROCESAMIENTO

1. Terminar la ejecución de la instrucción máquina en curso.

2. Salva el valor de contador de programa, IP, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción.

3. La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción.


4. Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado en la pila en el paso 2 y retorna al programa que se estaba usando anteriormente.

1.5 LLAMADAS A SERVICIOS DEL SISTEMA
 
Una llamada al sistema es un método o función que puede invocar un proceso para solicitar un cierto servicio al sistema operativo. Dado que el acceso a ciertos recursos del sistema requieren la ejecución de código en modo privilegiado, el sistema operativo ofrece un conjunto de métodos o funciones que el programa puede emplear para acceder a dichos recursos. En otras palabras, el sistema operativo actúa como intermediario, ofreciendo una interfaz de programación (API) que el programa puede usar en cualquier momento para solicitar recursos gestionados por el sistema operativo.

Algunos ejemplos de llamadas al sistema son las siguientes:

Time: que permite obtener la fecha y hora del sistema.

Write: que se emplea para escribir un dato en un cierto dispositivo de salida, tales como una pantalla o un disco magnético.

Read: que es usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético.

Open: que es usada para obtener un descriptor de un fichero del sistema, ese fichero suele pasarse a write.

1.6 MODOS DE DIRECCIONAMIENTO
 
•Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción en lenguaje ensamblador.


•Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.


1.7 PROCESO DE ENSAMBLADO Y LIGADO
 
1. El programa utiliza un editor de texto para crear un archivo de texto ASCII, conocido como archivo de código fuente.

2. El ensamblador lee el archivo de código fuete y produce un archivo de código objeto, una traducción del programa a lenguaje máquina. De manera opcional, produce un archivo de listado. Si ocurre un error, el programador debe regresar al paso 1 y corregir el programa. 

3. El enlazador lee el archivo de código objeto y verifica si el programa contiene alguna llamada a los procedimientos en una biblioteca de enlace. El enlazador copia cualquier procedimiento requerido de la biblioteca de enlace, lo combina con el archivo de código objeto y produce el archivo ejecutable. De manera opcional, el enlazador puede producir un archivo de mapa.


4. La herramienta cargador (loader) del sistema operativo lee el archivo ejecutable y lo carga en memoria, y bifurca la CPU hacia la dirección inicial del programa, para que éste empiece a ejecutarse.

1.8 DESPLEGADO DE MENSAJES EN EL MONITOR
 
•Todos los gráficos y el texto que se muestran en el monitor se escriben en la RAM de visualización de video, para después enviarlos al monitor mediante el controlador de video. El controlador de video es en sí un microprocesador de propósito especial, que libera a la CPU principal del trabajo de controlar el hardware de video.

•Un monitor de pantalla de cristal líquido (LCD) digital directo recibe un flujo de bits digitales directamente desde el controlador de video, y no requiere del barrido de trama.



Referencias:
https://es.slideshare.net/romo91/el-procesador-y-sus-registros-internos
http://leo-yac.wixsite.com/lenguaje-ensamblador/llamadas-a-servicios-del-sistema
http://leo-yac.wixsite.com/lenguaje-ensamblador/modos-de-direccionamiento
http://leo-yac.wixsite.com/lenguaje-ensamblador/desplegado-de-mensaje-en-el-monitor