Está en la página 1de 8

Qu es un lenguaje?

Sistema de comunicacin estructurado para el que existe un contexto de uso y ciertos principios combinatorios
formales. Existen contextos tanto naturales como artificiales

Lenguaje de computadora o idioma artificial
Son los smbolos, caracteres, conjunto de reglas sintcticas y semnticas que definen su estructura y el
significado, permiten expresar instrucciones y procesos que luego sern interpretadas por un ordenador y que
permiten a las personas "comunicarse" con las computadoras
Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de
un programa informtico se le llama programacin

Cules son las caractersticas de un lenguaje?
Caractersticas del Lenguaje Humano
Racional: el lenguaje es racional, ya que se hace uso de la razn para poder combinar diferentes signos
y elaborar un enunciado.
Arbitrario: porque hace uso de smbolos en vez de smbolos.
Doblemente articulado: porque se pueden combinar morfemas (unidades de significacin) y fonemas
(unidades sonoras).
Universal: porque cualquier persona en condiciones normales tiene la facultad de comunicarse
haciendo uso del lenguaje.
Adquirido: porque es adquirido por todos los seres humanos desde muy pequeos.
Convencional: pues la sociedad ha convenido usar el lenguaje para de esta manera poder comunicarse.
Voluntario: el lenguaje es un acto voluntario porque no es ningn acto instintivo, sino ms bien
contrario, es un acto intencional.

Lenguajes de programacin 2 clasificaciones:

Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la mquina, es decir que el programa que se realiza con este tipo
de lenguajes no se pueden migrar o utilizar en otras maquinas.

Al estar prcticamente diseados a medida del hardware, aprovechan al mximo las caractersticas del
mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la mquina las operaciones fundamentales para su
funcionamiento. Consiste en la combinacin de 0's y 1's para formar las ordenes entendibles por el
hardware de la maquina.
Este lenguaje es mucho ms rpido que los lenguajes de alto nivel.
La desventaja es que son bastantes difciles de manejar y usar, adems de tener cdigos fuente enormes
donde encontrar un fallo es casi imposible.
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras
y nmeros llamadas mnemotcnicos. Con la aparicin de este lenguaje se crearon los programas
traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje mquina. Como
ventaja con respecto al cdigo mquina es que los cdigos fuentes eran ms cortos y los programas
creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prcticamente las
mismas que las del lenguaje ensamblador, adiendo la dificultad de tener que aprender un nuevo
lenguaje difcil de probar y mantener.


Lenguajes de alto nivel
Son aquellos que se encuentran ms cercanos al lenguaje natural que al lenguaje mquina.
Estn dirigidos a solucionar problemas mediante el uso de EDD's.

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos
los lenguajes de programacin. Son estructuras que pueden cambiar de tamao durante la ejecucin
del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un
programa.

Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa
escrito en un lenguaje de alto nivel, lo puedes migrar de una mquina a otra sin ningn tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s
para la que estn diseando el programa. Tan solo necesitan un traductor que entiendan el cdigo fuente como
las caractersticas de la maquina.

Suelen usar tipos de datos para la programacin y hay lenguajes de propsito general (cualquier tipo de
aplicacin) y de propsito especifico (como FORTRAN para trabajos cientficos).

Lenguajes de Medio nivel
Se trata de un termino no aceptado por todos, pero q seguramente habrs odo. Estos lenguajes se encuentran en
un punto medio entre los dos anteriores. Dentro de estos lenguajes podra situarse C ya que puede acceder a los
registros del sistema, trabajar con direcciones de memoria, todas ellas caractersticas de lenguajes de bajo nivel
y a la vez realizar operaciones de alto nivel.

