1.2. Componentes del computador y funcionalidades
§ Software:
Según O´James “ el software es el conjunto
de los programas de cómputo en el que
aplica procedimientos, reglas y datos asociados
a operaciones de un sistema”. Es
el soporte lógico de un sistema informático que hacen posible la
realización de tareas específicas. Por
ejemplo Microsoft Office−Excell−Point[….].
En otras palabras, se denota como el
conjunto de instrucciones detalladas que controlan las operaciones de un sistema computacional; por lo que sus funciones son:
ü Administrar
los recursos computacionales.
ü Proporcionar
las herramientas para optimizar estos
recursos.
ü Actúa
como intermediario entre el usuario y la
información que almacena.
§ Programa de software:
Un
programa es un conjunto de
argumentos e instrucciones para la
computadora, almacenado en la memoria
primaria del ordenador para que sea
ejecutado (instrucciones efectuadas computacionalmente).
§ Tipos de software de acuerdo a la
necesidad del usuario:
ü De sistema: es el conjunto de programas que puede administrar los recursos de la computadora, por ejemplo,
se tiene que la Unidad Central de Proceso, los dispositivos de comunicaciones y
periféricos, el software de sistema
administra y controla el acceso
de Hardware. El software de sistema le procura al usuario y programador
las interfaces adecuadas de alto
nivel, controladores , herramientas y
utilidades de apoyo que permiten el mantenimiento del sistema global como (Outlook/ android).
ü De
aplicaciones: presentan los programas que son escritos y dirigidos para los usuarios destinado para la realización de tareas específicas
en la computadora, por ejemplo, en el procesador de texto o generar una
hoja de cálculo. Es decir, 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 tales como ( Office; Google; Chrome; entre otros).
ü De
usuario final: es el que permite el desarrollo de algunas aplicaciones directamente
por los usuarios finales, este software
tiene que trabajar frecuentemente por medio de la aplicación, del software del sistema.
ü De
Programación: es el conjunto de herramientas que permiten
al programador desarrollar programas
de informática, usando
diferentes alternativas y
lenguajes de programación tales como
Pascal, Java y su amplia gama de
tecnologías. El software de programas
posee las siguientes jerarquías: 1) sentencias de instrucciones, 2)
software del sistema ( de aplicación ) ,
Compiladores e intérpretes.
§ La clasificación del Software de acuerdo al método de distribución:
Es
el Software desarrollado por compañías y
vendidos por distribuidores regularmente bajo el sistema de licenciamiento (1 autorización por uno o más equipos utilizando el software) tales como Microsoft, Adobe y los procesadores de antivirus.
ü Shareware:
la modalidad de distribución de
software es tanto de videogame ( videojuegos)
como programas utilitarios en la que el
usuario puede evaluar de forma gratuita el producto con limitaciones en el tiempo
de uso; pero con algunas restricciones
de uso en capacidades.
ü Freeware: es definido como un tipo de software sin costo
en un período de tiempo ilimitado y está
disponible su uso, siendo una variante gratuita
del Shareware, su objeto es “ lograr
que el usuario pruebe el
producto durante el tiempo Trial “que
si le satisface procede a comprarlo para habilitar su funcionalidad, a veces,
incluye un código de fuente en donde incluye
a su vez una licencia de uso que le permite su redistribución pero con algunas restricciones en sus modificaciones para que
no sea vendida y dar cuenta a los
derechos de autor.
ü Libre:
es la que proporciona la libertad de
ejecutar programas para cualquier uso o propósito, estudiar su funcionamiento y adaptarlo de acuerdo a nuestras necesidades.
ü Comercial: es aquel desarrollado por una
empresa como parte de su actividad comercial, la mayoría del software comercial
es privativo, pero también existe el
software libre que es comercial y
software privativo que no es comercial.
ü Privativo:
también conocido como software
personalizado , este ha sido desarrollado para un usuario de un empresa
u organización. El usuario lo
mantiene y utiliza, mas no lo publica,
ni como código de fuente ni como
binario.
ü Copyleft:
es un software libre en cuyos
términos de distribución garantizan
que todas las copias de todas
las versiones tengan aproximadamente los mismos términos de distribución.
ü De
dominio Público: es aquel que no tiene
derechos de autor. Si el código
de fuente es de dominio público
se trata de un caso especial de software
libre sin Copyleft ; esto significa que algunas copias o versiones
modificadas pueden no ser libres en absoluto.
ü De
fuente abierta: o software de código
abierto es aquel cuyo código fuente
y otros derechos que
normalmente son exclusivos para quienes poseen los derechos de autor, son publicados
bajo una licencia de código
abierto o forman parte
del dominio pública.
§ La
clasificación del Software de acuerdo con
el uso del computador y necesidades del usuario:
El software de aplicaciones puede llegar al usuario
final de varias formas, las
clasificaciones de los métodos de distribución de software.
ü Al por menor: denotado también como retail, es
un software como un método de
distribución en el que el usuario final puede adquirir una aplicación comprobándolo en una tienda de computadoras. Tiene una presentación que contiene un CD conjuntamente con una serie de instrucciones y manual de uso; por ejemplo, el Microsoft
Office.
ü OEM:
el software comercial se distribuye de forma masiva a los fabricantes de computadoras, los
cuales instalan la aplicación en el equipo
para poder venderlo, por ejemplo,
el Sistema Operativo que requiere para
ser instalado en el ordenador para que
funcione.
En el caso del Shareware , los ususarios
pueden comprar y descargar una aplicación Shareware desde internet. Por ejemplo, en las versiones
completas de Real Player, MP3, Player y
algunos juegos.
ü Demoware:
es una demostración en versión gratuita que no lleva incluida todos los componentes clave del Software.
ü Software
Base o del Sistema: se refiere al
conjunto de programas que sirven para interactuar con el sistema, confiriendo de tal
manera el control sobre el hardware.
§ Clasificación del Software base
según su interfaz y cantidad de
usuarios:
Sistemas
Operativos según su interfaz:
ü Interfaz de Línea de Comandos:
La forma de interfaz entre el sistema operativo y el usuario en la que este
escribe los comandos utilizando un lenguaje de comandos especial. Los sistemas
con interfaces de líneas de comandos se consideran más difíciles de aprender y
utilizar que los de las interfaces gráficas. Sin embargo, los sistemas basados
en comandos son por lo general programables, lo que les otorga una flexibilidad
que no tienen los sistemas basados en gráficos carentes de una interfaz de
programación. Es decir, es un método que
permite a los usuarios dar instrucciones a algún programa informático
por medio de una línea de texto
simple ( lenguaje máquina).
ü Interfaz Gráfica del Usuario:
Es el tipo de visualización que permite al usuario elegir comandos, iniciar
programas y ver listas de archivos y otras opciones utilizando las
representaciones visuales (iconos) y las listas de elementos del menú. Las
selecciones pueden activarse bien a través del teclado o con el mouse.
Sistemas
Operativos según la cantidad de usuarios:
ü Mono usuario:
( Un sólo usuario) .Son sistemas muy simples que solo aceptan la conexión de un
usuario al mismo tiempo, dichos sistemas se pueden basar en técnicas de mono
programación pudiendo ser sistemas que facilitan al usuario la ejecución de
varios programas simultáneamente.
ü Multiusuario:
(Tiempo compartido diferentes usuarios, atendiendo el número
de usuarios y monocarga de una
sola tarea).Se basan siempre en la multiprogramación, permiten varios usuarios
a la vez conectados, normalmente el tiempo es compartido, aunque también se
puede dar en un momento dado el tiempo real si las circunstancias lo
necesitaran. Este tipo de sistemas se emplean especialmente en redes y
telecomunicaciones. Cabe destacar que en
Redes (Web) están contemplados los sistemas distribuidos y temas centralizados
de las redes ya sea de “ Área local , Network, […]” de lo cual los sistemas
que enlazan las computadoras por
la vía Internet o redes privadas para compartir tareas de proceso en el que comparten recursos , que dicho de otro modo, es la
compartición de recursos ( Cliente/ Servidor).
“En las aplicaciones de las redes
de las comunicaciones se presentan informaciones distribuidas; así como un
Módem, que es un dispositivo
periférico modulador y
demodulador que transforma de tal manera
las señales digitales del ordenador en señales eléctricas de modo analógico y viceversa. Para ello se
mencionan los siguientes puertos: RDSI; IDSN; ADSL; PCCARD; COM; USB”.
ü Multitareas y monotarea ( De acuerdo a las múltiples tareas según los procesos simultáneos).
ü Monoproceso y multiproceso. ( la
multiprogramación se refiere metódicamente
a la ejecución de dos o más programas utilizando la misma computadora). Diferente al Time
Sharing que es el tiempo compartido para
los multiprocesos.
§ Compiladores e intérpretes
Traductores:
Los traductores del lenguaje tienden a ejercer la traducción del programa
del tipo fuente escrito en un lenguaje
de alto nivel a un lenguaje máquina
comprensible por la computadora,
que, realizándose por medio de los traductores de lenguajes que son unos
programas que traducen los
programas fuente previamente escritos a un lenguaje de alto
nivel y que lo convierta a código
máquina. Y los traductores se dividen en
Compiladores e intérpretes.
Compiladores:
Un programa informático que traduce
un programa escrito en un
lenguaje de programación a otro lenguaje
de programación, generando en programas equivalentes a que la máquina será capaz de interpretar. El
proceso de traducción se conoce como compilación. Es decir , es un programa que permite traducir el código de fuente de un programa en un lenguaje de alto nivel; de esta manera,
se diseña un programa en un
lenguaje más cercano al pensar del ser humano, para compilarlo
a un programa más manejable por una computadora .
Otro modo de explicarlo, es que los compiladores
traducen los programas fuentes
escritos en un lenguaje de alto
nivel al lenguaje máquina y ese proceso
de traducción de traducción del programa
completo es bajo la operación del compilador que traduce
en bloque completo todo el programa bajo
los siguientes especificaciones: 1) Programa fuente, 2) Compilador, 3) Programa objeto; el programa compilado es depurado que es la fase en donde se eliminan los
errores del código de fuente y se le puede llamar entonces como el programa ejecutable.
De
tal modo, se puede dar la ejecución de
manera directa y las veces que sean
necesarias si se desea ; ocurre que puede volverse a compilar en las instancias de que se modifiquen las
instrucciones de dicho programa y es por ello que recurre a ser compilador para
que ejecute óptimamente. Entre los traductores más empleados son: C, C++, Java, C#, FORTRAN, COBOL, […].
ü Partes de un compilador: Análisis/
Síntesis−Lenguaje objeto/ Front−end “ prueba de validez”
ü Tipos de compiladores: Cruzados;
optimizadores; los llamados Just in time.
§ Fases de una compilación:
El proceso de traducción de los programas
fuente a programas objetos, esto se conoce como compilación . El programa
objeto diseñado del modo POO, adquiere
de la compilación la traducción al código máquina. Para obtener esto, se necesita una especie de linker para el proceso de montaje conductora del
programa en lenguaje máquina que sea directamente ejecutado. El proceso de ejecución del programa escrito en un lenguaje de programación, a través de un
compilador, se derivan los pasos
siguientes:
1) Para la escritura del programa fuente
con un editor en donde permite la
simulación de redacción como de una máquina electrónica para
escribir, de ello, se prepara un disco
para su almacenaje externo.
2)
Se introduce el programa fuente
en la memoria, se compila el programa después de seleccionar el
compilador.
3) Se introduce a una fase de
detección, permitiendo de tal manera chequear, revisar o de verificar si se encuentran errores de compilación mostrándose un listado de esos errores) se
depura.
4)
Se obtiene el programa objeto, con el enlazador Linker se procede a la obtención de dicho programa de forma
ejecutable si no existen errores.
Intérpretes:
Es
un software que recibe un programa en lenguaje
de alto nivel, lo analiza y lo ejecuta , para el proceso de análisis del
programa completo, va traduciendo sentencias de código y ejecutándolos hasta completar el programa de origen, los intérpretes sólo realizan la traducción
a medida del Bytecode; por
ejemplo: C/ Python / Basic; siendo necesaria instrucción por instrucción.
El
sistema de traducción consiste en
traducir sentencias del programa
a lenguaje máquina del modo a bloque de cada sentencia procede a la ejecución
de la misma, y así continúa la
traducción hasta detenerse y culminar
todo el programa. El proceso se especifica de la siguiente manera: 1) Programa
fuente; 2) Intérprete; 3) Traducción y
ejecución línea a línea.
§ Hardware:
Representa
el medio físico o externo del ordenador, e inclusive, por medio del hardware se
accede al software que es el medio interno de las computadoras.
Hardware típico de una computadora personal:
1. Monitor.2. Placa principal.
3. Microprocesador (CPU) y zócalo.
4. Un módulo de RAM y tres ranuras.
5. Dos tarjetas de expansión y tres ranuras.
6. Fuente de alimentación.
7. Unidad de disco óptico (CD; DVD; BD).
8. Unidad de disco duro o unidad de estado sólido.
9. Teclado.
10. Ratón.
§ Lenguaje de programación:
Para que el procesador realice el proceso, se le debe de suministrar
el algoritmo adecuado. De este modo, el procesador es capaz de interpretar el algoritmo correspondiente a las
instrucciones de cada paso, y realice
dichas operaciones. Un programa
se escribe en un lenguaje de
programación y las operaciones conducen
a expresar ese algoritmo en
programación.
Para los lenguajes de programación de los programadores se encuentran: C++, C,
C#, Java, Visual Basic, XML, HTML, Perl, PHP, Java Script, COBOL, FORTRAN,
Pascal[…]. Los programadores son
los escritores y diseñadores de los
programas.
Los lenguajes de programación se emplean
para escribir programas en instrucciones
de forma secuencial; es decir, se codifican como secuencias de dígitos numéricos de dicho sistema de codificación conocido como el lenguaje máquina en patrones
de bit. Estos lenguajes poseen un conjunto de comandos o
instrucciones que son las acciones que
permiten llevar a cabo las operaciones
en la máquina. En los de alto nivel, son los que permiten resolver problemas convirtiendo los algoritmos en programas escritos y de bajo nivel son
denotados como ensambladores.
§ Instrucciones:
Son
el conjunto de operaciones u acciones que debe de ejecutar la máquina; las instrucciones pueden ser las siguientes:
ü De
E/S: son del tipo Imput y Output como las instrucciones que permiten la
transferencia de la información entre los dispositivos periféricos y la memoria central , así como el de la
lectura y escritura de datos ingresados : (Leer ; Escribir).
ü De
cálculo: permite el proceso de lógica aritmética para que la computadora ejerce las
operaciones pertinentes.
ü De
control: de acuerdo al lenguaje de programación y del procesador, puede haber
una modificación en fases de la ejecución; así como de las reglas de sintaxis.
§ Evolución de los lenguajes de
programación:
En la época de los 4º, gran variedad de
investigadores empleaban métodos nemotécnicos para memorizar instrucciones y para la conversión de los programas escritos en dichos códigos al lenguaje máquina que era basado en un almacenaje en cadenas de
bit (código binario) y de hecho, derivaban lo que era los lenguajes
ensambladores . A los programas de traducción
se les denota como ensambladores, debido a que ensamblan
las instrucciones de la
máquina con los identificadores que son
los nemotécnicos para la representación
de dichas instrucciones.
A mediados de los 50 y años 60, se
catapulta el desarrollo de los lenguajes de programación de la tercera generación en donde el
programador emplea un lenguaje de alto
nivel, independientes y que
naturalmente eran diseñadas para
aplicaciones científicas y empleadas en
diversas áreas de la ingeniería tales como el
COBOL” Common Bussines y otros lenguajes
para ciencias administrativas”; así, se desarrollaron aplicaciones de
gestión en donde aparecen Pascal, Basic,
C++, C, Ada, Java, C# HTML, XML[….].
En
los lenguajes de programación de alto
nivel, se componen de un conjunto de comandos o instrucciones que necesitan ser traducidos al lenguaje
máquina por medio de los traductores y denominados como compiladores; en la
tercera generación se empiezan a implementarse los intérpretes.
§ Paradigmas de la programación:
Cuando se implementan en los procesos de la programación la solución de las problemáticas que instan
al programador a operar a través del ordenador se ubica en un contexto en el que el software de desarrollo tiene los
siguientes enfoques:
ü Lenguajes imperativos:
Denominados como procedimentales, son las
que poseen un método tradicional de
programación con un conjunto de instrucciones
que se van ejecutando una por una hasta finalizar, esto es llevado
secuencialmente omitiendo los saltos de
líneas o de control; porque va definiendo de manera que en el desarrollo se manipulen datos de esas órdenes para la producción de los resultados como
datos de salida. En cada instrucción, se
realiza una tarea competente; es decir, hace una tarea especificada. En los programas
de esta índole ( tipo de lenguaje), se pueden mencionar los siguientes: FORTRAN
( Formula Translator), COBOL, Pascal,
Basic, ALGOL, C , ADA[…].
ü Lenguajes declarativos:
Cuando el programador escribe el problema porque se le solicita,
pero no escribe la solución o la fórmula para la resolución de ese problema con
el algoritmo, este es el caso en el que
se presenta un lenguaje que utiliza el razonamiento puramente lógico para dar respuesta a la problemática en cuestión,
uno de los aspectos que la caracterizan es la implementación de la lógica formal o lógica de predicados no
estricto ( basado en la solución , las teorías o pruebas de validez) . Por
ejemplo, un lenguaje declarativo es Prolog.
ü Lenguajes
orientadas a objetos:
Denominada también como POO, se enfoca en
objetos en donde guarda una analogía de
la realidad; se basa
específicamente en el diseño de los objetos que están compuestos a su vez por datos o
información e incluse, posee
operaciones que accionan sobre esos
datos. Apartir de esto, se tiene las nociones de una programación
modular como método de dar respuesta al desglosamiento de dicho problema en
subproblemas para hacer en los mismos varios módulos u objetos.
El origen de POO se tiene en base
a los Tipos Abstractos de Datos como las estructuras de datos. El lenguaje C++ por ejemplo, es un lenguaje
orientado a objetos muy utilizado.
§ Historia
de los lenguajes de programación:
Todo
un Génesis de la industria del
software y de los avances de la
tecnología y de la ciencia se remontan
desde el año 1642 por la actuación de
Blaise Pascal invente la Pascalina que
era toda una maquinaria contadora a través de unas ruedas recursivas,
a raíz de este ingenio, se han
desplegado una amplia gama de máquinas
que marcan tendencias en cada una de sus
fases evolutivas e incluye la programación de códigos de dichas máquinas
como los lenguajes primitivos; es por ello que se les denotan como
ensambladores , radica que su origen es de ensamblarse.
En el caso del lenguaje de alto
nivel, era la que dependía del abstraccionismo del programador y de los atributos, reglas de
sintaxis, la semántica y la naturaleza del lenguaje, eso es la potencia, lo
complejo y estricto.
§ FORTRAN
1954; 77; 90. (Década de los 50´s).
§ COBOL
por la Dra. Grace Hopper es un lenguaje de gran prestigio en el mundo de los
negocios y de aplicaciones para el
ámbito comercial.
§ ALGOL,
generación del 58 y Lisp del 1958.
§ Basic
del 64, LOGO de 1968, Simula del
67, Smalltalk del 69.( Década de los
60´s)
§ Pascal
de 1970, C del 71, Modula 2 del 75,
Ada del 79.( Década de los 70´s)
§ C++
del 83, Eiffel del 86, Perl del 87.
(Década de los 80´s)
§ Java
del 97, y C# del 2000. ( Década de los 90´s).
|
§ Programación
de la web:
ü HTML: es
un lenguaje de descripción de as
páginas como el elemnto clave de la programación web.
ü Java Script: es
un lenguaje interpretado por una especie
de guiones denotado script o scripting
para que los diseñadores web
incluyan páginas de enlace.
ü VB Script:
es una memoria de la solución ejemplar de Microdoft a Java Script
basada en Visual Basic.
ü Java:
es un excelente lenguaje para la web.
ü Active X: es
el lenguaje de Microsoft como simulador
de Java.
ü C#: Es
el contrincante de Java creado por Microsoft.
ü Perl: es un lenguaje que se
interpreta por Scripting para la redacción de los textos.
ü XML:
se refiere a un lenh¿guaje de programación cuyo propósito es buscar solución a las delimitaciones que presenta HTML , además, es muy empleado
en la web.
ü AJAX: la trascendencia de la nueva generación web
en el que conjuga Java Script y XML.
§ Codificación:
Es el proceso de traducción del algoritmo
en pseudocódico a un lenguaje de programación.
§ Código de fuente:
Es el algoritmo escrito
en un lenguaje de programación.
§ Lenguaje máquina:
Es
cuando la computadora no entiende directamente
los lenguajes de
programación y es convertido al lenguaje nativo o nato de la computadora;
es decir, requiere que el programa sea
traducido del código de fuente a otro lenguaje que pueda ser explicito para
la máquina por la complejidad y se entiende como el código máquina. Los
programas que ejercen la traducción del
código de fuente redactado en un
lenguaje de programación que puede ser
de alto nivel o POO como el C++ a código
máquina, donde hace partícipes a los traductores.
El proceso de transformación de un algoritmo escrito en pseudocódigo hasta ser un programa meramente ejecutable (
run) y comprensible por la máquina. Los
pasos del proceso corresponden a lo
siguiente: 1) Problema; 2) Resultado; 3)
El algoritmo en pesudocódigo o expresados en diagramas del tipo N/S o de
flujo; 4) La redacción, la escritura en
otro lenguaje como C++; 5) El algoritmo C++ para que sea llevado a una edición
Editory EID al código de fuente por ejemplo para C++; 6) Inicializa el proceso
de traducción y ejecución /
traductor y compilación para llevarlo a
código máquina ( programa ejecutable).
1.2.1
Estructura funcional de las computadoras
La organización de un computador se conforma
por los siguientes componentes:
§ Hardware: es la parte física de la computadora
conformado por los dispositivos electrónicos.
§ Dispositivos de Entrada y de Salida E/S.
§ Unidad
Central de Proceso ( Unidad de Control y Unidad de lógica y Aritmética)
§ Memoria
Central
§ Dispositivo
de almacenamiento masivo de información (Memoria auxiliar o externa).
De los componentes del
computador, se procede a definir a
continuación:
§ Dispositivos
de Entrada y de Salida:
Son
dispositivos electromecánicos u ópticos
que requieren un intermediario, interfaz o controlador, puesto que los
dispositivos de E/S no se pueden conectar directamente
a la UC. Existen los controladores
de Hardware y Software (puestos en serie, paralelo, buses USB y fireware). Los puertos en serie y paralelo
del PC se encuentran equipado, el Universal
Serial Bus ( USB) es un bus
estándar de E/S. Entre los didpositivos
de entrada y salida de datos I/O son:
teclado, lectores de tarjetas, lápices
ópticos , palancas de mando joystick,
lectores de códigos de barra, escáneres,
micrófonos , mouse, pantalla, pendrive, […]
ü Puertos en serie y paralelo: el PC se encuentra equipado con los mismos componentes:
Los
dispositivos de entrada y dispositivos
de salida, son aquellos que presentan los
resultados del proceso de los datos como consecuencia de la interacción usuario y
máquina. Por ejemplo, el CTR en inglés (Cathode Ray tube) pantalla o monitor;
también los dispositivos de copia dura (hard copy) o copia
blanda ( soft copy).
Dispositivos
periféricos y de almacenamiento
auxiliar.
Dispositivo
de almacenamiento secundario ( almacenamiento masivo),
fuera de la UCP, los drives que son las
unidades poseen como medio de soporte de
almacenamiento de los datos este dispositivo en caso de que el ordenador
se apague. Dentro de las tecnologías de almacenamiento secundario más prominentes son: Discos magnéticos, Discos ópticos y las
cintas magnéticas, entre otros.
Memoria principal, RAM Memoria de
acceso aleatorio, que puede ser estática (SRAM)
o dinámica (DRAM) según la
fabricación como la Double Data Rate (
DDR).
Memoria
ROM, Memoria únicamente leída (ROM).Es pregrabada por el
fabricante, y, en este sentido, es la
memoria de sólo lectura Read-only
memory.
Referencias:
Luis Joyanes Aguilar." Fundamentor de la programación" QA. 9.58. J68. 2008 Edic. 3
Comentarios
Publicar un comentario