lunes, 24 de agosto de 2009

Teoría de Autómatas -Alfabetos, palabras y Lenguajes-

En clase se definieron los siguientes conceptos:

Alfabeto: conjunto finito no vacío de símbolos. como por ejemplo: el alfabeto castellano que tien 27 símbolos (las letras).
Palabra: secuencia finita de símbolos pertenecientes a un alfabeto. Se definió una palabra vacía como aquella palabra que carece de símbolo alguno. Algo similar a lo que es en programación una cadena vacía.

Lenguaje: conjunto de reglas sintácticas y semánticas definidas por un grupo de personas (comunidad) basadas en el uso d eun alfabeto y que indican la forma en que se componen aquellas palabras con un significado y la forma de ordenarlas para que las oraciones tengan sentido.

Expresiones regulares: aquellas expresiones que permiten formar patrones que determinan si una espresión es válida en un lenguaje o no.

Gramáticas: representadas por una tupla donde "A" es el conjunto de símbolos que componen el alfabeto, "N" es el conjunto de símbolos NO TERMINALES y que pertenencen al alfabeto (aquellos símbolos que pueden ir al inicio o en medio de la expresión, pero que no pueden ir al final), "T" es el conjunto de símbolos TERMINALES y que pertenecen al alfabeto (son los símbolos que van al final de una expresión. Como los N y los T son subconjuntos de A, puede darse el caso que N = A y que haya símbolos que pertenezcan tanto a N como a T).

De las gramáticas, las que nos interesan son las gramáticas libres de contexto. Ya que nos permiten generar lenguajes de una forma más flexible, ya que aprovecha la recursividad para definir la forma en que se forman las expresiones. Leer más...

Bases de Datos -Introducción-

En nuestra introducción a las Bases de Datos, se revisaron las capacidades de los DBMS (Data Base Management System) o SGBD (Sistemas Gestores de Bases de Datos) reconociendo que tienen las siguientes:

Atomicidad de Operaciones: esto quiere decir que deben permitir que un proceso compuesto por varias tareas se realice en su totalidad o en su defecto que no se realice ninguna operación. A esto se le suele llamar en términos de operación: Transacción.
Recupareción de errores: es la capacidad de los DBMS para que en caso de haber un fallo o error, la información no se vea comprometida y en todo caso, recuperar el estado original antes de que ocurriera el fallo.

Acceso a datos y niveles de seguridad: Deben poder definir formas de accesar a la información y determinar quién tiene acceso a qué parte de la información, estructural o de datos.

Integración con Software externo: Debe poder comunicarse con software que no sea parte integral del DBMS para el desarrollo de aplicaciones que utilicen los datos.

Integridad de datos: El DBMS debe asegurar en todo aspecto y en lo más posible que la información almacenada mantenga su estado de integridad en todo momento y proveer de mecanismos que la aseguren.

También se aclaró que un DBMS es más que el solo motor de Base de Datos. Leer más...

Redes de computadoras -Introducción-

Iniciamos el estudio del plan para este curso con algunos conceptos que nos ponen en línea del tema de interés.

Comunicación. De las posibles definiciones, encontramos como más adecuadas las siguientes: Medio de unión, Transmisión de la información al interior de un grupo, y que considera sus relaciones en la estructura de este grupo.
Sistema. Conjunto de elementos organizados y estructurados que trabajan como una entidad para realizar un trabajo
Distribuir. Lo definimos como organizar, repartir, asignar tareas entre diferentes integrantes de un equipo o un grupo.
Con lo que encontramos que un Sistema distribuido es un grupo de elementos que realizan diferentes funciones y trabajan como si fueran una sola entidad para realizar tareas distribuyendo las actividades (cálculos) necesarias para la ejecución del trabajo.
Concurrencia. Se define como la capacidad de realizar diversas tareas casi al mismo tiempo por una sonla entidad. También se maneja como la capacidad de que varias entidades utilicen casi a la vez un mismo recurso.
Paralelismo. Siendo paralelo el término para referirnos a que dos rectas están a la misma distancia a lo largo de todos sus puntos, Paralelismo lo definimos como la capacidad de realizar dos cosas a la vez por dos entidades (si graficamos para cada entidad, el tiempo en que realizan sus tareas respectivas, ambas líneas serían rectas paralelas)
Sincronización
Reloj global
Fallos independientes entre componentes Leer más...

