domingo, 28 de enero de 2018

Lenguaje Ensamblador

¿Qué es?

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas informáticos de bajo nivel, y constituye la representación más directa del Código máquina específico para cada arquitectura de computadoras legible por un programador. Aun hoy se utiliza en la programación de handler o manipuladores de dispositivos de hardware.

¿Donde se utiliza el lenguaje ensamblador?


El lenguaje ensamblador trabaja directamente con el microprocesador de una máquina, es decir, programamos un microprocesador con este lenguaje, también lo podemos utilizar para desarrollar controladores de dispositivos (Drivers) y sistemas operativos de computadoras.

Características

  • El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca más bien al lenguaje máquina, es decir, lenguaje de bajo nivel.
  • El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un Microprocesador, suele necesitar ser modificado, muchas veces en su totalidad para poder ser usado en otra máquina distinta, aun con el mismo Microprocesador, solo pueden ser reutilizados secciones especiales del código programado.
  • Los programas hechos en lenguaje ensamblador, al ser programado directamente sobre Hardware, son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel. 
  • Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un Microprocesador por lo que se pueden crear segmentos de código difíciles de programar en un lenguaje de alto nivel.
  • También se puede controlar el tiempo en que tarda una Rutina en ejecutarse, e impedir que se interrumpa durante su ejecución.
  • El lenguaje ensamblador es un código estructurado y gravitatorio desarrollado sobre un archivo de programación (.ASM), en el cual pueden existir varios programas, macros o rutinas que pueden ser llamados entre si.

Todo sobre los registros de un procesador

¿Qué es un registro?

En arquitectura de ordenadores, 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.

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". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas.

El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que se usan con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.

Tipos de registros 

  • Los registros de datos se usan para guardar números enteros. En algunas computadoras antiguas, existía un único registro donde se guardaba toda la información, llamado acumulador.
  • Los registros de memoria se usan para guardar exclusivamente direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las direcciones tenían un tamaño de palabra distinto que los datos.
  • Los registros de propósito general (en inglés GPRs o General Purpose Registers) pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR.
  • Los registros de coma flotante se usan para guardar datos en formato de coma flotante.
  • Los registros constantes tienen valores creados por hardware de sólo lectura. Por ejemplo, en MIPS el registro cero siempre vale 0.
  • Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado.

jueves, 25 de enero de 2018

Lo básico de los Administradores de Base de Datos

1.1 Administrador de Base de Datos (DBA)

Un administrador de bases de datos (también conocido como DBA, en inglés database administrator) es aquel profesional que administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos, y de la calidad de datos.1
Sus tareas incluyen las siguientes:
  • Implementar, dar soporte y gestionar bases de datos corporativas.
  • Crear y configurar bases de datos relacionales.
  • Ser responsables de la integridad de los datos y la disponibilidad.
  • Diseñar, desplegar y monitorizar servidores de bases de datos.
  • Diseñar la distribución de los datos y las soluciones de almacenamiento.
  • Garantizar la seguridad de las bases de datos, realizar copias de seguridad y llevar a cabo la recuperación de desastres.
  • Planificar e implementar el aprovisionamiento de los datos y aplicaciones.
  • Diseñar planes de contingencia.
  • Diseñar y crear las bases de datos corporativas de soluciones avanzadas.
  • Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios.
  • Producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas.
