jueves, 22 de noviembre de 2012

Tipos de Licencias

OEM-> Supedita su venta a que forma parte de un equipo nuevo. Afecta principalmente a sistemas operativos. No se pueden vender ni ceder a terceros salvo en las mismas condiciones en que se compraron (Es decir, como parte de un equipo)
RETAIL-> versiones de venta de software en este caso, el programa es de la entera propiedad del usuario, pudiendo éste cederlo libremente a terceros o venderlo.
LICENCIAS POR VOLUMEN-> Tipo licencia destinado a grandes usuarios (empresas) bajo unas condiciones similares a las de las licencias OEM, aunque sin estar supeditas a equipos nuevos. Normalmente, estas licencias se venden en paquetes de X número de licencias; este tipo de licencia no se pueden ceder a terceros.

Gestor de Arranque:
Es un pequeño programa que se ejecuta una vez completada el inicio de la BIOS y que permite seleccionar el S.O. en caso de disponer de arranque multiple:
Describir pormenorizadamente-con graficos- cada uno de estos sistemas de arranque: 
  • NT LDR: (abreviatura de NT Loader) es el archivo encargado del arranque del Sistema Operativo en las primeras versiones de Microsoft Windows NT, incluyendo Windows XP y Windows Server 2003 (A partir de las versiones superiores a 6.0 como Windows Vista y Windows 7 se usa BOOTMGR). El NTLDR se encuentra usualmente en el disco duro principal, pero también puede encontrarse en dispositivos portátiles como CD-ROM, memorias USB, o disquetes. NTLDR requiere, como mínimo, que dos archivos adicionales se encuentren en la partición principal:
    • NTLDR, que se encarga de cargar el sistema operativo.
    • boot.ini, que contiene un menú de opciones de inicio.
Si el archivo NTLDR no se encuentra en el disco, la computadora enviará un mensaje de error informándolo.
En Windows Vista, Windows Server 2008 y Windows 7, el NTLDR fue reemplazado por dos componentes llamados winload.exe y Windows Boot Manager.

  • BOOTMGR: El bootmgr (BOOT ManaGeR) es el gestor de arranque de Windows Vista/7 que sustituye al NTLDR (NT LoaDeR) del Windows XP y anteriores sistemas NT (los Windows 9x, al estar basados en DOS, tenían, si no recuerdo mal, al IO.SYS).
    Es un archivo que permite el arranque del sistema operativo una vez la BIOS cede el control al MBR del disco duro y éste confirma la existencia de un sistema operativo (más o menos). Si ese archivo no existe o no se apunta a él de forma correcta aparece el mensaje de error que se indica.

  • LILO:
    Lilo ("Linux Loader") es un gestor de arranque que permite elegir, entre sistemas operativos Linux y otras plataformas, con cual se ha de trabajar al momento de iniciar un equipo con mas de un sistema operativo disponible. Fue desarrollado inicialmente por Werner Almesberger, actualmente está a cargo de John Coffman.
    LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o desde un disco flexible externo . LILO permite seleccionar entre 16 imágenes en el arranque. LILO puede instalarse también en el master boot record (MBR).
    Al iniciar el sistema LILO solamente puede acceder a los drivers de la BIOS para acceder al disco duro. Por esta razón en BIOS antiguas el área de acceso está limitado a los cilindros numerados de 0 a 1023 de los dos primeros discos duros. En BIOS posteriores LILO puede utilizar sistemas de acceso de 32 bits permitiéndole acceder a toda el área del disco duro.
    En las primeras distribuciones de Linux, LILO era el gestor de facto utilizado para arrancar el sistema. En la actualidad es una segunda opción en favor del gestor de arranque GRUB.
  • GRUB: GNU GRUB (GNU GRand Unified Bootloader) es un gestor de arranque múltiple, desarrollado por el proyecto GNU que se usa comúnmente para iniciar uno, dos o más sistemas operativos instalados en un mismo equipo. Se usa principalmente en sistemas operativos GNU/Linux. Mientras los gestores de arranque convencionales tienen una tabla de bloques en el disco duro, GRUB es capaz de examinar el sistema de archivos. Actualmente, soporta los siguientes sistemas de archivos:
    • ext2/ext3/ext4 (Grub2) usado por los sistemas UNIX (incluyendo GNU/Linux).
    • ReiserFS.
    • XFS de SGI (aunque puede provocar problemas).
    • UFS y UFS2 de FreeBSD u otros sistemas BSD
    • VFAT, como FAT16 y FAT32 usados por Windows 9.x
    • NTFS usado por los sistemas Windows NT (a partir de Windows NT v.3.51).
    • JFS de IBM.
    • HFS de Apple Inc.
    • ZFS de Opensolaris/Solaris.
    • Btrfs Sistema de archivos Copy-on-write como futuro reemplazo de ext4
    • ISO 9660 Sistema de archivos de imágenes en disco CD-ROM o DVD-ROM

lunes, 19 de noviembre de 2012

Aplicaciones Informáticas

