martes, 22 de febrero de 2011

APUNTES DE LA PRIMERA UNIDAD DE SOFTWARE DE SISTEMAS

1.1 REVISION DEL MODELO DE VON NEWMAN

JOHN VON NEWMAN OBSERVO QUE LA TORPEZA DE LA ARITMETICA DECIMAL UTILIZADA EN LA COMPUTADORA ENIAC FUE LA PRIMER COMPUTADORA QUE PODRIA REEMPLAZARSE UTILIZANDO LA ARITMETICA BINARIA. REALIZO UN DISEÑO BASICO LLAMADO LA MAQUINA DE VON NEWMAN Y SE UTILIZO EN LA COMPUTADORA EDVAC QUE FUE LA PRIMER COMPUTADORA QUE ALMACENABA EL PROGRAMA, LA MAQUINA DE VON NEWMAN TENIA 5 PARTES LAS CUALES SON:
1._MEMORIA:CONSTABA DE 40 A 96 PALABRAS CADA UNA DE 40 BITS Y CADA PALABRA PODRIA CONTENER 2 INSTRUCCIONES DE  20 BITS  CADA UNA DE UN NUMERO ENTERO DE 30 BITS Y SU SIGNO.
2._ UNIDAD DE CONTROL: ES LA QUE RVISA LA TRANSFERENCIA DE INFORMACION Y LE INDICA A LA UNIDAD ARITMETICA LOGICA CUAL ES LA OPERACION QUE DESEA EJECUTAR.
3._ALU: ES AQUELLA QUE SE ENCARGA DE REALIZAR LAS OPERACIONES ARITMETICAS Y LOGICAS NECESARIAS PARA LA EJECUCION DE UNA INSTRUCCION.
4._ ENTRADA: ES CUALQUIER  DISPOSITIVO POR EL QUE SE INTRODUCE LA INFORMACION ALA COMPUTADORA.
5._ SALIDA: ES CUALQUIER DISPOSITIVO QUE RECIBE INFORMACION DE LA COMPUTADORA PARA SER UTILIZADA POR LOS USUARIOS .
 VON NEWMAN PROPUSO 2 METODOS BASICOS LOS CUALES SON:
1._
 LA UTILIZACION DEL SISTEMA DE NUMERACION BINARIA SIMPLIFICADA ENORMEMENTE LOS PROBLEMAS DE LA IMPLEMENTACION ELECTRICA  Y FUNCIONES LOGICAS  QUE SE PLANTEABAN Y ALA VEZ SE  PROPORCIONABA UNA MAYOR UNIDAD A LOS RAYOS ELECTRICOS DIGITALES.
2._
ALAMACENAMIENTO DE LAS INSTRUCCIONES DE QUE CONSTA EL PROGRAMA EN UNA MEMORIA INTERNA, FACILMENTE ACCESIBLE JUNTO CON LOS DATOS  QUE  HACEN REFERENCIA , DE ESTA VELOCIDAD  DE PROCESO EXPERIMENTA UN CONSIDERABLE INCREMENTO.

TOMANDO EN CUENTA LOS MEDELOS DE LAS COMPUTADORAS  QUE APARECIERON INCORPORANDO LAS ANTERIORES CARACTERISTICAS DEL ORNEDADOR  SE CONSIDERA POR LAS SIGUIENTES PARTES:
1._ UCP
2._ MEMORIA INTERNA
3._ UNIDAD DE ENTRADA Y SALIDA
4._ MEMORIA MASIVA EXTERNA

