<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.ecured.cu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cruz01012jcscu</id>
	<title>EcuRed - Contribuciones del colaborador [es]</title>
	<link rel="self" type="application/atom+xml" href="https://www.ecured.cu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cruz01012jcscu"/>
	<link rel="alternate" type="text/html" href="https://www.ecured.cu/Especial:Contribuciones/Cruz01012jcscu"/>
	<updated>2026-06-17T10:26:28Z</updated>
	<subtitle>Contribuciones del colaborador</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Go_(lenguaje_de_programaci%C3%B3n)&amp;diff=1633745</id>
		<title>Go (lenguaje de programación)</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Go_(lenguaje_de_programaci%C3%B3n)&amp;diff=1633745"/>
		<updated>2012-08-24T16:45:58Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= Go |familia= compilado concurrente, imperativo, estructurado |imagen= 200px Lenguajes de programación. |tamaño=...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Go&lt;br /&gt;
|familia= compilado concurrente, imperativo, estructurado&lt;br /&gt;
|imagen=&lt;br /&gt;
[[Archivo:Lenguajes.png|thumb|right|200px Lenguajes de programación.]]&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=Robert Griesemer, Rob Pike y Ken Thompson&lt;br /&gt;
|desarrollador=Google&lt;br /&gt;
|diseñador= Robert Griesemer, Rob Pike y Ken Thompson&lt;br /&gt;
|modelo de desarrollo= &lt;br /&gt;
|lanzamiento&lt;br /&gt;
inicial=Noviembre del 2009&lt;br /&gt;
|versiones=&lt;br /&gt;
|última&lt;br /&gt;
versión estable= 1.01(28 de marzo de 2012)&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas&lt;br /&gt;
operativos= GNU/Linux, MacOS X,Windows,Otros&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia= BSD&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
http://golang.org/&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'''Lenguaje de Programación Go''': nuevo [[lenguaje de programación]] para sistemas lanzado por [[Google]] en Noviembre del 2009 cuyo desarrollo comenzó en septiembre del 2007 por Robert Griesemer, Rob Pike y Ken Thompson. Es un lenguaje de programación compilado, [http://www.ecured.cu/index.php/Programaci%C3%B3n_Concurrente concurrente], [http://www.ecured.cu/index.php/Lenguaje_de_Programaci%C3%B3n#Lenguaje_de_programaci.C3.B3n_imperativo imperativo], estructurado, no orientado a objetos —de una manera bastante especial— y con recolector de basura, soportado en diferentes tipos de sistemas.&lt;br /&gt;
 &lt;br /&gt;
