Programación
Se llama programación a la creación
de un programa de
computadora,
un conjunto concreto de
instrucciones que una computadora puede ejecutar. El programa se
escribe en un lenguaje de
programación, aunque también se pueda escribir
directamente en lenguaje de
máquina, con cierta dificultad. Un programa se puede
dividir en diversas partes, que pueden estar escritas en
lenguajes distintos.
Software es el sustantivo que denomina a los programas y
datos de
computadora.
Programas y
algoritmos
Un algoritmo es
una secuencia no ambigua, finita y ordenada de instrucciones que
han de seguirse para resolver un problema. Un programa
normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo.
Nótese que es la secuencia de instrucciones en sí
la que debe ser finita, no el número de pasos realizados
como la ejecución de las mismas.
Los programas suelen subdividirse en partes menores
(módulos), de modo que la complejidad algorítmica
de cada una de las partes sea menor que la del programa completo,
lo cual ayuda al desarrollo del
programa.
Según Niklaus Wirth un programa está
formado por algoritmos y
estructura de
datos.
Se han propuesto diversas técnicas
de programación, cuyo objetivo es
mejorar tanto el proceso de
creación de software como su mantenimiento.
Entre ellas se pueden mencionar las programaciones lineal,
estructurada, modular y orientada a objetos.
Objetivos de la
programación
La programación de ordenadores debe perseguir
tres objetivos
fundamentales:
- Corrección: un programa es correcto si
hace lo que debe hacer. Para determinar si un programa hace lo
que debe es muy importante especificar claramente qué
debe hacer el programa antes de desarrollarlo y una vez acabado
compararlo con lo que realmente hace.
- Claridad: es muy importante que el programa
sea lo más claro y legible posible para mejorar el
mantenimiento del software. Cuando se acaba de escribir el
código del programa, se deben buscar
errores y corregirlos. Más concretamente, cuando el
programa está concluido, es necesario hacerle
ampliaciones o modificaciones, según la demanda de
los usuarios, esta labor puede ser llevada acabo por el mismo
programador que implementó el programa o por
otros.
- Eficiencia: debe consumir la menor cantidad de
recursos
posible. Normalmente al hablar de eficiencia se
suele hacer referencia al consumo de
tiempo y/o
memoria.
Lenguaje de
programación
Varios libros sobre
diversos lenguajes de programación.
Un lenguaje de programación es un lenguaje que
puede ser utilizado para controlar el comportamiento
de una máquina, particularmente una computadora. Consiste
en un conjunto de reglas sintácticas y semánticas
que definen su estructura y
el significado de sus elementos, respectivamente.
Aunque muchas veces se usa lenguaje de
programación y lenguaje informático como si fuesen
sinónimos, no tiene por qué ser así, ya que
los lenguajes informáticos engloban a los lenguajes de
programación y a otros más, como, por ejemplo,
el HTML.
Un lenguaje de programación permite a un
programador especificar de manera precisa: sobre qué datos
una computadora debe operar, cómo deben ser estos
almacenados y transmitidos y qué acciones debe
tomar bajo una variada gama de circunstancias. Todo esto, a
través de un lenguaje que intenta estar relativamente
próximo al lenguaje humano o natural, tal como sucede con
el lenguaje
Léxico.
Los procesadores
usados en las computadoras
son capaces de entender y actuar según lo indican
programas escritos en un lenguaje fijo llamado lenguaje de
máquina. Todo programa escrito en otro lenguaje puede ser
ejecutado de dos maneras:
- Mediante un programa que va adaptando las
instrucciones conforme son encontradas. A este proceso se lo
llama interpetar y a los programas que lo hacen se los
conoce como intérpretes. - Traduciendo este programa al programa equivalente
escrito en lenguaje de máquina. A ese proceso se lo
llama compilar y al traductor se lo conoce como
compilador.
Clasificación de los
lenguajes de programación
Los lenguajes de programación se determinan
según el nivel de abstracción, Según la
forma de ejecución y Según el paradigma de
programación que poseen cada uno de ellos y esos pueden
ser:
-Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de
programación que se acercan al funcionamiento de una
computadora. El lenguaje de más bajo nivel es, por
excelencia, el código máquina. A éste le
sigue el lenguaje
ensamblador, ya que al programar en ensamblador se
trabajan con los registros de
memoria de la computadora
de forma directa.
-Lenguajes de medio nivel
Hay lenguajes de programación que son
considerados por algunos expertos como lenguajes de medio nivel
(como es el caso del lenguaje C) al tener ciertas
características que los acercan a los lenguajes de bajo
nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo
hacen un lenguaje más cercano al humano y, por tanto, de
alto nivel.
-Lenguajes de alto nivel
Los lenguajes de alto nivel son normalmente
fáciles de aprender porque están formados por
elementos de lenguajes naturales, como el inglés.
En BASIC, el lenguaje de alto nivel más conocido, los
comandos como
"IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la
computadora que pare si CONTADOR es igual a 10. Por desgracia
para muchas personas esta forma de trabajar es un poco
frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma
rígida y sistemática.
Cableado informático.
Linux
Linux (pronunciación IPA:
/ˈlɪnʊks/) es la denominación de un
sistema operativo
tipo-Unix y el
nombre de un núcleo. Es uno de los paradigmas
más prominentes del software libre
y del desarrollo del código abierto, cuyo código
fuente está disponible públicamente y cualquier
persona puede
libremente usarlo, estudiarlo, redistribuirlo y, con los
conocimientos informáticos adecuados,
modificarlo[1].
Los primeros sistemas Linux se
originaron en 1992, al combinar utilidades de sistema y
librerías del proyecto GNU con
el núcleo Linux, completando un sistema también
conocido como GNU/Linux[2]. Desde fines de 1990 Linux ha obtenido
el apoyo de diversas empresas
multinacionales del mundo de la informática, tales como Microsoft,
IBM[3] Sun Microsystems[4], Hewlett-Packard[5] y Novell[6].
Linux es usado como sistema operativo en una amplia
variedad de plataformas de hardware y computadores,
incluyendo los computadores de escritorio (PC x86 y x86-64, y
Macintosh y PowerPC), servidores,
supercomputadores[7], mainframes, y dispositivos empotrados
así como teléfonos celulares.
La marca Linux
(Número de serie: 1916230) pertenece a Linus Torvalds y se
define como "un sistema operativo para computadoras que facilita
su uso y operación".
Existen grupos de
usuarios del sistema Linux en casi todas las áreas del
p Linux (pronunciación IPA:
/ˈlɪnʊks/) es la denominación de un
sistema operativo tipo-Unix y el nombre de un núcleo. Es
uno de los paradigmas más prominentes del software libre
y del desarrollo del código abierto, cuyo código
fuente está disponible públicamente y cualquier
persona puede libremente usarlo, estudiarlo, redistribuirlo y,
con los conocimientos informáticos adecuados,
modificarlo[1].
Los primeros sistemas Linux se originaron en 1992, al
combinar utilidades de sistema y librerías del proyecto
GNU con el núcleo Linux, completando un sistema
también conocido como GNU/Linux[2]. Desde fines de 1990
Linux ha obtenido el apoyo de diversas empresas multinacionales
del mundo de la informática, tales como Microsoft, IBM[3]
Sun Microsystems[4], Hewlett-Packard[5] y Novell[6].
Linux es usado como sistema operativo en una amplia
variedad de plataformas de hardware y computadores, incluyendo
los computadores de escritorio (PC x86 y x86-64, y Macintosh y
PowerPC), servidores, supercomputadores[7], mainframes, y
dispositivos empotrados así como teléfonos
celulares.
Etimología
Linux se refiere estrictamente al núcleo Linux,
pero es comúnmente utilizado para describir al sistema
operativo tipo Unix (que implementa el estándar POSIX),
que utiliza primordialmente filosofía y
metodologías libres (también conocido como
GNU/Linux) y que está formado mediante la
combinación del núcleo Linux con las bibliotecas y
herramientas
del proyecto GNU y de muchos otros proyectos/grupos
de software (libre o no libre).
La expresión "Linux" es utilizada para referirse
a las distribuciones GNU/Linux, colecciones de software que
suelen contener grandes cantidades de paquetes además del
núcleo. El software que suelen incluir consta de una
enorme variedad de aplicaciones, como: entornos gráficos, suites ofimáticas,
servidores web, servidores
de correo, servidores FTP,
etcétera. Coloquialmente se aplica el término
"Linux" a éstas. Algunas personas opinan que es incorrecto
denominarlas distribuciones Linux, y proponen llamarlas sistema
GNU/Linux. Otras personas opinan que los programas incluidos
proceden de fuentes tan
variadas que proponen simplificarlo denominándolo
simplemente a "Linux".
Pronunciación: /lí.nuks/, no
/lái.nuks/
La pronunciación correcta (para cualquier idioma)
es muy cercana a como se pronuncia en español:
/lí.nux/ o /lnəks/ (Alfabeto Fonético
Internacional).
Historia
Linus Torvalds, creador del kernel
Linux
La historia de Linux
está fuertemente vinculada a la del proyecto GNU. El
proyecto GNU, iniciado en 1983, tiene como objetivo el desarrollo
de un sistema Unix completo compuesto enteramente de software
libre. Hacia 1991, cuando la primera versión del
núcleo Linux fue liberada, el proyecto GNU había
producido varios de los componentes del sistema operativo,
incluyendo un intérprete de comandos, una biblioteca C y un
compilador, pero aún no contaba con el núcleo que
permitiera completar el sistema operativo.Entonces, el
núcleo creado por Linus Torvalds, quien se encontraba por
entonces estudiando en la Universidad de
Helsinki, llenó el hueco final que el sistema operativo
GNU exigía. Subsecuentemente, miles de programadores
voluntarios alrededor del mundo han participado en el proyecto,
mejorándolo continuamente. Torvalds y otros
desarrolladores de los primeros días de Linux adaptaron
los componentes de GNU y de BSD, así como de otros muchos
proyectos como Perl, Apache, Python, etc. para trabajar con el
núcleo Linux, creando un sistema operativo completamente
funcional procedente de muchísimas fuentes diferentes, la
mayoría libres.
Como se instala
Linux
Linux en la actualidad es un sistema operativo
fácil de instalar, tan solo basta con descargar la
imagen
iso de una
distribución como debían, suse,
ubuntu, o yellow dog (la mayoría son gratuitas) y grabarla
en un CD o DVD.
Existen versiones linux para máquinas
x86 (abarca desde computadoras 386, pentium I,
celeron, hasta pentium IV), también para 64 bits (los
nuevos procesadores, aunque también trabajan con linux
para x86), y para procesadores PowerPc (ppc) de las computadoras
Apple Macintoch.
El resto es tan fácil como instalar windows,
incluso algunas distribuciones permiten entrar al escritorio
linux sin necesidad de instalar el sistema operativo (desde el
CD), para luego usarlo o instalarlo desde el escritorio. Este es
el caso de Ubuntu y Kubuntu y las versiones más
actualizadas, insertas el cd/dvd dentro de la computadora,
reinicias y en uno o dos minutos estás en el escritorio
del sistema operativo Linux. Estas versiones son también
llamadas Live, del inglés "en vivo".
Actualmente Linux es un sistema fácil de usar.
Cada distribución trae programas seleccionados por los
autores de la distribución incluidos en el cd o en el dvd,
y se pueden instalar tanto al comienzo de la instalación
como luego de haber instalado el sistema. Se puede instalar en
computadoras que se consideren "obsoletas", pero esto puede
resultarle complicado a un usuario novato.
Aplicaciones de los sistemas
Linux
Escritorio KDE 3.4.2 corriendo sobre Gentoo Linux
(2.6.13-r9) corriendo un cliente IRC
Konversation, un cliente p2p aMule y un reproductor musical
Amarok.
Con la adopción
por numerosas empresas fabricantes de PCs, muchas computadoras
son vendidas con distribuciones GNU/Linux pre-instaladas, y
"GNU/Linux" ha comenzado a tomar su lugar en el vasto mercado de las
computadoras de escritorio.
Con entornos de escritorio, "GNU/Linux" ofrece una
interfaz gráfica alternativa a la tradicional interfaz de
línea de comandos de Unix. Existen en la actualidad
numerosas aplicaciones gráficas, ya sean libres o no, que ofrecen
funcionalidad que está permitiendo que GNU/Linux se adapte
como herramienta de escritorio.
Algunas distribuciones permiten el arranque de Linux
directamente desde un disco compacto (llamados LiveCDs) sin
modificar en absoluto el disco duro de
la computadora en la que se ejecuta Linux. Para este tipo de
distribuciones, en general, los archivos de
imagen (archivos ISO) están disponibles en Internet para su
descarga.
Otras posibilidades incluyen iniciar el arranque desde
una red (ideal
para sistemas con requerimientos mínimos) o desde un disco
flexible o disquete o de unidades de
almacenamiento USB.
Unix
Unix® (o UNIX) es un sistema operativo
portable, multitarea y multiusuario; desarrollado en principio
por un grupo de
empleados de los laboratorios Bell de AT&T, entre los que
figuran Ken Thompson, Dennis Ritchie y Douglas
McIlroy.
Hoy día, la palabra UNIX se utiliza para
denotar diferentes conceptos dependiendo del contexto en que es
usada. Esto suele dar lugar a confusiones:
- UNIX – familia: desde el punto
de vista técnico, UNIX se refiere a una familia de
sistemas
operativos que comparten unos criterios de diseño e interoperabilidad en
común. Esta familia incluye más de 100 sistemas
operativos desarrollados a lo largo de 20 años. No
obstante, es importante señalar que esta
definición no implica necesariamente que dichos sistemas
operativos compartan código o cualquier propiedad
intelectual. - UNIX – el sistema operativo
original: desde el punto de vista
histórico, UNIX se refiere a la subfamilia de sistemas
operativos que descienden de la primera implementación
original de AT&T. El término "descendencia" ha de
interpretarse como trabajos derivativos que comparten propiedad
intelectual con la implementación original. - UNIX – la marca: desde el punto
de vista legal, Unix es una marca de mercado. Dicha marca es
propiedad de "The Open Group", una organización de estandarización
que permite el uso de dicha marca a cualquier sistema operativo
que cumpla con sus estándares publicados (Single Unix
Specification). Todo ello independientemente de que el sistema
operativo en cuestión sea descendiente o clónico
del Unix original. Resumiendo, la marca Unix no es propiedad de
ninguna compañía.
Historia
El inicio del desarrollo de este sistema operativo (uno
de los más influyentes en la historia de la
computación) fue muy particular, pues nadie
habría predicho el éxito
de UNIX después de su primera
encarnación.
Ken Thompson y Dennis Ritchie
A finales en 1960, el Instituto Tecnológico de
Massachussets, los Laboratorios Bell de AT&T y General
Electric trabajaban en un sistema operativo experimental llamado
Multics (Multiplexed Information and Computing System),
desarrollado para ejecutarse en un ordenador o computadora
central (mainframe) modelo GE-645.
El objetivo del proyecto era desarrollar un sistema operativo
interactivo que contase con muchas innovaciones, entre ellas
mejoras en las políticas
de seguridad. El
proyecto, por cierto, consiguió dar a luz versiones
para producción, pero las primeras versiones
contaban con un pobre rendimiento. Los laboratorios Bell de
AT&T decidieron desvincularse y dedicar sus recursos a otros
proyectos. Uno de los programadores del equipo de los
laboratorios Bell, Ken Thompson, siguió trabajando para la
computadora GE-645 y escribió un juego llamado
Space Travel (Viaje espacial). Sin embargo, descubrió que
el juego era lento en la máquina de General Electric y
resultaba realmente caro, algo así como 75 dólares
de EE.UU. por cada partida.
La marca
UNIX es una marca registrada de The Open Group en
Estados Unidos
y otros países. Esta marca sólo se puede aplicar a
los sistemas operativos que cumplen la "Single Unix
Specification" de esta organización y han pagado las
regalías establecidas.
En la práctica, el término UNIX se utiliza
en su acepción de familia. Se aplica también a
sistemas multiusuario basados en POSIX (tales como GNU/Linux, Mac
OS X, FreeBSD, NetBSD, OpenBSD), los cuales no buscan la
certificación UNIX por resultar cara para productos
destinados al consumidor final
o que se distribuyen libremente en Internet. En estos casos, el
término se suele escribir como "UN*X", "*NIX", o
"*N?X".
Minix
Minix | |
Desarrollador | Andrew S. Tanenbaum |
Familia de S.O. | Unix |
Modelo de desarrollo | Software libre |
Núcleo | Minix |
Tipo de núcleo | Micronúcleo |
Licencia | Licencia BSD |
Última versión | 3.1.2 / 8 de Mayo de 2006 |
Estado actual | En desarrollo |
Sitio Web | www.minix3.org |
Minix es un clon del sistema
operativo Unix distribuido junto con su código fuente y
desarrollado por el profesor
Andrew S. Tanenbaum en 1987. La última versión
oficial de Minix es la 3.1.2, publicada el 8 de Mayo de
2006.
Fue creado para enseñar a sus alumnos el
diseño de sistemas operativos en la Vrije Universiteit de
Ámsterdam. La razón de su desarrollo fue porque
Unix estaba bajo restricciones de licencia de AT&T, era
demasiado complicado y corría sobre máquinas
complejas.
Gracias a su reducido tamaño, diseño
basado en el paradigma del micro núcleo, y su amplia
documentación, resulta bastante apropiado
para personas que desean instalar un sistema operativo compatible
con Unix en su máquina personal
así como aprender sobre su funcionamiento interno. Minix
fue desarrollado para correr sobre IBM PC con procesador Intel
8088 o superior, aunque se han creado conversiones para otros
sistemas.
Debido al enfoque puramente educacional de Minix,
Tanenbaum no permitía que este fuera modificado demasiado
ya que esto complicaba el sistema y no permitía que sus
estudiantes lo entendieran en un semestre. Por estos motivos,
Linus Torvalds decidió escribir su propio kernel de
sistema operativo compatible con Unix (Linux), que -en simbiosis
con el sistema operativo GNU, GNU/Linux- ha ganado protagonismo a
Minix en el campo de los Unix para ordenadores compatibles con el
IBM PC debido a que su licencia (GPL) permite la
modificación del mismo. Actualmente Minix se distribuye
con una licencia similar a la licencia BSD, lo que permite su
modificación.
Para una persona poco familiarizada con los elementos
internos de un sistema operativo, Minix es una buena
opción que le permite entender casi todos los elementos
del sistema con solo algunos meses de uso y estudio.
Historia
Andrew S. Tanenbaum creó MINIX en la Vrije
Universiteit de Ámsterdam para ejemplificar los principios
recogidos en su libro de
texto
Operating Systems: Design and Implementation (1987). Una
parte del código en C del kernel, el controlador de
memoria y el sistema de ficheros de MINIX 1.0 se recogen en este
libro.
Junto con el libro también había
disponible un disquete con el código fuente de MINIX y los
binarios, junto con un manual de
referencia del sistema.
Tanenbaum creó originalmente MINIX para que fuera
compatible con las arquitecturas IMB PC y IBM PC/AT, que eran las
comunes en esa época.
MINIX 1.5, lanzado en 1991, incluía soporte para
MicroChannel IBM PS/2 y también fue adaptado para las
arquitecturas Motorola 68000 y SPARC, soportando Atari ST,
Commodore Amiga, Apple Macintosh y plataformas Sun
SPARCstation.
También existió una adaptación no
oficial a las arquitecturas compatibles con Intel 386 (en modo de
32 bits protegido), National Semiconductor NS32532, ARM y
procesadores INMOS transputer. Meiko Scientific utilizó
una primera versión de MINIX como base de su sistema
operativo MeikOS. También existió una
versión de MINIX que se ejecutaba como un proceso de
usuario en el sistema operativo SunOS.
Al decrementarse la demanda de las computadoras de
arquitectura
de 68k, MINIX 2.0, lanzada el 1997, sólo era compatible
con las arquitecturas x86 y SPARC. Fue el tema para la segunda
edición
del libro de Tanenbaum, en esta ocasión co-escrito junto
con Albert Woodhull, y fue distribuido en un CD-ROM
incluido en el libro. MINIX 2.0 añadía
compatibilidad con POSIX1, soporte para arquitecturas 386 y
superiores de 32 bits y reemplazó los protocolos de
red Amoeba
incluidos en MINIX 1.5 por TCP/IP.
También aparecieron adaptaciones no oficiales de MINIX 2.0
para las arquitecturas basadas en el 68020 ISICAD Prisma 7000 y
las basadas en Hitachi SH3. Minix-vmd es una variante de MINIX
2.0 para procesadores compatibles con Intel IA-32, que fue creada
por dos investigadores de la Vrije Universiteit, la cual
añadía memoria
virtual y soporte para el sistema gráfico X Window
System.
MINIX 3
MINIX 3 fue públicamente anunciado el 24 de
octubre de 2005 por Andrew Tanenbaum, durante su exposición
en la conferencia de
ACM en el Symposium on Operating System Principles. Aunque sigue
manteniéndose como ejemplo para la nueva edición de
su libro, está comprensiblemente rediseñado para
ser "utilizado como un sistema serio en computadoras con recursos
limitados y para aplicaciones que requieren de gran fiabilidad".
Actualmente MINIX 3 soporta sólo arquitecturas derivadas de
IA-32, y está disponible en LiveCD, lo que permite ser
utilizado sin necesidad de instalar el sistema operativo, y en
versiones compatibles con sistemas de emulación o
virtualización como Bosh, Qemu, VMware y VirtualPC. La
versión 3.12 fue lanzada el 8 de mayo de 2006, y contiene
X11, emacs, vi, cc, gcc, perl, python, ash, bash, zsh, ftp, ssh,
telnet, pine y
cerca de 400 aplicaciones más, comunes a los sistemas
UNIX. Con la incorporación de X11, esta versión
marca el punto de transición entre el modo texto y
gráfico en este sistema operativo. Otra
característica de esta versión, que será
mejorada en un futuro, es la habilidad del sistema para
mantenerse cuando el driver de algún componente deja de
funcionar, y en algunos casos éstos son reemplazados
automáticamente sin afectar a los procesos que
se estén ejecutando. Siguiendo este camino, MINIX es
self-healing, lo que lo hace ideal para sistemas que requieren
alta fiabilidad.
Historia
Andrew S. Tanenbaum creó MINIX en la Vrije
Universiteit de Ámsterdam para ejemplificar los principios
recogidos en su libro de texto Operating Systems: Design and
Implementation (1987). Una parte del código en C del
kernel, el controlador de memoria y el sistema de ficheros de
MINIX 1.0 se recogen en este libro.
Junto con el libro también había
disponible un disquete con el código fuente de MINIX y los
binarios, junto con un manual de referencia del
sistema.
Tanenbaum creó originalmente MINIX para que fuera
compatible con las arquitecturas IMB PC y IBM PC/AT, que eran las
comunes en esa época.
MINIX 1.5, lanzado en 1991, incluía soporte para
MicroChannel IBM PS/2 y también fue adaptado para las
arquitecturas Motorola 68000 y SPARC, soportando Atari ST,
Commodore Amiga, Apple Macintosh y plataformas Sun
SPARCstation.
También existió una adaptación no
oficial a las arquitecturas compatibles con Intel 386 (en modo de
32 bits protegido), National Semiconductor NS32532, ARM y
procesadores INMOS transputer. Meiko Scientific utilizó
una primera versión de MINIX como base de su sistema
operativo MeikOS. También existió una
versión de MINIX que se ejecutaba como un proceso de
usuario en el sistema operativo SunOS.
Al decrementarse la demanda de las computadoras de
arquitectura de 68k, MINIX 2.0, lanzada el 1997, sólo era
compatible con las arquitecturas x86 y SPARC. Fue el tema para la
segunda edición del libro de Tanenbaum, en esta
ocasión co-escrito junto con Albert Woodhull, y fue
distribuido en un CD-ROM incluido en el libro. MINIX 2.0
añadía compatibilidad con POSIX1, soporte para
arquitecturas 386 y superiores de 32 bits y reemplazó los
protocolos de red Amoeba incluidos en MINIX 1.5 por TCP/IP.
También aparecieron adaptaciones no oficiales de MINIX 2.0
para las arquitecturas basadas en el 68020 ISICAD Prisma 7000 y
las basadas en Hitachi SH3. Minix-vmd es una variante de MINIX
2.0 para procesadores compatibles con Intel IA-32, que fue creada
por dos investigadores de la Vrije Universiteit, la cual
añadía memoria virtual y soporte para el sistema
gráfico X Window System.
Disco duro
Disco duro Seagate
Se llama disco duro o disco rígido
(en inglés hard disk, abreviado con frecuencia
HD o HDD) al dispositivo encargado de almacenar
información de forma permanente en una
computadora.
Los discos duros
generalmente utilizan un sistema de grabación magnética digital.
En este tipo de disco encontramos dentro de la carcasa una serie
de platos metálicos apilados girando a gran velocidad.
Sobre estos platos se sitúan los cabezales encargados de
leer o escribir los impulsos magnéticos. Hay distintos
estándares a la hora de comunicar un disco duro con la
computadora. Los más utilizados son IDE/ATA, SCSI, y SATA,
este último siendo de reciente
aparición.
Tal y como sale de fábrica, el disco duro no
puede ser utilizado por un sistema operativo. Antes tenemos que
definir en él un formato de
bajo nivel, una o más particiones y luego
hemos de darles un formato que pueda ser entendido por nuestro
sistema.
También existe otro tipo de discos denominados de
estado sólido que utilizan cierto tipo de memorias
construidas con semiconductores
para almacenar la información. El uso de esta clase de
discos generalmente se limita a las supercomputadoras, por su
elevado precio.
Así, el caché de pista es una memoria de estado
sólido, tipo RAM, dentro de un
disco duro de estado sólido.
Estructura
física
Cabezal de lectura/escritura
Dentro de un disco duro hay varios platos
(entre 2 y 4), que son discos (de aluminio o
cristal) concéntricos y que giran todos a la vez. El
cabezal (dispositivo de lectura y escritura) es
un conjunto de brazos alineados verticalmente que se mueven hacia
dentro o fuera según convenga, todos a la vez. En la punta
de dichos brazos están las cabezas de lectura/escritura,
que gracias al movimiento del
cabezal pueden leer tanto zonas interiores como exteriores del
disco.
Cada plato tiene dos caras, y es necesaria una
cabeza de lectura/escritura para cada cara (no es una
cabeza por plato, sino una por cara). Si se mira el esquema
Cilindro-Cabeza-Sector (más abajo), a primera vista
se ven 4 brazos, uno para cada plato. En realidad, cada uno de
los brazos es doble, y contiene 2 cabezas: una para leer la cara
superior del plato, y otra para leer la cara inferior. Por tanto,
hay 8 cabezas para leer 4 platos. Las cabezas de
lectura/escritura nunca tocan el disco, sino que pasan muy cerca
(hasta a 3 nanómetros). Si alguna llega a tocarlo,
causaría muchos daños en el disco, debido a lo
rápido que giran los platos (uno de 7.200 revoluciones por
minuto se mueve a 120 km/h en el borde).
Direccionamiento
Cilindro, Cabeza y Sector
Hay varios conceptos para referirse a zonas del
disco:
Plato
Cada uno de los discos que hay dentro del disco
duro.
Cara
Cada uno de los dos lados de un
plato
Cabeza
Número de cabezal; equivale a dar el
número de cara, ya que hay un cabezal por
cara.
Pista
Una circunferencia dentro de una cara; la
pista 0 está en el borde exterior.
Cilindro.
Conjunto de varias pistas; son todas las
circunferencias que están alineadas verticalmente (una
de cada cara).
Sector
Cada una de las divisiones de una pista. El
tamaño del sector es fijo, siendo el estándar
actual 512 bytes. Antiguamente el número de sectores por
pista era fijo, lo cual desaprovechaba el espacio
significativamente, ya que en las pistas exteriores pueden
almacenarse más sectores que en las interiores.
Así, apareció la tecnología ZBR (grabación de
bits por zonas) que aumenta el número de sectores en
las pistas exteriores, y usa más eficientemente el disco
duro.
El primer sistema de direccionamiento que se usó
fue el CHS
(cilindro-cabeza-sector), ya que con estos tres
valores se
puede situar un dato cualquiera del disco. Más adelante se
creó otro sistema más sencillo: LBA
(direccionamiento lógico de bloques), que consiste
en dividir el disco entero en sectores y asignar a cada
uno un único número; éste es el sistema
usado actualmente.
Estructura
lógica
Dentro del disco se encuentran:
- el Master Boot Record (en el sector de arranque), que
contiene la tabla de particiones - las particiones, necesarias para poder
colocar los sistemas de ficheros
Funcionamiento
mecánico
Piezas de un disco duro
Un disco duro suele tener:
- platos en donde se graban los datos
- cabezal de lectura/escritura
- motor que hace girar los platos
- electroimán que mueve el cabezal
- circuito electrónico de control, que
incluye: interfaz con la computadora, memoria
caché - bolsita desecante (gel de sílice) para evitar
la humedad - caja, que ha de proteger de la suciedad (aunque no
está al vacío) - tornillos, a menudo especiales
Historia
Antiguo disco duro de IBM (modelo 62PC, "Piccolo"), de
64.5 MB, fabricado en 1979
El primer disco duro fue el IBM 350, inventado por
Reynold Johnson y presentado en 1955 junto con el
ordenador IBM 305. Este
disco tenía 50 platos de 61 cm cada uno, con una capacidad
total de 5 millones de caracteres. Se usaba un solo cabezal para
acceder a todos los platos, por lo que el tiempo de acceso medio
era muy lento.
Características de un disco
duro
Disco duro Maxtor de 1GB
abierto
Las características que se deben tener en cuenta
en un disco duro son:
Tiempo medio de acceso
Tiempo medio que tarda en situarse la aguja en el
cilindro deseado; es la suma de la Latencia y el Tiempo medio
de Búsqueda.
Tiempo medio de Búsqueda (seek)
Es la mitad del tiempo que tarda la aguja en ir de la
periferia al centro del disco.
Latencia
Tiempo que tarda el disco en girar media vuelta, que
equivale al promedio del tiempo de acceso (tiempo medio de
acceso). Una vez que la aguja del disco duro se sitúa en
el cilindro el disco debe girar hasta que el dato se
sitúe bajo la cabeza; el tiempo en que esto ocurre es,
en promedio, el tiempo que tarda el disco en dar medio giro;
por este motivo la latencia es diferente a la velocidad de
giro, pero es aproximadamente proporcional a
ésta.
Tiempo de acceso máximo
Tiempo máximo que tarda la aguja en situarse en
el cilindro deseado. Es el doble del Tiempo medio de
acceso.
Tiempo pista a pista
Tiempo de saltar de la pista actual a la
adyacente.
Tasa de transferencia
Velocidad a la que puede transferir la
información al ordenador. Puede ser velocidad
sostenida o de pico.
Caché de pista
Es una memoria de estado sólido, tipo RAM,
dentro del disco duro de estado sólido. Los discos duros
de estado sólido utilizan cierto tipo de memorias
construidas con semiconductores para almacenar la
información. El uso de esta clase de discos generalmente
se limita a las supercomputadoras, por su elevado
precio.
Interfaz
Medio de comunicación entre el disco duro y el
ordenador. Puede ser IDE, SCSI, SATA, USB o
Firewire.
Velocidad de rotación
Número de revoluciones por minuto del
plato.
CPU
Oblea de un microprocesador
Intel 80486DX2 (tamaño: 12×6.75 mm) es su
empaquetado
La unidad central de proceso (CPU) o
simplemente procesador. Es el componente en una
computadora digital que interpreta las instrucciones y
procesa los datos contenidos en los programas de computadora. Los
CPU
proporcionan la característica fundamental de la
computadora digital, la programabilidad, y son uno de los
componentes necesarios encontrados en las computadoras de
cualquier tiempo, junto con el almacenamiento
primario y las facilidades de entrada/salida. Es conocido como
microprocesador el CPU que es manufacturado con circuitos
integrados. Desde mediados de los años 1970, los
microprocesadores de un solo chip han reemplazado
casi totalmente todos los otros tipos de CPU, y hoy en
día, el término "CPU" es aplicado usualmente a
algún tipo de microprocesador.
La expresión "unidad central de proceso" es, en
términos generales, una descripción de una cierta clase de
máquinas de lógica
que pueden ejecutar complejos programas de computadora. Esta
amplia definición puede fácilmente ser aplicada a
muchos de las primeras computadoras que existieron mucho antes
que el término "CPU" estuviera en amplio uso. Sin embargo,
el término sí mismo y su acrónimo han estado
en uso en la industria del
computadora por lo menos desde el principio de los años
1960 . La forma, el diseño y la implementación de
los CPU ha cambiado dramáticamente desde los primeros
ejemplos, pero su operación fundamental ha permanecido
bastante similar.
Los primeros CPU fueron diseñados a la medida
como parte de una computadora más grande, generalmente una
computadora único en su especie. Sin embargo, este costoso
método de
diseñar los CPU a la medida, para una aplicación
particular, ha desaparecido en gran parte y se ha sustituido por
el desarrollo de clases de procesadores baratos y estandardizados
adaptados para uno o muchos propósitos. Esta tendencia de
estandarización comenzó generalmente en la era de
los transistores
discretos, mainframes, y mini computadores, y fue acelerada
rápidamente con la popularización del circuito
integrado (IC), éste ha permitido que sean
diseñados y fabricados CPU más complejos en
espacios pequeños (en la orden de milímetros).
Tanto la miniaturización como la estandarización de
los CPU han aumentado la presencia de estos dispositivos
digitales en la vida moderna mucho más allá de las
aplicaciones limitadas de máquinas de computación dedicadas. Los
microprocesadores modernos aparecen en todo, desde
automóviles, televisores, neveras, calculadoras, aviones,
hasta teléfonos celulares, juguetes,
entre otros.
El EDVAC, una de los primeros computadores de programas
almacenados electrónicamente.
CPU de transistores y de circuitos
integrados discretos
CPU, memoria de núcleo, e interface de
bus externo de un MSI
PDP-8/I.
Placa base
Placa ASUS en formato
µATX.
La placa base, placa madre o tarjeta
madre (en inglés motherboard,
mainboard ) es la tarjeta de circuitos impresos que
sirve como medio de conexión entre microprocesador,
circuitos electrónicos de soporte, ranuras para conectar
parte o toda la RAM del sistema, la ROM y ranuras especiales
(slots) que permiten la conexión de tarjetas
adaptadoras adicionales. Estas tarjetas de expansión
suelen realizar funciones de
control de periféricos tales como monitores,
impresoras,
unidades de disco, etc.
Se diseña básicamente para realizar tareas
específicas vitales para el funcionamiento de la
computadora, como por ejemplo las de:
- Conexión física.
- Administración, control y distribución
de energía
eléctrica. - Comunicación de datos.
- Temporización.
- Sincronismo.
- Control y monitoreo.
Para que la placa base cumpla con su cometido, lleva
instalado un software muy básico denominado BIOS.
Componentes de la tarjeta
madre
- Socket
- Zócalo de memoria
- Chipset (Northbridge y Southbridge)
- Slot
- Conector AT
- Conector ATX
- Conector ATX 2.0
- Conector ATX12V
- ROM bios
- RAM CMOS
- IDE
- Fdc
- Panel frontal
- Pila
- Cristal de cuarzo
- PS/2 (mouse y
teclado) - USB
- COM1
- LPT1
- GAME
Mouse
Un ejemplo de mouse o ratón, con cable y
rueda
Imagen habitual de un puntero o flecha de
un mouse en la pantalla
El ratón o mouse (del inglés, pronunciado
[ ˈmaʊs ]) es un periférico de
computadora de uso manual, generalmente fabricado en plástico,
utilizado como entrada o control de datos. Se utiliza con una de
las dos manos del usuario y detecta su movimiento relativo en dos
dimensiones por la superficie horizontal en la que se apoya,
reflejándose habitualmente a través de un puntero o
flecha en el monitor.
Hoy en día es un elemento imprescindible en un
equipo informático para la mayoría de las personas,
y pese a la aparición de otras tecnologías con una
función
similar, como la pantalla táctil, la práctica ha
demostrado que tendrá todavía muchos años de
vida útil. No obstante, el futuro podría ser
posible mover el cursor o el puntero con los ojos o basarse en el
reconocimiento de voz.
El nombre
La forma del dispositivo
originó su nombre
El nombre de mouse o ratón proviene del equipo de
la Universidad de Stanford: desde el principio, el cable largo
les sugirió la cola de un roedor, por lo que empezaron a
llamarlo ratón (mouse en inglés). Los primeros
modelos o
versiones destacaban por un cable largo, que lo identificaban con
este mamífero.
En América
predomina el nombre mouse y en España se
utiliza prácticamente de manera exclusiva el calco
semántico "ratón". El Diccionario
panhispánico de dudas y el Diccionario Clave incorporan
ambos términos, aunque consideran que como existe el
calco, el anglicismo es innecesario.
Microsoft, en su afán de que se use "mouse" en
vez de ratón, y sabiendo y el propio Microsoft usa
"ratón" para designar el dispositivo, es el caso de las
ayudas de programa, donde aparece "Señale con el mouse
(ratón)…" y otro caso sería el del Panel de Control
, donde aparece "Mouse".
Clonación de ordenadores y de
programas
Clonación de ordenadores y de programas
Cuando IBM sacó su ordenador personal (PC) en 1981, otras
empresas como Compaq decidieron sacar un clon de este ordenador
mediante una reconstrucción legal realizada con la
documentación del ordenador o retroingeniería. Como
la mayoría de los componentes con la excepción del
BIOS del ordenador estaban a disposición del
público, todo lo que Compaq tenía que hacer era
aplicar un proceso de retroingeniería al BIOS. El
resultado era que te llevabas un ordenador mejor que los
ordenadores a los que imitaba por el mismo precio. El
término «clon de PC» cayó en desuso en
los noventa: ahora se dice simplemente PC (ordenador personal) u
ordenador Intel.
También se pueden clonar los programas mediante
la retroingeniería o reprogramación legal a
través de la documentación u otras fuentes.
Programas como el editor de líneas EDLIN de MS-DOS y el
sistema operativo Unix han sido clonados. Las razones que inducen
a la
clonación pueden ser el tener que pagar costosas
licencias o como proeza, para demostrar que es posible
hacerlo.
El popular glosario de jerga
en inglés «Jargon File» nos da la siguiente
definición:
- Una dúplica exacta: «Nuestro producto es
un clon de su producto…». Este concepto
implica una reproducción a partir de la
documentación del producto o por retroingeniería.
También implica un precio más bajo. - Una copia de baja calidad:
«Su producto es un clon de nuestro
producto…». - Una copia descarada, la mayoría de las veces
violando la propiedad intelectual o la protección del
secreto comercial: «Tu producto es un clon de mi
producto…». Este uso implica que hay una acción legal pendiente. - [obsoleto] ‘clon de PC’: un
microordenador 80×86 con Bus de PC ISA o
EISA. Estos ordenadores siempre dan mucho más de
sí que los arquetipos de IBM a los que imitan y,
además, por el mismo precio. Este término
cayó en desuso en los noventa; la clase de ordenadores a
los que denominaba se conocen ahora simplemente como PC u
ordenadores Intel. - [obsoleto] En la construcción ‘clon de Unix’:
Un sistema operativo diseñado para ofrecer un entorno
Unix gemelo sin pagar licencias, y también con
características para misiones críticas como
soporte para programación en tiempo real. Linux y los
sistemas BSD acabaron con esta categoría de productos y
con el término que los designaba. - verbo. Hacer una copia exacta de algo.
«Déjame que lo clone» podría
significar «Quiero tomar prestado este papel para hacerle
una copia» o «Voy a hacer una copia de este fichero
antes de que lo modifiques».
CONCLUSIÓN
Al concluir este trabajo, me
siento conforme con la realización del mismo por haberme
brindado la oportunidad de ampliar mi conocimiento
sobre la informática. También cabe destacar el
esfuerzo y el empeño puesto por los compañeros
durante la realización del trabajo.
BIBLIOGRAFÍA
http://www.google.com
Agradecimiento
- Agradezco al profesor Santiago Portillo por
darme el apoyo durante la realización de este
trabajo. - A los compañeros por brindarme el apoyo que
uno necesita para realizar dicho trabajo.
Narciso Samaniego
Página anterior | Volver al principio del trabajo | Página siguiente |