Los administradores de bases de datos tienen competencias y capacidades en uno o más sistemas de gestión de bases de datos, algunos ejemplos: Microsoft SQL Server, IBM DB2, Oracle MySQL, Oracle database, IBM Informix y SQL Anywhere.
Los factores de éxito en la carrera del DBA se versan sobre las cualificaciones en los avances de las tecnologías de gestión del almacenamiento, los avances en sistemas gestores de bases de datos y requerimientos de cualificación para cada proyecto como garantía de calidad necesaria en el rol a asignar, incluyendo, técnicas avanzadas de gestión de infraestructuras tecnológicas, la gestión de protocolos y servicios de redes, la optimización de código de programación, garantizar el procesamiento eficaz de información, la gestión de interfaces integrales para el tratamiento de datos, la gestión de cambios, la gestión por objetivos y las gestión por resultados. Se definen algunos aspectos que incluye la profesión del DBA:
  • Profesional de software de fabricante - Profesionales acreditados en administración de bases de datos y tecnologías específicas, desde, tecnólogos, ingenieros, post-graduados, másteres y doctorados(en proyectos de investigación como en biotecnologías y tratamiento de datos de Genómica, por ejemplo).
  • Optimización de software - Realización de tareas de mejora y solución de problemas en los niveles de servicios implicados.
  • Ingeniería del software y Herramientas CASE - Diseño, Planeación, implementación y gestión de arquitecturas e infraestructuras software.
  • Ingeniería de requerimientos - Estudios de funcionalidad y compatibilidad en la analítica del negocio.
  • Tecnologías de almacenamiento - Coordinación de Racks, plataformas hardware & software de sistemas operativos, cabinas de almacenamiento, sistemas de particionamiento, Centro de procesamiento de datos y comunicaciones.
  • Desastres y recuperación - Implementación de copias de seguridad y centros de respaldo.
  • Integridad de datos - Integrar proyectos compatibles de formato controlando la consistencia de los datos desde los requerimientos del desarrollo hasta la integración de los sistemas con las líneas del negocio.
  • Seguridad tecnológica - Brindar las soluciones en los estudios de gestión de riesgos y estudios avanzados (Guerra informática, guerra digital o ciberguerra).
  • Disponibilidad - Asegurar la continuidad de los servicios de las bases de datos "full time, 24x7, non stop database, open 369".
  • Análisis de sistemas - Analizar ciclos de procesamiento y el retorno funcional de todas las capas de negocio.
  • Realizar pruebas de software y de hardware.
  • Gestión de proyectos.
1.1.1 Funciones de DBA
  • Preocuparse de que los servicios están operativos. el Database Engine,  SQL Server Agent, SSIS y reporting Services.
  • Atender las alertas de los sistemas.
  • Atender el fallo de los jobs. o sea comprobar que los jobs se ejecutan correctamente.
  • Mantener el software actualizado aplicando los service packs.
  • Diseñar y ejecutar el Plan de Recuperación para Desastres. Básicamente planear y ejecutar copias de seguridad así como comprobar la validez de las copias de seguridad.
  • Diseñar y ejecutar alta disponibilidad de los sistemas. Clustering, mirroning, log shipping, Always On, etc.
  • Precuparse por el rendimiento de los sistemas y solucionar problemas de rendimiento.
  • Mantener saludables las bases de datos: reindexación, shinking, actualización de estadísticas, etc.
  • Preocuparse porque las bases de datos tengan suficiente espacio en disco.
  • Apagar fuegos. Es decir, solucionar cualquier problema de operatividad de los sistemas de bases de datos.
  • Instalar y configurar los servicios de base de base de datos y otros servicios auxiliares.
  • Pelearse con el departamento de almacenamiento (los de las cabinas y las SAN's) para que den los discos adecuados para las bases de datos. No sabes lo difícil que es que te den un RAID 10 para los datos y un RAID 1 para el registro de transacciones con el suficiente espacio.
  • Pelearte con los de sistemas para cosas como por ejemplo que te pongan un controlador de dominio cerquita del  servidor de base de datos o que te instalen y configuren a tu gusto el servicio de clustering para instalar el SQL Server en el cluster. O que te creen las cuentas adecuadas con los permisos adecuados en el dominio para los servicios de SQL Server.
  • Pelearte con los de redes para que las aplicaciones cliente tengan buena conectividad con los servidores de base de datos. El servidor de base de datos con el controlador de dominio, y el Data Protection Manager si lo tienes.
  • Dominar por completo todas y cada una de las características de SQL Server. Y estudiar y  probar cada nueva versión que salga.
  • Precuparse por la seguridad de los sistemas de bases de datos y crear logins y conceder permisos.
  • Diseñar la estructura de ficheros de las bases de datos.
  • Asistir, aconsejar y ayudar al equipo de desarrollo en el aspecto del diseño de las bases de datos, creación de consultas, procedimientos, otros objetos de base de datos, etc.
  • Asistir,  aconsejar y sugerir a los jefes sobre cambios en los 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.



Leer más: https://proyecto359.webnode.mx/unidad1/
 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.

Leer más: https://proyecto359.webnode.mx/unidad1/
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.

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.

Leer más: https://proyecto359.webnode.mx/unidad1/

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.

Leer más: https://proyecto359.webnode.mx/unidad1/

Ejercicios de macros 03/05/2018 - 17/05/2018

 RESTA  http://blogdegraficacion.blogspot.mx/ restas macro p, s     mov al, p     sub al, s     add al, 30h     mov resta, a...