LA TARJETA MADRE ESTA CONSTITUIDA POR DIFERENTES PARTES QUE CONFORMAN UN CPU EN LA COMPUTADORA DE VON NEWMAN  SE ENCUENTRAN ESTRUCTURADOS POR UN BUS PRICIPAL  QUE ES UN CONJUNTO DE LINEAS  QUE ENLAZAN LOS DISTINTOS COMPONENTES DEL ORDENADOR PARA REALIZAR LA TRANSFERENCIA DE DATOS ENTRE TODOS LOS ELEMENTOS QUE LO INTEGRAN Y SE DISTINGUEN 3 TIPOS DE BUSES LOS CUALES SON:
BUS DE CONTROL:
FORMA PARTE DE EL LAS LINEAS QUE SELECCIONAN DESDE Y DONDE Y HACIA DONDE VA DIRIGIDA LA INFORMACION , TAMBIEN LOS QUE MARCAN LA SECUENCIA DE LOS PASOS  A SEGUIR PARA DICHA TRANSFERENCIA.
 BUS DE DATOS:
 POR EL DE FORMA BIDIRECIONAL, FLUYEN LOS DATOS ENTRE LOS DISTINTOS PARTES DEL ORDENADOR.

BUS DE DIRECCIONES:
CONSTA DE UN COMPUTO DE LINEAS  QUE PERMITE SELECCIONAR  DE UNA POSICION DE LA MEMORIA SE QUIERE LEER SU CONTENIDO TAMBIEN DIRECCIONA LAS FUENTES DE ENTRADA Y SALIDA .


1.2  DEL PROBLEMA AL PROGRAMA CARGADO

AL CARGAR LOS PROGRAMAS EN UNA COMPUTADORA LA MAQUINA ACTUAR COMO SI RECIBIERA UNA EDUCACION INSTANNANEA QUE LE PERMITE SABER , PENSAR Y  ESPERAR TODOS LOS PROGRAMAS.
 

EL PROCESO DE RESOLUCION DE UN PROBLEMA CON UNA COMPUTADORA  CONDUCE ALA ESTRUCTURA DE UN PROGRAMA Y A SU EJECUCION EN LA MISMA , AUNQUE EL PROCESO DE DISEÑO DE PROGRAMAS  ES ESTRICTAMENTE UN PROCESO CREACTIVO SE PUEDE CONSIDERAR  UNA SERIE DE FACES  O PASOS .
LOS PROGRAMAS DEBEN DE SEGUIR UNA TABLA DE CONTENIDOS QUE LE SIRVE PARA SOLUCIONAR LOS PLANTEAMIENTOS DEL PROBLEMA QUE SE TENGA:

1._ DEFNICION DEL PROBLEMA
2._ ANALISIS DEL PROBLEMA
3._ SELECCION DE LA MEJORA ALTERNATIVA
4._ DIAGRAMACION
5._ CODIFICACION
6._TRANSCRIPCION
7._COMPILACION
8._PRUEBAS DEL COMPILADOR
9._PRUEBA DE ESCRITORIO
10._DOCUMENTACION EXTERNA

1.3 LENGUAJES FORMALES

EN MATEMATICAS,LOGICA Y CIENCIAS DE LA COMPUTACION, UN LENGUAJE FORMAL ES UN LENGUAJE CUYO SIMBOLOS Y REGLAS PARA UNIR ESOS SIMBOLOS ESTAN FORMATICAMENTE ESPECIFICADOS  AL CONJUNTO DELOS SIMBOLOS SE LES LLAMA ALFABETO DEL LENGUAJE Y AL CONJUNTO DE LAS REGLAS SE LES LLAMA LA DRAMATICA FORMAL , AUNA CADENA DE SIMBOLOS FORMADO DE ACUERDO ALA DRAMATICA  SE LE LLAMA COMO UNA FORMULA DEFINIDA POR UN LENGUAJE FORMAL QUE ES IDIENTICO AL CONJUNTO DEL ALFABETO.
LOS LENGUAJES SE ENCUENTRAN CONSTITUIDOS POPR MEDIO DEL ALFABETO UTILIZANDO SIMBOLOS DE (SIGMA) QUE NOS REPRESENTA TODO EL CONJUNTO DEL ALFABETO.

LOS LENGUAJES SE PUEDEN CONSIDERAR COMO UN LENGUAJE FINITO LO CUAL QUIERE DECIR QUE TIENE UN FIN O LIMITE DE DETERMINADOS CARACTERES.

