lunes, 7 de noviembre de 2011

Fedora

Fedora es una distribución Linux para propósitos generales basada en RPM, que se mantiene gracias a una comunidad internacional de ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas tecnologías. Cuenta con el respaldo y la promoción de Red Hat.
El proyecto no busca sólo incluir software libre y de código abierto, sino ser el líder en ese ámbito tecnológico. Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux. Max Spevack en una entrevista afirmó que: "Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto. Durante sus primeras 6 versiones se llamó Fedora Core, debido a que solo incluía los paquetes más importantes del sistema operativo.

Red Hat

Red Hat es la compañía responsable de la creación y mantenimiento de una distribución del sistema operativo GNU/Linux que lleva el mismo nombre: Red Hat Enterprise Linux, y de otra más, Fedora. Así mismo, en el mundo del middleware patrocina jboss.org, y distribuye la versión profesional bajo la marca JBoss Enterprise.

Ubuntu

Ubuntu es un sistema operativo mantenido por Canonical y la comunidad de desarrolladores. Utiliza un núcleo Linux, y su origen está basado en Debian. Ubuntu está orientado en el usuario promedio, con un fuerte enfoque en la facilidad de uso y mejorar la experiencia de usuario. Está compuesto de múltiple software normalmente distribuido bajo una licencia libre o de código abierto. Estadísticas web sugieren que el porcentaje de mercado de Ubuntu dentro de "distribuciones linux" es de aproximadamente 49%, y con una tendencia a subir como servidor web.

Debian

Debian o Proyecto Debian (en inglés Debian Project ) es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en software libre. El sistema se encuentra precompilado, empaquetado y en un formato deb para múltiples arquitecturas de computador y para varios núcleos.

Máquina virtual

En informática una máquina virtual es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.
Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".
Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario.

Algoritmos de planificación.

Un algoritmo de planificación se utiliza para calcular los recursos que consume otro algoritmo o conjunto de algoritmos(programa) al realizar una determinada tarea. Ej: Tiempo de finalización, porcentaje de utilización de la CPU, etc...)

proceso batch

En DOS, OS/2 y Microsoft Windows un archivo batch es un archivo de procesamiento por lotes. Se trata de archivos de texto sin formato, guardados con la extensión BAT que contienen un conjunto de comandos MS-DOS. Cuando se ejecuta este archivo, (mediante CMD) los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando MS-DOS puede ser utilizado en un archivo batch.
Ésta es la forma de automatizar procesos (copiar, pegar, renombrar y enviar datos) en MS-DOS. De este modo, evitamos procesos rutinarios y monótonos, acelerando los mismos. Tiene la funcionalidad de conectarse con otras interfaces por línea de comandos.
Un tipo batch es un archivo de texto que contiene comandos a ejecutar en un intérprete de comandos propio de DOS o OS/2. Cuando es iniciado, un programa shell (típicamente command.com o cmd.exe) lo lee y ejecuta, generalmente línea a línea. De este modo, se emplea para ejecutar series de comandos automáticamente. El hecho de que funcione sólo para MS-DOS lo hace muy limitado. Su extensión es .bat o .cmd.

multiprocesador

Se denomina multiprocesador a un computador que cuenta con dos o más microprocesadores (CPUs).
Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes.

monoprocesador

Un monoprocesador, como su nombre lo indica, es un procesador que solo puede ejecutar un proceso a la vez, esto quiere decir que si se requiere que se ejecuten varias tareas al mismo tiempo, no va a ser posible que se realicen con satisfacción. Lo que pueden hacer los monoprocesadores es alternar las tareas, y es por eso que los procesadores con grandes capacidades de velocidad, dan una simulación de multiprocesadores, ya que parece que se están ejecutando varios procesos al mismo tiempo, pero esto no es cierto.

multitarea

Es una característica de los sistemas operativos modernos. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores.

monotarea

Se denomina sistema monotarea a aquel sistema operativo que solamente puede ejecutar un proceso (programa) a la misma vez. Es una característica de los sistemas operativos más antiguos como MS-DOS pues en la actualidad la mayoría de los sistemas de propósito general son multitarea.

multiusuario

