El documento habla sobre el hardware y el software. Define el hardware como las partes físicas y tangibles de un sistema informático como cables, gabinetes, periféricos y otros componentes. Define el software como los componentes lógicos como aplicaciones, sistemas operativos y programas. Describe las diferentes clasificaciones del hardware y software.
2. HADWARE?
El
término hardware (pronunciación AFI:[ˈhɑːdˌwɛə] o [ˈhɑɹdˌwɛ
ɚ]) se refiere a todas las partes tangibles de un sistema
informático; sus componentes son: eléctricos, electrónicos,
electromecánicos y mecánicos.1
Son 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ñolalo define como «Conjunto de los componentes que
integran la parte material de una computadora».2
El término,
aunque sea lo más común, no solamente se aplica a las
computadoras; del mismo modo, también un robot,
un teléfono móvil, una cámara fotográfica o un reproductor
multimediaposeen hardware (y software).3 4
La historia
del hardware de computador se puede clasificar en cuatro
generaciones, cada una caracterizada por un
cambio tecnológico de importancia. Una primera delimitación
podría hacerse entre hardware básico, el estrictamente
necesario para el funcionamiento normal del equipo,
y complementario, el que realiza funciones específicas.
Un sistema informático se compone de una unidad central de
procesamiento (UCP/CPU), encargada de procesar los datos,
uno o varios periféricos de entrada, los que permiten el
ingreso de la información y uno o varios periféricos de salida,
los que posibilitan dar salida (normalmente en
forma visual o auditiva) a los datos procesados.
3. La clasificación evolutiva del hardware del computador
electrónico está dividida en generaciones, donde cada una
supone un cambio tecnológico muy notable. El origen de las
primeras es sencillo de establecer, ya que en ellas el hardware
fue sufriendo cambios radicales.5
Los componentes esenciales
que constituyen la electrónica del computador fueron
totalmente reemplazados en las primeras tres generaciones,
originando cambios que resultaron trascendentales. En las
últimas décadas es más difícil distinguir las nuevas
generaciones, ya que los cambios han sido graduales y existe
cierta continuidad en las tecnologías usadas. En principio, se
pueden distinguir:
1.ª Generación (1945-1956): electrónica implementada
con tubos de vacío. Fueron las primeras máquinas que
desplazaron los componentes electromecánicos (relés).
2.ª Generación (1957-1963): electrónica desarrollada
con transistores. La lógica discreta era muy parecida a la
anterior, pero la implementación resultó mucho más
pequeña, reduciendo, entre otros factores, el tamaño de
un computador en notable escala.
3.ª Generación (1964-hoy): electrónica basada en circuitos
integrados. Esta tecnología permitió integrar cientos de
transistores y otros componentes electrónicos en un único
circuito integrado impreso en una pastilla de silicio. Las
computadoras redujeron así considerablemente su costo,
consumo y tamaño, incrementándose su capacidad,
velocidad y fiabilidad, hasta producir máquinas como las
que existen en la actualidad.
4.ª Generación (futuro): probablemente se originará cuando
los circuitos de silicio, integrados a alta escala, sean
reemplazados por un nuevo tipo de material o tecnología.6
La aparición del microprocesador marca un hito de
relevancia, y para muchos autores constituye el inicio de la
4. cuarta generación.7
A diferencia de los cambios tecnológicos
anteriores, su invención no supuso la desaparición radical de
los computadores que no lo utilizaban. Así, aunque el
microprocesador 4004 fue lanzado al mercado en 1971,
todavía a comienzo de los 80's había computadores, como
el PDP-11/44,8
con lógica carente de microprocesador que
continuaban exitosamente en el mercado; es decir, en este
caso el desplazamiento ha sido muy gradual.
Otro hito tecnológico usado con frecuencia para definir el
inicio de la cuarta generación es la aparición de los circuitos
integrados VLSI (Very Large Scale Integration), a principios
de los ochenta. Al igual que el microprocesador, no supuso el
cambio inmediato y la rápida desaparición de los
computadores basados en circuitos integrados en más bajas
escalas de integración. Muchos equipos implementados con
tecnologías VLSI y MSI (Medium Scale Integration) aún
coexistían exitosamente hasta bien entrados los 90.
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.
Necesita 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
5. 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.9
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
ydispositivos hardware dedicados a alguna de las funciones
antedichas;10
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)
Desde un punto de vista básico y general, un dispositivo de
entrada es el que provee el medio para permitir el ingreso
de información, datos y programas (lectura); un dispositivo de
salida brinda el medio para registrar la información y datos de
salida (escritura); lamemoria otorga la capacidad de
almacenamiento, temporal o permanente (almacenamiento); y
la CPU provee la capacidad de cálculo y procesamiento de la
información ingresada (transformación).11
Un periférico mixto es aquél que puede cumplir funciones
tanto de entrada como de salida; el ejemplo más típico es
6. el disco rígido (ya que en él se lee y se graba información y
datos).
El hardware no es frecuentemente cambiado, en tanto el
software puede ser creado, borrado y modificado
sencillamente. (Excepto el firmware, que es un tipo de
software que raramente es alterado).
Hardware típico de una computadora
El típico hardware que compone una computadora
personal es el siguiente:
• Su chasis o gabinete
• La placa madre, que
contiene: CPU, cooler, RAM, BIOS, buses (PCI, USB, HyperT
ransport, CSI,AGP, etc)
• Fuente de alimentación
• Controladores de almacenamiento: IDE, SATA, SCSI
• Controlador de video
• Controladores del bus de la computadora (paralelo, serial,
USB, FireWire), para conectarla a periféricos
• Almacenamiento: disco duro, CD-ROM, disquetera, ZIP
driver y otros
• Tarjeta de sonido
• Redes: módem y tarjeta de red
El hardware también puede incluir componentes externos
como:
• Teclado
• Mouse, trackballs
• Joystick, gamepad, volante
7. • Escáner, webcam
• Micrófono, parlante
• Monitor (LCD, o CRT)
• ImpresoraDistintas clasificaciones del hardware
Clasificación por la funcionalidad del hardware
* Hardware básico: dispositivos necesarios para iniciar la
computadora. Los más básicos son la placa madre, la fuente
de alimentación, el microprocesador y la memoria. Se podrían
incluir componentes como monitor y teclado, aunque no son
estrictamente básicos.
* Hardware complementario: aquellos dispositivos que
complementan a la computadora, pero que no son
fundamentales para su funcionamiento, como ser, impresora,
unidades de almacenamiento, etc.
Clasificación por la ubicación del hardware
* Periféricos (componentes externos): dispositivos externos a
la computadora. Ver periférico
* Componentes internos: dispositivos que son internos al
gabinete de la computadora
* Puertos: conectan los periféricos con los componentes
internos
Clasificación por el flujo de información del hardware
* Periféricos de salida: monitor, impresora, etc.
* Periféricos de entrada: teclado, mouse, etc.
* Periféricos/dispositivos de almacenamiento: disco duro,
8. memorias, etc.
* Periféricos de comunicación: módem, puertos, etc.
* Dispositivos de procesamiento: CPU, microprocesador,
placa madre, etc.
El término hardware alude a todo dispositivo físico que
forma parte de una computadora, y permite su
funcionamiento.
Se pueden clasificar de la siguiente manera:
HARDWARE BÁSICO: esta clase de hardware está
conformada por aquellos dispositivos imprescindibles para el
funcionamiento mínimo de un equipo. El gabinete, las
memorias RAM y ROM constituyen son ejemplos.
HARDWARE COMPLEMENTARIO: Incluye todos los
elementos de los que existe la posibilidad de prescindir, y aun
así, la funcionalidad de la computadora no se verá afectada.
Ejemplos de hardware complementario son la Webcam o la
unidad lectora de disco óptico.
De acuerdo a su función:
HARDWARE DE ALMACENAMIENTO: como su nombre lo
indica estos dispositivos tiene la capacidad de almacenar
datos e información, ya sea de forma temporal o permanente.
Ejemplos de hardware de almacenamiento son: la memoria
RAM y la memoria ROM, memorias USB, DVD, CD, cintas de
video, entre otros.
HARDWARE DE PROCESAMIENTO: se refiere a aquellos
elementos cuyo propósito constituye la interpretación y
ejecución de instrucciones, y el procesamiento de datos.
Dentro de este ítem podemos encontrar a los
microprocesadores, y a la Unidad Central de Procesamiento
(CPU).
9. HARDWARE DE ENTRADA: este tipo de hardware es
utilizado con el objeto de introducir datos e información a la
CPU. Ejemplos de hardware de entrada son: teclado, escáner,
Mouse, micrófonos, webcams, etc.
HARDWARE DE SALIDA: incluye a todos los dispositivos
capaces de dirigir los datos generados por la computadora
hacia el exterior. Algunos ejemplos de esta clase de hardware
son las impresoras, el monitor, los auriculares, los proyectos,
los altavoces, entre otros.
HARDWARE DE ENTRADA/SALIDA: reciben esta
denominación debido a que combinan las funcionalidades de
los dispositivos de entrada y salida. Es decir, tienen la
capacidad tanto de introducir datos e información, como de
dirigirla hacia el exterior. A modo de ejemplo se pueden
mencionar las tarjetas de red, los routers, módems, tarjetas
de audio, etc.
10. SOFTWARE?
Se conoce como software al equipamiento lógico o soporte
lógico de un sistema informático, que comprende el conjunto
de los componentes lógicosnecesarios 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 elprocesador de
texto, que permite al usuario realizar todas las tareas
concernientes a la edición de textos; el llamado software de
sistema, tal como elsistema 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.
El anglicismo "software" es el más ampliamente difundido al
referirse a este concepto, especialmente en la jerga técnica;
en tanto que el término sinónimo «logicial», derivado del
término francés logiciel, es utilizado mayormente en países y
zonas de influencia francesa.
timología
Software (pronunciación AFI:[ˈsɒftwɛəʳ]) es una palabra
proveniente del inglés(literalmente: partes blandas o suaves),
que en español no posee una traducción adecuada al
contexto, por lo cual se la utiliza asiduamente sin traducir y
así fue admitida por la Real Academia
Española (RAE). Aunque puede no ser estrictamente lo
mismo, suele sustituirse por expresiones tales como programas
(informáticos) o aplicaciones (informáticas) o soportes lógicos.
11. Software es lo que se denomina producto en Ingeniería de
Software.
Definición de software
Existen varias definiciones similares aceptadas para software,
pero probablemente la más formal sea la siguiente:
Es el conjunto de los programas de cómputo, procedimientos,
reglas, documentación y datos asociados, que forman parte
de las operaciones de un sistema de computación.
Extraído del estándar 729 del IEEE
Considerando esta definición, el concepto de software va
más allá de los programas de computación en sus distintos
estados: código fuente, binario o ejecutable; también su
documentación, los datos a procesar e incluso la información
de usuario forman parte del software: es decir, abarca todo
lo intangible, todo lo «no físico» relacionado.
El término «software» fue usado por primera vez en este
sentido por John W. Tukey en1957. En la ingeniería de
software y las ciencias de la computación, el software es toda
lainformación procesada por los sistemas informáticos:
programas y datos.
El concepto de leer diferentes secuencias de instrucciones
(programa) desde la memoriade un dispositivo para controlar
los cálculos fue introducido por Charles Babbage como parte
de su máquina diferencial. La teoría que forma la base de la
mayor parte del software moderno fue propuesta por Alan
Turing en su ensayo de 1936, «Los números computables», con
una aplicación al problema de decisión.
Clasificación del software
12. 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
Controladores de dispositivos
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Software de programación: Es el conjunto de herramientas
que permiten alprogramador desarrollar programas
informáticos, usando diferentes alternativas ylenguajes de
programación, de una manera práctica. Incluyen
básicamente:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Entornos de Desarrollo Integrados (IDE): Agrupan las
anteriores herramientas, usualmente en un entorno
visual, de forma tal que el programador no necesite
introducir múltiples comandos para compilar,
13. interpretar, depurar, etc. Habitualmente cuentan con
una avanzada interfaz gráfica de usuario (GUI).
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 para Control de
sistemas y automatización industrial
Aplicaciones ofimáticas
Software educativo
Software empresarial
Bases de datos
Telecomunicaciones (por ejemplo Internet y toda su
estructura lógica)
Videojuegos
Software médico
Software de cálculo numérico y simbólico.
Software de diseño asistido (CAD)
Software de control numérico (CAM)
Proceso de creación del software
Artículo principal: Proceso para el desarrollo de software
Se define como proceso al conjunto ordenado de pasos a
seguir para llegar a la solución de un problema u obtención de
un producto, en este caso particular, para lograr un producto
software que resuelva un problema específico.
El proceso de creación de software puede llegar a ser muy
complejo, dependiendo de su porte, características y
criticidad del mismo. Por ejemplo la creación de un sistema
operativo es una tarea que requiere proyecto, gestión,
numerosos recursos y todo un equipo disciplinado de trabajo.
En el otro extremo, si se trata de un sencillo programa (por
ejemplo, la resolución de una ecuación de segundo orden),
14. éste puede ser realizado por un solo programador (incluso
aficionado) fácilmente. Es así que normalmente se dividen en
tres categorías según su tamaño (líneas de código) o costo:
de «pequeño», «mediano» y«gran porte». Existen varias
metodologías para estimarlo, una de las más populares es el
sistema COCOMO que provee métodos y un software
(programa) que calcula y provee una aproximación de todos
los costos de producción en un «proyecto software» (relación
horas/hombre, costo monetario, cantidad de líneas fuente de
acuerdo a lenguaje usado, etc.).
Considerando los de gran porte, es necesario realizar
complejas tareas, tanto técnicas como de gerencia, una
fuerte gestión y análisis diversos (entre otras cosas), la
complejidad de ello ha llevado a que desarrolle una ingeniería
específica para tratar su estudio y realización: es conocida
como Ingeniería de Software.
En tanto que en los de mediano porte, pequeños equipos de
trabajo (incluso un avezadoanalista-programador solitario)
pueden realizar la tarea. Aunque, siempre en casos de
mediano y gran porte (y a veces también en algunos de
pequeño porte, según su complejidad), se deben seguir ciertas
etapas que son necesarias para la construcción del software.
Tales etapas, si bien deben existir, son flexibles en su forma
de aplicación, de acuerdo a la metodología o proceso de
desarrollo escogido y utilizado por el equipo de desarrollo o
por el analista-programador solitario (si fuere el caso).
Los «procesos de desarrollo de software» poseen reglas
preestablecidas, y deben ser aplicados en la creación del
software de mediano y gran porte, ya que en caso contrario lo
más seguro es que el proyecto no logre concluir o termine sin
cumplir los objetivos previstos, y con variedad de fallos
inaceptables (fracasan, en pocas palabras). Entre tales
15. «procesos» los hay ágiles o livianos (ejemplo XP), pesados y
lentos (ejemplo RUP), y variantes intermedias. Normalmente se
aplican de acuerdo al tipo y porte del software a desarrollar,
a criterio del líder (si lo hay) del equipo de desarrollo. Algunos
de esos procesos son Programación Extrema (en
inglés eXtreme Programming o XP), Proceso Unificado de
Rational (en inglés Rational Unified Process o RUP), Feature
Driven Development (FDD), etc.
Cualquiera sea el «proceso» utilizado y aplicado al desarrollo
del software (RUP, FDD, XP, etc), y casi independientemente
de él, siempre se debe aplicar un «modelo de ciclo de vida».
Se estima que, del total de proyectos software grandes
emprendidos, un 28% fracasan, un 46% caen en severas
modificaciones que lo retrasan y un 26% son totalmente
exitosos.
Cuando un proyecto fracasa, rara vez es debido a fallas
técnicas, la principal causa de fallos y fracasos es la falta de
aplicación de una buena metodología o proceso de desarrollo.
Entre otras, una fuerte tendencia, desde hace pocas
décadas, es mejorar las metodologías o procesos de
desarrollo, o crear nuevas y concientizar a los profesionales
de la informática a su utilización adecuada. Normalmente los
especialistas en el estudio y desarrollo de estas áreas
(metodologías) y afines (tales como modelos y hasta la gestión
misma de los proyectos) son los ingenieros en software, es su
orientación. Los especialistas en cualquier otra área de
desarrollo informático (analista, programador, Lic. en
informática, ingeniero en informática, ingeniero de sistemas,
etc.) normalmente aplican sus conocimientos especializados
pero utilizando modelos, paradigmas y procesos ya elaborados.
Es común para el desarrollo de software de mediano porte
que los equipos humanos involucrados apliquen
16. «metodologías propias», normalmente un híbrido de los
procesos anteriores y a veces con criterios propios.
El proceso de desarrollo puede involucrar numerosas y
variadas tareas, desde lo administrativo, pasando por lo
técnico y hasta la gestión y el gerenciamiento. Pero, casi
rigurosamente, siempre se cumplen ciertas etapas mínimas; las
que se pueden resumir como sigue:
Captura, elicitación , especificación y análisis
de requisitos (ERS)
Diseño
Codificación
Pruebas (unitarias y de integración)
Instalación y paso a producción
Mantenimiento
En las anteriores etapas pueden variar ligeramente sus
nombres, o ser más globales, o contrariamente, ser más
refinadas; por ejemplo indicar como una única fase (a los fines
documentales e interpretativos) de «análisis y diseño»; o
indicar como «implementación» lo que está dicho como
«codificación»; pero en rigor, todas existen e incluyen,
básicamente, las mismas tareas específicas.
En el apartado 4 del presente artículo se brindan mayores
detalles de cada una de las etapas indicadas.
Modelos de proceso o ciclo de vida
Para cada una de las fases o etapas listadas en el ítem
anterior, existen sub-etapas (o tareas). El modelo de proceso o
modelo de ciclo de vida utilizado para el desarrollo, define el
orden de las tareas o actividades involucradas, también
define la coordinación entre ellas, y su enlace y
realimentación. Entre los más conocidos se puede
mencionar: modelo en cascada o secuencial, modelo
17. espiral, modelo iterativo incremental. De los antedichos hay a
su vez algunas variantes o alternativas, más o menos
atractivas según sea la aplicación requerida y sus requisitos.
Modelo cascada
Este, aunque es más comúnmente conocido como modelo en
cascada es también llamado «modelo clásico», «modelo
tradicional» o «modelo lineal secuencial».
El modelo en cascada puro difícilmente se utiliza tal cual,
pues esto implicaría un previo yabsoluto conocimiento de los
requisitos, la no volatilidad de los mismos (o rigidez) y etapas
subsiguientes libres de errores; ello sólo podría ser aplicable a
escasos y pequeños sistemas a desarrollar. En estas
circunstancias, el paso de una etapa a otra de las
mencionadas sería sin retorno, por ejemplo pasar del diseño a
la codificación implicaría un diseño exacto y sin errores ni
probable modificación o evolución: «codifique lo diseñado sin
errores, no habrá en absoluto variantes futuras». Esto es
utópico; ya que intrínsecamenteel software es de carácter
evolutivo, cambiante y difícilmente libre de errores, tanto
durante su desarrollo como durante su vida operativa.
En computación, el software -en sentido estricto- es
todo programa o aplicación programado para realizar tareas
específicas. El término "software" fue usado por primera vez
por John W. Tukey en 1957.
Algunos autores prefieren ampliar la definición de software e
incluir también en la definición todo lo que es producido en el
desarrollo del mismo.
La palabra "software" es un contraste de "hardware"; el
software se ejecuta dentro del hardware.
El software en sentido amplio
18. Una definición más amplia de software incluye mucho más
que sólo los programas. Esta definición incluye:
- La representación del software: programas, detalles del
diseño escritos en un lenguaje de descripción de programas,
diseño de la arquitectura, especificaciones escritas en
lenguaje formal, requerimientos del sistema, etc.
- El conocimiento de la ingeniería del software: Es toda la
información relacionada al desarrollo de software (por
ejemplo, cómo utilizar un método de diseño específico) o la
información relacionada al desarrollo de un software
específico (por ejemplo, el esquema de pruebas en un
proyecto). Aquí se incluye información relacionada al
proyecto, información sobre la tecnología de software,
conocimiento acerca de sistemas similares y la información
detallada relacionada a la identificación y solución de
problemas técnicos.
- La información de la aplicación.
El "software" como programa
El software, como programa, consiste en un código en
un lenguaje máquina específico para unprocesador individual.
El código es una secuencia de instrucciones ordenadas que
cambian el estado del hardware de una computadora.
El software se suele escribir en un lenguaje de
programación de alto nivel, que es más sencillo de escribir
(pues es más cercano al lenguaje natural humano), pero debe
convertirse a lenguaje máquina para ser ejecutado.
El software puede distinguirse en tres categorías: software
de sistema, software de programación y aplicación de
19. software. De todas maneras esta distinción es arbitraria y
muchas veces un software puede caer un varias categorías.
- Software de sistema: ayuda a funcionar al hardware y a la
computadora. Incluye el sistema
operativo,controladores de dispositivos, herramientas de
diagnóstico, servidores, sistema de ventanas, utilidades y más.
Su propósito es evitar lo más posible los detalles complejos de
la computación, especialmente la memoria y el hardware.
- Software de programación: provee herramientas de
asistencia al programador. Incluye editores de
texto, compiladores, intérprete de
instrucciones, enlazadores, debuggers, etc.
- Software de aplicación: permite a los usuarios finales hacer
determinadas tareas. Algunos software de aplicación son
los navegadores, editores de texto, editores
gráficos, antivirus, mensajeros, etc. El término software
(partes suaves o blandas en castellano) hace alusión a la
sumatoria de aquellas reglas, programas, datos,
documentación e instrucciones que permiten la ejecución de
múltiples tareas en un ordenador. Es su parte lógica e
intangible y actúa como nexo entre el usuario y el hardware
(partes duras), es decir, la parte tangible de la computadora.
A grandes rasgos, se puede decir que existen tres tipos de
software:
Software de Aplicación: aquí se incluyen todos aquellos
programas que permiten al usuario realizar una o varias tareas
específicas. Aquí se encuentran aquellos programas que los
individuos usan de manera cotidiana como: procesadores de
texto, hojas de cálculo, editores, telecomunicaciones,
software de cálculo numérico y simbólico, videojuegos, entre
otros.
20. Software de Programación: son aquellas herramientas que un
programador utiliza para poder desarrollar programas
informáticos. Para esto, el programador se vale de distintos
lenguajes de programación. Como ejemplo se pueden tomar
compiladores, programas de diseño asistido por computador,
paquetes integrados, editores de texto, enlazadores,
depuradores, intérpretes, entre otros.
Software de Sistema: es aquel que permite a los usuarios
interactuar con el sistema operativo así como también
controlarlo. Este sistema está compuesto por una serie de
programas que tienen como objetivo administrar los recursos
del hardware y, al mismo tiempo, le otorgan al usuario una
interfaz. El sistema operativo permite facilitar la utilización
del ordenador a sus usuarios ya que es el que le da la
posibilidad de asignar y administrar los recursos del sistema,
como ejemplo de esta clase de software se puede mencionar a
Windows, Linux y Mac OS X, entre otros. Además de los
sistemas operativos, dentro del software de sistema se ubican
las herramientas de diagnóstico, los servidores, las utilidades,
los controladores de dispositivos y las herramientas de
corrección y optimización, etcétera.
¿Que tipos de software hay y como se clasifican?
Podemos encontrar distintos tipos de software, hay desde
una clasificación básica hasta una avanzada, por el momento
veremos la básica para no entrar demasiado en el tema e ir a lo
que queremos.
Software de sistema: Es el software que nos permite tener
una interacción con nuestro hardware, es decir, es el sistema
operativo. Dicho sistema es un conjunto de programas que
administran los recursos del hardware y proporciona una
interfaz al usuario. Es el software esencial para una
computadora, sin el no podría funcionar, como ejemplo
tenemos a Windows, Linux, Mac OS X.
21. Se clasifica en:
Sistemas operativos
Controladores de dispositivo
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Software de Programación: Es un conjunto de aplicaciones
que permiten a un programador desarrollar sus propios
programas informáticos haciendo uso de sus conocimientos
lógicos y lenguajes de programación.
Algunos ejemplos:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Entornos de Desarrollo Integrados (IDE)
Software de Aplicación: Son los programas que nos permiten
realizar tareas especificas en nuestro sistema. A diferencia
del software de sistema, el software de aplicación esta
enfocada en un área especifica para su utilización. La
mayoría de los programas que utilizamos diariamente
pertenecen a este tipo de software, ya que nos permiten
realizar diversos tipos de tareas en nuestro sistema.
Ejemplos:
Procesadores de texto. (Bloc de Notas)
Editores. (Photoshop para el Diseño Gráfico)
Hojas de Cálculo. (MS Excel)
Sistemas gestores de bases de datos. (MySQL)
22. Programas de comunicaciones. (MSN Messenger)
Paquetes integrados. (Ofimática: Word, Excel, PowerPoint…)
Programas de diseño asistido por computador. (AutoCAD)
Los clasificamos en:
Aplicaciones de Sistema de control
y automatización industrial
Aplicaciones ofimáticas
Software educativo
Software médico
Software de Cálculo Numérico
Software de Diseño Asistido (CAD)
Software de Control Numérico (CAM)
Hardware
Los componentes y dispositivos del Hardware se dividen
en Hardware Básico y Hardware Complementario
El Hardware Básico: son las piezas fundamentales e
imprescindibles para que la computadora funcione como son:
Placa base, monitor, teclado y ratón.
El Hardware Complementario: son todos aquellos dispositivos
adicionales no esenciales como pueden ser: impresora,
escáner, cámara de vídeo digital, webcam, etc.
Placa Base o Placa Madre
Los componentes Hardware más importantes de la
computadora y esenciales para su funcionamiento se
encuentran en la Placa Base (también conocida como Placa
Madre), que es una placa de circuito impreso que aloja a la
Unidad Central de Procesamiento (CPU) o microprocesador,
Chipset (circuito integrado auxiliar), Memoria RAM, BIOS o
Flash-ROM, etc., además de comunicarlos entre sí.
23. Grupos de Hardware
Según sus funciones, los componentes y dispositivos
del hardware se dividen en varios grupos y en el siguiente
orden:
Dispositivos de Entrada
Chipset (Circuito Integrado Auxiliar)
Unidad Central de Procesamiento (CPU)
Unidad de Control
Unidad Aritmético-Lógica
Unidad de Almacenamiento
Memoria Principal o Primaria (RAM – ROM)
Memoria Secundaria o Auxiliar (Disco Duro, Flexible, etc.)
Dispositivos de Salida
Dispositivos de Entrada
Los Dispositivos de Entrada son aquellos a través de los
cuales se envían datos externos a la unidad central de
procesamiento, como el teclado, ratón, escáner, o micrófono,
entre otros.
Chipset (Circuito Integrado Auxiliar)
El Chipset o Circuito Integrado Auxiliar es la médula espinal
de la computadora, integrado en la placa base, hace posible
que esta funcione como eje del sistema permitiendo el tráfico
de información entre el microprocesador (CPU) y el resto de
componentes de la placa base, interconectándolos a través de
diversos buses que son: el Northbridge (Puente Norte) y el
Southbridge (Puente Sur).
El Northbridge o Puente Norte es un circuito integrado que
hace de puente de enlace entre el microprocesador y la
memoria además de las tarjetas gráficas o de vídeo AGP o
PCI-Express, así como las comunicaciones con el Puente Sur.
El Southbridge o Puente Sur (también conocido como
Concentrador de Controladores de Entrada/Salida), es un
circuito integrado que coordina dentro de la placa base los
dispositivos de entrada y salida además de algunas otras
24. funcionalidades de baja velocidad. El Puente Sur se comunica
con la CPU a través del Puente Norte.
Unidad Central de Procesamiento (CPU)
La CPU (Central Processing Unit o Unidad Central de
Procesamiento) puede estar compuesta por uno o varios
microprocesadores de circuitos integrados que se encargan
de interpretar y ejecutar instrucciones, y de administrar,
coordinar y procesar datos, es en definitiva el cerebro del
sistema de la computadora. además, la velocidad de la
computadora depende de la velocidad de la CPU o
microprocesador que se mide en Mhz (unidad de medida de la
velocidad de procesamiento). Se divide en varios registros:
Unidad de Control
La Unidad de Control es la encargada de controlar que las
instrucciones se ejecuten, buscándolas en la memoria
principal, decodificándolas (interpretándolas) y que después
serán ejecutadas en la unidad de proceso.
Unidad Aritmético-Lógica
La Unidad Aritmético-Lógica es la unidad de proceso donde
se lleva a cabo la ejecución de las instrucciones con
operaciones aritméticas y lógicas.
Unidad de Almacenamiento
La Unidad de Almacenamiento o Memoria guarda todos los
datos que son procesados en la computadora y se divide
en Memoria Principal y Memoria Secundaria o Auxiliar.
Memoria Principal o Primaria (RAM – ROM)
En la Memoria Principal o Primaria de la computadora se
encuentran las memorias RAM, ROM y CACHÉ.
La Memoria RAM (Random Access Memory o Memoria de
Acceso Aleatorio) es un circuito integrado o chip que
almacena los programas, datos y resultados ejecutados por la
computadora y de forma temporal, pues su contenido se
pierde cuando esta se apaga. Se llama de acceso aleatorio - o
de acceso directo - porque se puede acceder a cualquier
25. posición de memoria sin necesidad de seguir un orden.
La Memoria RAM puede ser leída y escrita por lo que su
contenido puede ser modificado.
La Memoria ROM (Read Only Memory o Memoria de sólo
lectura) viene grabada en chips con una serie de programas
por el fabricante de hardware y es sólo de lectura, por lo que
no puede ser modificada - al menos no muy rápida o
fácilmente - y tampoco se altera por cortes de corriente. En
esta memoria se almacenan los valores correspondientes a las
rutinas de arranque o inicio del sistema y a su configuración.
La Memoria Caché o RAM Caché es una memoria auxiliar de
alta velocidad, que no es más que una copia de acceso rápido
de la memoria principal almacenada en los módulos deRAM.
Memoria Secundaria (Disco Duro, Disco Flexibles, etc.)
La Memoria Secundaria (también llamada Periférico de
Almacenamiento) está compuesta por todos aquellos
dispositivos capaces de almacenar datos en dispositivos que
pueden ser internos como el disco duro, o extraíble como los
discos flexibles (disquetes), CDs, DVDs, etc.
Dispositivos de Salida
Los Dispositivos de Salida son aquellos que reciben los datos
procesados por la computadora y permiten exteriorizarlos a
través de periféricos como el monitor, impresora, escáner,
plotter, altavoces,etc.
Dispositivos de Entrada/Salida (Periféricos mixtos): Hay
dispositivos que son tanto de entrada como de salida como
los mencionados periféricos de almacenamiento, CDs, DVDs,
así como módems, faxes, USBs, o tarjetas de red.
Software
El Software es el soporte lógico e inmaterial que permite que
la computadora pueda desempeñar tareas inteligentes,
dirigiendo a los componentes físicos o hardware con
instrucciones y datos a través de diferentes tipos de
programas.
26. El Software son los programas de aplicación y los sistemas
operativos, que según las funciones que realizan pueden ser
clasificados en:
Software de Sistema
Software de Aplicación
Software de Programación
Software de Sistema
Se llama Software de Sistema o Software de Base al conjunto
de programas que sirven para interactuar con el sistema,
confiriendo control sobre el hardware, además de dar soporte
a otros programas.
El Software de Sistema se divide en:
Sistema Operativo
Controladores de Dispositivos
Programas Utilitarios
Sistema operativo
El Sistema Operativo es un conjunto de programas que
administran los recursos de la computadora y controlan su
funcionamiento.
Un Sistema Operativo realiza cinco funciones básicas:
Suministro de Interfaz al Usuario, Administración de
Recursos, Administración de Archivos, Administración de
Tareas y Servicio de Soporte.
1. Suministro de interfaz al usuario: Permite al usuario
comunicarse con la computadora por medio de interfaces que
se basan en comandos, interfaces que utilizan menús, e
interfaces gráficas de usuario.
2. Administración de recursos: Administran los recursos del
hardware como la CPU, memoria, dispositivos de
almacenamiento secundario y periféricos de entrada y de
salida.
3. Administración de archivos: Controla la creación, borrado,
copiado y acceso de archivos de datos y de programas.
4. Administración de tareas: Administra la información sobre los
programas y procesos que se están ejecutando en la
27. computadora. Puede cambiar la prioridad entre procesos,
concluirlos y comprobar el uso de estos en la CPU, así como
terminar programas.
5. Servicio de soporte: Los Servicios de Soporte de cada sistema
operativo dependen de las implementaciones añadidas a este,
y pueden consistir en inclusión de utilidades nuevas,
actualización de versiones, mejoras de seguridad,
controladores de nuevos periféricos, o corrección de errores
de software.
Controladores de Dispositivos
Los Controladores de Dispositivos son programas que
permiten a otros programa de mayor nivel como un sistema
operativo interactuar con un dispositivo de hardware.
Programas Utilitarios
Los Programas Utilitarios realizan diversas funciones para
resolver problemas específicos, además de realizar tareas en
general y de mantenimiento. Algunos se incluyen en el sistema
operativo.
Software de Aplicación
El Software de Aplicación son los programas diseñados para o
por los usuarios para facilitar la realización de tareas
específicas en la computadora, como pueden ser las
aplicaciones ofimáticas (procesador de texto, hoja de cálculo,
programa de presentación, sistema de gestión de base de
datos...), u otros tipos de software especializados como
software médico, software educativo, editores de música,
programas de contabilidad, etc.
Software de Programación
El Software de Programación es el conjunto de herramientas
que permiten al desarrollador informático escribir programas
usando diferentes alternativas y lenguajes de programación.
Este tipo de software incluye principalmente compiladores,
intérpretes, ensambladores, enlazadores, depuradores,
editores de texto y un entorno de desarrollo integrado que