viernes, 23 de noviembre de 2012

1. Base de datos

Definir el término base de datos

Definición de Bases de Datos.- Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos
Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo.

Explicar Sus Orígenes Y Antecedentes
Surgen desde mediados de los años sesenta la historia de las bases de datos, en 1970 Codd propuso el modelo relacional, este modelo es el que ha marcado la línea de investigación por muchos años, ahora se encuentran los modelos orientados a objetos.

Describir las ventajas del uso de la base de datos en la organización
Ventajas de las bases de datos.-

Independencia de datos y tratamiento.
Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).
Coherencia de resultados.
Reduce redundancia :
Acciones logicamente unicas.
Se evita inconsistencia.
Mejora en la disponibilidad de datos
No hay dueño de datos (No igual a ser publicos).
Ni aplicaciones ni usuarios.
Guardamos descripción (Idea de catalogos).
Cumplimiento de ciertas normas.
Restricciones de seguridad.
Accesos (Usuarios a datos).
Operaciones (Operaciones sobre datos).
Otras ventajas:
Más efiente gestión de almacenamiento.
Efecto sinergico.



Describir La Artuitectura De Una Base De Datos
Distintos Niveles de un SBD
Los SBD pueden ser estudiados desde 3 niveles distintos:
1.- Nivel Físico.
Es el nivel real de los datos almacenados. Es decir como se almacenan los datos, ya sea en registros, o como sea. Este nivel es usado por muy pocas personas que deben estar cualificadas para ello. Este nivel lleva asociada una representación de los datos, que es lo que denominamos Esquema Físico.
2.- Nivel Conceptual.
Es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real. Es decir tratamos con la entidad u objeto representado, sin importarnos como está representado o almacenado. Este nivel lleva asociado el Esquema Conceptual.
3.- Nivel Visión.
Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios por lo general sólo tienen acceso a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del empleado que no tiene porqué tener acceso al sueldo de sus compañeros o de sus superiores. El esquema asociado a éste nivel es el Esquema de Visión.
Los 3 niveles vistos, componen lo que conocemos como arquitectura de base de datos a 3 niveles.
A menudo el nivel físico no es facilitado por muchos DBMS, esto es, no permiten al usuario elegir como se almacenan sus datos y vienen con una forma estándar de almacenamiento y manipulación de los datos.
La arquitectura a 3 niveles se puede representar como sigue:
Subesquema de Visión, Subesquema de Visión, Subesquema de Visión, ...
Esquema Conceptual
Esquema Físico

Citar Las Diferentes Estructuras De Bases De Datos
Modelos de Datos
Para representar el mundo real a través de esquemas conceptuales se han creado una serie de modelos:
Mundo Real Esq’s Conceptuales
Modelización
Existen multitud de estos modelos que se conocen como Modelos de Datos, algunos de estos modelos son:

Modelo Relacional de Datos
Modelo de Red
Modelo Jerárquico
1.- Modelo Relacional de Datos.
Representa al mundo real mediante tablas relacionadas entre sí por columnas comunes.
  
2.- Modelo de Red.
Representamos al mundo real como registros lógicos que representan a una entidad y que se relacionan entre sí por medio de flechas. Ex.:
33 Pepe 25 Textil
34 Juan
3.- Modelo Jerárquico.
Tiene forma de árbol invertido. Un padre puede tener varios hijos pero cada hijo sólo puede tener un padre. Ex.:
Empresa
25 Textil 26 Pintura 27 Construcción
33 Pepe 34 Juan 36 Perico
Al llegar a este punto adoptaremos una convención con respecto a las restricciones que se pueden dar en un modelo, en cuanto a la capacidad de relacionarse que pueda tener cada entidad de ese modelo con el resto de entidades.
Como se ha dicho el modelo jerárquico sólo admite relaciones 1 : 1 ó 1 : N.
En caso de que tuviésemos la necesidad de otro tipo de asociaciones y queramos usar el esquema jerárquico, recurriríamos a una duplicación de la información en el esquema, pero sólo a nivel esquemático.
Ex.: Tenemos dos entidades (cliente y cuenta), queremos que un cliente pueda poseer varias cuentas, y que una cuenta pueda tener como titulares a varios clientes. Usando el modelo jerárquico tendríamos que recurrir a una duplicación de los datos en el esquema.
Cliente Cuenta
Cuenta Cliente
Como ya se ha dicho esta duplicación sólo ocurriría a nivel esquemático, pero a nivel físico existiría un único registro por cliente, y por cuenta que relacionaríamos mediante varios punteros con todo lo necesario.
En el modelo de red no existen restricciones, si queremos representar que un cliente puede tener varias cuentas, cada una de las cuáles sólo puede tener un titular, y cada cuenta ésta en una sola sucursal, que por supuesto puede ser compartida por varias cuentas, éste sería el esquema:

