Categorias: Todos - máquinas - algoritmos - virtuales - niveles

por RAMIREZ SANTOS RAMIREZ SANTOS 3 anos atrás

563

Lenguajes, niveles y máquinas virtuales Final?

Existen diferentes niveles de lenguajes de programación que facilitan la interacción entre el programador y la máquina. Los lenguajes se dividen en varios niveles, desde el lenguaje máquina, que consiste en instrucciones directas para los circuitos microprogramables, hasta los lenguajes de alto nivel como C, Fortran y COBOL, los cuales permiten expresar algoritmos de manera más abstracta y neutral.

Lenguajes, niveles y máquinas virtuales Final?

Clasificación

Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos únicos niveles de tensión simbolizados con el cero (0) y el uno (1). Por eso, el lenguaje de máquina utiliza sólo dichos signos.

En 1823, se aprobó el proyecto de construcción de una máquina de diferencias, para realizar sumas de forma repetitiva

Unidad de salida Entregaba los resultados obtenidos por los procesos internos de la máquina.

Unidad aritmético-lógica Realizaba las operaciones matemáticas y lógicas.

Unidad de memoria Almacenaba los datos y resultados intermedios.

Unidad de entrada Mediante la cual se insertaban las tarjetas perforadas para introducir las instrucciones y datos en la máquina

Antecedentes

Profesor de matemáticas e inventor en la universidad de Cambridge, Inglaterra, a mediados del siglo XIX, Charles Babbage fue el primero en concebir la idea de un lenguaje de programación, al predecir varias de las teorías en las que se basan las computadoras actuales.

Babbage desarrolló la idea de una máquina analítica programable que, por limitaciones tecnológicas de su época, no pudo ser construida. Junto con él, su colaboradora Ada Lovelace es considerada como la primera programadora de la historia
Las técnicas empleadas por Babbage y Ada fueron seguidas por los primeros programadores de computadoras, quienes se valieron de tarjetas perforadas para introducir sus programas en las computadoras.

LENGUAJES DE PROGRAMACIÓN

Componentes

En este orden, los lenguajes de alto nivel han facilitado su uso al implementar un lenguaje parecido al inglés, más reducido y formal, para establecer condiciones como if-then-else, indicar el tipo de dato que se va a manejar, como integer, real, double, o señalar eventos como print.
De igual manera, hay signos y operadores que ayudan a estructurar operaciones matemáticas o lógicas, como suma, resta, multiplicación (+, -, *, /), etcétera

Tipos y estructuras de datos Las estructuras de datos son elementos de los lenguajes de programación que permiten manipular de forma más eficiente variables diversas: numéricas o tipo texto (cadenas de caracteres), y otras más complejas, como vectores, matrices y apuntadores, etcétera.

Control de flujo Se refiere a la secuencia de acciones de un programa. En ocasiones, dentro de la secuencia de instrucciones, hay puntos donde el programa debe tomar decisiones con base en el valor de una variable o el cumplimiento de una cierta condición. El tipo de instrucciones que posibilitan dichas acciones son, precisamente, las de control de flujo: condicionales (if-then-else), de bucle (for o while) o selección (case).

Instrucciones Son estructuras gramaticales predefinidas, muy parecidas al lenguaje humano, para generar secuencias de acciones que conformen un programa. Van desde los operadores aritméticos y lógicos básicos (sumas, restas, and, or) hasta instrucciones más especializadas para realizar diversas acciones dentro del programa, como guardado de archivos, volcado de pantalla de un texto, etcétera.

Propósito

Lenguajes de Script
Para realizar tareas varias de control y auxiliares
Lenguajes de programación de sistemas
Diseñado para realizar sistemas operativos o drivers, Ejemplo: C
Lenguajes de propósito especifico
Hechos para un objetivo muy concreto, Ejemplo: Csound (para crear ficheros de audio)
Lenguajes de propósito general
Aptos para todo tipo de tareas, Ejemplo: "C"

Definición

Es un idioma artificial para expresar instrucciones que puedan ejecutar las maquinas
A grandes rasgos, un lenguaje de programación se conforma de una serie de símbolos y reglas de sintaxis y semántica que definen la estructura principal del lenguaje y le dan un significado a sus elementos y expresiones.

La función principal de los lenguajes de programación es escribir programas que permiten la comunicación usuario-máquina. Unos programas especiales (compiladores o intérpretes) convierten las instrucciones escritas en código fuente, en instrucciones escritas en lenguaje máquina (0 y 1).

Caracteristicas
Claro, expresivo, sencillo, natural, compatible y eficiente

Sintaxis y semántica

Compiladores

traducen los símbolos de un lenguaje de programación a su equivalencia escrito en lenguaje máquina (proceso conocido como compilar). Por último, se obtiene un programa ejecutable.

SEMÁNTICA

SINTAXIS

Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) o JCL ("Job Control Languages")

Lenguajes, niveles y máquinas virtuales

Máquinas virtuales

Un software que simula un sistema de computación y puede ejecutar programas como si fuese una computadora real
Dos tipos de máquinas virtuales

De proceso

Solo ejecutan un proceso concreto, como una aplicación

Se emplean a la hora de desarrollar aplicaciones para diversas plataformas

De sistema

Emulan un ordenador completo y pueden ejecutar un sistema operativo diferente al de la máquina real donde está se ejecuta

Disco duro, memoria, tarjeta gráfica y demás componentes de hardware, aunque todos ellos son virtuales.

En el hipervisor, el host o el anfitrión

El término host o anfitrión se refiere a las computadoras u otros dispositivos conectados a una red que proveen y utilizan servicios de ella.

Un hipervisor o monitor de máquina virtual es una capa de software para realizar una virtualización de hardware que permite utilizar, al mismo tiempo, diferentes sistemas operativos en una misma computadora.

Niveles de lenguajes

Dividirse en niveles
De alto nivel

expresar algoritmos

Lenguaje neutral

Fortran

C

COBOL

maxima flexibilidad

De bajo nivel

Ensamblador

Control directo

el hardware

Lenguaje Máquina

conjunto de instrucciones

Acciones de máquina

Circuitos microprogramables

interacción máquina-programador
las necesidades

usuario

programador

Expresar algoritmos adecuados

Lenguajes

Subtopic