EL LENGUAJE CONSTITUIDO COMO INFINITO REPRESENTA UN BUCLE QUE NO TIENE FIN, SOLOAMENTE CUANDO EXISTE UN DESBORDAMIENTO DE PILA.

1.4 EDITORES

 UN EDITOR ES UN PROGRAMA QUE NOS PERMITE CREAR Y MODIFICAR ARCHIVOS DIGITALES COMPUESTOS UNICAMENTE POR TEXTOS SIN FORMATO, CONOCIDOS COMUNMENTE COMO ARCHIVOS DE TEXTO O TEXTO PLANO. EL PROGRAMA LEE EL ARCHIVO E INTERPRETA LOS BYTES LEIDOS SEGUN EL CODIGO DE CARACTERES QUE USA EL EDITOR. HOY EN DIA ES COMUNMENTE DE 7_ O 8_ BITS EN ASCII O UTF_8 ,RARA
VEZ EN EBCDIC.

POR EJEMPLO, UN EDITOR ASCII DE 8 BITS  QUE LEE EL NUMERO BINARIO 0110 0001(DECIMAL 97 O HEXADECIMAL 61) EN EL ARCHIVO LO REPRESENTARA EN LA PANTALLA POR LA FIGURA A , QUE EL USUARIO  RECONOCE COMO LA LETRA "A" Y OFRESERA AL USUARIO LAS FUNCIONES NECESARIAS PARA CAMBIAR  EL NUMERO BINARIO EN ARCHIVO.

1.4.1  CARACTER

ESTOS EDITORES PERMITEN CARACTERIZAR , POR LO QUE NO SE REQUIERE EL USO DEL MOUSE  Y SE TENDRA QUE TECLEAR CADA UNO DE LOS COMANDOS  QUE SE REQUIERA PARA SU PETICION; ESTOS EDITORES  SON LOS QUE UTILIZAN EN MODO DE CONSOLA Y MENCIONAREMS LOS SIGUIENTES:COL,MS2 Y ENSAMBLADOR.


1.4.2 LINEAS

SON AQUELLOS EDITORES QUE TRADUCEN LINEA POR LINEA  Y A SU VEZ LA EJECUCION DEL PROGRAMA  POR  LO QUE SE MUESTRA EL RESULTADO CUANDO NO EXISTE ERRORES DE SINTAXIS. LOS EDITORES  QUEMANEJAN ESTE TIPO DE TRADUCCION  SON LOS SIGUIENTES: HTML,JAVA Y ENSAMBLADOR.

1.4.3 PANTALLA

LOS EDITORES QUE UTILIZAN LA FORMA DE COMPILAR O TRADUCIR EL CODIGO  FUENTE LO PRIMERO REALIZA UN CHEQUEO  DE TODAS LAS LINEAS PARA VERIFICAR  QUE NO EXISTA ERRORES DE SINTAXIS Y POSTERIORMENTE MOSTRAR EL RESULTADO EN PANTALLA. LOS MAS CONOCIDOS SON: LENGUAJE C, VISUAL BASIC,C#.

1.5 LENGUAJES DE PROGRAMACION

SON AQUELLOS LENGUAJES UTILIZADOS PARA ESCRIBIR PROGRAMAS DE COMPUTADORA QUE PUEDEN SER ENTENDIDOS  POR UN LENGUAJE DE PROGRAMACION . LOS LENGUAJES PERMITEN OBTENER RESULTADOS   DE MANERA LOGICA  EN BASE DE TIPO DE LENGUAJE  DE LA COMPUTADORA PUEDA UTILIZAR LOS CUALES SON:C# ,  VISUAL BASIC Y HTML.

 

1.5.1 NIVELES ( BAJO,INTERMEDIO Y ALTO)


LOS LENGUAJES DE PROGRAMACION SE CLASIFICAN  EN TRES GRANDES CATEGORIAS LO QUE SON BAJO, INTERMEDIO Y ALTO.