Cliente Cuenta Sucursal
Con el modelo relacional podríamos tener ambas entidades definidas de la siguiente forma:
Cliente = (Nº Cliente: Acceso Principal; Nombre, Dirección, Nº Cuenta: Acceso Ajeno)
Cuenta = (Nº Cuenta: Acceso Principal; Saldo)
Se podría hablar de otro modelo que está un nivel más arriba y que se denomina Modelo Entidad-Relación (E/R). Este modelo sólo realiza el diseño, no realiza la implementación, por lo tanto una vez hecho el diseño se puede llevar al modelo relacional, de red o jerárquico. Define dos entidades y una forma de relación entre ellas.
Ex.:
Nombre Dcción Num_Cli Num_cuenta Saldo
CLIENTE Cliente - CUENTA
Cuenta
Entidad Relación Entidad

Clasificar Las Bases De Datos Por Su Uso Y Aplicación
TIPOS DE MODELOS DE DATOS Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico, el modelo de red y el modelo relacional. MODELO JERARQUICO. Puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos.
MODELO DE RED. Este modelo permite la representación de muchos a muchos, de tal forma que cualquier registro dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de red evita redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector.
MODELO RELACIONAL. Este modelo se está empleando con más frecuencia en la práctica, debido a la ventajas que ofrece sobre los dos modelos anteriores, entre ellas, el rápido entendimiento por parte de ususarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos.
BASES DE DATOS DISTRIBUIDAS. Las bases de datos distribuidas se están utilizando cada vez más en la misma medida en que se usan las arquitecturas de cliente-servidor y groupware. Los principales problemas que se generan por el uso de la tecnología de bases de datos distribuidas son en lo referente a duplicidad de datos y a su integridad al momento de realizar actualizaciones a los mismos. Además, el control de la información puede constituir una desventaja, debido a que se encuentra diseminada en diferentes localidades geográficas.
TENDENCIAS FUTURAS. En el futuro la mayoría de las organizaciones cambiarán la forma convencional de manejo de la información a la arquitectura de base de datos a las ventajas derivadas de su uso. El uso de las bases de datos distribuidas se incrementará de manera considerable en la medida en que la tecnología de comunicación de datos brinde más facilidades para ello. El uso de bases de datos facilitará y soportará en gran medida a los Sistemas de Información para la Toma de Decisiones.

2. DBMS

Definir Que Es Un "DBMS"
El DBMS : es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos, esta compuesto por:
DDL: Lenguaje de Definición de Datos
DML:Lenguaje de Manipulación de Datos
SQL: Lenguaje de Consulta.
Ejemplificar Distintos "Dbms" Relacionales Existentes En El Mercado Actual
Si se trata de una base de datos relacional (veremos a continuación qué significa esto), es probable que el lenguaje usado para recuperar las informaciones que se nos muestran sea SQL (Structured Query Language).
los DBMS mas comunes son Oracle, SqlServer, Informix, Sysbase,

Describir Las Caracteristicas De Al Menos 3 DBMS
Bases de datos jerárquicos: los datos se organizan en grupos unidos entre ellos por relaciones de "posesión", en las que un conjunto de datos puede tener otros conjuntos de datos, pero un conjunto puede pertenecer sólo a otro conjunto. La estructura resultante es un árbol de conjuntos de datos.
Bases de datos reticulares: el modelo reticular es muy parecido al jerárquico, y de hecho nace como una extensión de este último. También en este modelo conjuntos de datos están unidos por relaciones de posesión, pero cada conjunto de datos puede pertenecer a uno o más conjuntos.
Bases de datos relacionales: las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación.
Base de datos por objetos (object-oriented): el esquema de una base de datos por objetos está representado por un conjunto de clases que definen las características y el comportamiento de los objetos que poblarán la base de datos. La diferencia principal respecto a los modelos examinados hasta ahora es la no positividad de los datos. En efecto, con una base de datos tradicional (entendiendo con este término cualquier base de datos no por objetos), las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos object-oriented, al contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos. En cierto sentido, se podrá pensar en los objetos como en datos a los que se les ha puesto una inyección de inteligencia que les permite saber cómo comportarse, sin tener que apoyarse en aplicaciones externas.