Generaciones
La evolucin de los lenguajes de programacin se puede dividir en 5 etapas o generaciones.
Primera generacin: lenguaje maquina.
Segunda generacin: se crearon los primeros lenguajes ensambladores.
Tercera generacin: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol
Cuarta generacin. Son los lenguajes capaces de generar cdigo por si solos, son los llamados RAD, con
lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aqu tambin se encuentran
los lenguajes orientados a objetos, haciendo posible la reutilizacin d partes del cdigo para otros
programas. Ej. Visual, Natural Adabes
Quinta generacin: aqu se encuentran los lenguajes orientados a la inteligencia artificial. Estos
lenguajes todava estn poco desarrollados. Ej. LISP
1. Utilidad: fcil de aprender, fcil de usar por un programador experimentado
2. Rendimiento: velocidad de ejecucin de los programas, velocidad de ejecucin del compilador.
3. Portabilidad y flexibilidad a posibilidad de desarrollar el lenguaje y su implementacin, existencia de
bibliotecas de funciones, clases, etc.
4. Continuidad: continuidad del fabricante, continuidad del lenguaje, continuidad de implementacin,
existencia de una norma internacional para definir el lenguaje, conformidad de implementacin con
respecto a la
Qu es lenguaje ensamblador?
El lenguaje ensamblador, o assembler (assembly languageen ingls), es un lenguaje de
programacin de bajo nivel para los computadores, microprocesadores, microcontroladores y
otros circuitos integrados programables. Implementa una representacin simblica de los cdigos de
mquina binarios y otras constantes necesarias para programar una arquitecturadada de CPU y
constituye la representacin ms directa delcdigo mquina especfico para cada arquitectura legible
por un programador

est basada en losmnemnicos que simbolizan los pasos de procesamiento (lasinstrucciones),
los registros del procesador, las posiciones dememoria y otras caractersticas del lenguaje. Un
lenguaje ensamblador es por lo tanto especfico de cierta arquitectura de computador fsica (o virtual)

tiene acceso a todas las caracteristicas e instrucciones disponibles en la maquina,
Un lenguaje ensamblador puro es aquel en que cada sentencia produce exactamente una instruccin mquina.
En otras palabras, hay una correspondencia biunvoca entre las instrucciones de mquina y las sentencias del
programa en ensamblador. Si cada lnea de un programa en ensamblador contuviera una sentencia ensamblador
y si cada palabra de mquina contuviera una instruccin de mquina, entonces un programa de n lneas escrito
en ensamblador producira un programa en lenguaje de mquina que ocupara n palabras.

La razn por la que se usa el lenguaje ensamblador en lugar de programar el lenguaje mquina (octal o
hexadecimal) consiste en que es mucho ms fcil programar en ensamblador. Es muy diferente usar nombres y
direcciones simblicas que hacerlo en binario u octal. La mayora de la gente puede recordar que las
abreviaturas para la adicin, la sustraccin, la multiplicacin y la divisin son ADD, SUB, MUL y DIV, pero
pocos pueden recordar que las instrucciones mquina son 24576, 57344, 28672 y 29184. El programador en
lenguaje ensamblador slo tiene que recordar los nombres simblicos ADD, SUB, MUL, DIV, ya que el
ensamblador los traduce a las instrucciones mquina. Por el contrario, el programador en lenguaje mquina
debe recordar, o consultar constantemente, los valores numricos.

En cuanto a las direcciones, el programador en lenguaje ensamblador puede dar nombres simblicos a las
posiciones de memoria y dejarle al ensamblador la tarea de suministrar los valores numricos correctos. El
programador en lenguaje mquina debe trabajar siempre con los valores numricos de las direcciones. En
consecuencia, nadie programa hoy en da en lenguaje mquina, aunque se hacia hace aos, antes de que se
inventaran los ensambladores.

Los lenguajes ensambladores tienen otra propiedad, adems de la correspondencia uno a uno entre las
sentencias en ensamblador y las instrucciones mquina, que los distngue de los lenguajes de alto nivel. El
programador en ensamblador tiene acceso a todos los recursos e instrucciones de la mquina a la que se aplica,
pero no el programador en un lenguaje de alto nivel. Por ejemplo si la mquina tiene un indicador de
desbordamiento, el programador en lenguaje ensamblador puede examinarlo; uno en Pascal no puede hacerlo
directamente. Es decir, que todo lo que puede hacerse en lenguaje mquina puede hacerse tambin en lenguaje
ensamblador, pero muchas instrucciones, registros y otras cosas por el estilo no estn disponibles para que el
programador en lenguaje de alto nivel las use. Los lenguajes para la programacin de sistemas suelen ser un
hbrido entre ambos tipos, con la sintaxis de un lenguaje de alto nivel pero con las posibilidades de acceso a la
mquina de un lenguaje ensamblador.