sistemas operativos -Historia de Hw-

Aquí les dejo una presentación resumida de las generaciones de Hardware. esto se vió en la primera clase de Sistemas Operativos. Da clic en el siguiente enlace: Historia del Hardware

Para el caso que no puedan o quieran descargar...
Prólogo
1939 John Atanasoff y Clifford Berry prototipo de máquina electrónica en el Iowa State College (EEUU).
1943 Un equipo de científicos y matemáticos crearon lo que se consideró el primer ordenador digital totalmente electrónico: el Colossus. Fue utilizado por el equipo dirigido por Alan Turing para descodificar los mensajes de radio cifrados de los alemanes.
1944 Surge la primera computadora, al modo actual, que se pone en funcionamiento. El Dr. Howard Aiken la presenta como Mark I. Funcionaba eléctricamente, instrucciones e información se introducen mediante tarjetas perforadas y trabaja basada en principios electromecánicos.
1946 Terminada de construir por J.P.Eckert y J.W.Mauchly se le llamó ENIAC. Su sucesor tenía un almacenamiento de programa basado en los conceptos del matemático John Von Neumann. Las instrucciones se almacenaban dentro de una llamada memoria, lo que permitía resolver problemas sin necesidad de volver a conectarse al ordenador.
Primera Generación
  • Computadoras basadas en válvulas de vacío (bulbos)
  • Se programaban directamente sobre la máquina.
  • Máquinas grandes y pesadas. Alto consumo de energía.
  • Almacenamiento de la información en tambor magnético interior.
  • Continuas fallas o interrupciones en el proceso.
  • Requerían sistemas auxiliares de aire acondicionado especial. Alto costo
  • Uso de tarjetas perforadas para suministrar datos y los programas
  • Computadora representativa UNIVAC y utilizada en las elecciones presidenciales de los E.U.A. en 1952
Segunda Generación
  • Transistor como potente principal.
  • Disminución del tamaño.
  • Disminución del consumo y de la producción del calor.
  • Su fiabilidad alcanza metas inimaginables con los efímeros tubos al vacío.
  • Mayor rapidez, la velocidad de las operaciones ya no se mide en segundos sino en ms.
  • Memoria interna de núcleos de ferrita.
  • Instrumentos de almacenamiento: cintas y discos.
  • Mejoran los dispositivos de entrada y salida, para la mejor lectura de tarjetas perforadas, se disponía de células fotoeléctricas.
  • Introducción de elementos modulares.
  • Aumenta la confiabilidad.
  • Las impresoras aumentan su capacidad de trabajo.
Tercera Generación
  • Circuito integrado desarrollado en 1958 por Jack Kilbry.
  • Menor consumo de energía.
  • Apreciable reducción de espacio.
  • Aumento de fiabilidad y flexibilidad y la capacidad de almacenamiento.
  • Se reduce el tiempo de respuesta.
  • Generalización de lenguajes de programación de alto nivel.
  • Compatibilidad para compartir software entre diversos equipos.
  • Teleproceso, Multiprogramación, Tiempo Compartido.
  • Renovación de periféricos.
  • Instrumentación del sistema.
  • Ampliación de aplicaciones.
  • La mini computadora.
Cuarta Generación
  • Microprocesador
  • Se minimizan los circuitos, aumenta la capacidad de almacenamiento.
  • Reducen el tiempo de respuesta.
  • Gran expansión del uso de las Computadoras.
  • Memorias electrónicas más rápidas.
  • Sistemas de tratamiento de bases de datos.
  • Generalización de las aplicaciones: innumerables y afectan prácticamente a todos los campos de la actividad humana: Medicina, Hogar, Comercio, Educación, Agricultura, Administración, Diseño, Ingeniería, etc...
  • Multiproceso.
Quinta Generación
  • Mayor velocidad.
  • Mayor miniaturización de los elementos.
  • Aumenta la capacidad de memoria.
  • Multiprocesador.
  • Lenguaje Natural.
  • Lenguajes de programación: PROGOL (Programming Logic) y LISP (List Processing).
  • Máquinas activadas por la voz.
  • Capacidad de traducción entre lenguajes.
  • Elaboración inteligente del saber y número tratamiento de datos.
  • Características de procesamiento similares al procesamiento Humano.
Leer más...