Explicar la diferencia entre un dbms y una base de datos
La base de datos es una colección de archivos interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de númerosas rutinas de software interrelacionadas cada una de ellas es responsable de una determinada tarea.

Mencionar la importancia de una apropiada elección de dbms
Se tiene que elegir el que tenga la mejor interfaz a las necesidades de la empresa y sobre todo que este apto para la base de datos que vayamos a utilizar.
Citar los componentes de un sistema de base de datos
Recursos que componen un sbd
Un sbd estará formado por:

Personas
Máquinas
Programas
Datos
Describir las funciones de cada componente de un sistema de base de datos
1. Los datos.
Es lo que se conoce como base de datos propiamente dicha. Para manejar estos datos utilizamos una serie de programas.
2.- Los Programas.
Son los encargados de manejar los datos, son conocidos como DBMS (Data Base Management System) o también SGBD (Sistema Gestor de Base de Datos). Los DBMS tienen dos funciones principales que son:
- La definición de las estructuras para almacenar los datos.
- La manipulación de los datos.
1.- Describir los sistemas de procesamiento de archivos
La información necesita ser guardada y manipulada para que sea útil y este es uno de los objetivos principales que han tenido la computadoras dentro de la empresa.
A principios de su incorporación al ámbito empresarial, las computadoras trabajaban con lo que se conoce como "Sistema de procesamiento de Archivos" en los que se guardaban los datos para ser procesados por programas escritos especialmente para cada clase de archivos; esto degeneraba en un sistema monolítico y de difícil mantenimiento.
Sistema de Procesamiento de Archivos:
Tiene una serie de inconvenientes que son reducidos en los SGBD:
Dificultad de Acceso a ciertos datos o información:
Si no existen programas para acceder o calcular cierta información, no puede accederse a ella. Ej.: Calcular totales, o registros con cierta condición...
Aislamiento de Datos:
Los datos pueden estar en varios archivos con distintos formatos, que complican la creación de programas nuevos.
Falta de Integridad:
Es complicado mantener ciertas condiciones en la información. Ej.: Que el saldo sea superior a cierta cantidad, que un empleado no esté adscrito a un número de Departamento que no exista...
Problemas de Atomicidad en las operaciones:
A veces es esencial que para la consistencia de la BD se efectúen varias operaciones como si fueran una única operación,
evitando que se produzcan fallos en medio de dicha operación. Ej.: En una transferencia bancaria hay que dar de quitar dinero de una cuenta y añadirlo a la otra.
Problemas en el Acceso Concurrente:
Si varios usuarios acceden a la vez a un dato pueden producirse errores. Ej.: Si se saca dinero de una misma cuenta desde dos sitios distintos.
Problemas de Seguridad:
Dificultad para controlar que ciertos usuarios no accedan a ciertos datos
2.- Explicar su evolución histórica
Viendo la necesidad de mejorar este estándar se desarrollaron los "Sistemas gestores de Base de Datos Relacionales"(SGBDR) cuyas características hacen al sistema mucho mas eficiente que los sistemas de manejos de archivos.
Algunas de las características son que existe solo una copia de los datos para que todos los programas trabajen con ella, esto es lo que se denomina obtención de redundancia mínima y de esta manera se podrá eliminar la inconsistencia de los datos.
La capacidad de interactuar en un ambiente cliente/servidor donde los clientes o usuarios (ya sea de una intranet o desde Internet) pudiendo trabajar con un un conjunto único de datos alojados en un servidor y donde varios clientes podrían estar trabajando al mismo tiempo.
Estas son solo algunas de las características que tiene el modelo de base de datos relacional y en Linux exiten diversos motores de base de datos que permiten trabajar ya sea con base de datos existentes o creando nuevas con todas las capacidades de trabajo en red de este sistema operativo.
Numerosas empresas se han volcado al desarrollo de SGBDR's como Oracle e Informix pero la mas conocida por su carácter gratuito para el uso personal y la inclusión en numerosas distribuciones es el PostgreSQL.
En un principio adoptado para el sistema UNIX, fue portado a Linux y modificado para utilizar el lenguaje de consultas SQL, donde se llamo Posgres95.
Mejorado en el 96 tomo su nuevo PostgeSQL y adopto las nuevas carácter del SQL - 92.
Actualmente posee ciertas limitaciones técnicas como el no permitir consultas paralelas, es decir que no pueden dos usuarios consultar una misma tabla al mismo tiempo, lo que impide su adopción en un ambiente de trabajo de grandes dimensiones. Pero el uso del lenguaje de consulta SQL lo hace especial para ambientes de trabajo que cuente con múltiples plataformas y también así para su utilización para ser consultado directamente desde internet a trabes de una pagina Web.
PostgreSQL requiere de cierto conocimiento del lenguaje SQL por lo que es recomendable el estudio de bibliografía que trate este tema antes de trabajar en el diseño de una base de datos con el.
No estaría bien terminar sin nombrar otros sistemas de base de datos como el Sybase SQL Anywhere Studio de la empresa Sybase cuya versión beta se encuentra disponible en el web site de la compañía www.sybase.com/products/anywhere/linuxbeta.
Otro conocido en el campo de las bases de datos es Oracle y el portar Oracle 8 a Linux fue un gran avancé que da solides a este sistema operativo para su adopción en las grandes y medianas empresas.
3.- Describir los sistemas de procesamiento en línea y por lotes
Un sistema de procesamiento por lotes (batch) ejecuta trabajos (jobs)
En un sistema de procesamiento por lotes, organizar la memoria en particiones fijas es simple y efectivo: cada trabajo se carga en la memoria cuando le toque su turno, y se queda en memoria hasta que termine. Si hay suficientes particiones para mantener a la CPU siempre ocupada, no habría razones para usar nada diferente.
Procesamiento en linea: A diferencia del procesamiento por lotes o batch, el procesamiento en línea implica que los programas se ejecuten de tal forma que los datos se actualicen de inmediato en los archivos de la computadora. A este tipo de procesamiento se le conoce también como tiempo real.
Las aplicaciones de tiempo real son indispensables en aquellos casos en que los datos contenidos en los archivos se modifican varias veces en el transcurso de un día y se consultan en forma casi inmediata con las modificaciones que se efectuaron. Un ejemplo de lo anterior es un sistema de reservaciones en alguna línea aérea.
4.- Explicar los lenguajes de 3era y 4ª generación
Los lenguajes de tercera generación (3GL; third-generation languages) son los lenguajes propiamente como los conocemos (poseen instrucciones, funciones, sintaxis, semántica); ya trascienden el uso de los términos nemotécnicos. Una instrucción puede indicar 1 o más tareas para el computador. Pueden dividirse como sigue:
Orientados a problemas
A procedimientos
A objetos
4GL (Generadores de aplicaciones que no dependen de una metodología).