Una diferencia final, consiste en que un programa en legaje ensamblador slo puede correr en una familia de
mquinas, mientras que un programa escrito en lenguaje de alto nivel puede, en potencia, correr en muchas
mquinas. La habilidad de poder mover software de una mquina a otra, resulta de gran importancia prctica
para muchas aplicaciones.
l lenguaje simblico que se utiliza para codificar los programas origen que se procesan por el
ensamblador es llamado lenguaje ensamblador.
Este lenguaje es una coleccin de smbolos mnemnicos que representan: operaciones, nombres
simblicos, operadores y smbolos especiales.
El lenguaje ensamblador proporciona cdigos de operacin de los mnemnicos para todas las
instrucciones de la mquina contenidas en la lista de instrucciones.
Adems, el lenguaje ensamblador contiene mnemnicos directrices, los cuales especifican acciones
auxiliares que se llevan a cabo por el ensamblador. Estas directrices no siempre son traducidas a
lenguaje maquina.
Qu es una computadora?
Es una mquina electrnica que recibe datos a travs de un medio de entrada y procesa datos bajo el control de un
programa previamente almacenado para convertirlos en informacin til informacin resultante a un medio de
salida.
Capaz de interpretar y ejecutar instrucciones

Cules son los elementos de una computadora?
Unidad de Central de proceso (CPU).- controla la operacin de la computadora y ejecuta
funciones de procesamiento de datos, se le conoce generalmente como procesador.
Unidad de Control.- Controla las operaciones del CPU.
Unidad Aritmtica y lgica (ALU).- Ejecuta las funciones de procesamiento de datos.
Memoria Principal.- Almacenamiento de datos de manera temporal.
Registros.- Provee almacenamiento en el CPU.
Entrada / Salida (E/S).- Movimiento de datos entre la computadora y su medio ambiente
externo.
Sistema de Interconexin.- Son mecanismos que permiten la comunicacin con la unidad de
control, la unidad aritmtica y lgica y los registros.
Qu es un sistema operativo?
El sistema operativo software de sistema es un conjunto de programas de computadora, rutinas de utilera y
directivas encargado del control, la operacin y administracin de hardware, diferentes programas de aplicacin
y los diferentes usuarios

Cmo est constituido un sistema operativo?
Un sistema operativo consta de un conjunto de programas o utileras bsicas que son:
Un compilador de algn lenguaje de programacin
Un enlazador.
Un ensamblador.
Un intrprete de comandos.
Una amplia biblioteca del lenguaje de la plataforma.
Un ncleo o Kernel
Qu tipos de sistemas operativos hay?
De acuerdo a su forma de procesamiento:.
Sistemas operativos por lotes
Requieren que la informacin est reunida en bloque o "lote" (el programa, los datos, y las instrucciones). Los
trabajos son procesados en el orden de admisin, segn el modelo de "primero en llegar primero en ser
atendido". En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema
operativo, y la otra se usa para cargar programas transitorios para su ejecucin.
Sistemas operativos multiprogramacin
Son capaces de soportar dos o ms procesos concurrentes mltiples, permiten que residan al mismo tiempo en la
memoria primaria las instrucciones y los datos procedentes de dos o ms procesos. Estos sistemas implican la
operacin de multiproceso, para el manejo de la informacin. Se caracterizan por un gran nmero de programas
activos simultneamente que compiten por los recursos del sistema.
Sistemas operativos multiusuario: Los sistemas operativos multiusuario permiten acceder simultneamente a
un sistema de computadoras a travs de dos o ms terminales. Este tipo de sistema operativo es fundamental en
el manejo de redes de computadoras actualmente.
Sistemas operativos de tiempo compartido: Tratan de proporcionar un reparto equitativo de los recursos
comunes para dar la impresin a los usuarios de que poseen una computadora independiente. En estos sistemas
el administrador de memoria proporciona aislamiento y proteccin de los programas. El control de E/S se
encarga de proporcionar o retirar la asignacin a los dispositivos de forma que se preserve la integridad del
sistema y se proporcione servicio a todos los usuarios.
Sistemas operativos de tiempo real: Tienen como objetivo proporcionar tiempos ms rpidos de respuesta,
procesar la informacin sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente
menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de
archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la
velocidad de acceso, ms que la utilizacin eficaz del almacenamiento secundario.
Categora de los Sistemas Operativos.
Sistema Operativo Multitareas.
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora
procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. En los sistemas multitarea de tiempo
compartido, como OS/2, cada tarea recibe la atencin del microprocesador durante una fraccin de segundo.
Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial.
Dado que el sentido temporal del usuario es mucho ms lento que la velocidad de procesamiento del ordenador,
las operaciones de multitarea en tiempo compartido parecen ser simultneas.
Sistema Operativo Monotareas.
Los sistemas operativos monotareas son ms primitivos y es todo lo contrario al visto anteriormente, es decir,
solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por
ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a
nuevas instrucciones hasta que se termine la impresin.
Sistema Operativo Monousuario.
Los sistemas monousuarios son aquellos que nada ms puede atender a un solo usuario, gracias a las
limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se este ejecutando.
Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de
la tarea que se esta utilizando. Estn orientados principalmente por los microcomputadores.
Sistema Operativo Multiusuario.
Es todo lo contrario a monousuario; y en esta categora se encuentran todos los sistemas que cumplen
simultneamente las necesidades de dos o ms usuarios, que comparten mismos recursos.