La palabra multiusuario se refiere a un concepto de sistemas operativos, pero en ocasiones también puede aplicarse a programas de ordenador de otro tipo (e.j. aplicaciones de base de datos). En general se le llama multiusuario a la característica de un sistema operativo o programa que permite proveer servicio y procesamiento a múltiples usuarios simultáneamente (tanto en paralelismo real como simulado).
En contraposición a los sistemas monousuario, que proveen servicio y procesamiento a un solo usuario, en la categoría de multiusuario se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten los mismos recursos. Actualmente este tipo de sistemas se emplean especialmente en redes, pero los primeros ejemplos de sistemas multiusuario fueron sistemas centralizados que se compartían a través del uso de múltiples dispositivos de interfaz humana (e.j. una unidad central y múltiples pantallas y teclados).

monousuario

Un sistema operativo monousuario (de mono: 'uno'; y usuario) es un sistema operativo que sólo puede ser ocupado por un único usuario en un determinado tiempo. Ejemplo de sistemas monousuario son las versiones domésticas de Windows.Administra recursos de memoria procesos y dispositivos de las PC'S

procesamiento por lotes


Se conoce como sistema por lotes (batch processing), o modo batch, a la ejecución de un programa sin el control o supervisión directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecución no precisa ningún tipo de interacción con el usuario.
Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película.
Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar.

Características

Los sistemas por lotes son el mecanismo más tradicional y antiguo de ejecutar tareas. Se introdujeron alrededor de 1956 para aumentar la capacidad de proceso de los programas. En la actualidad, los trabajos por lotes son ampliamente utilizados en supercomputadores, como Magerit.Este procesamiento se dio en la segunda generacion de computadoras.
El extremo opuesto al procesamiento por lotes es el procesamiento interactivo: programas que precisan la interacción con el usuario (petición de datos, elección de opciones) para funcionar. Cada tipo de proceso es diferente y más adecuado en unas situaciones que en otras.
En un sistema por lotes existe un gestor de trabajos, encargado de reservar y asignar los recursos de las máquinas a las tareas que hay que ejecutar. De esta forma, mientras existan trabajos pendientes de procesamiento, los recursos disponibles estarán siempre ocupados ejecutando tareas.
Si el sistema está bien planificado, se alcanzan tiempos de ejecución muy altos, ya que los recursos disponibles están siendo utilizados casi continuamente. Además, el Sistema Operativo puede ser muy simple ya que las tareas son completamente secuenciales por lo que se reduce la necesitad de utilizar esquemas Round Robin o similares.
  • Ventajas:
    • Permite compartir mejor los recursos de un ordenador entre muchos usuarios, al no competir por éstos de forma inmediata.
    • Realiza el trabajo en el momento en el que los recursos del ordenador están menos ocupados, dando prioridad a tareas interactivas.
    • Evita desaprovechar los recursos del ordenador sin necesidad de interacción y supervisión humanas continuas.
    • En ordenadores caros o supercomputadores, ayuda a amortizar el coste manteniendo altos índices de utilización.
Inconvenientes:
  • El principal inconveniente de la ejecución por lotes frente a la ejecución interactiva es que hay que conocer y planificar cuidadosamente la tarea a realizar. Al carecer de supervisión por parte del usuario, cualquier tipo de error puede producir resultados inútiles o, simplemente, inexistentes...

Sistemas monoliticos

Los sistemas monolíticos son aquellos en los que su centro es un grupo de estructuras fijas, las cuales funcionan entre sí.
En los Sistemas Operativos Monolíticos, existen módulos grandes en el núcleo, los cuales interactuan entre sí, para poder tener esta estructura, las diferentes partes del kernel son compiladas por capas.
Los sistemas monoliticos se describen en 3 procesos principales:
- Un Programa principal que invoca el procedimiento de servicio solicitado. - Un Conjunto de procedemientos de servicio que llevan a cabo las llamadas del sistema. - Un Conjunto de procedimientos de utileria que ayudan a los procedimientos del servicio.
En teoria un procedemiento dado puede invocar a ciertos servicios los cuales a su vez se veran ayudados por programas de utileria los cuales extraeran informacion importante para este.

martes, 25 de octubre de 2011

memoria virtual

La memoria virtual es una técnica de administración de la memoria real que permite al sistema operativo brindarle al software de usuario y a sí mismo un espacio de direcciones mayor que la memoria real o física.

