Introduccion
Introduccion
Introduccion
C.I: 28.195.593
¿Qué es un programa?
Los programas para poder correr se deben cargar en la memoria, el responsable de esta tarea es el
sistema operativo. Un programa puede diseñarse para una computadora o para otro tipo de
dispositivos, pero su programación suele realizarse en una computadora utilizando un entorno de
desarrollo integrado (en ingles IDE). Este programa cuenta con herramientas que permiten
convertir nuestro código en un programa funcional. Estás herramientas son el compilador, el
“linker” y el depurador (debugger).
Computador digital
Existen 3 tipos de computadoras, las analógicas, las digitales y las hibridas. En este apartado nos
centraremos en lo que son las computadoras digitales, son máquinas electrónicas que reciben y
procesan datos para convertirlos en información conveniente y útil. Una computadora está
formada, físicamente, por numerosos circuitos integrados y otros muchos componentes de apoyo,
extensión y accesorios, que en conjunto pueden ejecutar tareas diversas con suma rapidez y bajo
el control de un programa. Dos partes esenciales la constituyen, el hardware, que es su
composición física (circuitos electrónicos, cables, gabinete, teclado, etcétera) y su software, siendo
ésta la parte intangible (programas, datos, información, etcétera). Una no funciona sin la otra.
Desde el punto de vista funcional es una máquina que posee, al menos, una unidad central de
procesamiento, una memoria principal y algún periférico o dispositivo de entrada y otro de salida.
Los dispositivos de entrada permiten el ingreso de datos, la CPU se encarga de su procesamiento
(operaciones aritmético-lógicas) y los dispositivos de salida los comunican a otros medios. Es así,
que la computadora recibe datos, los procesa y emite la información resultante, la que luego
puede ser interpretada, almacenada, transmitida a otra máquina o dispositivo o sencillamente
impresa; todo ello a criterio de un operador o usuario y bajo el control de un programa. El hecho
de que sea programable, le posibilita realizar una gran diversidad de tareas, esto la convierte en
una máquina de propósitos generales (a diferencia, por ejemplo, de una calculadora cuyo único
propósito es calcular limitadamente). Es así que, en base a datos de entrada, puede realizar
operaciones y resolución de problemas en las más diversas áreas del quehacer humano
(administrativas, científicas, de diseño, ingeniería, medicina, comunicaciones, música, etc.), incluso
muchas cuestiones que directamente no serían resolubles o posibles sin su intervención.
Cuando se hace la combinación de unos y cero, se termina su preparación creando así una
instrucción que posteriormente llegará al microprocesador, se crea todo un proceso conocido
como el nombre de compilación, ésta es la forma en la que los datos se reúnen para luego colocar
una especie de envoltorio digital que tendrá la función de llevarlos hasta la máquina y hacer que
pueda entonces proceder con la ejecución. Cuando las instrucciones llegan al ordenador se dan
dos operaciones importantes: la operación en sí y el comando. De este proceso surge que el
equipo informático tenga la capacidad para saber cuál es la instrucción que se le ha dado y cuál
será la función que debe cumplir. En otras palabras, los datos son los que hacen posible poner en
marcha los procesos o establecer el lugar en donde se puede generar el almacenamiento de datos.
Para ello, se deben utilizar unos programas traductores (desarrollados con antelación para cada
computadora) que se encarguen de realizar dicho proceso de traducción, los compiladores y los
intérpretes. Como un ordenador puede interpretar y ejecutar sólo el código máquina, existen
programas especiales, denominados traductores, que traducen programas escritos en un lenguaje
de programación al lenguaje máquina de la computadora. Un traductor es un metaprograma que
toma como entrada un programa (o parte de un programa) escrito en lenguaje simbólico -alejado
de la máquina- denominado programa fuente y proporciona como salida otro programa
semánticamente equivalente y escrito en un lenguaje comprensible por el hardware de la
computadora que recibe el nombre de programa objeto. A continuación, se detallan dos tipos de
traductores: los compiladores y los intérpretes.
• Circuitos secuenciales: se caracterizan porque las salidas dependen de la historia anterior del
circuito, además de la combinación de entradas, por lo que estos circuitos sí disponen de memoria
y el orden de la secuencia de entradas sí es significativo.
Traductores
Interpretes
Cada vez que el programa necesite ejecutarse, el traductor tendrá que convertir el código
fuente a código máquina (interpretar). Esta característica hace que, por regla general, los
lenguajes que usan este tipo de traductor ofrezcan un menor rendimiento. En
contrapartida, ofrecen un mejor entorno de programación, depuración y mantenimiento
Compiladores
Máquina virtual
Una máquina virtual, conocida como «invitada», es lo que se crea en un entorno informático,
denominado «host» que en este caso sería un computador el cual proporciona cantidades
dedicadas de CPU, memoria y almacenamiento que se "toman prestadas" de este host físico o un
servidor remoto, como un servidor en el centro de datos de un proveedor de nube. En un host
pueden existir varias máquinas virtuales a la vez. Los archivos más importantes que componen una
máquina virtual son un archivo de registro, un archivo de configuración de NVRAM, un archivo de
disco virtual y un archivo de configuración. Las máquinas virtuales son ordenadores de software
que proporcionan la misma funcionalidad que los ordenadores físicos. Como ocurre con los
ordenadores físicos, ejecutan aplicaciones y un sistema operativo. Sin embargo, las máquinas
virtuales son archivos informáticos que se ejecutan en un ordenador físico y se comportan como
un ordenador físico. En otras palabras, las máquinas virtuales se comportan como sistemas
informáticos independientes, por lo tanto, el sistema operativo de esta maquina virtual no esta
relacionado con el sistema operativo del host físico.
Algunos de los usos que se les da a las maquinas virtuales son los siguientes:
Nivel 0 (Nivel de lógica digital): Este nivel hace referencia al hardware de la máquina, en
este nivel se realizan funciones lógicas y se encuentran las puertas lógicas que permiten
tomar decisión, los circuitos integrados, los circuitos combinacionales, los circuitos
aritméticos, los relojes, las memorias RAM y ROM, los microprocesadores y los buses. En
este nivel se realizan todas las operaciones aritmético lógicas.
Nivel 1 (Nivel de microprogramación): En este nivel, se encuentra un programa llamado
microprograma cuya función es interpretar las instrucciones del nivel 2, en algunas
maquinas este nivel no existe y solo cuenta con 5 niveles.
Nivel 2 (Nivel de maquina convencional): Cada fabricante publica el “Manual de referencia
del lenguaje máquina” para cada uno de los computadores. Las instrucciones del nivel de
máquina las interpreta el microprograma. En las máquinas en las que no existe el nivel de
microprogramación, las instrucciones del nivel de máquina son realizadas directamente
por los circuitos electrónicos. En sí, en este nivel se encuentra el lenguaje de maquina del
ordenador, acá es donde se interpretan los códigos realizados y se envía esta información
a los niveles anteriores para de esta manera ejecutar lo que se ordena.
Nivel 3 (Nivel del sistema operativo): La mayoría de las instrucciones de este nivel están
también en el nivel 2 pero además tiene un nuevo conjunto de instrucciones, una
organización diferente de la memoria, la posibilidad de ejecutar 2 o más programas. Las
nuevas instrucciones las interpreta el sistema operativo, las que son idénticas a las del
nivel 2 las lleva a cabo el microprograma.
Nivel 4 (Nivel del lenguaje ensamblador): Los niveles 4 y superiores son utilizados por los
programadores de aplicaciones. Los niveles inferiores están diseñados para ejecutar los
intérpretes y traductores de los niveles superiores y son escritos por los programadores de
sistemas.
Nivel 5 (Nivel de lenguajes de alto nivel): Los lenguajes de alto nivel son más fáciles de
utilizar que los lenguajes de niveles inferiores. Son utilizados por los programadores de
aplicaciones. Los traductores de programas en lenguaje de alto nivel pueden ser
compiladores o intérpretes. El sistema operativo parece como una envolvente de software
de nivel 3 que oculta lo que esta debajo. En este nivel es que nosotros como individuos
nos “comunicamos” con la computadora, pero sin los niveles anteriores sería imposible el
cambio de información, ya que en este nivel es que nosotros escribimos lo que queremos
obtener de la computadora, en todos los niveles anteriores se encargan de que esta
información llegue a la computadora de manera que la entienda y así pueda darnos la
respuesta o ejecutar lo que se le pide.
Unidad de control (UC): es uno de los tres bloques funcionales principales en los que se
divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de
proceso y el bus de entrada/salida. Su función es buscar las instrucciones en la memoria
principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de
proceso. Existen dos tipos de unidades de control, las cableadas, usadas generalmente en
máquinas sencillas, y las microprogramadas, propias de máquinas más complejas. En el
primer caso, los componentes principales son el circuito de lógica secuencial, el de control
de estado, el de lógica combinacional y el de emisión de reconocimiento de señales de
control. En el segundo caso, la microprogramación de la unidad de control se encuentra
almacenada en una micromemoria, a la cual se accede de manera secuencial para
posteriormente ir ejecutando cada una de las microinstrucciones.
Unidad aritmético-lógica (ALU): es un circuito digital que calcula operaciones aritméticas
(como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos
números. Por mucho, los más complejos circuitos electrónicos son los que están
construidos dentro de los chips de microprocesadores modernos. Por lo tanto, estos
procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un
microprocesador moderno (y los mainframes) puede tener múltiples núcleos, cada núcleo
con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
Registros: Son memorias de alta velocidad y poca capacidad, integrada en el
microprocesador, que permite guardar transitoriamente y acceder a valores muy usados,
generalmente en operaciones matemáticas. Los registros están en la cumbre de la
jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar
datos. Los registros se miden generalmente por el número de bits que almacenan; por
ejemplo, un “registro de 8 bits” o un “registro de 32 bits”. Los registros generalmente se
implementan en un banco de registros, pero antiguamente se usaban biestables
individuales, memoria SRAM o formas aún más primitivas.
Buses: Un bus es una trayectoria por la cual viajan los datos en una computadora para
comunicar los distintos dispositivos entre sí. Los principales buses que se encuentran
dentro de una PC son. Buses del microprocesador, es la trayectoria de comunicaciones
entre la CPU y el Chipset. Se utiliza para transferir datos entre la CPU y el bus principal, o
entre la CPU y el Caché. Corresponden con los buses de direcciones, de datos y de control.
Buses de memoria se utilizan para transferir datos entre el microprocesador y la memoria
RAM. Buses del sistema, son los caminos por los cuales los datos viajan, por ejemplo, del
microprocesador al disco rígido, o de la memoria al disco.
Memoria: está dividida en celdas cuyo contenido es variable y son identificadas con un
número fijo llamado “dirección de memoria”. La capacidad total de la memoria está dada
por la cantidad de celdas disponibles. Las celdas tienen datos e instrucciones (a diferencia
de la arquitectura Harvard que tiene una memoria para datos y otra para instrucciones).
CPU: es un componente del hardware dentro de un computador, teléfonos inteligentes y
otros dispositivos programables. Su trabajo es interpretar las instrucciones de un
programa informático mediante la realización de las operaciones básicas aritméticas,
lógicas y externas (provenientes de la unidad de entrada/salida). Su diseño y avance ha
variado notablemente desde su creación, aumentando su eficiencia y potencia, y
reduciendo aspectos como el consumo de energía y el costo. Una computadora puede
contener más de una CPU (multiprocesamiento). En la actualidad, los microprocesadores
están constituidos por un único circuito integrado (chip) aunque existen los procesadores
multinúcleo (varias CPU en un solo circuito integrado). Un circuito integrado que contiene
una CPU también puede contener los dispositivos periféricos, y otros componentes de un
sistema informático; similar a un microcontrolador (menos potente en RAM) se le
denomina sistema en un chip (SoC).
Dispositivos de entrada y salida:
De entrada: Estos dispositivos permiten al usuario del computador introducir
datos, comandos y programas en el CPU. El dispositivo de entrada más común es
un teclado similar al de las máquinas de escribir. La información introducida con el
mismo, es transformada por el ordenador en modelos reconocibles. Los datos se
leen de los dispositivos de entrada y se almacenan en la memoria central o
interna. Los Dispositivos de Entrada, convierten la información en señales
eléctricas que se almacenan en la memoria central.
De salida: Estos dispositivos permiten al usuario ver los resultados de los cálculos o
de las manipulaciones de datos de la computadora. El dispositivo de salida más
común es la unidad de visualización (VDU, acrónimo de Video Display Unit), que
consiste en un monitor que presenta los caracteres y gráficos en una pantalla
similar a la del televisor.
Bibliografía
https://aprendeitonline.com/cursos/introduccion-programacion/lecciones/programacion-
lenguajes/temas/programacion-traductores/
https://aulavirtual.sld.cu/pluginfile.php/6323/mod_imscp/content/1/sistema-de-buses-
en-un-computador.pdf
https://azure.microsoft.com/es-es/overview/what-is-a-virtual-machine/#what-benefits
https://blogdeinformaticadario.wordpress.com/tag/computadoras-digitales/
https://chsos20152912029.wordpress.com/tag/maquina-multinivel/
https://definicion.xyz/estructura-del-computador/
https://desarrollarinclusion.cilsa.org/tecnologia-inclusiva/que-es-un-programa/
https://docplayer.es/10585328-Tema-1-introduccion-1-diferentes-niveles-en-la-
arquitectura-de-un-computador.html
https://es.scribd.com/doc/72445562/arquitectura-MAQUINA-MULTINIVEL
https://es.scribd.com/document/239228022/Que-Es-Computadoras-Digitales
https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento
https://es-academic.com/dic.nsf/eswiki/1095070
https://nanova.org/clasificacion-de-las-computadoras-digitales/
https://ocw.uma.es/course/view.php?id=61
https://sites.google.com/site/474introduccionalaprogramacion/evolucion/lenguaje
https://sites.google.com/site/arquitecturaylogicadepc/computadora-digital-1
https://sites.google.com/site/charoloopez/temario/organizacion-de-una-computadora
https://sites.google.com/site/compuandrespc/home/dispositivos-de-entrada-y-salida
https://slideplayer.es/slide/3955943/
https://slideplayer.es/slide/5534502/
https://www.euston96.com/lenguaje-maquina/
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/compilador-e-interprete/
https://www.vmware.com/latam/topics/glossary/content/virtual-machine.html
https://www.xataka.com/basics/cpu-que-como-sirve
https://www.xataka.com/especiales/maquinas-virtuales-que-son-como-funcionan-y-
como-utilizarlas