Son de alto nivel y amigables; los programadores profesionales que utilizan 4GL sostienen que experimentan incrementos en la productividad de 200 a 1,000% en comparación con los lenguajes orientados al procedimiento de la tercera generación (COBOL, FORTRAN, BASIC y demás ). Hay dos tipos de 4GL:
Orientados a la produccion
Al usuario
5.- Ejemplificar las aplicaciones de los 3GL y los 4GL

Lenguajes orientados al procedimiento.- Los lenguajes orientados al procedimiento requieren que los programadores resuelvan problemas de programación utilizando la lógica de programación tradicional; esto es, los programadores codifican o escriben las instrucciones en la secuencia en que deben ejecutar para solucionar el problema. Se dividen en:
Lenguajes empresariales. Los 3GL orientados a las empresas se diseñan para ser instrumentos efectivos para desarrollar sistemas de información empresarial. La fuerza de la 3GL empresariales consiste en su capacidad de almacenar, recuperar y manejar datos alfanuméricos.
COBOL, el primer lenguaje de programación empresarial, se introdujo en 1959. Este lenguaje sigue siendo el mas popular. La intención original del os 0creadores del COBOL (Common Bussines Oriented Language; lenguajes común orientado a la empresa) era hacer que sus instrucciones se aproximan al inglés.
Lenguaje científicos. Estos lenguajes del tipo de una formula algebraica están diseñado en particular para satisfacer las necesidades de procedimientos repetitivo, la expresión y la solución de ecuaciones matemáticas y demás operaciones pertinentes.
FORTRAN. (Formula Translator), el primer lenguaje orientado a procedimientos, se desarrollo en 1955. Fue y sigue siendo el lenguaje científico más popula.
APL. (A Programming Language un lenguaje de programación), introducido en 1968, es un lenguaje de programación interactivo que es común entre los ingenieros, matemáticos y científicos. Un tablero especial con símbolos "taquigráficos" ayuda a la rapidez del proceso de cifrado.
Lenguajes de la cuarta generación orientados a la producción. Los lenguajes de la cuarta generación orientados a la producción están diseñados sobre todo para profesionales en la computación, quienes usan 4GL como el Ideal de ADR, el Natural 2 de Software AG y el Mantis de Cincom.
Otros lenguajes orientados al procedimiento. El análisis anterior de los lenguajes al procedimiento no pretende ser exhaustivo. Entre estos se incluyen los siguientes:
LISP ( List Processing [procesamiento de listas], 1959). Un lenguaje de procesamiento de listas eficiente para el manejo de datos no numéricos, tales como símbolos y texto (se utiliza en el desarrollo de la inteligencia artificial y los compiladores).
LOGO (1967). Hace uso de una "tortuga" para enseñar a los niños geometría, matemáticas y programación.
FORTH (1971). Se utiliza para aplicaciones de control de dispositivos, juegos de video y robótica.
Prolog (Programming in Logic [programación en lógica], 1972. Es capaz de manejar relaciones entre hechos ( se utiliza en el desarrollo de sistemas expertos).
Modula-2 (1981). Permite combinar módulos independientes en un programa.
Lenguajes de la cuarta generación orientados al usuario. Los usuarios escriben programas para consultar (extraer información ) de una base de datos y para crear sistemas de información personales o departamentales. Los lenguajes de la cuarta generación orientados al usuario incluyen el RAMIS II de Mathematica Products Group y el FOCUS de Information Builders.
6.- Explicar la diferencia entre procesamiento de archivos y procesamiento de Base de Datos
La diferencia principal entre un sistemas de procesamiento de archivos y un DBMS radica en la manera de almacenar, recuperar y actualizar los datos; lo anterior se debe a que con los sistemas de procesamiento de archivos, como su nombre lo indica, los datos se guardan en diversos archivos y muchas veces dichos archivos son de diferente formato, ocasionando problemas como  la redundancia que trae consigo almacenamiento y dificulta el acceso a los datos. Dicha redundancia también  implica  inconsistencias en lo que se tiene almacenado .
7.- Describir las ventajas de procesamiento de base de datos
1.- Independencia de datos y tratamiento.
Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).
2.- Coherencia de resultados.
Reduce redundancia :
Acciones logicamente unicas.
Se evita inconsistencia.
3.- Mejora en la disponibilidad de datos
No hay dueño de datos (No igual a ser publicos).
Ni aplicaciones ni usuarios.
Guardamos descripción (Idea de catalogos).
4.- Cumplimiento de ciertas normas.
Restricciones de seguridad.
Accesos (Usuarios a datos).
Operaciones (Operaciones sobre datos).
5.- Otras ventajas :
Más efiente gestión de almacenamiento.
Efecto sinergico
8.- Describir los 4GL’s para manejo de base de datos