En informática, una aplicación es un tipo de programa diseñado como herramienta para permitir a un usuario diversos tipos de trabajos. Esto lo diferencia principalmente de otros tipos de programas como los sistemas operativos, las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación.
Suele resultar una solución para la automatización de ciertas tareas complicadas como pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén. Algunos ejemplos de programas de aplicación son los procesadores de textos, hojas de cálculo, y base de datos; también conocidos como aplicaciones ofimaticas.
Ciertas aplicaciones desarrolladas "a medida" suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de cálculo y de base de datos.

Principalmente, se puede considerar que hay 2 tipos de aplicaciones informáticas según su localización, que son:


1.-Aplicación local

Programa almacenado en el disco duro de una ordenador, dicha apliacacion solo se ejecuta en ese ordenador.
Son dispositivos que son capaces de ejecutar programas por sí mismos, dejar que éste realizase todas las operaciones requeridas, mostrando luego los resultados al usuario. Se utilizaban sobre todo porque su costo en esos momentos era mucho menor que el de un ordenador.
Actualmente se suele utilizar para referirse a programas que no requieren una conexión a otro programa, al que se denomina servidor y que suele estar en otra máquina.
Un ejemplo de una aplicación local, son las suites ofimaticas:

Una suite ofimática es una recopilación de aplicaciones, las cuales son utilizados en oficinas y sirve para diferentes funciones como crear, modificar, organizar, escanear, imprimir, etc. archivos y documentos. Son ampliamente usados en varios lugares, ya que al ser eso (una recopilación), hace que sea asequible adquirir toda la suite, que programa por programa, lo cual es más complejo, al tener que conseguir programa por programa, y en caso del software pagado, más caro.
Generalmente en las suites ofimáticas, al incluir los programas en estas, no hay un estándar sobre los programas a incluir; pero la gran mayoría incluyen al menos un procesador de texto y una hoja de cálculo. Adicionalmente, la suite puede contener un programa de presentación, un sistema de gestión de bases de datos, herramientas menores de gráficos y comunicaciones, un gestor de información personal y un navegador web.
Así pues, un ejemplo de suite ofimiatica es el Open office, o el Microsoft Office. Dentro de estas, algunas de las aplicaciones son el Word, el Acces de Microsoft; Writer o el Base del Open Office.


2.-Aplicación en red
Está diseñada para ejecutarse a través de una red. Tiene dos componentes. Uno que se ejecuta de manera local y otro de manera remota.
El término se usó inicialmente para los llamados terminales tontos, dispositivos que no eran capaces de ejecutar programas por sí mismos, pero podían conectarse e interactuar con computadores remotos por medio de una red y dejar que éste realizase todas las operaciones requeridas, mostrando luego los resultados al usuario. Se utilizaban sobre todo porque su costo en esos momentos era mucho menor que el de un computador. Estos terminales tontos eran clientes de un computador mainframe por medio del tiempo compartido.
Actualmente se suele utilizar para referirse a programas que requieren específicamente una conexión a otro programa, al que se denomina servidor y que suele estar en otra máquina. Ya no se utilizan por criterios de costo, sino para obtener datos externos (por ejemplo páginas web, información bursatil o bases de datos), interactuar con otros usuarios a través de un gestor central (como por ejemplo los protocolos BitTorrent o IRC), compartir información con otros usuarios (servidores de archivos y otras aplicaciones Groupware) o utilizar recursos de los que no se dispone en la máquina local (por ejemplo impresión)
Uno de los clientes más utilizados, sobre todo por su versatilidad, es el navegador web. Muchos servidores son capaces de ofrecer sus servicios a través de un navegador web en lugar de requerir la instalación de un programa específico.

Características de las aplicaciones web o en red:
* El usuario puede acceder fácilmente a estas aplicaciones empleando un navegador web (cliente) o similar.
* Si es por internet, el usuario puede entrar desde cualquier lugar del mundo donde tenga un acceso a internet.
* Pueden existir miles de usuarios pero una única aplicación instalada en un servidor, por lo tanto se puede actualizar y mantener una única aplicación y todos sus usuarios verán los resultados inmediatamente.
* Emplean tecnologías como Java, JavaFX, JavaScript, DHTML, Flash, Ajax... que dan gran potencia a la interfaz de usuario.
* Emplean tecnologías que permiten una gran portabilidad entre diferentes plataformas. Por ejemplo, una aplicación web flash podría ejecutarse en un dispositivo móvil, en una computadora con Windows, Linux u otro sistema, en una consola de videojuegos, etc.

Estas aplicaciones, además pueden ser de código abierto o cerrado:
Tambien llamadas aquellas aplicaciones que tienen su código fuente  liberado. En general, los programas de código abierto suele ser libres. Aunque existen aplicaciones de código abierto que no son libres. Sin embargo, aquellas aplicaciones que esconden su código fuente de ojos ajenos a la empresa desarrolladora se denominan código cerrado.

viernes, 16 de noviembre de 2012

S.O. Por Disponibilidad

