lunes, 13 de febrero de 2012

UNIDAD 1 INTRODUCCION



1.1 Conceptos de Sistemas Operativos

1.- Un sistema operativo (SO) es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, y corre en modo privilegiado respecto de los restantes.

2.- Es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.

3.- Es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc.
Definición propia
Un sistema operativo consta de una serie de programas que controlan todas las actividades que la computadora realiza.


Tipos, Clasificación y Nombres
Clasificación de los Sistemas Operativos
Los sistemas operativos pueden ser clasificados de la siguiente forma:

  • Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
  • Multiprocesador: Soporta el abrir un mismo programa en más de una CPU.
  • Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
  • Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
  • Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.






1.2        Evolución de los sistemas operativos
Los primeros sistemas operativos fueron desarrollados por cada usuario para adecuar el uso de su propio computadora central,[] y es en 1956 que la General Motors desarrolla lo que es hoy considerado el primer sistema, el GM-NAA I/O,[ ]para su IBM 704.[] Los sistemas operativos han venido evolucionando a través de los años. Ya que los sistemas operativos se han apegado íntimamente a la arquitectura de las computadoras en las cuales se ejecutan.
La primera generación (1945 - 1955): Tubos de vacío y tableros enchufables
Un grupo singular de personas diseño, construyo, programo, opero y dio mantenimiento a cada maquina. Toda la programación se realizo en lenguaje de maquina absoluto. Los lenguajes de programación se desconocían (todavía no existía el lenguaje ensamblador). Los primeros sistemas operativos eran extraños. El modo usual de operación consistía en que el programador firmaba para tener acceso a un bloque de tiempo en la hoja de registro situada en la pared, después bajaba al cuarto de maquinas, insertaba su tablero enchufable en la computadora y pasaba las siguientes horas esperando que ninguno de los 20,000 tubos de vació se fundiera durante la ejecución de su programa.
Al inicio de la década de 1950, la rutina había mejorado un poco con la introducción de la tarjetas perforadas. Ahora era posible escribir en tarjetas y leerlos, en vez de utilizar tableros enchufables; de lo contrario el procedimiento era el mismo.
La segunda generación (1955 - 1965): Transistores y sistemas de lote
La introducción del transistor a mediados de la década de 1950 cambio la imagen radicalmente. Las computadoras se volvieron lo suficientemente confiables, en un principio hubo una clara separación entre los diseñadores, armadores, operadores, programadores y personal de mantenimiento. Estas maquinas se instalaban en cuartos de computadoras especialmente acondicionados con aire, con cuerpo de operadores profesionales para accionarlas. Un programador primeramente escribiría el programa en papel (en FORTRAN o en lenguaje Ensamblador) y después lo perforaría en tarjetas. Después llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores el cual iniciaba el proceso en la computadora, este proceso desperdiciaba mucho tiempo.
La tercera generación (1965 - 1980): Circuitos integrados (CI) y multiprogramación
Se inicia en 1964, con la introducción de la familia de computadores Sistema/360 de IBM. Los computadores de esta generación fueron diseñados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios. 

Multiprogramación
En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles.

Tiempo compartido
En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece la falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo ejecutándose el sistema operativo lo detiene para que se ejecute otra aplicación.

Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones.

Multiprocesador
Diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultáneamente y, potencialmente, pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
La cuarta generación (1980 - 1990): Computadoras personales
Con la creación de los circuitos integrados LSI (integración a grande escala), chips que contiene miles de transistores en un centímetro cuadrado de silicón, la era de computadora personal vio sus inicios.
Dos sistemas operativos han dominado la escena de la computadora personal: MS-DOS, escrito por Microsoft, Inc., para la IBM PC y otras computadoras que utilizan la CPU Intel 8088 y sus sucesores. Y UNIX, que domina en las computadoras personales mayores que hacen uso de CPU Motorola 68000.
Aunque la versión inicial de MS-DOS era relativamente primitiva, versiones subsiguientes han incluido más y más características de UNIX, lo que no es totalmente sorprendente dado que Microsoft es un proveedor importante de UNIX, que usa el nombre comercial de XENIX.


