Sie sind auf Seite 1von 3

Lenguaje de programacin

Basic
Basic Es una familia de lenguajes de programacin de alto nivel. El BASIC original, el Dartmouth BASIC, fue
diseado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el Dartmouth College en New
Hampshire, Estados Unidos, como un medio para facilitar la programacin en ordenadores a estudiantes (y
profesores) que no fueran de ciencias. De aquella, casi todo el uso de los ordenadores requera codificar
software hecho a medida, con lo cual quedaba restringida a personas con formacin
como cientficos y matemticos. BASIC originalmente fue desarrollado como una herramienta de enseanza.
El lenguaje y sus variantes llegaron a estar ampliamente disponibles en los microcomputadores a finales de
los aos 1970 y en los aos 1980. BASIC sigue siendo popular a da de hoy en un puado de dialectos
altamente modificados, y en nuevos lenguajes, influenciados por BASIC tales como Microsoft Visual
Basic o Gambas en GNU/Linux. En el ao 2006, el 59% de los desarrolladores para la plataforma .NET
usaban Visual Basic .NET como su nico lenguaje.

Tipos de Datos
BASIC es reconocido por tener muy buenas funciones para manipular cadenas de caracteres. Los primeros
dialectos ya tenan un juego de funciones fundamentales (LEFT$, MID$, RIGHT$) para extraer y/o reemplazar
subcadenas fcilmente. Como las cadenas son utilizadas en aplicaciones diarias, esta era una ventaja
considerable sobre otros lenguajes al momento de su introduccin.
El Dartmouth BASIC original soportaba nicamente datos de tipo numrico y cadenas. No haba un tipo
entero. Todas las variables numricas eran de coma flotante. Las cadenas eran de tamao dinmico.
Soportaba arreglos de ambos, nmeros y cadenas, en una o dos dimensiones.
Cada dialecto moderno de BASIC posee al menos los tipos de datos numricos y cadena. Estos tipos de
datos se pueden distinguir usando un posfijo: los identificadores de cadenas terminan con $ (signo pesos,
ejemplo la variable NOMBRE$), mientras que los numricos sencillamente no llevan posfijo; a menos que se
requiera indicar y forzar explcitamente qu tipo de numrico es, por ejemplo A% es entero, A! es real simple
precisin y A# es real doble precisin.
En BASIC las variables no necesitan forzosamente ser declaradas antes de usarse, excepto los arreglos de
ms de 10 elementos; aunque versiones BASIC relativamente modernas poseen la opcin (considerada
buena prctica de programacin) para obligar al programador a declarar toda variable antes de su uso (una
directiva como OPTION EXPLICIT). La declaracin de variables en BASIC se hace usando la palabra clave
DIM.
Muchos dialectos tambin soportan tipos numricos adicionales, como enteros de 16 y 32 bits (simple y long,
respectivamente), adems de sus nmeros de coma flotante. Adicionalmente algunos permiten la utilizacin
de tipos de datos definidos por el usuario, similar a los "records" de Pascal, o las "structs" de C.

Versiones modernas de BASIC (como VBA) soportan una gran variedad de tipos de datos primitivos (o
intrnsecos), adems de los definidos por el usuario.
La mayora de los dialectos de BASIC soporta arreglos en todos sus tipos de datos; es comn tambin el
soporte para arreglos multidimensionales
Ejemplos:

DIM MatrizDeEnteros(100,100) AS INTEGER


DIM VectorDeEnteros%(30)
DIM ListaDeNombres(50) AS STRING
DIM ListaDeCiudades$(50)

Dependiendo del dialecto de BASIC y del uso del enunciado OPTION BASE, el primer ndice de los arreglos
que se declaren ser 1, por defecto es cero.
En los ejemplos anteriores, si no se declara previamente "OPTION BASE 1", el primero es un arreglo en dos
dimensiones de enteros 16 bits, con ndices que van desde 0 hasta 100 (matriz de 101 x 101 elementos); en
tanto que el segundo es un arreglo de enteros en una sola dimensin, de 0 a 30 (vector de 31 elementos).
Observar que las dos formas de declaracin de enteros son equivalentes, explicitndolo o con el uso del
posfijo %. Anlogamente para cadenas o string de caracteres, que en este caso adems son de longitud
variable (dinmicas, por defecto).

Entrada y salida de datos aritmticos


Este grupo de instrucciones forma un caso especial dentro de las instrucciones privilegiadas, principalmente
porque accesan a dispositivos que estn compartidos -por ejemplo puertos y discos duros, por mencionar
algunos dispositivos. Existen dos mtodos generales para manejar este tipo de instrucciones. Dependiendo del
tipo de MMV que se implante es la estrategia que se sigue para manejar las instrucciones privilegiadas de
entrada y salida. El primer mtodo consiste en dejar que se ejecuten las instrucciones y utilicen los
dispositivos fsicos que requieran (esta opcin es muy adecuada para los MMV de tipo I). El segundo mtodo
es simular su comportamiento con los recursos del sistema operativo anfitrin (esta tcnica la utilizan los
dems tipos de MMV y CSIM).
Para implantar la primera tcnica se requiere que el MMV corra en el mayor nivel de privilegio (que
proporcione el procesador) y as ejecute las instrucciones privilegiadas.
Para implantar la segunda tcnica, Rosenblum y Varadarajan proponen atacar estas instrucciones planteando
que un sistema operativo es, a final de cuentas, un programa con estradas y salidas (como se muestra en la
figura).

Las fuentes de las entradas y salidas para un sistema operativo incluyen excepciones y traps que llegan desde
el modo de usuario (como son llamados al sistema, fallas de pgina, errores matemticos, etc.), interrupciones
y DMA de los dispositivos. Las salidas de un sistema operativo controlan el MMU, el contenido de la
memoria de usuario, y la entrada y salida a los dispositivos. El hardware se puede simular utilizando servicios
proporcionados por un sistema operativo de propsito general, aunque lo que se obtiene en la interfaz de
hardware es diferente a lo que obtiene de un sistema operativo. Los sistemas operativos modernos
proporcionan un nivel de funcionalidad capaz de emular los servicios del hardware con una velocidad
aceptable.
Para tener una simulacin completa de un ncleo, es necesario proporcionarle una comunicacin
los dispositivos de E/S simulados. Las formas en que un SO accesa a los dispositivos de E/S son:

con

El SO utiliza instrucciones de carga y almacenamiento para transmitir y recibir comandos y datos de


los dispositivos

Los dispositivos utilizan el DMA para leer y escribir a la memoria especificada por una instruccin.

Los dispositivos utilizan interrupciones para notificar al CPU condiciones interesantes.

La primera tcnica se realiza usando instrucciones de carga y almacenamiento a direcciones de memoria que
se marcan para que no se utilicen por el cach. Es posible implementar estas solicitudes de carga y
almacenamiento marcando esta direcciones de memoria como invlidas. Entonces una seal atrapa las
operaciones y se simula el flujo correcto de informacin con el simulador de E/S. El DMA se implanta
permitiendo el acceso de los dispositivos simulados al archivo de memoria fsica del simulador. El dispositivo
puede implantar las operaciones de lectura y escritura a DMA leyendo y escribiendo a este archivo.
Las interrupciones se implantan haciendo que los dispositivos enven una seal al proceso que tiene al
simulador del hardware en ejecucin. El simulador del hardware atrapa la seal y la convierte en una
interrupcin, la cual se enva a los manejadores de interrupcin del Sistema Operativo.

Das könnte Ihnen auch gefallen