MEMORIA VIRTUAL
Una técnica que simula más memoria que la que realmente existe y permita a la computadora ejecutar varios
programas simultáneamente, sin importar su tamaño.
El sistema de memoria virtual corta el programa en segmentos llamados "páginas". En lugar de llevar el
programa entero a memoria, lleva tantas páginas a memoria como pueden caber, basándose en la mezcla
actual de programas, y deja las restantes páginas en el disco. Cuando se requieren instrucciones que no están
en memoria, la página de disco apropiada es llamada, superponiéndose a la página en memoria.
Si una página de memoria contiene variables u otros datos que son alterados por la ejecución del programa, la
página es temporalmente almacenada en disco cuando se requiere alojamiento para las nuevas páginas. La
entrada y la salida de páginas de programa son llamados paging (paginado) o swapping (intercambio o
transferencia).
Con el objeto de obtener un máximo provecho de las técnicas de memoria virtual, los programas no deberían
contener mucho "código spaghetti", en el cual la lógica del programa apunta atrás y adelante, hacia extremos
opuestos del programa. Si lo hacen, resultaría  una cantidad excesiva de accesos a disco para traer los
segmentos del programa. El acceso a disco debería reservarse para llamar el próximo conjunto de datos, no las
mismas instrucciones una y otra vez.
Si bien la memoria virtual puede ser realizada en software, para una operación eficiente la memoria virtual
requiere características de hardware especializadas.
Los programas de aplicación a veces demandan capacidad de memoria virtual, pero solamente usan algunas
técnicas de intercambio para ejecutar programas grandes, no verdadera memoria virtual.
En la memoria RAM se tienen los cachés de varios dispositivos lentos del sistema, además se cargan allá los
programas, instrucciones, programas controladores de diferentes dispositivos, etc., pero entre tanta
información que se almacena en la RAM, esta puede quedar saturada. Sin embargo en la realidad esto no
sucede. Para ejemplificar, el común de las computadoras que se hallan trabajando con varias aplicaciones
simultáneamente, tienen cargado varios mega bytes entre programas, instrucciones y datos, inclusive más de
lo que físicamente la computadora puede soportar. ¿Cómo es que una computadora puede hacer esto?, bueno
el proceso técnicamente se denomina paginación, y emplea una porción del disco duro para almacenar la
información que no cabe en la memoria RAM. El sistema operativo se encarga de mover la información que
no cabe y no se está utilizando, al disco duro y a la inversa es decir, la información que se requiere, del disco
duro a la RAM.
Así, Windows 95/98/NT/2000 también maneja una memoria virtual en el disco duro. El acceso a la
configuración de la memoria virtual en Windows 95 es similar al indicado para el caché del CD−ROM y del
caché del disco duro. Sin embargo, y por lo general, es el mismo sistema operativo el que se halla
administrando la memoria virtual. Solo bajo condiciones muy fuera de lo común es conveniente ajustar
manualmente estos parámetros, la mayoría de las veces permitir que Windows 95 maneje directamente la
memoria virtual es la mejor elección.

modos de direccionamiento