1.3        Estructura de un sistema operativo
Se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son: 
Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.
Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. 
Estructura monolítica.
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (Ver Fig. 2). Las características fundamentales de este tipo de estructura son:
Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.
Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.
Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones. 

Estructura jerárquica
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.
Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos. Se puede pensar también en estos sistemas como si fueran `multicapa’. Multics y Unix caen en esa categoría.  

Máquina Virtual.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes.
El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario.

Cliente-servidor (Microkernel)
El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales.
El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro”. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware. Actualmente se está trabajando en una versión de UNIX que contempla en su diseño este paradigma.



1.4 Tendencias 
Los sistemas operativos siguen evolucionando. La principal tendencia de los sistemas operativos en cuanto a organización de trabajo es convertirse en sistemas operativos distribuidos.
Los sistemas operativos distribuidos están diseñados para su uso en un grupo de computadoras conectadas pero independientes que comparten recursos. En un sistema operativo distribuido, un proceso puede ejecutarse en cualquier computadora de la red (normalmente, una computadora inactiva en ese momento) para aumentar el rendimiento de ese proceso. En los sistemas distribuidos, todas las funciones básicas de un sistema operativo, como mantener los sistemas de archivos, garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan más complejas.
  • El Sistema Operativo del Mañana:
Se ha progresado mucho en el desarrollo de los sistemas operativos. Estos progresos han sido paralelos a la aparición de nuevas tecnologías y de nuevos algoritmos para las tareas de los sistemas operativos.
Actualmente, hay solamente dos paradigmas fundamentales del sistema operativo: el intérprete de la línea de comando (UNIX, DOS), y la interfaz gráfica (Macintosh OS, OS/2, Windows 95). Mientras que el último es claramente más intuitivo y preferido por la mayoría de los usuarios, la industria debe ahora tomar otra medida hacia el sistema operativo ideal. La generación siguiente de sistemas operativos utilizará las nuevas herramientas desarrolladas tales como programación orientada a objetos (OOP), y nueva tecnología de hardware (DRAM's y los microprocesadores densos y baratos), para crear un ambiente que beneficie a los programadores (con modularidad y la abstracción crecientes) así como a los usuarios (proporcionándoles una interna, constante y gráficamente orientada interfaz). Los sistemas operativos futuros también se adaptarán fácilmente a las preferencias cambiantes del usuario y a las tecnologías futuras (tales como sistemas de realidad virtual).
  • Principios en el desarrollo de Sistemas Operativos Futuros:
Existen cuatro principios dominantes que deben regir en el diseño de sistemas operativos futuros

1.- Abstracción
El principio de la abstracción es que un nivel del ambiente de software no debe necesitar " saber " los detalles sobre la implementación en otros niveles. Por ejemplo, un Programador no debe requerir saber qué clase de procesador será usado cuando se ejecute su programa, y un usuario de correo-electrónico no debe requerir de conocimientos de los protocolos de red.

2. Robustez y gestión de errores
Los sistemas operativos futuros deben ser extremadamente robustos. Sus metas:
1.    Ninguna acción del usuario debe hacer que el sistema comporte en una extraña o ilógica manera
2.   Debe ser imposible que cualquier programa interrumpa el funcionamiento de otros programas, o de la máquina en su totalidad. Es decir sin importar las acciones y las decisiones del usuario y del programador, la computadora nunca debe "colapsarse". Además, cualquier acontecimiento inesperado se debe manjar de una manera práctica. Los problemas que el sistema operativo no puede solucionar se deben señalar al usuario de una manera no-secreta (tales como un "cuadro de diálogo"), y se deben explicar de una manera no técnica (utilizar un lenguaje dependiendo del módulo de programación).
3.   El sistema debe enumerar claramente las opciones de las cuales el usuario debe elegir.

3.- Estandarización
Actualmente, hay numerosos sistemas operativos y sistemas de hardware que se comportan de varias maneras. Por lo tanto, la comunicación entre las máquinas de diferente arquitectura es difícil, y esta situación es confusa para cualquier usuario que procure cambiarse de una plataforma a otra. Esta confusión da lugar a un costo significativo debido a la capacitación y al tiempo perdido durante la transición y fase de aprendizaje.
Un sistema operativo bien diseñado debe ser estandarizado de una manera tal que se adapte y siga siendo útil indefinidamente. Debe crecer en a la par con la tecnología de cómputo, la visualización, y tecnologías de interacción, y preferencias del usuario. La naturaleza modular del sistema operativo del mañana será tal que piezas del sistema serán continuamente modificadas y puestas al día reflejar estos cambios. Para que estas características sean posibles, el sistema requerirá: 1) un conjunto muy bien definido de los estándares públicos disponibles (para la comunicación entre las capas y los objetos), 2) que este conjunto de estándares se desarrolle con un cierto plazo de tiempo pero que siga siendo claro y conciso, y 3) que los estándares no cambien tan rápidamente como para causar problemas de compatibilidad o altos costos de cambio de hardware.

4.- Diseño para facilidad de empleo y desarrollo de software
La mayoría de los sistemas operativos actuales fueron diseñados para ser fáciles de poner en ejecución. En contraste, los sistemas operativos de mañana serán diseñados para el uso fácil y el desarrollo fácil. El diseño será hecho con poco disminuciones en cuanto a su facilidad de implementación con excepción de su modularidad y estandarización inherentes. Debido a estos buenos principios del diseño, el sistema operativo del mañana no será difícilmente de implementar. Estas mismas cualidades facilitarán el trabajo de los programadores también, en cuanto a la mayoría de los proyectos de desarrollo necesitarán solamente ensamblar objetos de alto nivel. Esos módulos que deben escribir para sí mismos serán reutilizables y fácilmente adaptables a las necesidades de cada programador.


1.5 Hardware

Descripción: Artículo bueno
El hardware corresponde a todas las partes tangibles de un sistema informático sus componentes son: eléctricos, electrónicos, electromecánicos y mecánicos. Sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software. El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora». El término, aunque es lo más común, no solamente se aplica a una computadora tal como se la conoce, también, por ejemplo, un robot, un teléfono móvil, una cámara fotográfica o un reproductor multimedia poseen hardware (y software).

Tipos de hardware

Una de las formas de clasificar el hardware es en dos categorías: por un lado, el "básico", que abarca el conjunto de componentes indispensables necesarios para otorgar la funcionalidad mínima a una computadora; y por otro lado, el hardware "complementario", que, como su nombre indica, es el utilizado para realizar funciones específicas (más allá de las básicas), no estrictamente necesarias para el funcionamiento de la computadora.
Así es que: un medio de entrada de datos, la unidad central de procesamiento (C.P.U.), la memoria RAM, un medio de salida de datos y un medio de almacenamiento constituyen el "hardware básico".
Los medios de entrada y salida de datos estrictamente indispensables dependen de la aplicación: desde el punto de vista de un usuario común, se debería disponer, al menos, de un teclado y un monitor para entrada y salida de información, respectivamente; pero ello no implica que no pueda haber una computadora (por ejemplo controlando un proceso) en la que no sea necesario teclado ni monitor; bien puede ingresar información y sacar sus datos procesados, por ejemplo, a través de una placa de adquisición/salida de datos.
Las computadoras son aparatos electrónicos capaces de interpretar y ejecutar instrucciones programadas y almacenadas en su memoria; consisten básicamente en operaciones aritmético-lógicas y de entrada/salida. Se reciben las entradas (datos), se las procesa y almacena (procesamiento), y finalmente se producen las salidas (resultados del procesamiento). Por ende todo sistema informático tiene, al menos, componentes y dispositivos hardware dedicados a alguna de las funciones antedichas; a saber:
1.    Procesamiento: Unidad Central de Proceso o CPU
2.    Almacenamiento: Memorias
3.    Entrada: Periféricos de entrada (E)
4.    Salida: Periféricos de salida (S)
5.    Entrada/Salida: Periféricos mixtos (E/S)

Unidad central de procesamiento

La CPU, siglas en inglés de Unidad Central de Procesamiento, es el componente fundamental del computador, encargado de interpretar y ejecutar instrucciones y de procesar datos. En los computadores modernos, la función de la CPU la realiza uno o más microprocesadores. Se conoce como microprocesador a una CPU que es manufacturada como un único circuito integrado.
Un servidor de red o una máquina de cálculo de alto rendimiento (supercomputación), puede tener varios, incluso miles de microprocesadores trabajando simultáneamente o en paralelo (multiprocesamiento); en este caso, todo ese conjunto conforma la CPU de la máquina.
Las unidades centrales de proceso (CPU) en la forma de un único microprocesador no sólo están presentes en las computadoras personales (PC), sino también en otros tipos de dispositivos que incorporan una cierta capacidad de proceso o "inteligencia electrónica", como pueden ser: controladores de procesos industriales, televisores, automóviles, calculadores, aviones, teléfonos móviles, electrodomésticos, juguetes y muchos más. Actualmente los diseñadores y fabricantes más populares de microprocesadores de PC son Intel y AMD; y para el mercado de dispositivos móviles y de bajo consumo, los principales son Samsung, Qualcomm y Texas Instruments.
El microprocesador se monta en la llamada placa base, sobre un zócalo conocido como zócalo de CPU, que permite las conexiones eléctricas entre los circuitos de la placa y el procesador. Sobre el procesador ajustado a la placa base se fija un disipador térmico de un material con elevada conductividad térmica, que por lo general es de aluminio, y en algunos casos de cobre. Éste es indispensable en los microprocesadores que consumen bastante energía, la cual, en gran parte, es emitida en forma de calor: en algunos casos pueden consumir tanta energía como una lámpara incandescente (de 40 a 130 vatios).
Adicionalmente, sobre el disipador se acopla uno o dos ventiladores (raramente más), destinados a forzar la circulación de aire para extraer más rápidamente el calor acumulado por el disipador y originado en el microprocesador. Complementariamente, para evitar daños por efectos térmicos, también se suelen instalar sensores de temperatura del microprocesador y sensores de revoluciones del ventilador, así como sistemas automáticos que controlan la cantidad de revoluciones por unidad de tiempo de estos últimos.
La gran mayoría de los circuitos electrónicos e integrados que componen el hardware del computador van montados en la placa madre.
La placa base, también conocida como placa madre o con el anglicismo board, es un gran circuito impreso sobre el que se suelda el chipset, las ranuras de expansión (slots), los zócalos, conectores, diversos integrados, etc. Es el soporte fundamental que aloja y comunica a todos los demás componentes: Procesador, módulos de memoria RAM, tarjetas gráficas, tarjetas de expansión, periféricos de entrada y salida. Para comunicar esos componentes, la placa base posee una serie de buses mediante los cuales se trasmiten los datos dentro y hacia afuera del sistema.
La tendencia de integración ha hecho que la placa base se convierta en un elemento que incluye a la mayoría de las funciones básicas (vídeo, audio, red, puertos de varios tipos), funciones que antes se realizaban con tarjetas de expansión. Aunque ello no excluye la capacidad de instalar otras tarjetas adicionales específicas, tales como capturadoras de vídeo, tarjetas de adquisición de datos, etc.

Memoria RAM

Del inglés Random Access Memory, literalmente significa "memoria de acceso aleatorio". El término tiene relación con la característica de presentar iguales tiempos de acceso a cualquiera de sus posiciones (ya sea para lectura o para escritura). Esta particularidad también se conoce como "acceso directo", en contraposición al Acceso secuencial.
La RAM es la memoria utilizada en una computadora para el almacenamiento transitorio y de trabajo (no masivo). En la RAM se almacena temporalmente la información, datos y programas que la Unidad de Procesamiento (CPU) lee, procesa y ejecuta. La memoria RAM es conocida como Memoria principal de la computadora, también como "Central o de Trabajo"; a diferencia de las llamadas memorias auxiliares, secundarias o de almacenamiento masivo (como discos duros, unidades de estado sólido, cintas magnéticas u otras memorias).
Las memorias RAM son, comúnmente, volátiles; lo cual significa que pierden rápidamente su contenido al interrumpir su alimentación eléctrica.
Las más comunes y utilizadas como memoria central son "dinámicas" (DRAM), lo cual significa que tienden a perder sus datos almacenados en breve tiempo (por descarga, aún estando con alimentación eléctrica), por ello necesitan un circuito electrónico específico que se encarga de proveerle el llamado "refresco" (de energía) para mantener su información.
La memoria RAM de un computador se provee de fábrica e instala en lo que se conoce como “módulos”. Ellos albergan varios circuitos integrados de memoria DRAM que, conjuntamente, conforman toda la memoria principal.

Memoria RAM dinámica

Es la presentación más común en computadores modernos (computador personal, servidor); son tarjetas de circuito impreso que tienen soldados circuitos integrados de memoria por una o ambas caras, además de otros elementos, tales como resistores y condensadores. Esta tarjeta posee una serie de contactos metálicos (con un recubrimiento de oro) que permite hacer la conexión eléctrica con el bus de memoria del controlador de memoria en la placa base.
Los integrados son de tipo DRAM, memoria denominada "dinámica", en la cual las celdas de memoria son muy sencillas (un transistor y un condensador), permitiendo la fabricación de memorias con gran capacidad (algunos cientos de Megabytes) a un costo relativamente bajo.
Las posiciones de memoria o celdas, están organizadas en matrices y almacenan cada una un bit. Para acceder a ellas se han ideado varios métodos y protocolos cada uno mejorado con el objetivo de acceder a las celdas requeridas de la manera más eficiente posible.
Entre las tecnologías recientes para integrados de memoria DRAM usados en los módulos RAM se encuentran:
  • SDR SDRAM: Memoria con un ciclo sencillo de acceso por ciclo de reloj. Actualmente en desuso, fue popular en los equipos basados en el Pentium III y los primeros Pentium 4.
  • DDR SDRAM: Memoria con un ciclo doble y acceso anticipado a dos posiciones de memoria consecutiva. Fue popular en equipos basados en los procesadores Pentium 4 y Athlon 64.
  • DDR2 SDRAM: Memoria con un ciclo doble y acceso anticipado a cuatro posiciones de memoria consecutivas.
  • DDR3 SDRAM: Memoria con un ciclo doble y acceso anticipado a ocho posiciones de memoria consecutivas. Es el tipo de memoria más actual, está remplazando rápidamente a su predecesora, la DDR2.
Los estándares JEDEC, establecen las características eléctricas y las físicas de los módulos, incluyendo las dimensiones del circuito impreso.
Los estándares usados actualmente son:
  • DIMM Con presentaciones de 168 pines (usadas con SDR y otras tecnologías antiguas), 184 pines (usadas con DDR y el obsoleto SIMM) y 240 (para las tecnologías de memoria DDR2 y DDR3).
  • SO-DIMM Para computadores portátiles, es una miniaturización de la versión DIMM en cada tecnología. Existen de 144 pines (usadas con SDR), 200 pines (usadas con DDR y DDR2) y 240 pines (para DDR3).

Memorias RAM especiales

Hay memorias RAM con características que las hacen particulares, y que normalmente no se utilizan como memoria central de la computadora; entre ellas se puede mencionar:
  • SRAM: Siglas de Static Random Access Memory. Es un tipo de memoria más rápida que la DRAM (Dynamic RAM). El término "estática" deriva del hecho que no necesita el refresco de sus datos. Si bien esta RAM no requiere circuito de refresco, ocupa más espacio y utiliza más energía que la DRAM. Este tipo de memoria, debido a su alta velocidad, es usada como memoria caché.
  • NVRAM: Siglas de Non-Volatile Random Access Memory. Memoria RAM no volátil (mantiene la información en ausencia de alimentación eléctrica). Hoy en día, la mayoría de memorias NVRAM son memorias flash, muy usadas para teléfonos móviles y reproductores portátiles de MP3.
  • VRAM: Siglas de Video Random Access Memory. Es un tipo de memoria RAM que se utiliza en las tarjetas gráficas del computador. La característica particular de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos. Así, es posible que la CPU grabe información en ella, al tiempo que se leen los datos que serán visualizados en el Monitor de computadora.
De las anteriores a su vez, hay otros subtipos más.

Periféricos

Se entiende por periférico a las unidades o dispositivos que permiten a la computadora comunicarse con el exterior, esto es, tanto ingresar como exteriorizar información y datos. Los periféricos son los que permiten realizar las operaciones conocidas como de entrada/salida (E/S).
Aunque son estrictamente considerados “accesorios” o no esenciales, muchos de ellos son fundamentales para el funcionamiento adecuado de la computadora moderna; por ejemplo, el teclado, el disco duro y el monitor son elementos actualmente imprescindibles; pero no lo son un escáner o un plóter. Para ilustrar este punto: en los años 80, muchas de las primeras computadoras personales no utilizaban disco duro ni mouse (o ratón), tenían sólo una o dos disqueteras, el teclado y el monitor como únicos periféricos.


 Dispositivos de entrada de información (E)
De esta categoría son aquellos que permiten el ingreso de información, en general desde alguna fuente externa o por parte del usuario. Los dispositivos de entrada proveen el medio fundamental para transferir hacia la computadora (más propiamente al procesador) información desde alguna fuente, sea local o remota. También permiten cumplir la esencial tarea de leer y cargar en memoria el sistema operativo y las aplicaciones o programas informáticos, los que a su vez ponen operativa la computadora y hacen posible realizar las más diversas tareas.
Entre los periféricos de entrada se puede mencionar: teclado, mouse o ratón, escáner, micrófono, cámara web , lectores ópticos de código de barras, Joystick, lectora de CD, DVD o BluRay (sólo lectoras), placas de adquisición/conversión de datos, etc.
Pueden considerarse como imprescindibles para el funcionamiento, (de manera como hoy se concibe la informática) al teclado, al ratón y algún dispositivo lector de discos; ya que tan sólo con ellos el hardware puede ponerse operativo para un usuario. Los otros son más bien accesorios, aunque en la actualidad pueden resultar de tanta necesidad que son considerados parte esencial de todo el sistema.

Dispositivos de salida de información (S)

Son aquellos que permiten emitir o dar salida a la información resultante de las operaciones realizadas por la CPU (procesamiento).
Los dispositivos de salida aportan el medio fundamental para exteriorizar y comunicar la información y datos procesados; ya sea al usuario o bien a otra fuente externa, local o remota.
Los dispositivos más comunes de este grupo son los monitores clásicos (no de pantalla táctil), las impresoras, y los altavoces.
Entre los periféricos de salida puede considerarse como imprescindible para el funcionamiento del sistema, al monitor. Otros, aunque accesorios, son sumamente necesarios para un usuario que opere un computador moderno.

Dispositivos mixtos (E/S de información)


Son aquellos dispositivos que pueden operar de ambas formas: tanto de entrada como de salida. Típicamente, se puede mencionar como periféricos mixtos o de Entrada/Salida a: discos rígidos, disquetes, unidades de cinta magnética, lecto-grabadoras de CD/DVD, discos ZIP, etc. También entran en este rango, con sutil diferencia, otras unidades, tales como: Tarjetas de Memoria flash o unidad de estado sólido, tarjetas de red, módems, tarjetas de captura/salida de vídeo, etc.
Si bien se puede clasificar al pendrive (lápiz de memoria), memoria flash o memoria USB o unidades de estado sólido en la categoría de memorias, normalmente se los utiliza como dispositivos de almacenamiento masivo; siendo todos de categoría Entrada/Salida.
Los dispositivos de almacenamiento masivo también son conocidos como "Memorias Secundarias o Auxiliares". Entre ellos, sin duda, el disco duro ocupa un lugar especial, ya que es el de mayor importancia en la actualidad, en el que se aloja el sistema operativo, todas las aplicaciones, utilitarios, etc. que utiliza el usuario; además de tener la suficiente capacidad para albergar información y datos en grandes volúmenes por tiempo prácticamente indefinido. Los servidores Web, de correo electrónico y de redes con bases de datos, utilizan discos rígidos de grandes capacidades y con una tecnología que les permite trabajar a altas velocidades como SCSI incluyendo también, normalmente, capacidad de redundancia de datos RAID; incluso utilizan tecnologías híbridas: disco rígido y unidad de estado sólido, lo que incrementa notablemente su eficiencia. Las interfaces actuales más usadas en discos duros son: IDE, SATA, SCSI y SAS; y en las unidades de estado sólido son SATA y PCI-Express ya que necesitan grandes anchos de banda.
La pantalla táctil (no el monitor clásico) es un dispositivo que se considera mixto, ya que además de mostrar información y datos (salida) puede actuar como un dispositivo de entrada, remplazando, por ejemplo, a algunas funciones del ratón o del teclado.

Hardware gráfico

El hardware gráfico lo constituyen básicamente las tarjetas gráficas. Dichos componentes disponen de su propia memoria y unidad de procesamiento, esta última llamada unidad de procesamiento gráfico (o GPU, siglas en inglés de Graphics Processing Unit). El objetivo básico de la GPU es realizar los cálculos asociados a operaciones gráficas, fundamentalmente en coma flotante, liberando así al procesador principal (CPU) de esa costosa tarea (en tiempo) para que éste pueda efectuar otras funciones en forma más eficiente. Antes de esas tarjetas de vídeo con aceleradores por hardware, era el procesador principal el encargado de construir la imagen mientras la sección de vídeo (sea tarjeta o de la placa base) era simplemente un traductor de las señales binarias a las señales requeridas por el monitor; y buena parte de la memoria principal (RAM) de la computadora también era utilizada para estos fines.
Dentro de ésta categoría no se deben omitir los sistemas gráficos integrados (IGP), presentes mayoritariamente en equipos portátiles o en equipos prefabricados (OEM), los cuales generalmente, a diferencia de las tarjetas gráficas, no disponen de una memoria dedicada, utilizando para su función la memoria principal del sistema. La tendencia en los últimos años es integrar los sistemas gráficos dentro del propio procesador central. Los procesadores gráficos integrados (IGP) generalmente son de un rendimiento y consumo notablemente más bajo que las GPU de las tarjetas gráficas dedicadas, no obstante, son más que suficiente para cubrir las necesidades de la mayoría de los usuarios de un PC.
Actualmente se están empezando a utilizar las tarjetas gráficas con propósitos no exclusivamente gráficos, ya que en potencia de cálculo la GPU es superior, más rápida y eficiente que el procesador para operaciones en coma flotante, por ello se está tratando de aprovecharla para propósitos generales, al concepto, relativamente reciente, se le denomina GPGPU (General-Purpose Computing on Graphics Processing Units).
La Ley de Moore establece que cada 18 a 24 meses la cantidad de transistores que puede contener un circuito integrado se logra duplicar; en el caso de los GPU esta tendencia es bastante más notable, duplicando, o aún más, lo indicado en la ley de Moore.
Desde la década de 1990, la evolución en el procesamiento gráfico ha tenido un crecimiento vertiginoso; las actuales animaciones por computadoras y videojuegos eran impensables veinte años atrás.


1.6Software
Se conoce como software al equipamiento lógico o soporte lógico de un sistema informático; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el software de sistema, tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.

Clasificación del software

Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:

Software de sistema:
Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador, adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:
·       
     Sistemas operativos: Un sistema operativo (SO) es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, y corre en modo privilegiado respecto de los restantes.
·  
  Controladores de dispositivos: Un controlador de dispositivo, llamado normalmente controlador (en inglés, device driver) es un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular.
·    
     Herramientas de diagnóstico: Una herramienta de diagnóstico es un software que permite monitorear y en algunos casos controlar la funcionalidad del hardware, como: computadoras, servidores y periféricos, según el tipo y sus funciones. Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos duros, ruteadores, tarjetas de red, entre muchos dispositivos más. El software permite monitorear temperatura, rendimiento, transferencia de datos, etc. 
        Servidores: En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes.
También se suele denominar con la palabra servidor a:

Ø  Una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Este es el significado original del término. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y de servidor.
Ø  Una computadora en la que se ejecuta un programa que realiza alguna tarea en beneficio de otras aplicaciones llamadas clientes, tanto si se trata de un ordenador central (mainframe), un miniordenador, una computadora personal, una PDA o un sistema embebido; sin embargo, hay computadoras destinadas únicamente a proveer los servicios de estos programas: estos son los servidores por antonomasia.
Ø  Un servidor no es necesariamente una máquina de última generación de grandes proporciones, no es necesariamente un superordenador; un servidor puede ser desde una computadora vieja, hasta una máquina sumamente potente (ej.: servidores web, bases de datos grandes, etc. Procesadores especiales y hasta varios terabytes de memoria). Todo esto depende del uso que se le dé al servidor. Si usted lo desea, puede convertir al equipo desde el cual usted está leyendo esto en un servidor instalando un programa que trabaje por la red y a la que los usuarios de su red ingresen a través de un programa de servidor web como Apache.

·        Utilidades: En informática, una utilidad es una herramienta que realiza:
Ø  Tareas de mantenimiento
Ø  Soporte para la construcción y ejecución de programas
Ø  Las tareas en general
En donde se incluyen las bibliotecas de sistema, middleware, herramientas de desarrollo, etc.
Entre ellas podemos nombrar cifrado y descifrado de archivos, compresión de archivos, desfragmentadores de disco, editores de texto, respaldo, etc.




Software de programación:
Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:
    • Editores de texto: Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor.
    • Compiladores: Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.
    • Intérpretes: En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
    • Enlazadores: Un enlazador es un programa que toma los objetos generados en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza el código objeto con su(s) biblioteca(s) con lo que finalmente produce un fichero ejecutable o una biblioteca. En el caso de los programas enlazados dinámicamente, el enlace entre el programa ejecutable y las bibliotecas se realiza en tiempo de carga o ejecución del programa.
    • Depuradores: Un depurador, es un programa usado para probar y depurar (eliminar los errores) de otros programas (el programa "objetivo"). El código a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas pero será típicamente algo más lento que ejecutando el código directamente en el apropiado (o el mismo) procesador. Algunos depuradores ofrecen dos modos de operación - la simulación parcial o completa, para limitar este impacto.


Software de aplicación:
Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:
    • Aplicaciones ofimáticas: Una suite ofimática o suite de oficina 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.
    • Software educativo: Se denomina software educativo al destinado a la enseñanza y el aprendizaje autónomo y que, además, permite el desarrollo de ciertas habilidades cognitivas.
    • Software empresarial: Por software empresarial se entiende generalmente cualquier tipo de software que está orientado a ayudar a una empresa a mejorar su productividad o a medirla.
    • Bases de datos: Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.
    • Telecomunicaciones: La telecomunicación («comunicación a distancia»), del prefijo griego tele, "distancia" y del latín comunicare) es una técnica consistente en transmitir un mensaje desde un punto a otro, normalmente con el atributo típico adicional de ser bidireccional. El término telecomunicación cubre todas las formas de comunicación a distancia, incluyendo radio, telegrafía, televisión, telefonía, transmisión de datos e interconexión de computadoras a nivel de enlace.
    • Videojuegos: Un videojuego o juego de vídeo es un software creado para el entretenimiento en general y basado en la interacción entre una o varias personas y un aparato electrónico que ejecuta dicho videojuego; este dispositivo electrónico puede ser una computadora, una máquina árcade, una videoconsola, un dispositivo handheld (un teléfono móvil, por ejemplo) los cuales son conocidos como "plataformas". Aunque, usualmente el término "video" en la palabra "videojuego" se refiere en sí a un visualizador de gráficos rasterizados, hoy en día se utiliza para hacer uso de cualquier tipo de visualizador.
    • Software médico: Software médico se llama a aquellos programas informáticos que son utilizados para fines médicos. Se utilizan muchos dispositivos médicos para vigilar o controlar a los pacientes, en su mayoría controlados por software. Estos programas son producto sanitario y deben cumplir la normativa de los mismos. Nótese que no todos los programas que se utilizan en el entorno médico son producto sanitario.

No hay comentarios:

Publicar un comentario