Debe tener integrado un manejador de base de datos
Debe contar con un reporteador basado en objetos
Debe haber independencia total entre los datos y las aplicaciones
Debe contar con un diccionario o repositorio de datos
Debe proporcionar apoyo para un esquema de seguridad por usuarios
Debe contar con un lenguaje de rastreo basado en ejemplos (Query By Example)
Debe hacer hincapié en el modelo de datos y no en la programación del código
Debe poseer herramientas para la fácil documentación de análisis, diseño, y modelo de datos.
Ejemplos:
Informix, Progress, Sisinf.
Desventajas:
Requieren conocimientos especializados y su operación requiere personal calificado (lo cual es caro). Su precio como producto también es caro.
9.- Citar las diferentes estructuras de base de datos
Objeto binario grande
Estructuras de base de datos en las que estan almacenados los documentos reales, como un disco duro de gran capacidad al que puede tener acceso el Agente de oficina postal (POA). En un mismo objeto binario grande se almacenan el documento, sus versiones y los objetos relacionados. Los objetos binarios grandes estan comprimidos y encriptados.
Las Base de Datos son clasificadas como sigue:
1. PLEX STRUCTURE: La base de datos tiene al menos un encadenamiento muchos a muchos ("MANY-TO-MANY link").

2. TREE OR NETWORK: La base de datos no tiene ningún encadenamiento muchos a muchos ("ONE-TO-MANY link").
En este caso, los encadenamientos de uno a muchos ("ONE-TO-MANY links") están dirigidos para que las flechas sencillas apunten hacia arriba y las dobles hacia abajo.
Como resultado de esto, el diagrama esta orientado y se pueden definir varios niveles.
Cada encadenamiento ("link") se une del nivel superior ("the parent") al sub nivel ("the child").
2.1 TREE STRUCTURE: Por definición, en la estructura de árbol ("tree structure"), cada hijo ("child") tiene un solo padre ("parent").
2.2 NETWORK STRUCTURE: Por definición, en la estructura de red ("network structure"), cada hijo ("child") puede tener varios padres ("parents").
10.- Clasificar a las base de datos por su uso y aplicación
1. Bases de datos referenciales: son aquellas que ofrecen registros que su vez son representaciones de documentos primarios. Dentro de éstas distinguen, as su vez, entre:
1.1. bibliográficas: aquellas cuyo contenido son registros de tipo bibliográfico.
1.2. directorios: aquellas cuyo contenido está referido a la descripción de otros recursos de información, como por ejemplo un directorio de bases de datos.
2. Bases de datos fuente: serían aquellas bases de datos que ofrecen el documento completo, no una representación del mismo. También distinguen entre:
2.1. numéricas: contienen información de tipo numérico, como un censo o indicadores cuantitativos.
2.2. textuales: ofrecen el texto completo de un documento.
2.3. mixtas: combinan ambos tipos de información, como por ejemplo informes económicos de empresas, datos geoeconómicos, etc.
11.- Describir las base de datos orientadas a objetos