EL LENGUAJE DE BAJO NIVEL ES CONOCIDO COMO LENGUAJE DE MAQUINA Y SON AQUELLOS QUE UTILIZAN INSTRUCCIONES DIRECTAMENTE ALA COMPUTADORA POR LO QUE ES ENTENDIDO LA CPU( UNIDAD CENTRAL DE PROCESO) Y UTILIZA EXPRECIONES  DE MEMORIA MAS PEQUEÑA COMO BIT, REPRESENTADO EN 001.


LENGUAJE DE ALTO NIVEL:
 LOS LENGUAJES LOGRAN LA INDEPENDENCIA DEL TIPO DE LENGUAJE DE MAQUINA  Y SE APROXIMA AL LENGUAJE NATURAL. LOS LENGUAJES  DE LATO NIVEL TAMBIEN DENOMIDADOS LENGUAJES REVOLUCIONADOS Y TIENEN LOS  SIGUUIENTES OBJETIVOS:

A) PUEDEN UTILIZAR UN MISMO PROGRAMA  EN DIFRENTES EQUIPOS  CON LA UNICA CONDICION  DE DISPONER DEL PROGRAMA DE COMPILADOR .

B) EL CODIGO DE PROGRAMA  PUEDE ESCRIBIISE Y LEERSE  DE UNA FORMA MAS SENCILLA Y COMPRENCIBLE.

C)INFLUYE RUTINAS  DE E/S  YA QUE CONTIENE FUNCIONES ESPECIFICAS INCLUIDAS COMO LIBRERIAS.

SE PUEDE DECIR QUE EL PRICIPAL PROBLEMA QUE REPRESENTA LOS LENGUAJES ES LA CANTIDAD QUE ACTUALMENTE ESTA EXISTIENDO Y PODEMOS MENCIONAR LOS SIGUIENTES:
+ FORTRAN , LISP, COBOL, ASP
+MODULA , PASCAL , BASIC, ADA
+ VISUAL BASIC , JAVA, PHE


1.5.2 TIPOS ( INTERPRETES Y COMPILADORES)

 INTERPRETE:
UN PROGRAMA DESDE SU DESCRIPCION.ES UN PROGRAMA INFORMATICO  CAPAZ DE EJECUTAR Y ANALIZAR OTROS PROGRAMAS ESCRITOS EN UN LENGUAJE DE ALTO NIVEL, LOS INTERPRETES SE DIFERENCIAN DE LOS COMPILADORES EN QUE MIENTRAS ESTOS TRADUCEN.
COMPILADOR:

ES UN PROGRAMA ESCRITO EN UN LENGUAJE INFORMATICO QUE TRADUCE  DE PROGRAMACION A OTRO LENGUAJE DE PROGRAMACION GENERANDO UN PROGRAMA EQUIVALENTE  DE LA MAQUINA SEA CAPAZ DE INTERPRETAR.
1.5.3 COMPARACION ENTRE UN INTERPRETE Y UN COMPILADOR


Un compilador no es un programa que funciona de manera aislada, sino que necesita de otros programas para conseguir su objetivo: obtener un programa ejecutable a partir de un programa fuente en un lenguaje de alto nivel. Algunos de esos programas son el preprocesador, el linker, el depurador y el ensamblador. El preprocesador se ocupa (dependiendo del lenguaje) de incluir ficheros, expandir macros, eliminar comentarios, y otras tareas similares. El linker se encarga de construir el fichero ejecutable añadiendo al fichero objeto generado por el compilador las cabeceras necesarias y las funciones de librería utilizadas por el programa fuente. El depurador permite, si el compilador ha generado adecuadamente el programa objeto, seguir paso a paso la ejecución de un programa. Finalmente, muchos compiladores, en vez de generar código objeto, generan un programa en lenguaje ensamblador que debe después convertirse en un ejecutable mediante un programa ensamblador.
En un intérprete sólo hay que distinguir dos lenguajes diferentes, el de los programas de partida (LA), y el lenguaje en que está escrito el intérprete (LC).
Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.