−Un modo de direccionamiento permite determinar un operando , o la ubicación de un operando en una
instrucción. Estos operandos pueden residir en diversas partes:
1.−La propia instrucción
2.−Memoria principal
3.−Registros internos de la CPU
−Los programas utilizan varios MD motivados por:
1.− Ahorro de espacio
2.− Código reubicable : se puede almacenar el programa en diversas zonas de memoria sin q afecte a la
ejecución del código
3.−Estructuras de datos.
1) DIRECCIONAMIENTO INMEDIATO
a) El operando está presente en la propia instrucción, por lo tanto, esta opera con un valor constante.
b) El direccionamiento de una sola palabra: MAS RAPIDO >> el operando se encuentra ya en IR al fin de la
fase de búsqueda. 2 palabras: lectura de mem adicional.
−VENTAJA: No referencia a memoria.
−DESVENTAJA: Operandos limitados por la instr.
2) DIRECCIONAMIENTO DIRECTO
a) La instrucción contiene la dirección real del operando.
b) dos tipos:
2.1) Direccionamiento absoluto:
a) La instrucción contiene la dirección de memoria donde se encuentra el objeto, q se halla en una posición de
mem principal.
b) Rango de posiciones limitado por CO.
c) Formato de 2 palabras >> MAYOR CAPACIDAD DE DIRECCIONAMIENTO >> lectura adicional.
2.2) Direccionamiento mediante registro
a) Operando almacenado en un registro de la CPU. La instrucción indica de q registro se trata.
1b) Registros limitados.
c) CARACTERISTICAS:
1.− Lectura MAS RAPIDA q en memoria >> ninguna lectura adicional.
2.− Solo necesita CD pequeño.
3.− Rango operando = Rango registro >> LIMITA espacio de direcciones.
−VENTAJA: Solo una referencia a memoria sin cálculos previos.
−DESVENTAJA: Espacio de direcciones reducido.
3) DIRECCIONAMIENTO RELATIVO A REGISTRO
a)La instrucción NO contiene la dirección del operando >> debe ser calculada.
−La instr contiene un DESPLAZAMIENTO q hay q añadir a la dirección marcada por un puntero para
obtener la dirección final del operando>> RETRASO ADICIONAL.
−El puntero suele estar en un registro.
b) Permite acceder a un conjunto de direcciones de memoria a partir de una considerada como referencia.>>
en el CD emplea un nº de bits pequeño
c) Varios tipos:
3.1) Direccionamiento relativo al registro contador del programa (PC)
a) puntero : PC; almacena la dirección de la siguiente instr.
b) Para direccionar instr cercanas a la instr en curso, para bucles...
3.2) Direccionamiento relativo al registro base
a) puntero: REGISTRO BASE.
b) la instr contiene la identificación del registro y el desplazamiento
c) Conveniente para zonas de datos (como listas).
3.3) Direccionamiento relativo a pila (LIFO)
a) puntero : SP (stack pointer); apunta a la dirección de mem donde se encuentra la cima de la pila.
b) DESPL. + valor SP = DIRECCIÓN DEL OBJETO
c) Si no existe C. de despl. >> solo se trabaja con la cima de la pila.
d) Permite instrucciones muy compactas.
2−VENTAJA : flexibilidad.
−DESVENTAJA: complejidad.
4) DIRECCIONAMIENTO INDEXADO
a) Un registro índice contiene la dirección de referencia y actúa de puntero.
b) Similar al relativo a registro base; pero el valor del reg indice se modifica con frecuencia en la ejecución
del programa.
c) Para:
−operaciones iterativas
− recorrer estructuras de datos (tablas, vectores...).Permite realizar incrementos y decrementos de una cierta
magnitud >> AUTO−INDEXADO
*PREAUTOINCREMENTO y PREAUTODECREMENTO:
1.−el reg indice se incrementa (o decrementa)
2.− se obtiene la dirección = REG INDICE + DESPL..
*POSTAUTOINCREMENTO :
1.−dirección = REG INDICE +DESPL..
2.− el reg indice se incrementa
−VENTAJA : flexibilidad.
−DESVENTAJA: complejidad.
5) DIRECCIONAMIENTO INDIRECTO
a) El CD referencia la dirección de una palabra, q a su vez contiene la dirección completa del operando.
b) Para aplicaciones q utilizan datos situados en posiciones distantes en memoria
−VENTAJAS: 1) espacio de dirección grande; para N bits >> 2N espacio de direcc.
2) se puede combinar con los direccionamientos relativos
−DESVENTAJA: referencia extra a memoria
c) Variante : Direccionamiento indirecto con registro
−En el CD, hace referencia a un registro q contiene la dirección completa del operando.
−Emplea una referencia a memoria meno

interface grafica de usuario

La interfaz gráfica de usuario, conocida también como GUI es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador.

Xerox Alto

El Xerox Alto, desarrollado en el Xerox PARC en 1973, fue el primer ordenador personal, así como el primero que utilizó la metáfora de escritorio y una interfaz gráfica de usuario.


Xerox Star 8010

La estación de trabajo Xerox Star, conocida oficialmente como el "8010 Star Information System" (Sistema de Información Estrella 8010) fue introducida por XeroxCorporation en 1981. Fue el primer sistema comercial en incorporar varias tecnologías que han llegado a ser hoy en día corrientes en computadores personales, incluyendo la pantalla con bitmaps en lugar de solo texto, una interfaz gráfica de usuario basada en ventanas, iconos, carpetas, ratón, red Ethernet, servidores de archivos, servidores de impresoras y e-mail.

[editar]Apple Lisa, Macintosh, Apple II GS