==Características==&lt;br /&gt;
GO proviene de la fusión de varios lenguajes de familias de donde desciende, entre ellos el [http://www.ecured.cu/index.php/Lenguaje_de_Programaci%C3%B3n_C lenguaje C]. Aún así incorpora elementos de [[Python]] (recordemos que es lenguaje preferido de Google, además que el creador de este lenguaje, trabaja también allí), así como de la familia de  [[Pascal]]/[[Modula]]/Oberon entre otros programas dinámicos.&lt;br /&gt;
Google no solamente pretende el diseñar un lenguaje de programación que sea bastante eficiente, sino que este lenguaje sea usado masivamente por miles de desarrolladores en la creación de aplicaciones [[web]] y de [[software]] a nivel mundial&lt;br /&gt;
Este proyecto combina el rendimiento y las prestaciones de seguridad propios de un lenguaje compilado como [[C++]] con la velocidad de un lenguaje dinámico como Python.&lt;br /&gt;
&lt;br /&gt;
El proyecto Go, concebido inicialmente para poder escribir de forma optimizada el software que Google utiliza internamente, está siendo desarrollado, entre otras razones, para dar respuesta a las necesidades de programadores que se posicionan contra la complejidad de sistemas como [[Java ]] y C++.&lt;br /&gt;
&lt;br /&gt;
La sintaxis del lenguaje de programación Go es muy parecida a la de C y es de código abierto.&lt;br /&gt;
====Concurrente====&lt;br /&gt;
Es un lenguaje concurrente que soporta canales de comunicación basados en el lenguaje CSP de Sir Charles Antony Richard Hoare. La concurrencia en Go es diferente a los criterios de programación basados en bloqueos como pthreads.&lt;br /&gt;
====Recolector de basura====&lt;br /&gt;
Go implementa un recolector de basura como la mayoría de los lenguajes modernos.&lt;br /&gt;
====Simplicidad====&lt;br /&gt;
Los lenguajes más utilizados como C++, Java o C# son más pesados y voluminosos. La sencillez es la característica principal de Go, su sintaxis es clara y concisa. Mientras que C es tristemente célebre por la complejidad de la sintaxis de sus declaraciones, Go utiliza inferencia implícita de tipos pudiéndose de esta manera evitar la declaración explícita de variables. La declaración de variables es simple y conveniente, y difiere de la de C.&lt;br /&gt;
====Tipificación dinámica====Go admite la tipificación dinámica de datos también conocida como duck Typing presente en multitud de lenguajes dinámicos como por ejemplo [[JavaScript]], [[Ruby]] o Python. Un struct puede implementar una interfaz de forma automática, lo cual es una característica potente y novedosa.&lt;br /&gt;
====Goroutines====&lt;br /&gt;
No son ni threads, ni co-rutinas ni procesos. La comunicación entre goroutines se realiza a través de una característica del lenguaje llamada canales —basada en CSP—, que es mcho más seguro y fácil de usar que los sistemas predominantes basados en bloqueos de pthreads o características modernas de Java&lt;br /&gt;
====Innovación====&lt;br /&gt;
Durante muchos años, los desarrolladores hemos tenido que elegir entre lenguajes de programación de tipado estático compilados, por regla general, bastante complejos pero que proveen grandes características relacionadas con la optimización y el rendimiento y lenguajes de tipado dinámico interpretados con características de mucho más alto nivel que hacían su aprendizaje, uso y sintaxis más sencilla y por tanto divertido programar en ellos, eso si, sacrificando rendimiento y control.&lt;br /&gt;
Go mezcla lo mejor de ambos mundos y nos aporta una sintaxis sencilla, clara y divertida junto a la potencia que nos ofrece un lenguaje fuertemente tipado y compilado incorporando además características de alto nivel que facilitan el uso del lenguaje por los desarrolladores.&lt;br /&gt;
==Diferencias principales con C==Go difiere mucho con C, aunque su sintaxis es similar. &lt;br /&gt;
====Declaraciones al revés====&lt;br /&gt;
En Go las declaraciones se realizan al revés desde la perspectiva de C (o C++ o Java). La idea principal en C es que se declara una variable como una expresión que denota su tipo. Según los creadores, aunque la idea detrás de la declaración de tipos en C es buena, los tipos y las expresiones gramaticales no se mezclan demasiado bien y el resultado puede ser confuso. Go sin embargo, separa la expresión y la sintaxis de tipo lo cual simplifica las cosas (el prefijo * para los punteros es la excepción que confirma la regla). Una declaración típica en C sería:&lt;br /&gt;
int* i, j;&lt;br /&gt;
&lt;br /&gt;
Declara que i es un puntero, pero no j. En Go:&lt;br /&gt;
var i, j *int&lt;br /&gt;
&lt;br /&gt;
Se declaran las dos variables como punteros. Es más claro y natural.&lt;br /&gt;
====Semicolon====&lt;br /&gt;
En Go el uso de semicolon “;“ al final de una instrucción es opcional.&lt;br /&gt;
 &lt;br /&gt;
==Aritmética de punteros==&lt;br /&gt;
Go no tiene aritmética de punteros, según los creadores, la razón es la seguridad. Sin aritmética de punteros es posible crear un lenguaje en el que no se puede obtener una dirección ilegal que sea usada de forma incorrecta. La falta de aritmética de punteros simplifica la implementación del recolector de basura. Además, optimizando el compilador y con el hardware actual, un bucle que utiliza los índices de un array puede ser tan eficaz como un bucle que utiliza aritmética de punteros.&lt;br /&gt;
==++ y —==&lt;br /&gt;
En Go, el uso de ++ y — para incrementar y reducir el valor de una variable es una sentencia y no una expresión. Además, solo puede utilizarse en su versión postfija pues según los autores, la versión prefija pierde todo su sentido en la ausencia de aritmética de punteros.&lt;br /&gt;
 &lt;br /&gt;
==¿Será Go un lenguaje orientado a objetos?==&lt;br /&gt;
Bueno, esta no es una pregunta fácil de responder. Digamos que si y no. Go tiene tipos y métodos y permite un estilo de programación orientado a objetos pero no existe una jerarquía de objetos, por lo tanto, no existe la herencia. En Go, el concepto de “interfaz“ diferente que los creadores creen es fácil de usar y en muchos sentidos es más general. También existen formas de embeber tipos dentro de otros tipos para obtener algo análogo a las subclases. Los métodos de Go son más generales que los de C++ o Java, pueden ser definidos para cualquier tipo de datos no solo para los structs.&lt;br /&gt;
La ausencia de jerarquía de tipos en Go, hace que los “objetos“ den una sensación de ser más ligeros que en lenguajes como C++ o Java.&lt;br /&gt;
==Hola Mundo==&lt;br /&gt;
Un ejemplo sencillo a la hora de escribir código en Go, el conocido Hola Mundo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
package main&lt;br /&gt;
&lt;br /&gt;
import &amp;quot;fmt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
func main() {&lt;br /&gt;
&lt;br /&gt;
    fmt.Printf(&amp;quot;Hola, mundo!\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Todos los archivos Go deben declarar el paquete al que pertenecen a través de una sentencia package. También pueden importar módulos y funciones externas de otros paquetes, en este caso usamos las funciones del paquete “fmt“ que nos da acceso a la función Printf. Todos los archivos en Go son UTF-8. Para compilar el código anterior usaríamos el compilador Gc o el back-end de gcc.&lt;br /&gt;
==== Conclusión====&lt;br /&gt;
En esta introducción al lenguaje de programación Go se han  visto las características básicas del nuevo lenguaje de programación de Google y sus diferencias más remarcables con otros lenguajes compilados. &lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://www.tecnologiadiaria.com/2009/11/go-lenguaje-programacion-google.html Go-Lenguaje de Programación de Google]&lt;br /&gt;
[http://es.wikipedia.org/wiki/Go_(lenguaje_de_programaci%C3%B3n Lenguaje de Programación Go] &lt;br /&gt;
[http://www.desarrolloweb.com/actualidad/go-lenguaje-programacion-google-2634.html El Lenguaje de Programación de Google]&lt;br /&gt;
[http://www.fayerwayer.com/2012/03/google-publica-la-primera-version-estable-de-su-lenguaje-de-programacion-go/ Google publica la primera versión estable de se lenguaje de programación Go]&lt;br /&gt;
[http://blog.golang.org/2012/03/go-version-1-is-released.html go version1is released] &lt;br /&gt;
[http://www.genbetadev.com/herramientas/introduccion-al-lenguaje-de-programacion-go introducción al lenguaje de programación go]&lt;br /&gt;
 &lt;br /&gt;
 [[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Procesamiento_del_lenguaje_natural&amp;diff=1496780</id>
		<title>Procesamiento del lenguaje natural</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Procesamiento_del_lenguaje_natural&amp;diff=1496780"/>
		<updated>2012-05-02T14:07:29Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= Procesamiento del Lenguaje Natural |familia= Inteligencia artificial |imagen= |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador= |...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Procesamiento del Lenguaje Natural&lt;br /&gt;
|familia= Inteligencia artificial&lt;br /&gt;
|imagen=&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
''' Procesamiento del [[Lenguaje]] Natural (PLN) '''  es una disciplina dentro de la [[Inteligencia Artificial]] y la rama ingenieril de la lingüística computacional. Se ocupa de la formulación e investigación de mecanismos eficaces computacionalmente para la [comunicación] entre personas o entre personas y máquinas por medio de lenguajes naturales. Se trata de una disciplina tan antigua como el uso de las computadoras (años 50), de gran profundidad, y con aplicaciones tan importantes como la traducción automática o la búsqueda de información en [[Internet]]. No trata la comunicación por medio de lenguajes naturales de una forma abstracta, sino de diseñar mecanismos para comunicarse que sean eficaces computacionalmente. Los modelos aplicados se enfocan no sólo a la comprensión del lenguaje de por sí, sino a aspectos generales cognitivos humanos y a la organización de la memoria&lt;br /&gt;
== Historia==&lt;br /&gt;
El tesoro más valioso de la raza humana es el conocimiento, es decir, la información. Existen en el mundo volúmenes inmensos de información en forma de lenguaje natural: los libros, los periódicos, los informes técnicos, etcétera. Pero la posesión verdadera de este tesoro implica  la habilidad de hacer ciertas operaciones con la información:&lt;br /&gt;
     Buscar la- información necesaria,&lt;br /&gt;
     Comparar las- fuentes diferentes, y hacer inferencias lógicas y conclusiones,&lt;br /&gt;
     Manejar los- textos, por ejemplo, traducirlos a otros idiomas.&lt;br /&gt;
En realidad, las computadoras son más capaces de procesar la información que las personas. Pueden procesar muchísimos más grandes volúmenes de información que una persona puede leer en su vida. A base de ésta, pueden hacer inferencias lógicas tomando en cuenta más hechos y más fuentes.&lt;br /&gt;
Todo parece estar preparado para el uso de las computadoras para procesar volúmenes grandes de información: los métodos lógicos ya son muy fuertes, los [procesadores] muy rápidos, muchos textos ya están disponibles en forma digital, tanto en las casas editoriales como en Internet. El único problema para la computadora al procesar los textos es que simplemente ¡no los entiende! Hasta ahora, los textos son para la computadora solamente cadenas de letras sin cualquier sentido y no una información útil para el razonamiento lógico.&lt;br /&gt;
El &amp;quot; Procesamiento del Lenguage Natural &amp;quot;  es una disciplina con una larga trayectoria. Nace en la década de 1960, como un subárea de la Inteligencia Artificial y la Lingüística, con el objeto de estudiar los problemas derivados de la generación y comprensión automática del lenguaje natural. La Traducción automática, por ejemplo, ya había nacido a finales de la década de los cuarenta, antes de que se acuñara la propia expresión «Inteligencia Artificial».&lt;br /&gt;
En sus orígenes, sus métodos tuvieron gran aceptación y éxito, no obstante, cuando sus aplicaciones fueron llevadas a la práctica, en entornos no controlados y con vocabularios genéricos, empezaron a surgir multitud de dificultades. Entre ellas, pueden mencionarse por ejemplo los problemas de polisemia y sinonimia.&lt;br /&gt;
En los últimos años, las aportaciones que se han hecho desde este dominio han mejorado sustancialmente, permitiendo el procesamiento de ingentes cantidades de información en formato texto con un grado de eficacia aceptable. Muestra de ello es la aplicación de estas técnicas como una componente esencial en los motores de búsqueda web, en las herramientas de traducción automática, o en la generación automática de resúmenes.&lt;br /&gt;
==Aplicaciones==&lt;br /&gt;
Las principales tareas de trabajo en el PLN son:&lt;br /&gt;
Síntesis      del discurso &lt;br /&gt;
Análisis del lenguaje &lt;br /&gt;
Comprensión del lenguaje &lt;br /&gt;
Reconocimiento      del habla &lt;br /&gt;
Síntesis de voz      &lt;br /&gt;
Generación de lenguajes      naturales &lt;br /&gt;
Traducción      automática &lt;br /&gt;
Respuesta      a preguntas &lt;br /&gt;
Recuperación de la información &lt;br /&gt;
Extracción de la información &lt;br /&gt;
 &lt;br /&gt;
== Conceptos Aplicados al Procesamiento de Lenguaje Natural ==&lt;br /&gt;
·  Linguística&lt;br /&gt;
&lt;br /&gt;
·  Análisis Lingüístico &lt;br /&gt;
&lt;br /&gt;
·  Lenguaje&lt;br /&gt;
&lt;br /&gt;
·  Lenguaje Formal&lt;br /&gt;
&lt;br /&gt;
·  Comprensión del lenguaje &lt;br /&gt;
&lt;br /&gt;
·  Generación de textos &lt;br /&gt;
&lt;br /&gt;
·  Gramáticas Formales &lt;br /&gt;
&lt;br /&gt;
·  Definiciones empleadas en las gramáticas formales&lt;br /&gt;
 &lt;br /&gt;
==  El procesamiento del lenguaje natural en la recuperación de información textual ==&lt;br /&gt;
Como el lector habrá deducido, la complejidad asociada al lenguaje natural cobra especial relevancia cuando necesitamos recuperar información textual [Baeza-Yates, 1999] que satisfaga la necesidad de información de un usuario. Es por ello, que en el área de Recuperación de Información Textual las técnicas de NLP son muy utilizadas [Allan, 2000], tanto para facilitar la descripción del contenido de los documentos, como para representar la consulta formulada por el usuario, y ello, con el objetivo de comparar ambas descripciones y presentar al usuario aquellos documentos que satisfagan en mayor grado su necesidad de información [Baeza-Yates, 2004].&lt;br /&gt;
Dicho de otro modo, un sistema de recuperación de información textual lleva a cabo las siguientes tareas para responder a las consultas de un usuario (imagen 1):&lt;br /&gt;
1.      Indexación de la colección de documentos: en esta fase, mediante la aplicación de técnicas de NLP, se genera un índice que contiene las descripciones de los documentos. Normalmente, cada documento es descrito mediante el conjunto de términos que, hipotéticamente, mejor representa su contenido.&lt;br /&gt;
2.      Cuando un usuario formula una consulta el sistema la analiza, y si es necesario la transforma, con el fin de representar la necesidad de información del usuario del mismo modo que el contenido de los documentos.&lt;br /&gt;
3.      El sistema compara la descripción de cada documento con la descripción de la consulta, y presenta al usuario aquellos documentos cuyas descripciones más se asemejan a la descripción de su consulta.&lt;br /&gt;
4.      Los resultados suelen ser mostrados en función de su relevancia, es decir, ordenados en función del grado de similitud entre las descripciones de los documentos y de la consulta.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://eprints.rclis.org/bitstream/10760/9598/1/PROCESAMIENTO_DEL_LENGUAJE_NATURAL_EN_LA_RECUPERACI_N_DE_INFORMACI_N.pdf Procesamiento del Lenguaje Natural en la Recuperación de Información]&lt;br /&gt;
[http://www.cenatav.co.cu/doc/RTecnicos/RT%20SerieGris_011web.pdf Estado del Arte de la Extracción de Entidades Nombradas]&lt;br /&gt;
 &lt;br /&gt;
[http://es.wikipedia.org/wiki/Procesamiento_de_lenguajes_naturales procesamiento de Lenguajes Naturales]&lt;br /&gt;
 &lt;br /&gt;
[http://www.cicling.org/ampln/NLP.htm ¿Qué es Procesamiento del lenguaje Natural?]&lt;br /&gt;
 &lt;br /&gt;
[http://www.monografias.com/trabajos17/lenguaje-natural/lenguaje-natural.shtml Lenguaje Natural]&lt;br /&gt;
 &lt;br /&gt;
[http://www.hipertext.net/web/pag277.htm El Procesamiento del Lenguaje Natural en la Recuperación de Información Textual y áreas afines]&lt;br /&gt;
 &lt;br /&gt;
[http://www.elprofesionaldelainformacion.com/contenidos/1997/enero/procesamiento_del_lenguaje_natural_revisin_del_estado_actual_bases_tericas_y_aplicaciones_parte_i.html Procesamiento del Lenguajes Natural Revisión del Estado Actual]&lt;br /&gt;
 &lt;br /&gt;
[[Inteligencia Artificial]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Inteligencia_Artificial]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Ado_(ActiveX_data_objects)&amp;diff=1441399</id>
		<title>Ado (ActiveX data objects)</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Ado_(ActiveX_data_objects)&amp;diff=1441399"/>
		<updated>2012-03-22T15:00:36Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= ActiveX Data Objects (ADO) |familia= Almacenamiento de datos |imagen= Bits.jpg |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador=M...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= ActiveX Data Objects (ADO)&lt;br /&gt;
|familia= Almacenamiento de datos&lt;br /&gt;
|imagen= Bits.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=Microsoft&lt;br /&gt;
|desarrollador=Microsoft&lt;br /&gt;
|diseñador=Microsoft&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable= &lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=Windows&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
'''ActiveX Data Objects''' en lo adelante ADO se define como modelo de objetos de [http://www.ecured.cu/index.php/Lenguaje_de_programaci%C3%B3n lenguaje] neutro que exponen datos provocados por un proveedor [[OLE DB]] subyacente. Es una tecnología [http://www.ecured.cu/index.php/Programaci%C3%B3n_Orientada_a_Objetos orientada a objetos] para componentes [[ActiveX]] basada en una [[API]] en [http://www.ecured.cu/index.php/C%2B%2B C++] llamada OLE DB. Para los programadores, presenta la inestimable ventaja de poder prescindir de los detalles de programación de bajo nivel de OLE DB a la hora de acceder a datos almacenados en [[bases de datos]] relacionales o no relacionales. En su lugar, los objetos ADO, por ser componentes ActiveX, pueden invocarse desde cualquiera de los lenguajes más populares en [[Internet]] que trabajen con objetos para acceder a toda la potencia de OLE DB, pero sin recurrir a la programación de bajo nivel. ADO forma parte de Microsoft Data Access Components ([[MDAC]]).&lt;br /&gt;
Con ADO, un programa puede leer, insertar, editar, o borrar, la información contenida en diferentes áreas de almacenamiento dentro de la base de datos llamadas tablas. Además, se puede manipular la propia base de datos para crear nuevas áreas para el almacenamiento de información (tablas), como también alterar o eliminar las ya existentes, entre otras cosas.&lt;br /&gt;
Fue desarrollado por [[Microsoft]] y es usado en ambientes Windows por lenguajes de programación como [[Visual Basic]], C++, [[Delphi]] entre otros, como también en la [http://www.ecured.cu/index.php/Web Web] mediante el uso de Active Server Pages ([[ASP]]), el lenguaje VBScript y otros.&lt;br /&gt;
==Evolución==&lt;br /&gt;
ADO substituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object), que eran los sistemas previos que se usaban para acceder a las bases de datos y bases de datos remotas, respectivamente. Tiene la mayor parte de la funcionalidad de ambos modelos y sin embargo es más sencillo de usar y de entender y por lo tanto más fácil y menos engorroso de programar.&lt;br /&gt;
La última versión de ADO, creada por Microsoft, se llama [[ADO.NET]](con varias versiones), y se usa en los entornos de programación de la [http://www.ecured.cu/index.php/.net plataforma .NET], de Microsoft, para manejar bases de datos tanto en Windows como en la Web mediante ASP.NET, que es la nueva versión del ASP para la plataforma.NET.&lt;br /&gt;
En la plataforma de programación de [[software libre]] llamada [http://www.ecured.cu/index.php/MONO_%28Linux%29 Mono] también existe una biblioteca similar a ADO.NET, lo que significa que ahora, la tecnología ADO.NET se puede usar en otros sistemas operativos aparte de Windows, como [[Linux]], [http://www.ecured.cu/index.php/Mac_OS Mac OS X], [[BSD]], y [[ Solaris]].&lt;br /&gt;
ADO.NET es mucho más poderoso que ADO pero también es muy diferente, por lo que es necesario rediseñar los programas hechos con ADO, para que funcionen en él.&lt;br /&gt;
==Funcionamiento==&lt;br /&gt;
El proceso de petición de datos entre el cliente y el servidor de datos funciona de la siguiente manera: &lt;br /&gt;
# El cliente crea un objeto Connection para establecer un canal de comunicación de datos con el servidor. &lt;br /&gt;
# El cliente crea un objeto Command que almacenará sentencias [[ SQL]] para realizar operaciones en la base de datos. &lt;br /&gt;
# Se envía el objeto Command al servidor a través del canal establecido con el objeto Connection. &lt;br /&gt;
# El servidor procesa la consulta SQL contenida en el objeto Command y produce como resultado un conjunto de registros contenidos en un objeto Recordset. &lt;br /&gt;
# El objeto Recordset le es devuelto al cliente a través de la conexión establecida. &lt;br /&gt;
# El cliente recibe los registros y puede moverse por ellos. &lt;br /&gt;
# Se pueden enviar nuevas consultas al servidor mediante objetos Command a través del objeto Connection. &lt;br /&gt;
# Se libera la conexión con el servidor. &lt;br /&gt;
==Componentes de ADO==&lt;br /&gt;
===Principales componentes de ADO===&lt;br /&gt;
* Connection (Permite establecer una conexión con la base de datos)&lt;br /&gt;
* Recordset (Maneja un conjunto de records(registros) de la base de datos)&lt;br /&gt;
* Command (Permite enviar órdenes SQL para ser ejecutados por la base de datos)&lt;br /&gt;
===Otros componentes de ADO===&lt;br /&gt;
* Record (Permite manejar un registro generalmente de una fuente diferente a una base de datos. Uno de sus usos es la representación de datos que no están estructurados en forma de Tablas, como por ejemplo que tengan una estructura tipo árbol).&lt;br /&gt;
* Field (Permite manipular un campo perteneciente a un Record o un Recordset)&lt;br /&gt;
* Parameter (Permite configurar un parámetro para una consulta SQL. Se usa con Command)&lt;br /&gt;
* Stream (Permite manipular flujos de datos (streams), provenientes de ficheros de texto, páginas web, etc)&lt;br /&gt;
* Error (Indica las características de los errores que pudieran suceder al ejecutar métodos de los objetos de ADO)&lt;br /&gt;
* Property (Contiene información perteneciente a un objeto determinado)&lt;br /&gt;
== Objetos Connection, Recordset y Command==&lt;br /&gt;
Los 3 principales componentes de ADO son Connection, Recordset y Command (la conexión, el recordset, y la orden).&lt;br /&gt;
La conexión es el medio que permite el flujo de datos entre el programa y la base de datos. A través de ella pueden viajar las órdenes que desde el programa se usan para hacer solicitudes de información a la base de datos o para realizar una operación dentro de ella como borrar registros, añadir registros, modificar tablas, etc. También, por esta vía, pueden ir y venir los datos, desde y hacia la base de datos, entre otras cosas.&lt;br /&gt;
Tanto el recordset como la orden usan la conexión para comunicarse con la base de datos.&lt;br /&gt;
La conexión se comunica con la base de datos a través de un intermediario llamado &amp;quot;proveedor de datos&amp;quot;.&lt;br /&gt;
Conexión &amp;lt;---&amp;gt; Proveedor de datos &amp;lt;---&amp;gt; Base de datos&lt;br /&gt;
 &lt;br /&gt;
{| cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 530px; height: 81px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | &amp;lt;center&amp;gt;'''Acceso a datos mediante OLE DB y ODBC'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''Programa'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''Programa'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''Programa'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''ADO'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''ADO'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''ADO'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''OLE DB'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''OLE DB'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''OLE DB (OLE DB para ODBC)'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;'''_______'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;center&amp;gt;'''ODBC'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''-'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;''' ODBC'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''Base de datos'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''Base de datos'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;'''Base de datos'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Todo esto es transparente al usuario de ADO, quien, generalmente, no tiene por que enterarse ni conocer estos mecanismos.&lt;br /&gt;
ADO tiene un alto grado de abstracción, lo que significa que, al mantener una interface sencilla, oculta los detalles complejos del manejo de la base de datos.&lt;br /&gt;
Un programa puede saltarse completamente el ADO, y acceder a la base de datos directamente de 3 maneras diferentes, a través de OLDB, [[ODBC]], o por ODBC usando una capa intermedia de OLE DB. Al trabajar de esta manera, se tiene la ventaja de una mayor funcionalidad que no contiene ADO a cambio de una mayor complejidad en la programación. Esto es necesario algunas veces, en ciertos tipos de programas y para ciertas necesidades, pero no es lo común.&lt;br /&gt;
{| cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width:530px; height: 81px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &lt;br /&gt;
&amp;lt;center&amp;gt;'''Programa'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;'''1'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;center&amp;gt;'''2'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;'''3'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;'''OLE DB '''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;center&amp;gt;'''ODBC'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;'''OLE DB '''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
 &lt;br /&gt;
| &amp;lt;center&amp;gt;'''-'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;center&amp;gt;'''-'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;'''ODBC'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;lt;center&amp;gt;'''Base de datos'''&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
==El Recordset==&lt;br /&gt;
El Recordset es, un conjunto de records. En general, sus datos tienen su origen en una base de datos, aunque también pueden generarse independientemente de ésta.&lt;br /&gt;
Un recordset puede contener cero o más records (registros). Cada recordset tiene una colección de campos, que es común a todos los records. Podemos verlo como una matriz o tabla, en donde las filas son los records, y las columnas son los campos.&lt;br /&gt;
Un recordset puede tener varias características que puede modificar el programador. Por ejemplo, puede ser de solo lectura, o de lectura-escritura.&lt;br /&gt;
La información con que se carga el recordset puede provenir de una tabla o varias tablas, de la base de datos.&lt;br /&gt;
El recordset, tiene capacidades de navegación entre su conjunto de registros. Puede:&lt;br /&gt;
* Moverse al siguiente registro&lt;br /&gt;
* Moverse al anterior&lt;br /&gt;
* Moverse al primero&lt;br /&gt;
* Moverse al último&lt;br /&gt;
* y otros&lt;br /&gt;
En un recordset, se ve y se pueden editar los datos de un solo registro en un tiempo dado, se pueden manipular los datos de los campos del &amp;quot;registro actual&amp;quot; en donde se encuentra.&lt;br /&gt;
Además de editar registros, también se puede:&lt;br /&gt;
* Insertar registros nuevos&lt;br /&gt;
* Borrar registros&lt;br /&gt;
La edición, la inserción y el borrado de registros en el recordset, se reflejarán en la base de datos.&lt;br /&gt;
==El Comando==&lt;br /&gt;
La orden o comando (command) es el componente ADO que permite hacer solicitudes o dar órdenes a la base de datos mediante una sentencia SQL.&lt;br /&gt;
Se puede especificar la inserción de registros nuevos en una tabla, así como también, la eliminación la actualización y la obtención de registros con determinadas condiciones.&lt;br /&gt;
Además, se pueden crear, alterar y modificar las características de las tablas que conforman la base de datos.&lt;br /&gt;
== ADO MD==&lt;br /&gt;
Microsoft ActiveX Data Objects (Multidimensional) (ADO MD) proporciona acceso fácil a datos mutidimensionales desde lenguajes como Microsoft Visual Basic, Microsoft Visual C++, y [http://www.ecured.cu/index.php/Java Microsoft Visual J++]. ADO MD extiende Microsoft ActiveX Data Objects (ADO) para incluir objetos específicos para datos multidimensionales, como son los objetos CubeDef y Cellset. Con ADO MD se pueden explorar esquemas multidimensionales, consultar datos y extraer los resultados.&lt;br /&gt;
Al igual que ADO, ADO MD utiliza un proveedor OLE DB subyacente para obtener el acceso a los datos. Para trabajar con ADO MD, el proveedor debe ser un proveedor de datos multidimensionales (MDP-&amp;gt; Multidimensional Data Provider). Los MDPs presentan los datos en vistas multidimensionales de forma opuesta a como lo hacen los proveedores de datos tabulares (TDP).&lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://es.wikipedia.org/wiki/ActiveX_Data_Objects ActiveX Data Objects]&lt;br /&gt;
 &lt;br /&gt;
[http://www.ecured.cu/index.php/ADOdb ADOdb] &lt;br /&gt;
 &lt;br /&gt;
[http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/c0007019.htm Objetos de datos ActiveX y Objetos de datos remotos] &lt;br /&gt;
 &lt;br /&gt;
[http://nelsonrojas.files.wordpress.com/2011/08/49622727-que-es-ado.pdf ¿Qué es ADO?]&lt;br /&gt;
 &lt;br /&gt;
[http://support.microsoft.com/kb/183606/es Preguntas más frecuentes de ActiveX Data Objects (ADO)] &lt;br /&gt;
 &lt;br /&gt;
[http://www.iec.csic.es/criptonomicon/bd/accesobd.html Acceso a la base de datos] &lt;br /&gt;
 &lt;br /&gt;
[[Category:Bases_de_datos]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Sistema_reactivo&amp;diff=1400073</id>
		<title>Sistema reactivo</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Sistema_reactivo&amp;diff=1400073"/>
		<updated>2012-02-27T15:38:21Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= Sistemas reactivos |familia= Inteligencia artificial |imagen= |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador= |desarrollador= |...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Sistemas reactivos&lt;br /&gt;
|familia= Inteligencia artificial&lt;br /&gt;
|imagen=&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable=&lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
'''Sistema reactivo'''. La generalización en el uso de sistemas que deben reaccionar rápidamente ante eventos generados por su entorno, como sistemas de control industrial, por ejemplo, hizo que a mediados de los años 80 se afrontara su desarrollo de una manera diferente al del resto de los sistemas. Apareció el concepto de sistema reactivo.&lt;br /&gt;
 &lt;br /&gt;
Dadas las especiales características que presentan este tipo de sistemas pronto se vio que las técnicas y herramientas de desarrollo que tradicionalmente se estaban utilizando para otro tipo de sistemas no eran adecuadas para el desarrollo de sistemas reactivos, sino que éstos precisaban de técnicas de desarrollo específicas.&lt;br /&gt;
 &lt;br /&gt;
Cada vez son más frecuentes las aplicaciones donde el tiempo juega un rol importante. Por ejemplo en: [http://www.ecured.cu/index.php/Protocolos_de_redes protocolos de comunicación], controladores de robots, de comandos de aviones, de pasos a nivel de [[trenes]], de dispositivos electrónicos (o electro-mecánicos) y de procesos industriales automatizados, aplicaciones multimedia y de [[Internet]], entre otras. En general éstas son aplicaciones críticas, en las cuales una falla o mal funcionamiento pueden acarrear consecuencias graves, tales como poner en juego vidas humanas y/o grandes inversiones económicas. El comportamiento de estos sistemas, llamados [[sistemas de tiempo real]], no está determinado únicamente por la sucesión de acciones que se ejecutan, sino también por el momento en que las mismas ocurren y son procesadas. El tiempo de ejecución es “el” parámetro fundamental en el comportamiento de esta clase de sistemas y una gran parte, quizás la más importante, de los requerimientos de los mismos son temporales: “tal acción debe ejecutarse en un lapso de tiempo determinado”, “el tiempo transcurrido entre dos eventos o señales debe estar acotado por un valor constante”, “si un tren está próximo a cruzar un paso a nivel y han pasado más de t unidades de tiempo desde que se activó una señal de acercamiento, la barrera debe estar baja”, etc.&lt;br /&gt;
 &lt;br /&gt;
== Sistemas reactivos y lenguajes reactivos==&lt;br /&gt;
 &lt;br /&gt;
El término sistema reactivo fue introducido en 1985 por [[David Harel]] y [[Amir Pnueli]] para caracterizar un determinado tipo de sistema distinto de los tradicionales&lt;br /&gt;
[[sistemas transformacionales]].&lt;br /&gt;
 &lt;br /&gt;
Un sistema transformacional tiene una serie de entradas, las manipula y ofrece un conjunto determinado de salidas. Su comportamiento puede equipararse al de una [[función]], dado que “transforma” los parámetros de entrada obteniendo unos de salida. A la hora de trabajar con sistemas transformacionales muchas veces se suelen comparar con cajas negras, donde no importa qué es lo que ocurre dentro, sino solamente la relación entre las entradas y las salidas.&lt;br /&gt;
Un sistema reactivo, por contra, puede ofrecer distintas salidas para el mismo conjunto de entradas, en función de lo que haya ocurrido con anterioridad en el sistema. Se suelen definir como sistemas de [[computación]] que están continuamente interactuando con el entorno, de tal manera que tienen que actuar de inmediato ante los estímulos por éste producidos.&lt;br /&gt;
 &lt;br /&gt;
Podemos encontrar sistemas reactivos por todas partes, sistemas de [[control industrial]], comunicaciones, sistemas de [[software]] interactivo, (como los interfaces hombre máquina), etc.&lt;br /&gt;
 &lt;br /&gt;
==Programa reactivo== &lt;br /&gt;
 &lt;br /&gt;
Se define de la misma manera que un sistema reactivo. Un [http://www.ecured.cu/index.php/Programa_inform%C3%A1tico programa] reactivo se caracteriza por su permanente interacción con el entorno, reaccionando a las entradas provenientes de éste y enviándole al mismo las salidas oportunas. Los programas reactivos son el componente fundamental de los sistemas reactivos, obviamente.&lt;br /&gt;
 &lt;br /&gt;
El concepto de programación reactiva. Suele utilizarse para hacer referencia al proceso de realizar programas reactivos.&lt;br /&gt;
 &lt;br /&gt;
==Estructura de un sistema reactivo==&lt;br /&gt;
 &lt;br /&gt;
La estructura habitual de un programa reactivo. Suele constar de tres niveles:&lt;br /&gt;
 &lt;br /&gt;
1- Un interfaz con el entorno, que se encarga de recibir las entradas de éste y de generar las salidas. Realiza la transformación entre los eventos físicos que entiende el entorno y los eventos lógicos que entiende el resto del sistema.&lt;br /&gt;
2- Un núcleo reactivo que contiene la lógica del programa. Como su nombre indica es la parte más importante del sistema dado que se encarga de decidir en cada momento qué es lo que hay que hacer.&lt;br /&gt;
3- Una capa de manejo de datos, cuya misión es realizar el procesamiento de datos clásico a petición del núcleo.&lt;br /&gt;
 &lt;br /&gt;
Cuando se estudian los sistemas reactivos generalmente el estudio se restringe al núcleo reactivo, dado que las dos capas restantes son aspectos habituales en cualquier tipo de programa, y, de hecho, se acostumbran implementar en cualquier tipo de [http://www.ecured.cu/index.php/Lenguaje_de_Programaci%C3%B3n#Lenguaje_de_programaci.C3.B3n_imperativo lenguaje imperativo tradicional].&lt;br /&gt;
 &lt;br /&gt;
== Características de los sistemas reactivos ==&lt;br /&gt;
 &lt;br /&gt;
1-     Paralelismo: los sistemas reactivos se ejecutan en paralelo con otros sistemas Además, ellos mismos, posiblemente, estén constituidos por una serie de módulos funcionando en paralelo.&lt;br /&gt;
2-     Condicionantes temporales: los sistemas reactivos tienen que responder a los estímulos de entrada “instantáneamente”. La definición exacta del término “instantáneo” depende mucho del tipo de sistema a considerar.&lt;br /&gt;
3-     Confiabilidad: La mayor parte de los sistemas reactivos se emplean en situaciones donde un error puede resultar crítico (un error en un sistema de control de tráfico aéreo no es algo que pueda permitirse).&lt;br /&gt;
4-     Determinismo: otra de las características importantes que todo programa reactivo debe tener es el determinismo. Un programa (o un sistema) se considera determinista cuando produce las mismas secuencias de salida ante las mismas secuencias de entradas. Esto parece contradictorio con la propia definición de sistemas reactivos sin embargo no es así si consideramos en todo caso el tiempo como una entrada más.&lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
 &lt;br /&gt;
[http://www.di.uniovi.es/~albizu/tesis/Memoria.pdf ESPECIFICACIÓN DE SISTEMAS REACTIVOS DISTRIBUIDOS UTILIZANDO ESTELLE SÍNCRONO]&lt;br /&gt;
 &lt;br /&gt;
[http://www.lcc.uma.es/~mdr/teaching_downloads/concurrente_tema1.doc La abstracción de la  Programación Concurrente]&lt;br /&gt;
&lt;br /&gt;
[http://seneca.cucea.udg.mx/curso_linea/Sistemas%20Inteligentes/Modulo%201.pdf Sistemas Reactivos]&lt;br /&gt;
&lt;br /&gt;
[http://gsyc.es/jmplaza/introrob/ir-reactivos.pdf INTRODUCCIÓN A LA ROBÓTICA]&lt;br /&gt;
&lt;br /&gt;
[http://es.wikipedia.org/wiki/Sistemas_reactivos Sistemas Reactivos]&lt;br /&gt;
&lt;br /&gt;
[[Inteligencia Artificial]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Category:Inteligencia_Artificial]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Informática]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Interfaz_Extensible_del_Firmware&amp;diff=1332404</id>
		<title>Interfaz Extensible del Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Interfaz_Extensible_del_Firmware&amp;diff=1332404"/>
		<updated>2012-01-23T15:26:48Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= Extensible Firmware Interface (EFI) |familia= Firmware |imagen=Firmware.jpg |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador=Inte...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Extensible Firmware Interface (EFI)&lt;br /&gt;
|familia= Firmware&lt;br /&gt;
|imagen=Firmware.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=Intel&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=2000&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable= 2.3.1&lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=http://www.uefi.org/home/&lt;br /&gt;
}}&lt;br /&gt;
'''Extensible Firmware Interface (EFI)'''  o Interfaz Extensible del Firmware  luego renombrada a Unified Extensible Firmware Interface (UEFI) es una especificación desarrollada por [http://www.ecured.cu/index.php/Intel Intel] dirigida a reemplazar la antigua [http://www.ecured.cu/index.php/Interfaz interfaz] del estándar IBM PC [http://www.ecured.cu/index.php/BIOS BIOS], interactúa como puente entre el [http://www.ecured.cu/index.php/Sistema_operativo sistema operativo] y el [http://www.ecured.cu/index.php/Firmware firmware] base.&lt;br /&gt;
==Historia==&lt;br /&gt;
Durante las primeras fases de desarrollo del [http://www.ecured.cu/index.php/Microprocesador microprocesador] Intel Itanium de [http://www.ecured.cu/index.php/HP HP] a mediados de los años 90. Debido al avance tecnológico de estos procesadores, las especificaciones de la BIOS resultaban muy limitadas, por esta razón Intel desarrolló inicialmente en 1998 lo que sería la IBI, del acrónimo inglés Intel Boot Iniciative, que posteriormente fue renombrado a EFI.&lt;br /&gt;
La primera versión definitiva, la 1.02, se presentó a finales de 2000 y ha ido evolucionando posteriormente. Ahora el desarrollo de la especificación lo lleva el [http://www.uefi.org/home/ UEFI Forum], una organización formada por diversas empresas como Intel, [http://www.ecured.cu/index.php/Microsoft Microsoft], [http://www.ecured.cu/index.php/AMD AMD],... que fue creada el 25 de Julio de 2005. UEFI (Unified Extensible Firmware Interface) cuya labor consiste en desarrollar y promocionar la plataforma EFI.&lt;br /&gt;
A principios de 2007, la versión 2.1 de la especificación UEFI vio la luz y meses después trajo consigo mejoras como cifrado, autenticación de red y la destacable Interfaz de usuario humana.&lt;br /&gt;
 &lt;br /&gt;
==Características==&lt;br /&gt;
 &lt;br /&gt;
===Contenidos===&lt;br /&gt;
La interfaz UEFI incluye bases de datos con información de la plataforma, inicio y tiempo de ejecución de los servicios disponibles listos para cargar el sistema operativo.&lt;br /&gt;
UEFI destaca principalmente por:&lt;br /&gt;
·                     Compatibilidad y emulación de BIOS para los sistemas operativos sólo compatibles con ésta última.&lt;br /&gt;
·                     Capacidad de arranque desde unidades de almacenamiento grandes, dado que no sufren de las limitaciones del MBR&lt;br /&gt;
·                     Arquitectura y controladores de la CPU independientes&lt;br /&gt;
·                     Entorno amigable y flexible Pre-Sistema&lt;br /&gt;
·                     Diseño modular&lt;br /&gt;
La EFI hereda las nuevas características avanzadas de la BIOS como ACPI(Interfaz Avanzada de Configuración y Energía) y el SMBIOS (Sistema de Gestión de BIOS), y se le pueden añadir muchas otras, ya que el entorno se ejecuta en 64 bits, al contrario de su predecesora, en 16 bits.&lt;br /&gt;
===Soporte de dispositivos de almacenamiento sólido y discos===&lt;br /&gt;
La  EFI comunica el arranque con el [http://www.ecured.cu/index.php/Master_Boot_Record MBR] y con el sistema GPT que solventa las limitaciones técnicas del MBR:&lt;br /&gt;
·                     MBR soporta hasta 4 particiones por unidad física con un límite máximo de 2,2 TB.&lt;br /&gt;
·                     GPT soporta teóricamente hasta 9,4 ZB y no exige un sistema de archivos concreto para funcionar.&lt;br /&gt;
[http://www.ecured.cu/index.php/Microsoft_Windows Microsoft Windows] soporta GPT a partir de las versiones de 64 bits de [http://www.ecured.cu/index.php/Windows_Vista Windows Vista] y posteriores.&lt;br /&gt;
Algunos sistemas basados en [http://www.ecured.cu/index.php/Unix Unix] utilizan un híbrido entre MBR y GPT para arrancar.&lt;br /&gt;
===32 y 64 bits===&lt;br /&gt;
Las BIOS hacen uso de modos de 16 bits para funcionar, diseño heredado del Intel [http://www.ecured.cu/index.php/Microprocesadores_8086_y_8088 8088], sin embargo, la EFI funciona directamente con modos de 32 y 64 bits lo que posibilita que las aplicaciones de la EFI tengan acceso completo al direccionamiento de 64 bits.&lt;br /&gt;
===Servicios===&lt;br /&gt;
La EFI emplea 2 tipos de servicios, servicio de arranque y servicio de ejecución&lt;br /&gt;
·                     El servicio de arranque incluye texto e interfaz gráfica orientado a una consola que soporta y gestiona dispositivos, bloques, buses y servicios de archivo.&lt;br /&gt;
·                     Los servicios de ejecución son los que controlan la fecha, la hora o el NVRAM&lt;br /&gt;
===Protocolos===&lt;br /&gt;
La EFI define un conjunto de protocolos de interfaz de software utilizados para la comunicación entre dos módulos binarios. Todos los controladores de la EFI deben proveer servicios a los demás a través de dichos protocolos.&lt;br /&gt;
===Controladores/Drivers===&lt;br /&gt;
Las especificaciones de la EFI permiten ofrecer un controlador de dispositivo independiente del procesador denominado (EBC) EFI Byte Code. Lo que permite soporte para la carga de gráficos, red, sonido y opciones avanzadas del sistema, sin necesidad de precargar  un sistema operativo. Esto era imposible en la BIOS, ya que cargaba funciones muy limitadas y necesarias como el soporte de periféricos como teclado y ratón y poco más.&lt;br /&gt;
===Gestor de arranque===&lt;br /&gt;
EFI incorpora su propio gestor de arranque permitiendo la selección y carga directa de los sistemas operativos, lo que elimina la necesidad de disponer de un gestor cargado posteriormente, como puede ser LILO o el que utiliza Windows.&lt;br /&gt;
===Interfaz===&lt;br /&gt;
La EFI incluye una interfaz interactiva muy cómoda, que además permite ejecutar aplicaciones externas a la propia EFI, siempre que sean compatibles con la especificación.&lt;br /&gt;
===Extensiones===&lt;br /&gt;
Toda extensión de la EFI puede cargarse desde cualquier dispositivo no volátil que esté enchufado al ordenador. Un fabricante OEM puede distribuir su sistema con una partición EFI instalada en un [http://www.ecured.cu/index.php/Disco_duro disco duro] o una Unidad de estado sólido&lt;br /&gt;
===Intel EFI===&lt;br /&gt;
El Framework de Intel recibe el nombre de Tiano. Tiano se ejecuta en procesadores XScale, Itanium e IA32 bajo licencia propietaria, aunque parte del código ha sido liberado bajo licencia BSD recibiendo el nombre de Proyecto TianoCore. Phoenix Tecnologies comercializa actualmente BIOS &amp;quot;Phoenix SecureCore Tiano&amp;quot; y &amp;quot;Phoenix MicroCore&amp;quot; compatibles con la interfaz UEFI&lt;br /&gt;
Plataformas que utilizan UEFI&lt;br /&gt;
El primer procesador Itanium dirigido a estaciones de trabajo y lanzado en el año 2000, ya soportaba la especificación EFI 1.02.&lt;br /&gt;
En el 2002, el Itanium 2 ya soportaba EFI 1.10 capaz de arrancar Microsoft Windows, [http://www.ecured.cu/index.php/GNU/Linux GNU/Linux], [http://www.ecured.cu/index.php/FreeBSD FreeBSD], HP-UX y [http://www.ecured.cu/index.php/OpenVMS OpenVMS]&lt;br /&gt;
En 2006 [http://www.ecured.cu/index.php/Apple Apple] montó sus ordenadores basados en la arquitectura x86 de Intel, y por ello, comenzaron a utilizar sistemas EFI en lugar de Open Firmware como se llevaba utilizando en los anteriores sistemas basados en PowerPC, posteriormente Apple lanzó Bootcamp, que permite un particionado no destructivo y soporte de drivers para la instalación de sistemas operativos Microsoft sin necesidad de reinstalar Mac OS X. Se añadió compatibilidad de BIOS a la EFI.&lt;br /&gt;
 &lt;br /&gt;
GNU/Linux ha sido capaz de utilizar EFI en el arranque desde principios de 2000, mediante el gestor de arranque LiLo o, las más recientes versiones de GRUB.&lt;br /&gt;
 &lt;br /&gt;
Desde el 2005, se ha tratado de implementar EFI en arquitecturas extrapolables a las de PC, como las basadas en XScale o sistemas embebidos&lt;br /&gt;
==Fuentes==&lt;br /&gt;
&lt;br /&gt;
[http://es.wikipedia.org/wiki/Extensible_Firmware_Interface Extensible Firmware Interface]&lt;br /&gt;
&lt;br /&gt;
[http://www.uefi.org/home/ UEFI Home]&lt;br /&gt;
&lt;br /&gt;
[http://www.xataka.com/otros/efi-extensible-firmware-interface-a-fondo Extensible Firmware Interface a Fondo]&lt;br /&gt;
&lt;br /&gt;
[http://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html Extensible Firmware Interface (EFI) and Unified EFI (UEFI)]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface UEFI]&lt;br /&gt;
&lt;br /&gt;
[http://www.neoteo.com/uefi-y-ordenadores-mas-rapidos UEFI y ordenadores más rápidos]&lt;br /&gt;
&lt;br /&gt;
[http://windowsespanol.about.com/b/2011/10/03/uefi-el-fin-de-la-bios.htm UEFI y el fin de la BIOS]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[[Category:Formatos_y_estándares_de_software]]&lt;br /&gt;
[[Category:Archivos_de_configuración]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Extended_master_boot_record&amp;diff=1220506</id>
		<title>Extended master boot record</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Extended_master_boot_record&amp;diff=1220506"/>
		<updated>2011-11-30T18:31:41Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Extended Master Boot Record&lt;br /&gt;
|familia= Almacenamiento de datos&lt;br /&gt;
|imagen=Particionar-discos-duros.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable= 2&lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'''Extended Master Boot Record'''  en lo adelante EMBR se define como el área de un [http://www.ecured.cu/index.php/Disco_duro  disco duro] desde el [http://www.ecured.cu/index.php/Disco_duro#Direccionamiento cilindro físico 0, cabeza 0, sector 0] hasta el ultimo sector físico del cilindro 0 cabeza 0, incluido este. Extiende las capacidades del [http://www.ecured.cu/index.php/Master_Boot_Record Master Boot Record] El área real disponible para el EMBR depende del mapeo realizado por la [http://www.ecured.cu/index.php/BIOS BIOS] del cilindro, cabeza y sector lógico y los sectores reservados. Los requerimientos mínimos de disponibilidad para el EMBR son desde el sector 3 hasta el 17.&lt;br /&gt;
 &lt;br /&gt;
==Master Partition Table==&lt;br /&gt;
El objetivo de esta tabla es sobreponerse a las limitaciones de la anterior [http://www.ecured.cu/index.php/Partici%C3%B3n_de_disco#Particiones_primarias tabla de particiones]. La MPT (Master Partition Table) reside en el EMBR.&lt;br /&gt;
La Master Partition Table incluye un encabezado y  detalles de las particiones incluyendo sus nombres. Las entradas de particiones están en un nuevo formato no usado por la tabla de partición estándar. El encabezado de la MPT contiene información que permitirá  a la tabla ser extendida o modificada con mínimos o sin cambios de programación.&lt;br /&gt;
==Master Boot File Table==&lt;br /&gt;
A continuación de la MPT se encuentra la MBFT  (Master Boot File Table) con el propósito de proveer un área común para que sean referenciados los nombres de los ficheros de arranque.&lt;br /&gt;
La MBFT contiene una cabecera seguida por una o más entradas de detalle. Las entradas de detalle incluyen el segmento que debe ser usado para cargar el fichero de arranque y en que segmento/desplazamiento el primer byte de código comienza. También incluye una cadena de parámetro que puede ser usada por alguna herramienta de [http://www.ecured.cu/index.php/Proceso_de_Arranque_de_un_Ordenador#GRUB booteo].&lt;br /&gt;
==Master Driver Table==&lt;br /&gt;
A continuación de la MBFT  puede haber una MDT (Master Driver Table). El principal propósito de esta tabla es proporcionar una forma de extender el sistema BIOS.&lt;br /&gt;
La MDT incluye un encabezado, detalles de controladores y opciones de controladores. El encabezado de la MDT contiene información que permitirá a esta tabla ser extendida o modificada con pocos o sin cambios de programación. Los detalles de controladores contienen información acerca del controlador incluyendo su nombre, donde encontrarlo y si debe ser cargado. Las opciones de controlador proporcionan una vía para configurar el controlador.&lt;br /&gt;
==EMBR Initiator (EMBRI)==&lt;br /&gt;
El EMBRI reside en el EMBR. Es el código inicial responsable de cargar el EMBR y el EMBRL. Antes de que el control sea entregado a el EMBRL este código debe establecer SS:SP hacia 0:400h. También debe establecer los registros ES y DS igual al segmento del EMBR.&lt;br /&gt;
==EMBR Loader (EMBRL)==&lt;br /&gt;
Todos los discos duros físicos con un EMBR necesitan un controlador por defecto que comience en el sector que sigue a todas las tablas. El controlador por defecto en el disco físico 0 se llama Extended Master Boot Record Loader. Los controladores por defecto en el resto de los discos duros van a permanecer inactivos hasta que su disco duro físico sea el número 0.&lt;br /&gt;
El control es transferido al EMBRL con los registros DS y ES igual al segmento del EMBR, SS:SP hacia 0:400h y el resto de los registros indefinidos. Los registros indefinidos pueden usarse como medio de comunicación EMBRI/EMBRL para pasar información extra según se requiera.&lt;br /&gt;
Como se mencionó anteriormente, el EMBRL se localiza en el disco físico número 0. Es el controlador responsable del procesamiento de la MPT y la MDT.  El EMBRL es un controlador y está incluido en la   MDT. Por lo tanto debe existir una MDT en el disco duro físico 0. El EMBRL debe comenzar en el sector siguiente al último sector que contenga parte de una tabla.&lt;br /&gt;
==EMBR Versión 2==&lt;br /&gt;
La cadena de opciones del MBRL de la MDT  debe ser de al menos 15 bytes de largo. Muchos de los campos ya son obsoletos en el EMBR versión 2.&lt;br /&gt;
&lt;br /&gt;
==EMBR Manager (EMBRM)==&lt;br /&gt;
El EMBRM es el código que manipula al EMBR y la interfaz con el usuario. Tiene la responsabilidad de mantener la integridad del EMBR &lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://www.terabyteunlimited.com/specs/embr2.pdf Extended Master Boot Record Specification 2]&lt;br /&gt;
[http://guimi.net/descargas/Monograficos/G-Arranque.pdf Arranque] &lt;br /&gt;
[http://www.themooressite.com/tech/Thin%20Clients/bootthumbmbr.pdf    Bootable   USB Flash Drive (Creating “Master Boot Record”) For USB Drive] &lt;br /&gt;
[http://microtel.microgg.info/index2.php?option=com_content&amp;amp;do_pdf=1&amp;amp;id=37 Master Boot Record]&lt;br /&gt;
[http://vittoriop77.altervista.org/download/XP_Boot_Process.pdf XP_Boot_Process] &lt;br /&gt;
[http://communities.intel.com/servlet/JiveServlet/download/84573-3395/introducing_uefi-compliant_firmware_on_ibm_system_x.1.0.pdf  Introducing UEFI-Compliant Firmware on IBM System x and BladeCenter Servers] &lt;br /&gt;
[http://ebookpp.com/ma/master-boot-record-pdf.htm Master Boot record] &lt;br /&gt;
&lt;br /&gt;
[[Category:Dispositivos_de_almacenamiento]]&lt;br /&gt;
[[Category:Archivos_de_configuración]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Extended_master_boot_record&amp;diff=1215650</id>
		<title>Extended master boot record</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Extended_master_boot_record&amp;diff=1215650"/>
		<updated>2011-11-29T14:11:33Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Normalizar}}{{Ficha Software&lt;br /&gt;
|nombre= Extended Master Boot Record&lt;br /&gt;
|familia= Almacenamiento de datos&lt;br /&gt;
|imagen=Particionar-discos-duros.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable= 2&lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'''Extended Master Boot Record'''  en lo adelante EMBR se define como el área de un [http://www.ecured.cu/index.php/Disco_duro  disco duro] desde el [http://www.ecured.cu/index.php/Disco_duro#Direccionamiento cilindro físico 0, cabeza 0, sector 0] hasta el ultimo sector físico del cilindro 0 cabeza 0, incluido este. Extiende las capacidades del [http://www.ecured.cu/index.php/Master_Boot_Record Master Boot Record] El área real disponible para el EMBR depende del mapeo realizado por la [http://www.ecured.cu/index.php/BIOS BIOS] del cilindro, cabeza y sector lógico y los sectores reservados. Los requerimientos mínimos de disponibilidad para el EMBR son desde el sector 3 hasta el 17.&lt;br /&gt;
 &lt;br /&gt;
==Master Partition Table==&lt;br /&gt;
El objetivo de esta tabla es sobreponerse a las limitaciones de la anterior [http://www.ecured.cu/index.php/Partici%C3%B3n_de_disco#Particiones_primarias tabla de particiones]. La MPT (Master Partition Table) reside en el EMBR.&lt;br /&gt;
La Master Partition Table incluye un encabezado y  detalles de las particiones incluyendo sus nombres. Las entradas de particiones están en un nuevo formato no usado por la tabla de partición estándar. El encabezado de la MPT contiene información que permitirá  a la tabla ser extendida o modificada con mínimos o sin cambios de programación.&lt;br /&gt;
==Master Boot File Table==&lt;br /&gt;
A continuación de la MPT se encuentra la MBFT  (Master Boot File Table) con el propósito de proveer un área común para que sean referenciados los nombres de los ficheros de arranque.&lt;br /&gt;
La MBFT contiene una cabecera seguida por una o más entradas de detalle. Las entradas de detalle incluyen el segmento que debe ser usado para cargar el fichero de arranque y en que segmento/desplazamiento el primer byte de código comienza. También incluye una cadena de parámetro que puede ser usada por alguna herramienta de [http://www.ecured.cu/index.php/Proceso_de_Arranque_de_un_Ordenador#GRUB booteo].&lt;br /&gt;
==Master Driver Table==&lt;br /&gt;
A continuación de la MBFT  puede haber una MDT (Master Driver Table). El principal propósito de esta tabla es proporcionar una forma de extender el sistema BIOS.&lt;br /&gt;
La MDT incluye un encabezado, detalles de controladores y opciones de controladores. El encabezado de la MDT contiene información que permitirá a esta tabla ser extendida o modificada con pocos o sin cambios de programación. Los detalles de controladores contienen información acerca del controlador incluyendo su nombre, donde encontrarlo y si debe ser cargado. Las opciones de controlador proporcionan una vía para configurar el controlador.&lt;br /&gt;
==EMBR Initiator (EMBRI)==&lt;br /&gt;
El EMBRI reside en el EMBR. Es el código inicial responsable de cargar el EMBR y el EMBRL. Antes de que el control sea entregado a el EMBRL este código debe establecer SS:SP hacia 0:400h. También debe establecer los registros ES y DS igual al segmento del EMBR.&lt;br /&gt;
==EMBR Loader (EMBRL)==&lt;br /&gt;
Todos los discos duros físicos con un EMBR necesitan un controlador por defecto que comience en el sector que sigue a todas las tablas. El controlador por defecto en el disco físico 0 se llama Extended Master Boot Record Loader. Los controladores por defecto en el resto de los discos duros van a permanecer inactivos hasta que su disco duro físico sea el número 0.&lt;br /&gt;
El control es transferido al EMBRL con los registros DS y ES igual al segmento del EMBR, SS:SP hacia 0:400h y el resto de los registros indefinidos. Los registros indefinidos pueden usarse como medio de comunicación EMBRI/EMBRL para pasar información extra según se requiera.&lt;br /&gt;
Como se mencionó anteriormente, el EMBRL se localiza en el disco físico número 0. Es el controlador responsable del procesamiento de la MPT y la MDT.  El EMBRL es un controlador y está incluido en la   MDT. Por lo tanto debe existir una MDT en el disco duro físico 0. El EMBRL debe comenzar en el sector siguiente al último sector que contenga parte de una tabla.&lt;br /&gt;
==EMBR Versión 2==&lt;br /&gt;
La cadena de opciones del MBRL de la MDT  debe ser de al menos 15 bytes de largo. Muchos de los campos ya son obsoletos en el EMBR versión 2.&lt;br /&gt;
&lt;br /&gt;
==EMBR Manager (EMBRM)==&lt;br /&gt;
El EMBRM es el código que manipula al EMBR y la interfaz con el usuario. Tiene la responsabilidad de mantener la integridad del EMBR &lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://www.terabyteunlimited.com/specs/embr2.pdf Extended Master Boot Record Specification 2]&lt;br /&gt;
[http://guimi.net/descargas/Monograficos/G-Arranque.pdf Arranque] &lt;br /&gt;
[http://www.themooressite.com/tech/Thin%20Clients/bootthumbmbr.pdf    Bootable   USB Flash Drive (Creating “Master Boot Record”) For USB Drive] &lt;br /&gt;
[http://microtel.microgg.info/index2.php?option=com_content&amp;amp;do_pdf=1&amp;amp;id=37 Master Boot Record]&lt;br /&gt;
[http://vittoriop77.altervista.org/download/XP_Boot_Process.pdf XP_Boot_Process] &lt;br /&gt;
[http://communities.intel.com/servlet/JiveServlet/download/84573-3395/introducing_uefi-compliant_firmware_on_ibm_system_x.1.0.pdf  Introducing UEFI-Compliant Firmware on IBM System x and BladeCenter Servers] &lt;br /&gt;
[http://ebookpp.com/ma/master-boot-record-pdf.htm Master Boot record] &lt;br /&gt;
&lt;br /&gt;
[[Category:Dispositivos_de_almacenamiento]]&lt;br /&gt;
[[Category:Archivos_de_configuración]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Extended_master_boot_record&amp;diff=1206884</id>
		<title>Extended master boot record</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Extended_master_boot_record&amp;diff=1206884"/>
		<updated>2011-11-26T00:58:52Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= Extended Master Boot Record |familia= Almacenamiento de datos |imagen=Disco-duro.jpg |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |cre...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= Extended Master Boot Record&lt;br /&gt;
|familia= Almacenamiento de datos&lt;br /&gt;
|imagen=Disco-duro.jpg&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=&lt;br /&gt;
|desarrollador=&lt;br /&gt;
|diseñador=&lt;br /&gt;
|modelo de desarrollo=&lt;br /&gt;
|fecha de creación=&lt;br /&gt;
|lanzamiento inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última versión estable= 2&lt;br /&gt;
|núcleo=&lt;br /&gt;
|tipo de núcleo=&lt;br /&gt;
|plataformas soportadas=&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas operativos=&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
|premios=&lt;br /&gt;
|web=&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'''Extended Master Boot Record'''  en lo adelante EMBR se define como el área de un disco duro desde el [[cilindro físico]] 0, cabeza 0, sector 0 hasta el ultimo sector físico del cilindro 0 cabeza 0, incluido este. El área real disponible para el EMBR depende del mapeo realizado por la BIOS del cilindro, [[cabeza]] y [[sector lógico]] y los [[sectores reservados]]. Los requerimientos mínimos de disponibilidad para el EMBR son desde el sector 3 hasta el 17.&lt;br /&gt;
 &lt;br /&gt;
==Master Partition Table==&lt;br /&gt;
El objetivo de esta tabla es sobreponerse a las limitaciones de la anterior [[tabla de particiones]]. La MPT (Master Partition Table) reside en el EMBR.&lt;br /&gt;
La Master Partition Table incluye un encabezado y  detalles de las [[particiones]] incluyendo sus nombres. Las entradas de particiones están en un nuevo formato no usado por la tabla de partición estándar. El encabezado de la MPT contiene información que permitirá  a la tabla ser extendida o modificada con mínimos o sin cambios de programación.&lt;br /&gt;
==Master Boot File Table==&lt;br /&gt;
A continuación de la MPT se encuentra la MBFT  (Master Boot File Table) con el propósito de proveer un área común para que sean referenciados los nombres de los ficheros de arranque.&lt;br /&gt;
La MBFT contiene una cabecera seguida por una o más entradas de detalle. Las entradas de detalle incluyen el segmento que debe ser usado para cargar el fichero de arranque y en que segmento/desplazamiento el primer byte de código comienza. También incluye una cadena de parámetro que puede ser usada por alguna herramienta de [[booteo]].&lt;br /&gt;
==Master Driver Table==&lt;br /&gt;
A continuación de la MBFT  puede haber una MDT (Master Driver Table). El principal propósito de esta tabla es proporcionar una forma de extender el sistema [[BIOS]].&lt;br /&gt;
La MDT incluye un encabezado, detalles de [[controladores]] y opciones de controladores. El encabezado de la MDT contiene información que permitirá a esta tabla ser extendida o modificada con pocos o sin cambios de programación. Los detalles de controladores contienen información acerca del controlador incluyendo su nombre, donde encontrarlo y si debe ser cargado. Las opciones de controlador proporcionan una vía para configurar el controlador.&lt;br /&gt;
==EMBR Initiator (EMBRI)==&lt;br /&gt;
El EMBRI reside en el EMBR. Es el código inicial responsable de cargar el EMBR y el EMBRL. Antes de que el control sea entregado a el EMBRL este código debe establecer SS:SP hacia 0:400h. También debe establecer los registros ES y DS igual al segmento del EMBR.&lt;br /&gt;
==EMBR Loader (EMBRL)==&lt;br /&gt;
Todos los discos duros físicos con un EMBR necesitan un controlador por defecto que comience en el sector que sigue a todas las tablas. El controlador por defecto en el disco físico 0 se llama Extended Master Boot Record Loader. Los controladores por defecto en el resto de los discos duros van a permanecer inactivos hasta que su disco duro físico sea el número 0.&lt;br /&gt;
El control es transferido al EMBRL con los registros DS y ES igual al segmento del EMBR, SS:SP hacia 0:400h y el resto de los registros indefinidos. Los registros indefinidos pueden usarse como medio de comunicación EMBRI/EMBRL para pasar información extra según se requiera.&lt;br /&gt;
Como se mencionó anteriormente, el EMBRL se localiza en el disco físico número 0. Es el controlador responsable del procesamiento de la MPT y la MDT.  El EMBRL es un controlador y está incluido en la   MDT. Por lo tanto debe existir una MDT en el disco duro físico 0. El EMBRL debe comenzar en el sector siguiente al último sector que contenga parte de una tabla.&lt;br /&gt;
==EMBR Versión 2==&lt;br /&gt;
La cadena de opciones del MBRL de la MDT  debe ser de al menos 15 bytes de largo. Muchos de los campos ya son obsoletos en el EMBR versión 2.&lt;br /&gt;
==EMBR Manager (EMBRM)==&lt;br /&gt;
El EMBRM es el código que manipula al EMBR y la interfaz con el usuario. Tiene la responsabilidad de mantener la integridad del EMBR &lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://www.terabyteunlimited.com/specs/embr2.pdf Extended Master Boot Record Specification 2]&lt;br /&gt;
[http://guimi.net/descargas/Monograficos/G-Arranque.pdf Arranque] &lt;br /&gt;
[http://www.themooressite.com/tech/Thin%20Clients/bootthumbmbr.pdf    Bootable   USB Flash Drive (Creating “Master Boot Record”) For USB Drive] &lt;br /&gt;
[http://microtel.microgg.info/index2.php?option=com_content&amp;amp;do_pdf=1&amp;amp;id=37 Master Boot Record]&lt;br /&gt;
[http://vittoriop77.altervista.org/download/XP_Boot_Process.pdf XP_Boot_Process] &lt;br /&gt;
[http://communities.intel.com/servlet/JiveServlet/download/84573-3395/introducing_uefi-compliant_firmware_on_ibm_system_x.1.0.pdf  Introducing UEFI-Compliant Firmware on IBM System x and BladeCenter Servers] &lt;br /&gt;
[http://ebookpp.com/ma/master-boot-record-pdf.htm Master Boot record] &lt;br /&gt;
&lt;br /&gt;
[[Category:Dispositivos_de_almacenamiento]]&lt;br /&gt;
[[Category:Archivos_de_configuración]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Lenguaje_de_Programaci%C3%B3n_F_Sharp&amp;diff=996512</id>
		<title>Lenguaje de Programación F Sharp</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Lenguaje_de_Programaci%C3%B3n_F_Sharp&amp;diff=996512"/>
		<updated>2011-10-05T16:14:17Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha Software |nombre= F# |familia= .NET,  Multiparadigma |imagen=  right   Lenguajes de programación. |tamaño= |descripción=Lenguajes de p...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre= F#&lt;br /&gt;
|familia= .NET, &lt;br /&gt;
Multiparadigma&lt;br /&gt;
|imagen=&lt;br /&gt;
 [[Archivo:Lenguajes.png|thumb|right   Lenguajes de programación.]]&lt;br /&gt;
|tamaño=&lt;br /&gt;
|descripción=Lenguajes de programación&lt;br /&gt;
|imagen2=&lt;br /&gt;
|tamaño2=&lt;br /&gt;
|descripción2=&lt;br /&gt;
|creador=&lt;br /&gt;
&lt;br /&gt;
 Microsoft Research&lt;br /&gt;
|desarrollador=Microsoft&lt;br /&gt;
|diseñador= &lt;br /&gt;
Microsoft&lt;br /&gt;
 Research&lt;br /&gt;
|modelo de desarrollo= RAD (Rapid Application &lt;br /&gt;
Development)&lt;br /&gt;
|lanzamiento&lt;br /&gt;
 inicial=&lt;br /&gt;
|versiones=&lt;br /&gt;
|última&lt;br /&gt;
 versión estable= 2.0 &lt;br /&gt;
(12 de abril de 2010)&lt;br /&gt;
|género=&lt;br /&gt;
|sistemas&lt;br /&gt;
 operativos= &lt;br /&gt;
Multiplataforma (.NET, Mono)&lt;br /&gt;
|idioma=&lt;br /&gt;
|licencia=&lt;br /&gt;
 &lt;br /&gt;
Apache 2.0&lt;br /&gt;
|premios=&lt;br /&gt;
|web= &lt;br /&gt;
http://research.microsoft.com/fsharp/fsharp.aspx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''F#''' (pronunciado F Sharp) es un [http://www.ecured.cu/index.php/Paradigmas_de_programaci%C3%B3n lenguaje de programación multiparadigma], para la plataforma .NET, que incluye la [http://www.ecured.cu/index.php/Programaci%C3%B3n_funcional programación funcional] y las disciplinas [http://www.ecured.cu/index.php/Programaci%C3%B3n_Imperativa imperativa]] y [[http://www.ecured.cu/index.php/Programaci%C3%B3n_Orientada_a_Objetos orientada a objetos]. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. F# fue inicialmente desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo desarrollado por la División de Desarrolladores de [http://www.ecured.cu/index.php/Microsoft Microsoft] y ha sido distribuido como un lenguaje totalmente soportado en la [http://www.ecured.cu/index.php/.net plataforma .NET] y [http://www.ecured.cu/index.php/Microsoft_Visual_Studio Visual Studio 2010].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Características del Lenguaje==&lt;br /&gt;
 &lt;br /&gt;
F# es un lenguaje fuertemente tipado que utiliza inferencia de tipos por lo que los tipos no necesitan estar declarados explícitamente por el programador; estos serán deducidos por el compilador durante el proceso de compilación. No obstante, F# también permite la declaración explícita de tipos de datos. Por ser un lenguaje .NET, F# soporta los objetos y tipos de .NET.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
F# permite programar de una manera que se asemeja más a como pensamos. Por ejemplo: en la cafetería para pedir un café, nosotros generalmente no le decimos al mesero exactamente los pasos para hacer el café, sólo pedimos un café con ciertas características. Esto permite que tengamos menos espacio para cometer errores, porque simplemente escribimos menos código.&lt;br /&gt;
F# combina a su vez la programación orientada a objetos con la funcional, proporcionando la reducción en el número de líneas de código, demandando por tanto, un mayor nivel de abstracción, siendo el lenguaje más compacto de los ofrecidos en .Net.&lt;br /&gt;
Incorpora entre sus novedades, la posibilidad de escribir código con tuplas y funciones para simplificar el código, lo que facilita la creación de programas con complicados cálculos matemáticos.&lt;br /&gt;
Con respecto a la programación en paralelo F# muestra particularidades propias del lenguaje que facilitan a su vez la programación asíncrona, haciéndola similar a la programación lineal más habitual.&lt;br /&gt;
Interesante característica es la relativa a las unidades de medida, permitiendo anotar su punto flotante del código con unidades, como por ejemplo, metros y segundos. &lt;br /&gt;
 &lt;br /&gt;
F# tiene un perfil de rendimiento parecido a [http://www.ecured.cu/index.php/Lenguaje_de_Programaci%C3%B3n_C_Sharp C#]. Sin embargo, tiene un perfil del rendimiento mucho mejor que otros lenguajes sucintos comparables, en especial los lenguajes dinámicos y de scripting. Y, al igual que muchos de los lenguajes dinámicos, F# incluye herramientas que permiten explorar los datos escribiendo fragmentos de programa y ejecutándolos de forma interactiva&lt;br /&gt;
F# admite las construcciones de programación funcional, tales como:&lt;br /&gt;
Funciones como valores, lo que permite la manipulación flexible de las funciones.&lt;br /&gt;
Composición y canalización de funciones, lo que permite el encadenamiento de funciones para crear otras nuevas y simplificar la codificación de operaciones sucesivas con datos.&lt;br /&gt;
Inferencia de tipos, lo que reduce la necesidad de llamar explícitamente a los tipos, sin sacrificar la seguridad de tipos.&lt;br /&gt;
Generalización automática, lo que promueve la reutilización de código facilitando la escritura de código que funciona con diversos tipos diferentes sin ningún esfuerzo adicional.&lt;br /&gt;
Compatibilidad con la coincidencia de modelos, lo que simplifica el código condicional complejo, y las uniones discriminadas, que se optimizan para su uso con la coincidencia de modelos.&lt;br /&gt;
Tipos de colección para trabajar con datos inmutables, incluidos tipos de lista y secuencia.&lt;br /&gt;
Expresiones lambda, que son importantes para numerosas construcciones de programación funcional.&lt;br /&gt;
Aplicación parcial de argumentos de función, lo que permite crear implícitamente nuevas funciones a partir de funciones existentes. &lt;br /&gt;
Expresiones de código delimitadas, una característica que permite manipular las expresiones de F# mediante programación.&lt;br /&gt;
 &lt;br /&gt;
==Lenguaje de Programación Multiparadigma==&lt;br /&gt;
 &lt;br /&gt;
Un lenguaje de programación multiparadigma es el que soporta más de un paradigma de programación. Permite crear programas usando más de un estilo de programación.&lt;br /&gt;
Al diseñar lenguajes con esta característica se persigue como objetivo permitir a los programadores utilizar el mejor paradigma para cada trabajo, admitiendo que ninguno resuelve todos los problemas de la forma más fácil y eficiente posible.&lt;br /&gt;
Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central unívocamente trata de resolver uno o varios problemas claramente delimitados.&lt;br /&gt;
Entre los tipos de paradigmas de programación más comunes encontramos el Imperativo o por Procedimientos, el Funcional, el Lógico, el Declarativo y el Orientado a Objetos.&lt;br /&gt;
 &lt;br /&gt;
==Lenguaje de programación ML==&lt;br /&gt;
ML es un lenguaje de programación de propósito general de la familia de los lenguajes de programación funcional desarrollado finales de los años 1970.&lt;br /&gt;
 &lt;br /&gt;
==Lenguaje de Programación Objetive Caml==&lt;br /&gt;
 &lt;br /&gt;
El lenguaje Objective CAML, también llamado Ocaml u O'Caml, es un lenguaje de programación avanzado de la familia de los lenguajes ML. Ocaml admite los paradigmas de programación imperativa, programación funcional y programación orientada a objetos.&lt;br /&gt;
 &lt;br /&gt;
==Microsoft Research==&lt;br /&gt;
Microsoft Research (MSR) es una división de Microsoft, creada en 1991 para investigar los diversos temas de ciencia de equipo y problemas. Actualmente emplea a personas altamente reconocidas, a expertos en informática, física y matemáticas.&lt;br /&gt;
 &lt;br /&gt;
==Fuentes==&lt;br /&gt;
[http://msdn.microsoft.com/es-es/library/dd233154.aspx Características de el Lenguaje F#]&lt;br /&gt;
 &lt;br /&gt;
[http://www.linuxhispano.net/2010/11/10/microsoft-libera-el-lenguaje-f/ Liberación del lenguaje Por Microsoft] &lt;br /&gt;
 &lt;br /&gt;
[http://www.javierlopezmeana.com/lenguaje-f-visual-studio-2010/ Lenguaje F#] &lt;br /&gt;
 &lt;br /&gt;
[http://msdn.microsoft.com/es-es/magazine/cc164244.aspx Lenguaje F#]&lt;br /&gt;
 &lt;br /&gt;
[http://www.lomasnuevo.net/software/f-nuevo-lenguaje-en-visual-studio-2010/ F#, nuevo lenguaje en Visual Studio 2010 « Lo + Nuevo.net.htm] &lt;br /&gt;
 &lt;br /&gt;
[http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n Paradigma de Programación] &lt;br /&gt;
 &lt;br /&gt;
[http://www.monografias.com/trabajos20/paradigmas-de-programacion/paradigmas-de-programacion.shtml Paradigma de Programación] &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación]][[Category:Informática]]&lt;br /&gt;
[[Category:Lenguajes_de_programación]]&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Usuario:Cruz01012jcscu&amp;diff=527986</id>
		<title>Usuario:Cruz01012jcscu</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Usuario:Cruz01012jcscu&amp;diff=527986"/>
		<updated>2011-04-21T13:48:35Z</updated>

		<summary type="html">&lt;p&gt;Cruz01012jcscu: Página creada con '{{Ficha_Usuario_(avanzada) |imagen= |apellidos=Alvarez Ramírez |nombre=Cruz |nivel=Universitario |título=Lic Ciencia de la computación, MSc.NTIC |postgrado=Estadística, Téc...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ficha_Usuario_(avanzada)&lt;br /&gt;
|imagen=&lt;br /&gt;
|apellidos=Alvarez Ramírez&lt;br /&gt;
|nombre=Cruz&lt;br /&gt;
|nivel=Universitario&lt;br /&gt;
|título=Lic Ciencia de la computación, MSc.NTIC&lt;br /&gt;
|postgrado=Estadística, Técnicas avanzadas de bases de datos cliente-servidor , Preparación del Tema para el Doctorado en Ciencias Pedagógicas&lt;br /&gt;
|temas=&lt;br /&gt;
|institución=MIC&lt;br /&gt;
|municipio=Contramaestre&lt;br /&gt;
|provincia=Santiago de Cuba&lt;br /&gt;
|país=Cuba&lt;br /&gt;
|seguimiento=&lt;br /&gt;
|colaboradores=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El 1ro de Agosto del año 2000 Comienza a trabajar en la Sucursal 7912 del Banco Popular de Ahorro en Contramaestre atendiendo la actividad informática. Además fue el secretario de base del FORUM de Ciencia y Técnica, Activista de Acta de Comité de Base de la Unión de Jovenes Comunistas y recibió el curso de superación política para Secretarios Generales.&lt;br /&gt;
&lt;br /&gt;
En el mes de enero de 2002 comienza a trabajar como Instructor en el Joven Club de Computación y Electrónica Contramaestre 1. Ha participado en los eventos de FORUM de ciencia y técnica, con 1 trabajo destacado y uno relevante en los eventos municipal 2002 y 2003 respectivamente. Participó en el concurso BTJ del 2003, en el que fue premiado al nivel municipal y en el Concurso BTJ 2005, premiado al nivel municipal y provincial. Participó en el evento INFOCLUB 2002 con un trabajo hasta el nivel provincial y en INFOCLUB 2005 presentó 3 trabajos, de ellos, dos fueron premiados al nivel municipal y uno al nivel provincial, además participó en el evento nacional. En el Evento INFOCLUB 2007 Obtuvo premio en el evento municipal y provincial y participó en el nacional. Participó en el evento ECOJOVEN 2007 Municipal y Provincial en el año 2007, donde obtuvo un Premio y una Mención.  Obtuvo el sello Forjadores del Futuro en el 2002. Ocupó el cargo de Secretario de la comisión de Base del FORUM desde el año 2002 hasta el 2007. En el Comité de Base de este centro fue el Secretario de Acta desde su alta en el mismo y Secretario  General desde el año 2002 hasta el 2006. Desde agosto de 2004 mantuvo la doble militancia hasta Diciembre de 2006, cuando se le otorgó el pase al Partido.&lt;br /&gt;
&lt;br /&gt;
En la actividad Sindical ha cumplido con todo lo establecido y realizado 3 donaciones de sangre, lo que le ha permitido ser seleccionado destacado al nivel municipal en varias ocasiones y Vanguardia Nacional en el año 2005 y 2006.&lt;br /&gt;
&lt;br /&gt;
Ha participado activamente en diferentes tareas significativas de la Revolución, entre las que encontramos: La capacitación voluntaria de los cuadros de la UJC en computación y profesores del politécnico de La Venta, la participación activa en el levantamiento de pensionados, el trabajo con discapacitados, la participación en actos y tribunas abiertas, participación de vanguardia en el Estudio Genético, apoyo al Censo de Población y Viviendas, participación en el censo de combustible de cocina, Universalización de la enseñanza superior, Capacitación de estudiantes para trabajadores sociales, Capacitación de estudiantes para ingresar al la Universidad de Ciencias Informáticas (UCI),  5 meses movilizado en el proyecto ESPERANZA  SOCIAL Cuba-Venezuela donde tuvo responsabilidades, Delegado al VIII Congreso de la Unión de Jóvenes Comunistas, participó en ejercicio Bastión 2004, apoyó el estudio Integral de los niños de 0 a 15 años, fue elegido pre-candidato al 16 Festival Mundial de la Juventud y los estudiantes. En el Proceso de Discusión del Discurso de Raúl Castro Rúz, estuvo un mes movilizado en el Puesto de Mando Municipal como Administrador de la base de datos en octubre de 2009, 4 meses movilizado como Informático en la Comisión Electoral Municipal febrero-mayo de 2010, 3 meses movilizado como jefe de Informática en el Puesto de Mando Municipal para la discusión del Proyecto de Lineamientos del VI Congreso del Partido Comunista de Cuba diciembre/2010-febrero/2011.&lt;br /&gt;
&lt;br /&gt;
Es profesor adjunto de la sede universitaria municipal desde su creación en el año 2002, se graduó de la escuela de idiomas en la especialidad de Inglés en el año 2002, cursó el primer nivel de Francés, Recibió los cursos de Electrónica Básica, Receptores de Radio y Arquitectura de Computadoras del Joven Club, Ha pasado tres cursos en la Escuela Municipal del Partido de 50, 19 y 44 horas respectivamente, cursó un postgrado en la Universidad de Oriente en Técnicas Avanzadas de Bases de Datos, Un postgrado en  Preparación del Tema para el Doctorado en Ciencias Pedagógicas, un Postgrado en Estadística, un curso introductorio al desarrollo de Videojuegos en La Universidad de las Ciencias Informáticas (UCI), se graduó de Master en Nuevas Tecnologías para la Educación, fue Administrador de redes del Joven Club Contramaestre 1 desde el año 2004 y Especialista Principal del mismo durante los meses junio/2010-febrero/2011. Es miembro del Grupo de Desarrollo de Aplicaciones Informáticas del los Joven Club de la provincia Santiago de Cuba y dirige el subgrupo de Contramaestre y III Frente. Desarrolló un software  para el Comité Central del Partido y para el resto de los organismos de esta organización en provincias.&lt;br /&gt;
Ha impartido numerosos cursos como son:&lt;br /&gt;
Informática I, Operador de Microcomputadoras, Microsoft Access, Programación en Borland Delphi, Taller de Computación (en Ciencias Médicas) Informática e Investigación (en la Sede Universitaria Municipal), Computación (En Cultura Física), El Lenguaje de Programación C#, ASP.NET, Linux, Postgrado en Computación, Postgrado en Estadística.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se ha autopreparado en diferentes temas como: Programación en Visual C++, Creación de bases de datos con SQL Server, Programación en C#, Administración de servidores Web, Administración de redes de computadoras., Programación en PHP, Programación con ASP.NET, Creación de videojuegos, Diseño en 3D, Programación 3D con Irrlicht, Ogre y G3D.&lt;br /&gt;
&lt;br /&gt;
==Contribuciones==&lt;br /&gt;
&lt;br /&gt;
El San Juan Contramaestrense&lt;/div&gt;</summary>
		<author><name>Cruz01012jcscu</name></author>
		
	</entry>
</feed>