La Orientación a Objetos puede describirse como el conjunto de disciplinas (ingeniería) que desarrollan y modelizan software que facilita la construcción de sistemas complejos a partir de componentes, llamados objetos.
En la programación orientada a objetos todo se organiza en torno a los objetos.
Un objeto tiene un nombre y posee datos y procedimientos. En cierto sentido, un objeto es un programa virtual.
Dado ciertos datos de entrada, el objeto aplica los procedimientos sobre dichos datos y genera una salida.
12.- Identificar cual sería el futuro de las base de datos
Dentro del panorama futuro de las bases de datos múltiples hay un aspecto importante que considerar, el inusitado éxito del World Wide Web (WWW o, de forma abreviada, "el web") como medio de publicación de documentos y como medio de intercambio de información. El WWW proporciona uno de los medios más heterogéneos y retadores en el campo de la interoperabilidad. Recientemente han surgido tecnologías y estándares enfocados a hacer del web una infraestructura escalable y manejable. Una de dichas tecnologías es XML [4] (eXtensible Markup Language), sobre la cual la comunidad científica tiene muchas expectativas. Una de ellas es que XML convierta a Internet en un sistema de bases de datos, haciendo posible especificar consultas en el estilo de los manejadores de bases de datos tradicionales lo cual da muchos mejores resultados que las actuales máquinas de búsqueda. Sin embargo, XML en sí no posee mucha de la funcionalidad de sistemas de bases de datos múltiples como las indicadas en Donají. El reto es integrar esa funcionalidad en XML y aprovechar al máximo la información estratégica que podamos encontrar en el web.

3. Multitarea

La ejecución de más de un programa a la vez en una computadora. Los sistemas operativos multitarea (Windows, OS/2, Unix y otros) permiten que múltiples operaciones se ejecuten simultáneamente. Sus mayores beneficios se obtienen cuando se realizan tareas largas y complejas (como consultar una base de datos). La cantidad de programas que pueden ejecutarse depende de la memoria disponible, de la velocidad de la CPU y de la eficiencia del sistema operativo.

4. Multiusuario

Un SO multiusuario permite a mas de un solo usuario accesar una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una minicomputadora, era multiusuario y multitarea desde su concepción. Actualmente se producen versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de Unix para la Machintosh llamada: A/UX.Unix , Unix proporciona tres maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo.
1.Mediante Módems
2.Mediante conexión de terminales a través de puertos seriales
3.Mediante Redes

5. Multiproceso

Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de la computadoras multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como: Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella. Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico.