Cules son los sistemas operativos?
Sistema Programacin Usuario nico Usuario mltiple Tarea nica Multitarea
DOS 16 bits X

X

Windows3.1 16/32 bits X

no preventivo
Windows95/98/Me 32 bits X

Cooperativo
WindowsNT/2000 32 bits

X

preventivo
WindowsXP 32/64 bits

X

preventivo
Unix / Linux 32/64 bits

X

preventivo
MAC/OS X 32 bits

X

preventivo
VMS 32 bits

X

preventivo

Qu es una interrupcin?
Las interrupciones son instrucciones que detienen la ejecucin del programa y colocan el apuntador de
instrucciones en una localidad de memoria especfica donde se reanudar el procesamiento. La ms til de todas
es la propia instruccin de interrupcin:

INT tipo de interrupcin
Una interrupcin es el rompimiento en la secuencia de un programa para ejecutar un programa
especial llamando una rutina de servicio cuya caracterstica principal es que al finalizar regresa al
punto donde se interrumpi el programa.

Definicin de interrupcin: Una interrupcin es una instruccin que detiene la ejecucin de
unpr ogr ama par a per mi t i r el uso de l a UCP a un pr oceso pr i or i t ar i o. Una vez
concl ui do est eltimo proceso se devuelve el control a la aplicacin anterior


Cmo funciona una interrupcin?
Cuando se encuentra esta instruccin, el control se transfiere a la direccin contenida en la localidad
especificada por accionar 4 veces el tipo de interrupcin. Por ejemplo, la instruccin 10H transfiere el control a
la localidad de memoria cuya direccin est contenida en 0000:0040. La tabla de direcciones de interrupcin, o
tabla de vectores de interrupcin, est contenida en la parte baja de la memoria y, por tanto, la direccin de su
segmento es 0000.

La tabla de vectores contiene la mayor parte de los vectores de interrupciones. Muchos de ellos son tiles
desde el punto de vista de programacin; sin embargo pueden hacer la tarea del programador mucho ms
sencilla para realizar operaciones de I/O.
omo se mencion anteriormente la PC esta constituida lgicamente por su BIOS y sistema
operativo. La mayora de las rutinas que controlan al computador estn grabadas en el ROM del
BIOS, aunque muchas rutinas son establecidas por el sistema operativo y se cargan en RAM al
momento de encender al computador. Estas rutinas son denominadas interrupciones y son
activadas mediante la instruccin: INT nmero. Una interrupcin es una operacin que invoca la
ejecucin de una rutina especfica que suspende la ejecucin del programa que la llam, de tal
manera que el sistema toma control del computador colocando en el stack el contenido de los
registros CS e IP. El programa suspendido vuelve a activarse cuando termina la ejecucin de la
interrupcin y son restablecidos los registros salvados. Existen dos razones para ejecutar una
interrupcin: (1) intencionalmente como peticin para la entrada o salida de datos de un dispositivo, y
(2) un error serio y no intencional, como sobreflujo o divisin por cero.
El operando de una interrupcin indica cual es la rutina a activar. La direccin de la rutina es
localizada por medio de una tabla que el sistema mantiene a partir de la direccin 0000:0000h.
Existen 256 entradas de 4 bytes de longitud, y cada interrupcin proporciona varias funciones. Las
interrupciones de 00h a 1Fh corresponden al BIOS y de 20h a FFh son del DOS y BASIC. El
apndice F proporciona una lista de las interrupciones para equipo XT.