-Sistemas Operativos Propietario: Windows (Todas sus versiones), Leopard, Lion OS, IOs.
-Sistemas Operativos Libres:
  1. Libertad usar el programa con cualquier propósito.
  2. Libertad de Estudiar cómo funciona el Programa, y modificarlo adaptando a las necesaidad que tuviese el usuario.
  3. Libertad de distribuir copias del programa
  4. Libertad de mejorar el programa y hacer públicas dichas mejoras
Software
-Tipos de Software:
  • Nivel 0 Lógica Digital
  • Nivel 1 Microprogramación
  • Nivel 2 Lenguaje Máquina
  • Nivel 3 Sistema Operativo
  • Nivel 4 Lenguajes de Alto nivel
  • Nivel 5 Nivel de Aplicación
Lenguajes de programación de alto nivel:
Este tipo de lenguajes de programación son independientes de la máquina, lo podemos usar en cualquier ordenador. Son muy similares al lenguaje humano, pero precisan de un programa interprete o compilador que traduzca este lenguaje de programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que el equipo pueda entender.
Los lenguajes de programación de alto nivel son más fáciles de aprender porque se usan palabras o comandos del lenguaje natural. Este es el caso del BASIC, el lenguaje de programación más conocido.
Existen muchos lenguajes de programación de alto nivel con sus diferentes versiones.
Una clasificación muy extendida desde el punto de vista de trabajar de los programas y la filosofía de su creación es la siguiente:
  • Lenguajes de programación imperativos: entre ellos tenemos el Cobol, Pascal, C y Ada.
  • Lenguajes de programación declarativos: el Lisp y el Prolog.
  • Lenguajes de programación orientados a objetos: el Smalltalk y el C++.
  • Lenguajes de programación orientados al problema: son aquellos lenguajes específicos para gestión.
  • Lenguajes de programación naturales: son los nuevos lenguajes que pretender aproximar el diseño y la construcción de programas al lenguaje de las personas.
Otra clasificación de los lenguajes de programación de alto nivel, es teniendo en cuenta el desarrollo de las computadoras según sus diferentes generaciones:
  • Lenguajes de programación de primera generación: el lenguaje máquina y el ensamblador.
  • Lenguajes de programación de segunda generación : los primeros lenguajes de programación de alto nivel imperativo (FROTRAN, COBOL).
  • Lenguajes de programación de tercera generación: son lenguajes de programación de alto nivel imperativo pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
  • Lenguajes de programación de cuarta generación: usados en aplicaciones de gestión y manejo de bases de dados (NATURAL, SQL).
  • Lenguajes de programación de quinta generación: creados para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG).

viernes, 9 de noviembre de 2012

Estructurade un Sistema Informático

Conjunto determinado de reglas/normas y procedimientos que especifican las interrelaciones que deben existir entre los componentes de un S.I. y las caracteristicas que deben cumplir cada uno de estos componentes.
-Estructura monolitica: Estructura interna indefinida y sus niveles de funcionalidad no están bien separados, tienen dificil configuración y actualizacion; así como falta de protección y de privilegios para entrar en rutinas que manejan diferentes aspectos de los recursos como Memoria, Disco, etc...
Dispone de una buena definicion de los parámetros de enlace entre las distintas rutinas existentes. Suelen estar hechos a medida, por lo que son eficientes y rapidos en su ejecucion y gestión, pero carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

-Jerarquica: Se dividió en pequeños modulos de forma que cada uno de ellos estuviera perfectamente definido y con una clara interfaz con el resto de los elementos.
         -El modulo de cada nivel funciona utilizando los servicios del nivel inferior
         -De esta forma, se facilita la protección y el acceso al sistema
         -En esta estructura se basan los S.O.actuales

-En Anillos: Usuario-> Aplicaciones->S.O.->Hardware.  Traps para comunicar los anillos.

-Cliente: Es altamente modular, y los modulos del sistema no tienen acceso al hardware, este proposito general cumple con las mismas actividadess que los S.O. convecionales. El nucleo tiene como mision establecer la comunicacion entre los clientes y los servidores los procesos pueden ser tanto servidores como clientes los servicios se efectuan mediante la tecnia de massage passing.
1. El proceso cliente solicita al núcleo un servicio mediante un mensaje.
2. El nucleo recibe el mensaje, decide la planificacion y envia el mensaje al proceso servidor
3.El proceso servidor ejecuta la función solicitada y devuelve al nucleo un mensaje con el resultado de la operacion.
4. El nucleo envía el mensaje al proceso cliante indicando que se ha cumplido.

-Maquina virtual: Es una estructura que presenta una interfaz que parece identica a una máquina real. estos S.O. Separan dos conceptos.
Multiprogramacion: Dos o más procesos utilizan ula misma unidad principal
Máquina extendida: definida por el hardware y el núcleo del S.O. Generalmente es la que utiliza el usuario.
El nucleo de estos S.O. se denmina monitor virtual y tiene como misión llevar a cabo la multiprogramación presentando a los niveles superiores tantas maquinas virtuales  como se soliciten, son una replica de la maquina real, de manera que en casa una de ellas se puede ejecutar un S.O. diferente.