Tras una visita al Xerox PARC en 1979, el equipo de Apple encabezado por Jef Raskin se concentra en diseñar un entorno gráfico para su nueva generación de 16 bits, que se verá plasmado en el Apple Lisa en 1983. Ese sistema gráfico es portado al sucesor del Apple II, el Apple II GS. Un segundo equipo trabaja en el Apple Macintosh que verá la luz en 1984 con una versión mejorada del entorno gráfico del Lisa (pretendimos hacer un ordenador tan simple de manejar como una tostadora). Desde ese momento el Mac reinará como paradigma de usabilidad de un entorno gráfico; pese a que por debajo el sistema operativo sufra cambios radicales, los usuarios no avanzados no son conscientes de ello y no sufren los problemas de otras plataformas.


Workbench

Workbench es el nombre dado por Commodore a la interfaz gráfica del AmigaOS, el sistema operativo del Commodore Amiga lanzado en 1985. A diferencia de los sitemas más populares (GEM, Mac OS, MS Windows...) es un verdadero entorno multitarea sólo rivalizado por la interfaz X Window System de los diferentes sabores de Unix. La frase más repetida por un "amiguero" es: "para masacrar marcianos, formatear un diskette y enviar o recibir un Fax todo a la vez y sin colgarse, necesitas un 386 con disco duro, 16 MB de RAM y OS/2; un Amiga 500 con disquete y sólo su memoria base (512 KB de RAM y 512 KB de ROM) es capaz de todo eso". Aunque muy popular por los espectaculares (para entonces) gráficos de la máquina y su gran plantel de videojuegos, será la negligencia de sus sucesivos propietarios la principal causa de que acabe restringido a sólo la plataforma Amiga.

GEOS

Para el Commodore 64 y su sucesor el Commodore 128 se desarrolló el entorno gráfico GEOS en 1986. Este entorno se portó al IBM PC, fue utilizado en variasPDA y Nokia lo usó como base de su actual sistema operativo.

GEM

GEM (Graphical Environment Manager) es un GUI diseñado por Digital Research en 1988 para ejecutarse sobre varios sistemas operativos de línea de comandos del IBM PC y compatibles: funciona tanto sobre IBM DOS /MS-DOS como sobre CP/M 86. Su máxima popularidad en el PC llega de la mano del Amstrad PC1512y del Amstrad PC1640, los clónicos que rompieron en Europa la barrera del precio popularizando el PC, hasta ese momento relegado mayoritariamente a oficinas. Aunque se incorpora en su primera generación de portátiles y en el Sinclair PC200, será sustituido en la siguiente generación de PCs Amstrad por Microsoft Windows 2.xx. En el PC vivirá una segunda juventud al venir de serie con DR-DOS como TaskMax.

lunes, 24 de octubre de 2011

mainframe

Una computadora central o mainframe es una computadora grande, potente y costosa usada principalmente por una gran compañía para el procesamiento de una gran cantidad de datos; por ejemplo, para el procesamiento de transacciones bancarias.
La capacidad de una computadora central se define tanto por la velocidad de su CPU como por su gran memoria interna, su alta y gran capacidad de almacenamiento externo, sus resultados en los dispositivo E/S rápidos y considerables, la alta calidad de su ingeniería interna que tiene como consecuencia una alta fiabilidad y soporte técnico caro pero de alta calidad. Una computadora central puede funcionar durante años sin problemas ni interrupciones y las reparaciones del mismo pueden ser realizadas mientras está funcionando. Los vendedores de computadoras centrales ofrecen servicios especiales; por ejemplo, si se rompe la computadora, el vendedor ejecutará las aplicaciones de su cliente en sus propias computadoras sin que los usuarios lo noten mientras que duran las reparaciones. La independencia interna de estas computadoras es tan grande que, por lo menos, en un caso conocido, los técnicos pudieron cambiar las computadoras centrales de sitio desmontándolas pieza a pieza y montándolas en otro lugar, dejando, mientras tanto, dichas computadoras funcionando; en este ejemplo, el cambio de las computadoras centrales de un sitio a otro se produjo de manera transparente.
A menudo, las computadoras centrales soportan miles de usuarios de manera simultánea que se conectan mediante terminal como el centro de operaciones de muchos terminales virtuales, puede ofrecer la potencia necesaria para que dichas computadoras operen de manera eficiente, pero también la flexibilidad de las redes de computadoras personales.
Actualmente, las computadoras centrales de IBM dominan el mercado, junto con Hitachi, Amdahl y Fujitsu. Los precios no suelen ser menos de varios cientos de miles de dólares.