Lenguajes que tienen estas características
C, SQL, El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos proporciona un método sencillo de organizar archivos y permite la protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas.
Otros sistemas operativos multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM) y Windows, desarrollado por Microsoft.
El sistema operativo multitarea de las computadoras Apple se denomina Macintosh OS.


viernes, 16 de noviembre de 2012

diferencias del sistema operativo

Descripción del sistema operativo

Para que un ordenador pueda hacer funcionar un programa informático (a veces conocido comoaplicación o software), debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio entre el procesador, la memoria y losrecursos físicos (periféricos). 
El sistema operativo (a veces también citado mediante su forma abreviada OS en inglés) se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etcétera). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico. 
Sistema operativo



De esta forma, el sistema operativo permite la "disociación" de programas y hardware, principalmente para simplificar la gestión de recursos y proporcionar una interfaz de usuario (MMI por sus siglas en inglés) sencilla con el fin de reducir la complejidad del equipo. 

Funciones del sistema operativo

El sistema operativo cumple varias funciones:
  • Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
  • Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta.
  • Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida).
  • Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir".
  • Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.
  • Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
  • Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

Componentes del sistema operativo

El sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software:
  • El núcleo, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.
  • El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera.
  • El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.




Sistemas de multiprocesos

Un sistema operativo se denominade multiprocesos cuando muchas "tareas" (también conocidas comoprocesos) se pueden ejecutar al mismo tiempo.</b> 
Las aplicaciones consisten en una secuencia de instrucciones llamadas "procesos". Estos procesos permanecen activos, en espera, suspendidos, o se eliminan en forma alternativa, según la prioridad que se les haya concedido, o se pueden ejecutar en forma simultánea. 
Un sistema se considera preventivo cuando cuenta con un programador (también llamado planificador) el cual, según los criterios de prioridad, asigna el tiempo de los equipos entre varios procesos que lo solicitan. 
Se denomina sistema de tiempo compartido a un sistema cuando el programador asigna una cantidad determinada de tiempo a cada proceso. Éste es el caso de los sistemas de usuarios múltiples que permiten a varios usuarios utilizar aplicaciones diferentes o similares en el mismo equipo al mismo tiempo. De este modo, el sistema se denomina "sistema transaccional". Para realizar esto, el sistema asigna un período de tiempo a cada usuario. 

Sistemas de multiprocesadores

La técnica de multiprocesamiento consiste en hacer funcionar varios procesadores en forma paralela para obtener un poder de cálculo mayor que el obtenido al usar un procesador de alta tecnología o al aumentar la disponibilidad del sistema (en el caso de fallas del procesador). 
Las siglas SMP (multiprocesamiento simétrico o multiprocesador simétrico) hacen referencia a la arquitectura en la que todos los procesadores acceden a la misma memoria compartida. 
Un sistema de multiprocesadores debe tener capacidad para gestionar la repartición de memoria entre varios procesadores, pero también debe distribuir la carga de trabajo. 

Sistemas fijos

Los sistemas fijos son sistemas operativos diseñados para funcionar en equipos pequeños, como losPDA (asistentes personales digitales) o los dispositivos electrónicos autónomos (sondas espaciales, robots, vehículos con ordenador de a bordo, etcétera) con autonomía reducida. En consecuencia, una característica esencial de los sistemas fijos es su avanzada administración de energía y su capacidad de funcionar con recursos limitados. 
Los principales sistemas fijos de "uso general" para PDA son los siguientes:
  • PalmOS
  • Windows CE / Windows Mobile / Window Smartphone

Sistemas de tiempo real

Los sistemas de tiempo real se utilizan principalmente en la industria y son sistemas diseñados para funcionar en entornos con limitaciones de tiempo. Un sistema de tiempo real debe tener capacidad para operar en forma fiable según limitaciones de tiempo específicas; en otras palabras, debe tener capacidad para procesar adecuadamente la información recibida a intervalos definidos claramente (regulares o de otro tipo). 
Estos son algunos ejemplos de sistemas operativos de tiempo real:

Tipos de sistemas operativos

Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más. 

SistemaProgramaciónUsuario únicoUsuario múltipleTarea únicaMultitarea
DOS16 bitsXX
Windows3.116/32 bitsXno preventivo
Windows95/98/Me32 bitsXcooperativo
WindowsNT/200032 bitsXpreventivo
WindowsXP32/64 bitsXpreventivo
Unix / Linux32/64 bitsXpreventivo
MAC/OS X32 bitsXpreventivo
VMS32 bitsXpreventivo