Por ejemplo, cuando estamos trabajando con un procesador de palabras y en ese
momentol l e g a u n a v i s o d e u n o d e l o s p u e r t o s d e c o mu n i c a c i o n e s , s e d e t i
e n e t e mp o r a l me n t e l a apl i caci n que est abamos ut i l i zando par a per mi t i r el us
o del pr ocesador al manej o de l ai nf or maci n que est l l egando en ese moment
o. Una vez t er mi nada l a t r ansf er enci a deinformacin se reanudan las funciones normales
del procesador de palabras.Las interrupciones ocurren muy seguido, sencil lamente la
interrupcin que actuali za la horadel da ocurre aproximadamente 18 veces por segundo.
Para lograr administrar todas estasinterrupciones, la computadora cuenta con un
espacio de memoria, llamado memoria baja,donde se almacenan las direcciones
de cierta localidad de memoria donde se encuentran un juego de instrucciones que la UCP
ejecutar para despus regresar a la aplicacin en proceso.

Cules son las principales interrupciones?
Grupo de instrucciones de interrupciones.
Instruccin Propsito Comentarios
HLT

INT tipo de
interrupcin




INTO

IRET
Alto

Interrupcin




Interrupcin, si existe
sobreflujo

Regreso de interrupcin
La ejecucin de esta instruccin
detine toda la actividad del
microprocesador.
La secuencia de operaciones que
desencadena esta instruccin es la
siguiente: el contenido de SP se
decrementa en 2 y se colocan en
stack todas las banderas. SP vuelve
a decrementarse en 2 y se enva al
stack el registro CS. Una vez hecho
esto, se carga CS con la palabra de
orden superior de la direccin del
segmanto que aparece en la tabla de
vectores de interrupcin de palabras
dobles. A continuacin SP vuelve a
decrementarse en 2 y se enva a IP
al stack para salvar el
desplazamiento. IP se carga con el
desplazamiento contenido en la
palabra menos significativa del
vector de interrupcin. El apuntador
al vector de interrupcin
correspondiente es igual tipo de
interrupcin x 4.
Esta interrupcin se ejecuta slo si
OF = 1. Trabaja de la misma
manera que la INT con la excepcin
de que DOS hace que apunte
directamente a una instruccin
IRET.
Esta instruccin regresa al control
en el punto donde ocurri la
interrupcin. Tanto CS como IP con
cargados desde el stack.
Dentro de una computadora existen dos clases de interrupciones:
Interrupciones por software: Son aquellas programadas por el usuario, es decir, el usuario decide
cuando y donde ejecutarlas, generalmente son usadas para realizar entrada y salida.
Interrupciones por hardware: Son aquellas que son provocadas por dispositivos externos al
procesador su caracterstica principal es que no son programadas, esto es, pueden ocurrir en
cualquier momento en el programa. Existen dos clases de interrupciones de este tipo:
Interrupciones por hardware enmascarables: Aquellas en las que el usuario decide si quiere o no
ser interrumpido.
Interrupciones por hardware no enmascarables (NMI): Aquellas que siempre interrumpen al
programa.

Tipos de interrupciones
int 00H-->division entre cero
int 01h-->un solo paso
int 02h-->interrupcion no enmascarable
int 03h--> punto de interrupcion
int 04h-->desbordamiento
int 05h-->impresion de pantalla
int 08h-->Cronometro
int 09h-->interrupcion desde el teclado
int 0Bh-->Control del puerto Com1
int 0Ch-->Control del puerto Com2
int 0Dh-->Control de dispositivos en paralelo
int 0EH-->Control de disco flexible
int 0Fh-->Control de dispositivos en paralelo 2
int 10h-->Funciones de exibicion de video
int 11h-->Determinacion del equipo
int 12h-->Determinacion tamao de la memoria
int 13h-->Funciones del Bios, E/S
int 14h-->Comunicaciones de E/S
int 15h-->Servicios del sistema
int 16h-->Funciones de entrada del teclado
int 18h-->Entrada con el Basic de Rom
int 19h-->Cargador ed arranque
int 1Ah-->Leer y establecer la hora
int 1Bh-->Obtener el control con una interrupcion de teclado.

Explicar un ejemplo de ensamblador
Checar pdf interrupciones en descargas

También podría gustarte