Sistemas computacionales

12,102 views
11,896 views

Published on

Sistemas Computacionales - Trabajo de Investigación Documental.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,102
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
213
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Sistemas computacionales

  1. 1. SISTEMAS COMPUTACIONALES Héctor Eloy Jiménez Estrada Investigacion documental Preparatoria Regional de Sayula modulo San Gabriel
  2. 2. INDICE. INDICE.Índice…….………………………………………………………………1Objetivos (Generales, Particulares), Justificación, Tipo De Estudio…………….2Preguntas…………….…………………………………………………...3Tipos de Hipótesis…………………………………………………………4Antecedentes Históricos (Las generaciones)………………..…..…………...5-9Capitulo 1Que son los sistemas computacionales………………………………………10Modernización de los sistemas computacionales……………………………..10Programa Fuete…………………………………………………………..11Programa Objeto………………………………………………………11-12Que es el Compilador…………………………………………………...12-13Fases del Compilador……………………………………………………...13Administración de tabla de símbolos…………………………………….13-14Definición e información de errores………………………………………....14Fases del análisis…………………………………………………………14Representación de una proposición…………………………………………15Generación del Código Intermedio………………………………………15-16Optimización del Código……………………………………………….16-17Partes del Compilador……………………………………………………..17Tipos de Compiladores…………………………………………………17-18Ventajas del Compilador…………………………………………………..18Funciones del Compilador…………………………………………………19Partes con las que trabaja…………………………………………………19Ejemplo del Compilador…………………………………………………...19Capitulo 2Que es un Cargador…………………………………………………....20-21Opciones de diseño del Cargador……………………..…………………......21Cargadores de Arranque………………………………………………..21-22Cargador de Cyber……………………………………………………..22-23Relación Informática-Sistemas Computacionales…………………………….23Programas de Superposición…………………………………………….23-24Sistema Operativo………………………………………………………...24Como funciona un Sistema Operativo……………..……………………..24-25Sistemas Operativos Actuales……………………………………………...25Sistemas Operativos de Red…………………………………………….25-261
  3. 3. Sistemas Operativos Distribuidos…………………………………………..26Sistemas Operativos por Estructura………………………………………...26Estructura Monolítica…………………………………………………26-27Estructura Jerárquica……………………………………………………..27Cliente-Servidor…………………………………………………………..27Maquina Virtual…………………………………………………..…..27-28Sistemas Operativos por servicios…………………………………………..28Monousuarios, Multiusuarios y Monotareas………………………………..28Multitareas, Unitarias, y Multiproceso…………………………………….29Superordenadores………………………………………………………....29Capitulo 3Función de un sistema binario en una PC………………………………...…30Hardware………………………………………………………….…30-31Hardware de entrada………………………………………………..…31-32Hardware de Salida…………………………………………………....32-33Hardware de Almacenamiento………………………………………….33-34Conexiones del Hardware………………………………………………….34Software………………………………………………………..……35-36Sistemas Digitales…………………………………………………….…..36Borrado y Escritura Automática……………………………………….…..37Estructura de una celdilla Flash………………………………………...37-38Código Abierto………………………………………………………...38-39Capitulo 4Redes de Ordenadores………………………………………………….40-41Tipos de Redes………………………………………………….…..41-42-43Conexiones de Red.………………………………………………………..43Medios de Transmisión……………………………………………………43Topología……………………………………………………………..43-44Compartir Información…………………………………………………....44Función y Gestión de Redes…………………………………………….44-45Protocolo de Red……………………………………………………....45-46Lenguaje de Programación………………………………………..…46-47-48Patrón de Diseño………………………………………………..…….48-49Glosario…………………………………………………………...….50-55Bibliografía…………………………………………..………………56-572
  4. 4. SISTEMAS COMPUTACIONALES (OPERATIVOS).El sistema comienza con un usuario o equipo el cual introduce información al sistema deacuerdo a un parámetro anteriormente establecidos. Los datos suministrados deberán serexactos, que no difieran con la aplicación que los recibirá y procesará; si esto ocurre, elprograma no se ejecutará o arrojará los resultados esperados. Estos datos suelen ser escritos enun sistema diferente al sistema binario. OBJETIVOS PARTICULARES. 1. Saber cual es la función principal de los sistemas computacionales para saber los beneficios que tienen en la sociedad. 2. Entender la relación que tienen los sistemas Computacionales (Operativos) con las ciencias aplicadas. 3. Conocer los conceptos básicos de los sistemas computacionales. OBJETIVO GENERAL.Comprender como los sistemas computacionales se adentran en la sociedad a si mismoconoceremos los beneficios, avances, tendencias y conceptos básicos, también veremos como ypor que afectan a la comunidad. JUSTIFICACION.Esta investigación se realiza con el fin de que las personas que gusten de los SistemasComputacionales sepan cuales son las áreas, conceptos, beneficios, desventajas que se manejanen los sistemas computacionales, a si se sabrá cual es la verdadera visión de esta ingeniería. TIPO DE ESTUDIO.Este es un estudio Correlacional; por que esta investigación tendrá comparaciones entredistintos conceptos y se vera cuales son las definiciones especificas de cada concepto.También se vera cual es la función principal de cada uno de estos conceptos.3
  5. 5. PREGUNTAS.1.- ¿Qué son los sistemas computacionales?2.- ¿Cómo ha sido su modernización?3.- ¿Qué es un programa fuente?4.- ¿Qué es un programa objeto?5.- ¿Para que sirve un compilador?6.- ¿Qué es un cargador?7.- ¿Qué relación tienen con la informática?8.- ¿Qué son los programas de superposiciones?9.- ¿Qué es un sistema operativo?10.- ¿Qué es un superordenador?11.- ¿Cómo funcionan el sistema binario en un PC?12.- ¿Qué es Hardware?13.- ¿Qué es Software?14.- ¿Qué son los sistemas digitales?15.- ¿Qué es un código abierto?16.- ¿Qué son las redes de ordenadores?17.- ¿Qué tipos de redes existen y para que sirven?18.- ¿Qué es un protocolo de red?19.- ¿Qué son los lenguajes de programación?20.- ¿Qué es un patrón de diseño?4
  6. 6. TIPOS DE HIPOTESIS. a) HIPOTESIS DE INVESTIGACION. 1. Un sistema operativo es aquel que sirve para que una computadora funcione. 2. Un programa fuente es base para la elaboración de documentos. 3. El software son todos los programas internos de una computadora. b) HIPOTESIS NULAS. 1. Un sistema operativo no sirve para que una computadora funcione. 2. Un programa fuente no es base para la elaboración de documentos. 3. El software no son todos los programas internos de una computadora. c) HIPOTESIS ALTERNATIVAS. 1. Un sistema operativo sirve para navegar en Internet. 2. Los programas fuentes son programas internos. 3. El software son documentos creados por el humano.5
  7. 7. ANTECEDENTES HISTORICOS.La Ingeniería en Sistemas Computacionales es un campo de alta demanda en la actualidad.Los programas de esta carrera deben ser diseñados con la idea de mantenerse actualizados encuanto a los adelantos científicos en esta área y las demandas de la sociedad en la que losprofesionistas se han de desenvolver. Por esta razón los programas de esta carrera están en unconstante proceso de actualización.Un sistema computacional esta compuesto por uno o varios equipos (computadores u otrosdispositivos) electro-mecánicos soportados por programas específicos para la realización detareas o solución de problemas.Un sistema computacional es un sistema complejo que puede llegar a estar constituido pormillones de componentes electrónicos elementales.Un sistema operativo (SO) es un conjunto de programas o software destinado a permitir lacomunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda yeficiente. Comienza a trabajar cuando se enciende el ordenador, y gestiona el hardware de lamaquina desde los niveles más básicos.Pues si se puede poner por que los sistemas de cómputo hoy en día tienden a la globalización,una red mundial, ejemplo “Internet”, y todas esas facilidades para que se puedan comunicar lascomputadoras las dan los sistemas OperativosLos Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una seriede cambios revolucionarios llamados generaciones. En el caso del Hardware, las generacioneshan sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas(primera generación) a transistores (segunda generación), a circuitos integrados (tercerageneración), a circuitos integrados de gran y muy gran escala (cuarta generación). Cadageneración Sucesiva de hardware ha ido acompañada de reducciones substanciales en loscostos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidady capacidad.6
  8. 8. Generación Generación Cero (década de 1940)Los primeros sistemas computacionales no poseían sistemas operativos. Los usuarios teníancompleto acceso al lenguaje de la maquina. Todas las instrucciones eran codificadas a mano. (1945- Primera Generación (1945-1955) "Generación de tubos de vacío y tableros de conmutación"Las primeras maquinas de calculo operaban mediante el uso de tubos de vacío, con estasmáquinas un solo equipo de personas diseñaba, construía, programaba y daba mantenimientoa cada una de las máquinas. Toda la programación se realizaba en lenguaje de máquinaabsoluto. Los lenguajes de programación se desconocían, aun no existía el lenguajeensamblador.Los sistemas operativos de los años cincuenta fueron diseñados para hacer mas fluida latransición entre trabajos. Antes de que los sistemas fueran diseñados, se perdía un tiempoconsiderable entre la terminación de un trabajo y el inicio del siguiente. Este fue el comienzo delos sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes.Cuando el trabajo estaba en ejecución, este tenia control total de la maquina. Al terminar cadatrabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e iniciaba el trabajosiguiente.Al inicio de los 50s esto había mejorado un poco con la introducción de tarjetas perforadas (lascuales servían para introducir los programas de lenguajes de máquina), puesto que ya no habíanecesidad de utilizar los tableros enchufables.Para poder correr un trabajo (programa), tenían que escribirlo en papel (en Fortran o enlenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila detarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores. Cuando lacomputadora terminara el trabajo, un operador se dirigiría a la impresora y desprendería lasalida y la llevaría al cuarto de salida, para que la recogiera el programador. (1955- Segunda Generación (1955-1965) "Generación de Transistores y sistemas de lote"La introducción del transistor a mediados de los 50s cambió la imagen radicalmente. Gracias aesto las computadoras se volvieron muy confiables. Estas máquinas se instalaban en cuartosespecialmente acondicionados con aire, con un cuerpo de programadores profesionales parautilizarlas.7
  9. 9. Para poder correr un trabajo (programa), tenían que escribirlo en papel (en Fortran o enlenguaje ensamblador) y después se perforaría en tarjetas. Enseguida se llevaría la pila detarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores. Cuando lacomputadora terminara el trabajo, un operador se dirigiría a la impresora y desprendería lasalida y la llevaría al cuarto de salida, para que la recogiera el programador.La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos conmultiprogramación, y los principios del multiprocesamiento. En los sistemas demultiprogramación, varios programas de usuario se encuentran al mismo tiempo en elalmacenamiento principal, y el procesador se cambia rápidamente de un trabajo a otro. En lossistemas de multiprocesamiento se utilizan varios procesadores en un solo sistemacomputacional, con la finalidad de incrementar el poder de procesamiento de la maquina.La independencia de dispositivos aparece después. Un usuario que desea escribir datos en unacinta en sistemas de la primera generación tenia que hacer referencia especifica a una unidad decinta particular. En la segunda generación, el programa del usuario especificaba tan solo queun archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y ciertadensidad.Dado a que el costo del equipo era muy alto, se buscaba la forma de reducir el tiempo perdido.La solución que se le dio fue el sistema de lote. La idea de este sistema era la de juntar un lotede trabajos y después leerlos en una cinta magnética con la ayuda de una computadora"relativamente" pequeña y poco costosa. (IBM 1401).Después de recolectar por una hora estos trabajos se rebobinaba la cinta y se llevaba a dondeestaba la máquina. Ya ahí el programador cargaba un programa que leía el primer programa dela cinta y lo ejecutaba, la salida se escribía en una segunda cinta en vez de imprimirse, despuésde terminar cada trabajo, el sistema operativo leía automáticamente el siguiente trabajo de lacinta, y comenzaba a ejecutarlo. (1965- Tercera Generación (1965-1980) "Generación de circuitos integrados y multiprogramación"Al inicio de la década de 1960 (cabe destacar que esta generación se usa aun en nuestros días)muchos fabricantes de computadoras tenían dos líneas de trabajo distintas y totalmenteincompatibles. Por un lado existían las computadoras científicas de grande escala orientadas alas palabras, como la 7094. Por el otro lado estaban las computadoras comerciales orientadas alos caracteres, como 1401. El desarrollo y mantenimiento de dos líneas de productos diferentesera una proposición costosa para los fabricantes.IBM intento resolver esto con la introducción en el mercado del Sistema/360 que era unsistema compatible con el software que variaban del tamaño de la 1401 a mucho más poderosaque las 7094, diseñada para hacer cálculos tanto científicos como comerciales.8
  10. 10. EL 360 fue la primera línea de computadoras que utilizo circuitos integrados (CI), por lo tantoofreció un mejor precio y rendimiento sobre las máquinas de la segunda generación.Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesos porlotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes ycostosos, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrolloterminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcabacomo fecha de terminación.Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; unacomplejidad a la cual, en un principio, no estaban acostumbrados los usuarios.Otra característica de importancia en los sistemas operativos de la tercera generación era lacapacidad de leer trabajos de tarjetas contenidas en el disco tan pronto como se llevaban alcuarto de computación. Siempre que se terminaba un trabajo, el sistema operativo podía cargaruno nuevo del disco en la partición no vacía y ejecutarlo, esta técnica se denomina manejo porcola de impresión. Los sistemas operativos de la tercera generación seguían siendo básicamentesistemas de lote. Con los sistemas operativos de la tercera generación, el tiempo entre la entregade un trabajo y la devolución de la salida comprendía a menudo varias horas.El primer sistema de tiempo compartido ( CTSS ) serio fue creado en MIT en una unidad 7094especialmente modificada, no se volvió popular sino hasta que el hardware de protecciónnecesario se disemino durante la tercera generación. Cuarta Generación (1980-1995) (1980-1995) "Computadoras personales"Los sistemas de la cuarta generación constituyen el estado actual de la tecnología. Muchosdiseñadores y usuarios se sienten aun incómodos, después de sus experiencias con los sistemasoperativos de la tercera generación.Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuariosobtienen acceso a computadores alejados geográficamente a través de varios tipos determinales.Un avance importante que empezó a tomar su sitio a mediados de la década de 1980 es eldesarrollo de redes de computadoras personales que corren sistemas operativos en red y sistemasoperativos distribuidos. En un sistema operativo en red, los usuarios tienen conocimiento de laexistencia de múltiples computadoras y pueden ingresar en maquinas remotas y reproducirarchivos de una maquina a la otra. Cada maquina ejecuta su sistema operativo local y tiene unusuario propio (o usuarios). Un sistema distribuido, es aquel que se presenta ante sus usuarioscomo un sistema uní procesador tradicional, aunque en realidad este compuesto de múltiplesprocesadores. En un sistema distribuido real, los usuarios no tienen conocimiento de donde se9
  11. 11. están ejecutando sus programas o de donde están ubicados sus archivos; todo esto se debemanejar en forma automática y eficiente por medio del sistema operativo.Los sistemas de seguridad se han incrementado mucho ahora que la información pasa a travésde varios tipos vulnerables de líneas de comunicación. La clave de cifrado esta recibiendomucha atención; han sido necesario codificar los datos personales o de gran intimidad para que;aun si los datos son expuestos, no sean de utilidad a nadie mas que a los receptores adecuados.El porcentaje de la población que tiene acceso a un computador en la década de los ochenta esmucho mayor que nunca y aumenta rápidamente.El concepto de maquinas virtuales es utilizado. El usuario ya no se encuentra interesado en losdetalles físicos de; sistema de computación que esta siendo accedida. En su lugar, el usuario veun panorama llamado maquina virtual creado por el sistema operativo.Los sistemas de bases de datos han adquirido gran importancia. Nuestro mundo es unasociedad orientada hacia la información, y el trabajo de las bases de datos es hacer que estainformación sea conveniente accesible de una manera controlada para aquellos que tienenderechos de acceso.*Cabe resaltar que esta generación marca: el reemplazo de las memorias con núcleosmagnéticos, por las de chips de silicio y la colocación de muchos más componentes en un chip:producto de la micro miniaturización de los circuitos electrónicos. El tamaño reducido delmicroprocesador y de chips hizo posible la creación de las computadoras personales (PC)Hoy en día las tecnologías LSI (Integración a gran escala) y VLSI (integración a muy granescala) permiten que cientos de miles de componentes electrónicos se almacenen en un chip. (1995 1995- Quinta Generación (1995-Presente) "Inteligencia Artificial"Se puede intentar prever cuales van hacer los efectos de las invenciones que están a punto dellegar al mercado y que novedades tecnológicas configuran la sociedad del futuro. Ello solo eslicito, sino, además, muy interesante. Pero lo cierto es que ni siquiera los mejores especialistasen las diversas tecnologías pueden ofrecer a ciencia cierta una visión medianamenteaproximada de lo que nos deparara el futuro.El esquema recoge algunas de las funciones que lleva a cabo una computadora personal en elentorno domestico. Están apareciendo sistemas que integran todas las funciones de lacomputadora y las relacionan con las de aparatos como la televisión, la cadena de altafidelidad, el video, etc.10
  12. 12. “CAPITULO I” QUE SON LOS SISTEMAS COMPUTACIONALES.Un sistema computacional esta formado por un grupo de sistemas operativos.Es un campo de acción profesional bastante amplio ya que el desarrollo yaplicación de los sistemas de procesamiento de información tiene aplicación entodas las áreas de la actividad humana. En base a lo anterior el profesional de estaespecialidad puede integrarse al trabajo productivo en cualquier empresa del sectorpúblico o privado que requiera a sus servicios; desarrollando sistemas o mejorandolos ya existentes. También puede elaborar en centros de investigación en programasde desarrollo tanto de software como de hardware manteniéndose actualizado enáreas de especialización para aprovechar los avances tecnológicos y dar respuestaoportuna y eficaz a los problemas existentes. MODERNIZACION SISTEMAS COMPUTACIONALES.La modernización del país ha propiciado la incorporación de computadoras entodos los ámbitos de la vida productiva de México, esto ha generado la necesidadde contar con profesionistas competentes en el análisis, diseño, construcción,operación y mantenimiento de sistemas a fin de resolver procesos en las áreasindustriales, de desarrollo, administrativas, sociales y científicas, que se apoyan enlas herramientas informáticas y en el procesamiento electrónico de la información.Considerando que actualmente las ciencias computacionales son un área delconocimiento en constante cambio y evolución, y aunado a la necesidad demodernización del país, esto ha propiciado en mayor medida la incorporación de lascomputadoras en todos los ámbitos de la vida productiva de México, lo cual hagenerado la necesidad de contar con profesionales capaces de desarrollar,implementar y evaluar sistemas de información.En PRE esto genera una disciplina que analiza, diseña y controla sistemas que seutilizan para resolver y representar procesos en las áreas industriales, de desarrollo,administrativos, sociales y científicos, apoyadas en las herramientascomputacionales y en el procesamiento electrónico de la información.11
  13. 13. PROGRAMA FUENTE.Conjunto de instrucciones ordenadas en cierta forma lógica que permiten realizaruna o varias funciones en forma automática por una computadora. Lasinstrucciones deben de cumplir con ciertas características especiales y únicas(sintaxis) a ese lenguaje de programación como el COBOL, Visual Basic o C.El programa fuente es un conjunto de líneas de código que conforman un bloque detexto que normalmente genera otro código mediante un compilador o intérpretepara ser ejecutado por una computadora.Normalmente se refiere a la programación de software. Un único programador o unequipo de ellos escriben el código fuente en el lenguaje de programación elegido.Posteriormente en un proceso de compilación el código fuente se traduce en códigoobjeto.A diferencia del código objeto, el código fuente es texto simple, capaz de ser leídopor cualquier editor de textos y lo que es más importante, entendible por cualquierprogramador. En él están escritas las instrucciones que deberá realizar lacomputadora, según la sintaxis de un lenguaje de programación. Tener el códigofuente es vital si se necesita modificar un programa.El término de código fuente también se usa para el código de otros lenguajes, comolos de marcado de textos, como el HTML, que posteriormente son interpretados porun programa especializado, en este caso el navegador Web, para su lectura.Ejemplo de código fuente en C:#include <stdio.h> int main(void){ printf("Hola como estasn"); printf(“Yo bien y tun”) return 0;} OBJETO. PROGRAMA OBJETO.Un programa a nivel de lenguaje máquina que resulta de la compilación de unprograma fuente.Se llama programa objeto en programación al código resultante de la compilacióndel código fuente, por lo general está codificado en código de máquina y distribuidoen varios archivos resultantes de la compilación de cada archivo de código fuente.Para obtener un archivo ejecutable se han de enlazar todos los archivos de códigofuente con un programa llamado enlazador (linker).12
  14. 14. El generador de código objeto es el encargado de producir a partir del fichero enensamblador generado por nuestro compilador un fichero objeto. Este ficheroposteriormente se convertirá en ejecutable por mediación del linker.Para el almacenamiento de las variables, se usan dos palabras de memoria. Laposición baja indica el valor, y la alta indica el tipo. De esa manera, conservamosinformación sobre los tipos en tiempo de ejecución. COMPILADOR. QUE ES Y PARA QUE SIRVE UN COMPILADOR.Los primeros compiladores se realizaron programándolos directamente en lenguajemáquina o en ensamblador. Una vez que se dispone de un compilador, se puedenescribir nuevas versiones del compilador (u otros compiladores distintos) en ellenguaje que compila ese compilador.Un compilador acepta programas escritos en un lenguaje de alto nivel y los traducea otro lenguaje, generando un programa equivalente independiente, que puedeejecutarse tantas veces como se quiera. Este proceso de traducción se conoce comocompilación.En un compilador hay que distinguir tres lenguajes diferentes tales como: el de losprogramas de partida (LA), el de los programas equivalentes traducidos (LB), ellenguaje en que está escrito el propio compilador (LC), que puede ser igual odiferente a LA.Aumenta la portabilidad del compilador si está escrito en el mismo lenguaje, esdecir, se puede compilar a sí mismo.Los programas interpretados suelen ser más lentos que los compilados, pero losintérpretes son más flexibles como entornos de programación y depuración.Comparando su actuación con la de un ser humano, un compilador equivale a untraductor profesional que, a partir de un texto, prepara otro independientetraducido a otra lengua, mientras que un intérprete corresponde al intérpretehumano, que traduce de viva voz las palabras que oye, sin dejar constancia porescrito.13
  15. 15. Fases de un compilador.Las tres primeras fases, que forman la mayor parte de la porción de análisis de uncompilador se analizan en la sección IX. Otras dos actividades, la administraciónde la tabla se símbolos y el manejo de errores, se muestran en interacción con lasseis fases de análisis léxico, análisis sintáctico, análisis semántico, generación decódigo intermedio, optimación de código y generación de código. De modo informal,también se llamarán "fases" al administrador de la tabla de símbolos y al manejadorde errores.Administrador de la tabla de símbolos.Una función esencial de un compilador es registrar los identificadores utilizados enel programa fuente y reunir información sobre los distintos atributos de cadaidentificador. Estos atributos pueden proporcionar información sobre la memoriaasignada a un identificador, su tipo, su ámbito (parte del programa donde tienevalidez) y, en el caso de nombres de procedimientos, cosas como el número y tipos desus argumentos, el método de pasar cada argumento y el tipo que devuelve, si loshay.14
  16. 16. Una tabla de símbolos es una estructura de datos que contiene un registro por cadaidentificador, con los campos para los atributos del identificador. La estructura dedatos permite encontrar rápidamente el registro de cada identificador y almacenar oconsultar rápidamente datos en un registroCuando el analizador léxico detecta un identificador en el programa fuente, elidentificador se introduce en la tabla de símbolos. Sin embargo, normalmente losatributos de un identificador no se pueden determinar durante el análisis léxico.El tipo real no se conoce cuando el analizador léxico encuentra posición, inicial yvelocidad.Las fases restantes introducen información sobre los identificadores en la tabla desímbolos y después la utilizan de varias formas. Por ejemplo, cuando se estáhaciendo el análisis semántico y la generación de código intermedio, se necesitasaber cuáles son los tipos de los identificadores, para poder comprobar si elprograma fuente los usa de una forma válida y así poder generar las operacionesapropiadas con ellos. El generador de código, por lo general, introduce y utilizainformación detallada sobre la memoria asignada a los identificadores.Detección e información de errores.Cada frase puede encontrar errores. Sin embargo, después de detectar un error.Cada fase debe tratar de alguna forma ese error, para poder continuar lacompilación, permitiendo la detección de más errores en el programa fuente. Uncompilador que se detiene cuando encuentra el primer error, no resulta tan útilcomo debiera.Las fases de análisis sintáctico y semántico por lo general manejan una granproporción de los errores detectables por el compilador. La fase léxica puededetectar errores donde los caracteres restantes de la entrada no forman ningúncomponente léxico del lenguaje. Los errores donde la cadena de componentes léxicosviolan las reglas de estructura (sintaxis) del lenguaje son determinados por la fasedel análisis sintáctico.Durante el análisis semántico el compilador intenta detectar construcciones quetengan la estructura sintáctica correcta, pero que no tengan significado para laoperación implicada, por ejemplo, si se intenta sumar dos identificadores. Uno delos cuales es el nombre de una matriz, y el otro, el nombre de un procedimiento.Las fases de análisis.Conforme avanza la traducción, la representación interna del programa fuente quetiene el compilador se modifica. Para ilustrar esas representaciones, considérese latraducción de la proposición.15
  17. 17. Representación de una proposición.La fase de análisis léxico lee los caracteres de un programa fuente y los agrupa enuna cadena de componentes léxicos en los que cada componente representa unasecuencia lógicamente coherente de caracteres, como un identificador, una palabraclave (if, while, etc), un carácter de puntuación, o un operador de varios caracteres,como :=. La secuencia de caracteres que forman un componente léxico se denominalexema del componente.A ciertos componentes léxicos se les agregará un "valor léxico". Así, cuando seencuentra un identificador como velocidad, el analizador léxico no sólo genera uncomponente léxico, por ejemplo, id, sino que también introduce el lexema velocidaden la tabla de símbolos, si aún no estaba allí. El valor léxico asociado con estaaparición de id señala la entrada de la tabla de símbolos correspondiente avelocidad.Usaremos id1 , id2 e id3 para posición, inicial y velocidad, respectivamente, paraenfatizar que la representación interna de un identificador es diferente de lasecuencia de caracteres que forman el identificador. Por tanto, la representación de(1) después del análisis léxico queda sugerida por:id1 := id2 + id3 * 60 (2)Se deberían construir componentes para el operador de varios caracteres:= y elnúmero 60, para reflejar su representación interna. En la sección IX ya seintrodujeron las fases segunda y tercera: los análisis sintáctico y semántico. Elanálisis sintáctico impone una estructura jerárquica a la cadena de componentesléxicos, que se representará por medio de árboles sintácticos, como se muestra en lafigura 5A). Una estructura de datos típica para el árbol se muestra en la figura5B), en la que un nodo interior es un registro con un campo para el operador y doscampos que contienen apuntadores a los registros de los hijos izquierdo y derecho.Una hoja es un registro con dos o más campos, uno para identificar el componenteléxico de la hoja, y los otros para registrar información sobre el componente léxico.Se puede tener información adicional sobre las construcciones del lenguajeañadiendo más campos a les registros de los nodos.Generación de código intermedio.Después de los análisis sintáctico y semántico, algunos compiladores generan unarepresentación intermedia explícita del programa fuente. Se puede considerar estarepresentación intermedia como un programa para una máquina abstracta. Estarepresentación intermedia debe tener dos propiedades importantes; debe ser fácil deproducir y fácil de traducir al programa objeto.16
  18. 18. La representación intermedia puede tener diversas formas. Existe una formaintermedia llamada "código de tres direcciones", que es como el lenguajeensamblador para una máquina en la que cada posición de memoria puede actuarcomo un registro. El código de tres direcciones consiste en una secuencia deinstrucciones, cada una de las cuales tiene como máximo tres operándoos. Elprograma fuente de (1) puede aparecer en código de tres direcciones como:temp1 := entarea1(60)temp2 := id3 * temp1 (2)temp3 := id2 + temp2id1 := temp3Esta representación intermedia tiene varias propiedades. Primera, cada instrucciónde tres direcciones tiene a lo sumo un operador, además de la asignación. Por tanto,cuando se generan esas instrucciones el compilador tiene que decidir el orden en quedeben efectuarse, las operaciones; la multiplicación precede a la adición alprograma fuente de (1).Segunda, el compilador debe generar un nombre temporal para guardar los valorescalculados por cada instrucción.Tercera, algunas instrucciones de "tres direcciones" tienen menos de tres operadores,por ejemplo la primera y la última instrucciones de (2).Optimación de Código.La fase de optimación de código trata de mejorar el código intermedio de modo queresulte un código de máquina más rápido de ejecutar.17
  19. 19. Algunas optimaciones son triviales. Por ejemplo, un algoritmo natural genera elcódigo intermedio (2) utilizando una instrucción para cada operador de larepresentación del árbol después del análisis semántico, aunque hay una formamejor de realizar los mismos cálculos usando las dos instruccionesTemp1 := id3 * 60.0 (3)Id1 := id2 + temp1Este sencillo algoritmo no tiene nada de malo, puesto que el problema se puedesolucionar en la fase de optimación de código. Esto es, el compilador puede deducirque la conversión de 60 de entero a real se puede hacer de una vez por todas en elmomento de la compilación, de modo que la operación entreal se puede eliminar.Además, temp3 se usa sólo una vez, para transmitir su valor a id1. Entoncesresulta seguro sustituir a id1 por temp3, a partir de lo cual la última proposición de(2) no se necesita y se obtiene el código de (3).Hay muchas variaciones en la cantidad de optimación de código que ejecutan losdistintos compiladores. En lo que hacen mucha optimación llamados "compiladoresoptimadores", una parte significativa del tiempo del compilador se ocupa en estafase. Sin embargo hay optimaciones sencillas que mejoran significativamente deltiempo del compilador se ocupa en esta fase. Sin embargo, hay optimacionessencillas que mejoran sensiblemente el tiempo de ejecución del programa objeto sinretardar demasiado la compilación.Partes de un compilador.Normalmente los compiladores están divididos en dos partes:Front End: es la parte que analiza el código fuente, comprueba su validez, generael árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte sueleser independiente de la plataforma o sistema para el cual se vaya a compilar.Back End: es la parte que genera el código máquina, específico de una plataforma,a partir de los resultados de la fase de análisis, realizada por el Front End.Esta división permite que el mismo Back End se utilice para generar el códigomáquina de varios lenguajes de programación distintos y que el mismo Front Endque sirve para analizar el código fuente de un lenguaje de programación concretosirva para la generación de código máquina en varias plataformas distintas.El código que genera el Back End normalmente no se puede ejecutar directamente,sino que necesita ser enlazado por un programa enlazador (linker).Tipos de compiladores.Esta taxonomía de los tipos de compiladores no es excluyente, por lo que puedehaber compiladores que se adscriban a varias categorías:18
  20. 20. Compiladores cruzados: generan código para un sistema distinto del que estánfuncionando.Compiladores optimizadores: realizan cambios en el código para mejorar sueficiencia, pero manteniendo la funcionalidad del programa original.Compiladores de una sola pasada: generan el código máquina a partir de una únicalectura del código fuente.Compiladores de varias pasadas: necesitan leer el código fuente varias veces antesde poder producir el código máquina.Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partesdel código según se necesitan.Autocompilador: compilador que está escrito en el mismo lenguaje que va acompilar. Evidentemente, no se puede ejecutar la primera vez. Sirve para hacerampliaciones al lenguaje, mejorar el código generado, etc.Metacompilador: es sinónimo de compilador de compiladores y se refiere a unprograma que recibe como entrada las especificaciones del lenguaje para el que sedesea obtener un compilador y genera como salida el compilador para ese lenguaje.El desarrollo de los metacompiladores se encuentra con la dificultad de unir lageneración de código con la parte de análisis. Lo que sí se han desarrollado songeneradores de analizadores léxicos y sintácticos.Actualmente existen herramientas que facilitan la tarea de escribir compiladores óintérpretes informáticos.Estas herramientas permiten generar el esqueleto del analizador sintáctico a partirde una definición formal del lenguaje de partida, especificada normalmentemediante una gramática formal, barata dejando únicamente al programador delcompilador la tarea de programar las acciones semánticas asociadas.Ventajas de compilador fuente a intérprete fuente:Se compila una vez, se ejecuta n veces.En bucles, la compilación genera código equivalente al bucle, pero interpretándolose traduce tantas veces una línea como veces se repite el bucle.El compilador tiene una visión global del programa, por lo que la información demensajes de error es más detallada.Ventajas del intérprete fuente al compilador fuente:Un intérprete necesita menos memoria que un compilador. En principio eran másabundantes dado que los ordenadores tenían poca memoria.Permiten una mayor interactividad con el código en tiempo de desarrollo.19
  21. 21. Funciones de un compilador.A grandes rasgos un compilador es un programa que lee un programa escrito es unlenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otrolenguaje, el lenguaje objeto. Como parte importante de este proceso de traducción,el compilador informa a su usuario de la presencia de errores en el programa fuente.A primera vista, la diversidad de compiladores puede parecer abrumadora. Haymiles de lenguajes fuente, desde los lenguajes de programación tradicionales, comoFORTRAN o Pascal, hasta los lenguajes especializados que han surgidovirtualmente en todas las áreas de aplicación de la informática. Los lenguajesobjeto son igualmente variados; un lenguaje objeto puede ser otro lenguaje deprogramación o el lenguaje de máquina de cualquier computador entre unmicroprocesador y un supercomputador. A pesar de existir una aparentecomplejidad por la clasificación de los compiladores, como se vio en el temaanterior, las tareas básicas que debe realizar cualquier compilador sonesencialmente las mismas. Al comprender tales tareas, se pueden construircompiladores para una gran diversidad de lenguajes fuente y máquinas objetoutilizando las mismas técnicas básicas.Nuestro conocimiento sobre cómo organizar y escribir compiladores ha aumentadomucho desde que comenzaron a aparecer los primeros compiladores a principios delos años cincuenta.En la década de 1950, se consideró a los compiladores como programasnotablemente difíciles de escribir. El primer compilador de FORTRAN, porejemplo, necesitó para su implantación de 18 años de trabajo en grupo (Backus yotros [1975]). Desde entonces, se han descubierto técnicas sistemáticas paramanejar muchas de las importantes tareas que surgen en la compilación. También sehan desarrollado buenos lenguajes de implantación, entornos de programación yherramientas de software. Con estos avances, puede hacerse un compilador realincluso como proyecto de estudio en un curso de un semestre sobre diseño sobre decompiladores.Partes en las que trabaja un compilador.Conceptualmente un compilador opera en fases. Cada una de las cuales transformael programa fuente de una representación en otra.“Ejemplo de un Compilador.”El nuevo Visual C++ de Microsoft (versión 6) proporciona un entorno general,actualizado, a nivel de producción para el desarrollo de todas las aplicaciones paraWindows 95/98 y Windows NT. La versión 6 de Visual C++ de Microsoft abarcatres configuraciones diferentes: Ediciones Básicas, Profesionales y para Desarrollo.20
  22. 22. “CAPITULO II” CARGADOR,Muchos cargadores permiten al usuario especificar opciones que modificar elprocesamiento estándar descrito. Muchos cargadores tienen un lenguaje especial demandatos que se utiliza para especificar opciones. Algunas veces existe un archivoindependiente de entrada al cargador que contiene esas proposiciones de control.En ocasiones esas mismas proposiciones también pueden estar intercaladas en elflujo primario de entrada entre los programas objeto. En ciertos sistemas elprogramador puede incluso introducir proposiciones de control del cargador en elprograma fuente, y el ensamblador o el compilador retienen esos mandatos comoparte del programa objeto.Una opción típica del cargador permite la selección de fuentes alternativas deentrada, por ejemplo el mandato INCLUDE, puede indicar al cargador que lea elprograma objeto designado en una biblioteca y que lo trate como si fuera parte de laentrada primaria del cargador. Otros mandatos permiten al usuario eliminarsímbolos externos o secciones de control completas. También es posible cambiarreferencias externas dentro del programa que se está cargando y ligando. Porejemplo, el mandato DELETE, puede indicar al cargador que elimine la sección decontrol nombrada del conjunto de programas que se está cargando. El mandatoCHANGE puede hacer que el símbolo externo nombre1 se cambie a nombre2siempre que aparezca en los programas objeto. Otra opción común para el cargadorimplica la inclusión automática de rutinas de biblioteca para satisfacer referenciasexternas. La mayoría de los cargadores permiten al usuario especificar bibliotecasalternativas para búsqueda, por medio de una proposición del tipo LIBRARYMILIB. Suele buscar en esas bibliotecas especificadas por el usuario antes que enlas bibliotecas estándar del sistema. Esto permite al usuario utilizar versionesespeciales de esas rutinas estándar.Los cargadores que realizan la búsqueda automática en bibliotecas para satisfacerreferencias externas, a menudo permiten al usuario especificar que no se resuelvande esa forma algunas referencias. Si se sabe que el análisis estadístico no se va arealizar en una ejecución determinada de este programa, el usuario puede incluir unmandato como NOCALL DEVSTD, PLOT, CORREL para indicar al cargadorque no se resuelvan esas referencias externas, evitando así el trabajo extra de cargary ligar rutinas innecesarias, con el consiguiente ahorro del espacio de memoria quese requeriría.21
  23. 23. También se puede especificar que no se resuelva ninguna referencia externa porbúsqueda en biblioteca, aunque eso daría como resultado un error si el programaintenta hacer esa referencia externa durante la ejecución. Esta opción es más útilcuando se van a ligar programas, pero no se van a ejecutar de inmediato. En talescasos suele ser conveniente posponer la resolución de referencias externas.Los cargadores a menudo incluyen otras opciones. Una de las tales opciones es laposibilidad de especificar la localidad donde se inicia la ejecución. Otra es laposibilidad de controlar si el cargador debe intentar o no la ejecución del programasi se detectaran errores durante la carga.Opciones de diseño del cargador.Los cargadores ligadores realizan el ligado y la relocalización en el momento de lacarga. Se analizan dos opciones: los editores de ligado, que realizan el ligado antesdel momento de la carga, y el ligado dinámico, en el cual la función de ligado serealiza en el momento de la ejecución.Un editor de ligado realiza el ligado y algo de relocalización; sin embargo, elprograma ligado se escribe en un archivo o biblioteca, en lugar de cargarseinmediatamente en la memoria. Este enfoque reduce las operaciones adicionales alejecutar el programa. Lo único que se necesita en el momento de la carga es unaforma muy simple de relocalización.El ligado dinámico, que utilizan los dispositivos del sistema operativo para cargarsubprogramas en el momento en que se llaman por primera vez. Al retardar elproceso de ligado de esta forma, se puede lograr flexibilidad adicional. Sin embargo,este enfoque suele implicar más operaciones que el del cargador ligador.Los cargadores de arranque que se pueden utilizar para ejecutar programasautónomos, independientes del sistema operativo o del cargador del sistema.También se pueden utilizar para cargar el sistema operativo o el cargador mismo enla memoria.Cargadores de arranque.Con la máquina vacía e inactiva, no hay necesidad de hacer relocalización deprogramas, tan solo se puede especificar la dirección absoluta del programa que secargue en primer lugar. En la mayoría de los casos, este programa es el sistemaoperativo, que ocupa un lugar predefinido en la memoria.Esto significa que se necesitan algunos medios para realizar las funciones de uncargador absoluto. Una opción es que el operador introduzca en la memoria elcódigo objeto de un cargador absoluto, utilizando los interruptores en la consoladel computador. Algunos computadores requerían que el operador hicieraexactamente eso. Sin embargo, este proceso es demasiado incómodo y propenso aerrores para ser una buena solución del problema.22
  24. 24. Otra posibilidad es que el programa del cargador absoluto resida permanentementeen una memoria sólo de lectura (ROM). Cuando se produce una señal de hardware,la máquina empieza a ejecutar este programa de la ROM. En algunoscomputadores, el programa se ejecuta directamente en la ROM; en otros, elprograma se copia de la ROM a la memoria principal y se ejecuta allí. Sin embargo,algunas máquinas no tienen ese almacenamiento sólo de lectura. Además, puede noser conveniente cambiar un programa en ROM si es necesario hacer modificacionesen el cargador absoluto.Una solución inmediata es tener una función de hardware incorporada que lea unregistro de longitud fija de algún dispositivo en una localidad fija de la memoria; eldispositivo que se utilice puede seleccionarse mediante interruptores de la consola.Una vez completa la operación de lectura, el control se pasa automáticamente a ladirección de la memoria donde se almacenó el registro. Este registro contieneinstrucciones de máquina que cargan el programa absoluto que sigue.Si el proceso de carga requiere más instrucciones de las que pueden leerse en un soloregistro, el primer registro causa la lectura de otros y estos, a su vez, puedenoriginar la lectura aún de mas registros; de ahí el término arranque. El primerregistro suele denominarse cargador de arranque, y se coloca al inicio de todos losprogramas objeto que se van a cargar en un sistema vacío o inactivo. Esto incluye,por ejemplo, al propio sistema operativo y a todos los programas independientes quese ejecutan sin sistema operativo.Cargador de cyber.Los programas CYBER suelen contener mucho más valores relocalizables que losprogramas de VAX o del sistema /370.Una palabra de CYBER puede contener más de una instrucción, por lo que no esposible usar un solo bit de relocalización por palabra. A causa de que en CYBERsólo las instrucciones de 30 bits pueden contener direcciones de memoria, existencinco posibles de valores relocalizables dentro de una palabra. 1. Sin relocalización. 2. Valor relocalizable sólo en la mitad superior de la palabra. 3. Valor relocalizable sólo en la mitad inferior de la palabra. 4. Valores relocalizables en las mitades superior e inferior de la palabra. 5. Valor relocalizable en la mitad de los 30 bits de la palabra.Cuando se usa la técnica de la máscara de bits, hay un campo de cuatro bitsasociado a cada palabra de código objeto. Esos cuatro bits se utilizan paracodificar las posibles antes listadas, y también para especificar si la dirección basedel programa se suma o resta a cada valor relocalizable.23
  25. 25. El cargador de CYBER puede utilizar programas de superposiciones de un tipomás restringido que el descrito. Una estructura de superposiciones está limitada aun máximo de tres niveles. Cada segmento está identificado por un par ordenado deenteros, y un segmento solamente puede tener un punto de entrada.Cada segmento, excepto el raíz, debe cargarse por medio de una solicitud explicita;no existe la carga automática de segmentos. El programa de aplicación puedesolicitar la carga de un segmento por medio de una llamada de servicio al sistemaoperativo. Como alternativa, en el segmento raíz puede haber un pequeño cargadorresidente para manejar el proceso de superposición.Hay también una opción más poderosa que las superposiciones: la segmentación.Un programa segmentado también usa una estructura de árbol; sin embargo, puedehaber más de tres niveles, y cada segmento puede tener varios puntos de entrada.RELACIÓN ENTRE LA INFORMÁTICA Y LOS SISTEMAS COMPUTACIONALES.Son dos términos que están estrechamente ligados ya que la informática es el áreade estudio, y se podría decir que un sistema computacional es una rama de estaárea, cabe destacar como ya se ha mencionado anterior mente que un sistemacomputacional esta formado por varios sistemas operativos y un sistema operativoesta formado por diferentes componentes como es el caso de programas fuentes,programas objetos, compiladores, cargadores, ligadores, etc. Aquí veremos una brevedefinición de informática: conjunto de conocimientos científicos y de técnicas quehacen posible el tratamiento automático de la información por medio decomputadoras. La informática combina los aspectos teóricos y prácticos de laingeniería, electrónica, teoría de la información, matemáticas, lógica ycomportamiento humano. Los aspectos de la informática cubren desde laprogramación y la arquitectura informática hasta la inteligencia artificial y larobótica. PROGRAMAS DE SUPERPOSICIONESMuchos sistemas que manejan programas de superposición requieren que esteproceso sea una estructura de árbol, los nodos de la estructura se denominansegmentos: el segmento raíz se carga cuando comienza la ejecución del programa, ypermanece en la memoria hasta que termina el programa.24
  26. 26. Los otros segmentos se cargan a medida que se llaman. Puesto que los segmentosdel mismo nivel sólo pueden ser llamados desde el nivel superior, no se puedenrequerir al mismo tiempo, de modo que se pueden asignar a las mismas localidadesde la memoria. Si se carga un segmento debido a una transferencia de control, sesuperpone a cualquier segmento del mismo nivel que puede estar en memoria. Deesta forma, se puede ejecutar todo el programa en una cantidad total menor dememoria, que es la razón principal de utilizar estructuras de superposiciones. En elresto de esta sección se examina con más detalle del proceso de superposiciones porel cargador.El cargador puede asignar una dirección real o inicial a todos los segmentos delprograma de superposiciones una vez que se dispone de la dirección inicial de carga,con lo que se conocen las direcciones para todos los símbolos externos. Estosignifica que todas las operaciones de relocalización y ligado se pueden realizar dela forma usual, con una excepción: la transferencia de control del padre a unsegmento debe admitir la posibilidad de que el segmento llamado no esté en lamemoria. El segmento raíz puede cargarse directamente en la memoria; los otrossegmentos se escriben en un archivo de trabajo especial ARCHSEG creado por elcargador.El proceso de superposiciones en si, esto es, la carga de un segmento cuando se letransfiere el control, se puede manejar de varias formas distintas. OPERATIVO. QUE ES UN SISTEMA OPERATIVO.Sistema operativo, software básico que controla una computadora. El sistemaoperativo tiene tres grandes funciones: coordina y manipula el hardware delordenador o computadora, como la memoria, las impresoras, las unidades de disco,el teclado o el mouse; organiza los archivos en diversos dispositivos dealmacenamiento, como discos flexibles, discos duros, discos compactos o cintasmagnéticas, y gestiona los errores de hardware y la pérdida de datos.Cómo funciona un sistema operativoLos sistemas operativos controlan diferentes procesos de la computadora. Unproceso importante es la interpretación de los comandos que permiten al usuariocomunicarse con el ordenador. Algunos intérpretes de instrucciones están basadosen texto y exigen que las instrucciones sean tecleadas. Otros están basados engráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono.Por lo general, los intérpretes basados en gráficos son más sencillos de utilizar.25
  27. 27. Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemasoperativos de tarea única, más primitivos, sólo pueden manejar un proceso en cadamomento. Por ejemplo, cuando la computadora está imprimiendo un documento, nopuede iniciar otro proceso ni responder a nuevas instrucciones hasta que se terminela impresión.Todos los sistemas operativos modernos son multitarea y pueden ejecutar variosprocesos simultáneamente. En la mayoría de los ordenadores sólo hay una UCP; unsistema operativo multitarea crea la ilusión de que varios procesos se ejecutansimultáneamente en la UCP. El mecanismo que se emplea más a menudo paralograr esta ilusión es la multitarea por segmentación de tiempos, en la que cadaproceso se ejecuta individualmente durante un periodo de tiempo determinado. Si elproceso no finaliza en el tiempo asignado, se suspende y se ejecuta otro proceso.Este intercambio de procesos se denomina conmutación de contexto. El sistemaoperativo se encarga de controlar el estado de los procesos suspendidos. Tambiéncuenta con un mecanismo llamado planificador que determina el siguiente procesoque debe ejecutarse. El planificador ejecuta los procesos basándose en su prioridadpara minimizar el retraso percibido por el usuario. Los procesos parecen efectuarsesimultáneamente por la alta velocidad del cambio de contexto. Los sistemasoperativos pueden emplear memoria virtual para ejecutar procesos que exigen másmemoria principal de la realmente disponible. Con esta técnica se emplea espacio enel disco duro para simular la memoria adicional necesaria. Sin embargo, el acceso aldisco duro requiere más tiempo que el acceso a la memoria principal, por lo que elfuncionamiento del ordenador resulta más lento.Sistemas operativos actualesLos sistemas operativos empleados normalmente son UNIX, Mac OS, MS-DOS,OS/2 y Windows-NT. El UNIX y sus clones permiten múltiples tareas y múltiplesusuarios. Su sistema de archivos proporciona un método sencillo de organizararchivos y permite la protección de archivos. Sin embargo, las instrucciones delUNIX no son intuitivas. Otros sistemas operativos multiusuario y multitarea sonOS/2, desarrollado inicialmente por Microsoft Corporation e InternationalBusiness Machines Corporation (IBM), y Windows-NT, desarrollado porMicrosoft. El sistema operativo multitarea de las computadoras Apple sedenomina Mac OS. El DOS y su sucesor, el MS-DOS, son sistemas operativospopulares entre los usuarios de computadoras personales. Sólo permiten un usuarioy una tarea.Sistemas Operativos de RedLos sistemas operativos de red se definen como aquellos que tiene la capacidad deinteractuar con sistemas operativos en otras computadoras por medio de un medio26
  28. 28. de transmisión con el objeto de intercambiar información, transferir archivos,ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial deestos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos ollamadas al sistema para ejecutar estas operaciones, además de la ubicación de losrecursos que desee acceder.Sistemas Operativos DistribuidosLos sistemas operativos distribuidos abarcan los servicios de los de red, lograndointegrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidadescentrales de proceso) en una sola máquina virtual que el usuario accesa en formatransparente. Es decir, ahora el usuario ya no necesita saber la ubicación de losrecursos, sino que los conoce por nombre y simplemente los usa como si todos ellosfuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco teórico delo que se desearía tener como sistema operativo distribuido, pero en la realidad nose ha conseguido crear uno del todo, por la complejidad que suponen: distribuir losprocesos en las varias unidades de procesamiento, reintegrar sub-resultados,resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunosrecursos distribuidos y consolidar la protección y seguridad entre los diferentescomponentes del sistema y los usuarios.Sistemas Operativos por su EstructuraSe deben observar dos tipos de requisitos cuando se construye un sistema operativo,los cuales son:Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido yadecuado al uso al que se le quiere destinar.Requisitos del software: Donde se engloban aspectos como el mantenimiento,forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores yflexibilidad.A) Estructura monolítica.Es la estructura de los primeros sistemas operativos constituidosfundamentalmente por un solo programa compuesto de un conjunto de rutinasentrelazadas de tal forma que cada una puede llamar a cualquier otra Lascaracterísticas fundamentales de este tipo de estructura son: 1. Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador. 2. Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento. 3. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.27
  29. 29. Generalmente están hechos a medida, por lo que son eficientes y rápidos en suejecución y gestión, pero por lo mismo carecen de flexibilidad para soportardiferentes ambientes de trabajo o tipos de aplicaciones.B) Estructura jerárquica.A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaronlos sistemas, se hizo necesaria una mayor organización del software, del sistemaoperativo, donde una parte del sistema contenía subpartes y esto organizado enforma de niveles.Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una deellas estuviera perfectamente definida y con un claro interfase con el resto deelementos.C) Cliente-servidor (Microkernel)El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, quepuede ser ejecutado en la mayoría de las computadoras, ya sean grandes opequeñas.Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito generaly cumple con las mismas actividades que los sistemas operativos convencionales.D) Máquina Virtual.Se trata de un tipo de sistemas operativos que presentan una interfase a cadaproceso, mostrando una máquina que parece idéntica a la máquina real subyacente.Estos sistemas operativos separan dos conceptos que suelen estar unidos en el restode sistemas: la multiprogramación y la máquina extendida.28
  30. 30. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintossistemas operativos dando la sensación de ser varias máquinas diferentes.El núcleo de estos sistemas operativos se denomina monitor virtual y tiene comomisión llevar a cabo la multiprogramación, presentando a los niveles superiorestantas máquinas virtuales como se soliciten. Estas máquinas virtuales no sonmáquinas extendidas, sino una réplica de la máquina real, de manera que en cadauna de ellas se pueda ejecutar un sistema operativo diferente, que será el queofrezca la máquina extendida al usuarioSistemas Operativos por ServiciosEsta clasificación es la más comúnmente usada y conocida desde el punto de vistadel usuario final.A) MonousuariosLos sistemas operativos monousuarios son aquéllos que soportan a un usuario a lavez, sin importar el número de procesadores que tenga la computadora o el númerode procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo.Las computadoras personales típicamente se han clasificado en este renglón.B) MultiusuariosLos sistemas operativos multiusuarios son capaces de dar servicio a más de unusuario a la vez, ya sea por medio de varias terminales conectadas a lacomputadora o por medio de sesiones remotas en una red de comunicaciones. Noimporta el número de procesadores en la máquina ni el número de procesos que cadausuario puede ejecutar simultáneamente.C) MonotareasLos sistemas monotarea son aquellos que sólo permiten una tarea a la vez porusuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual seadmiten varios usuarios al mismo tiempo pero cada uno de ellos puede estarhaciendo solo una tarea a la vez.29
  31. 31. D) MultitareasUn sistema operativo multitarea es aquél que le permite al usuario estar realizandovarias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuentede un programa durante su depuración mientras compila otro programa, a la vezque está recibiendo correo electrónico en un proceso en background. Es comúnencontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cualpermite un rápido intercambio entre las tareas para el usuario, mejorando suproductividad.E) UniprocesoUn sistema operativo uniproceso es aquél que es capaz de manejar solamente unprocesador de la computadora, de manera que si la computadora tuviese más de unole sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.F) MultiprocesoUn sistema operativo multiproceso se refiere al número de procesadores del sistema,que es más de uno y éste es capaz de usarlos todos para distribuir su carga detrabajo. Generalmente estos sistemas trabajan de dos formas: simétrica oasimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativoselecciona a uno de los procesadores el cual jugará el papel de procesador maestro yservirá como pivote para distribuir la carga a los demás procesadores, que reciben elnombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes deellos (threads) son enviados indistintamente a cualesquiera de los procesadoresdisponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la cargade trabajo bajo este esquema. SUPERORDENADORES.Son computadoras con capacidades computacionales muy superiores a lascomúnmente disponibles en la época en que fue construida.Hoy en día el diseño de Superordenadores se sustenta en 3 importantes tecnologías: * La de Registros Vectoriales, creada por Seymour Cray, considerado el padre dela Súper computación, quien inventó y patentó diversas tecnologías que condujerona la creación de máquinas de computación ultra-rápidas. Esta tecnología permite laejecución de innumeradas operaciones aritméticas en paralelo. * El sistema conocido como M.P.P. por las siglas de Massively ParallelProcessors o Procesadores Masivamente Paralelos, que consiste en la utilización decientos y a veces miles de microprocesadores estrechamente coordinados. * Clusters de ordenadores de uso general y relativo bajo costo, interconectadospor redes locales de baja latencia y el gran ancho de banda.30
  32. 32. III” “CAPITULO III” FUNCION DEL SISTEMA BINARIO DENTRO DE UNA COMPUTADORA. COMPUTADORA.Puesto que sólo se necesitan dos dígitos (o bits), el sistema binario se utiliza en losordenadores o computadoras. Un número binario cualquiera se puede representar,por ejemplo, con las distintas posiciones de una serie de interruptores. La posición"encendido" corresponde al 1, y "apagado" al 0. Además de interruptores, también sepueden utilizar puntos imantados en una cinta magnética o disco: un puntoimantado representa al dígito 1, y la ausencia de un punto imantado es el dígito 0.Los biestables (dispositivos electrónicos con sólo dos posibles valores de voltaje a lasalida y que pueden saltar de un estado al otro mediante una señal externa)también se pueden utilizar para representar números binarios. Los circuitos lógicosrealizan operaciones con números en base 2. La conversión de números decimales abinarios para hacer cálculos, y de números binarios a decimales para supresentación, se realizan electrónicamente.Internamente, la máquina computadora representa los valores numéricos mediantegrupos de bits. agrupados en bytes. Por ejemplo, el número 3 se representa medianteun byte que tiene "activos" los bits primero y segundo (contando desde la derecha);00000011. Esta sería la forma de representación del número 3 en un sistemanumérico de base 2, también conocido como BINARIO. El sistema que utilizamosnormalmente es un sistema DECIMAL o de base 10. En un sistema DECIMAL,contamos desde el 0 hasta el 9 antes de añadir un nuevo dígito. El número 22 enun sistema decimal significa que tenemos dos conjuntos de 10s y 2 conjuntos de 1s.La computadora está diseñada sobre la base de numeración binaria (base 2). Poreso este caso particular merece mención aparte. Siguiendo las reglas generales paracualquier base expuestas antes, tendremos que:Existen dos dígitos (0 o 1) en cada posición del número.Numerando de derecha a izquierda los dígitos de un número, empezando por cero,el valor decimal de la posición es 2n. HARDWARE. HARDWARE.Hardware, equipo utilizado para el funcionamiento de una computadora. Elhardware se refiere a los componentes materiales de un sistema informático. Lafunción de estos componentes suele dividirse en tres categorías principales: entrada,salida y almacenamiento. Los componentes de esas categorías están conectados a31
  33. 33. través de un conjunto de cables o circuitos llamado bus con la unidad central deproceso (CPU) del ordenador, el microprocesador que controla la computadora y leproporciona capacidad de cálculo.El soporte lógico o software, en cambio, es el conjunto de instrucciones que unordenador emplea para manipular datos: por ejemplo, un procesador de textos o unvideojuego. Estos programas suelen almacenarse y transferirse a la CPU a travésdel hardware de la computadora. El software también rige la forma en que seutiliza el hardware, como por ejemplo la forma de recuperar información de undispositivo de almacenamiento. La interacción entre el hardware de entrada y desalida es controlada por un software llamado BIOS (siglas en inglés de sistemabásico de entrada/salida).Aunque, técnicamente, los microprocesadores todavía se consideran hardware,partes de su función también están asociadas con el software. Este hecho de que losmicroprocesadores presenten tanto aspectos de hardware como de software, haceque a veces se les aplique el término intermedio de microprogramación, o firmware.Hardware de entrada.El hardware de entrada consta de dispositivos externos —esto es, componentessituados fuera de la CPU de la computadora— que proporcionan información einstrucciones. Un lápiz óptico es un puntero con un extremo fotosensible que seemplea para dibujar directamente sobre la pantalla, o para seleccionar informaciónen la pantalla pulsando un botón en el lápiz óptico o presionando el lápiz contra lasuperficie de la pantalla. El lápiz contiene sensores ópticos que identifican la partede la pantalla por la que se está pasando. Un mouse, o ratón, es un dispositivoapuntador diseñado para ser agarrado con una mano. Cuenta en su parte inferiorcon un dispositivo detector (generalmente una bola) que permite al usuariocontrolar el movimiento de un cursor en la pantalla deslizando el mouse por unasuperficie plana. Para seleccionar objetos o elegir instrucciones en la pantalla, elusuario pulsa un botón del mouse. Un joystick es un dispositivo formado por unapalanca que se mueve en varias direcciones y dirige un cursor u otro objeto gráficopor la pantalla de la computadora. Un teclado es un dispositivo parecido a unamáquina de escribir, que permite al usuario introducir textos e instrucciones.Algunos teclados tienen teclas de función especiales o dispositivos apuntadoresintegrados, como trackballs (bolas para mover el cursor) o zonas sensibles al tactoque permiten que los movimientos de los dedos del usuario dirijan un cursor en lapantalla.Un digitalizador óptico (o escáner óptico) emplea dispositivos fotosensibles paraconvertir imágenes (por ejemplo, una fotografía o un texto) en señales electrónicasque puedan ser manipuladas por la máquina. Por ejemplo, es posible digitalizar una32
  34. 34. fotografía, introducirla en una computadora e integrarla en un documento de textocreado en dicha computadora. Los dos digitalizadores más comunes son eldigitalizador de campo plano (similar a una fotocopiadora de oficina) y eldigitalizador manual, que se pasa manualmente sobre la imagen que se quiereprocesar. Existen cámaras digitales que permiten tomar imágenes que pueden sertratadas directamente por el ordenador.Un micrófono es un dispositivo para convertir sonidos en señales que puedan seralmacenadas, manipuladas y reproducidas por el ordenador.Un módulo de reconocimiento de voz es un dispositivo que convierte palabrashabladas en información que el ordenador puede reconocer y procesar.Un módem es un dispositivo que conecta una computadora con una línea telefónicay permite intercambiar información con otro ordenador a través de dicha línea.Todos los ordenadores que envían o reciben información deben estar conectados aun módem. El módem del aparato emisor convierte la información enviada en unaseñal analógica que se transmite por las líneas telefónicas hasta el módem receptor,que a su vez convierte esta señal en información electrónica para el ordenadorreceptor.Hardware de salida.El hardware de salida consta de dispositivos externos que transfieren informaciónde la CPU de la computadora al usuario informático. La pantalla convierte lainformación generada por el ordenador en información visual. Las pantallas suelenadoptar una de las siguientes formas: un monitor de rayos catódicos o una pantallade cristal líquido (LCD, siglas en inglés). En el monitor de rayos catódicos,semejante a un televisor, la información procedente de la CPU se representaempleando un haz de electrones que barre una superficie fosforescente que emiteluz y genera imágenes. Las pantallas LCD son más planas y más pequeñas que losmonitores de rayos catódicos, y se emplean frecuentemente en ordenadoresportátiles.Las impresoras reciben textos e imágenes de la computadora y los imprimen enpapel. Las impresoras matriciales emplean minúsculos alambres que golpean unacinta entintada formando caracteres. Las impresoras láser emplean haces de luzpara trazar imágenes en un tambor que posteriormente recoge pequeñas partículasde un pigmento negro denominado tóner. El tóner se aplica sobre la hoja de papel33
  35. 35. para producir una imagen. Las impresoras de chorro de tinta lanzan gotitas detinta sobre el papel para formar caracteres e imágenes.Hardware de almacenamiento.El hardware de almacenamiento sirve para almacenar permanentementeinformación y programas que el ordenador deba recuperar en algún momento. Losdos tipos principales de dispositivos de almacenamiento son las unidades de disco yla memoria. Existen varios tipos de discos: duros, flexibles o disquetes, magneto-ópticos y compactos. Las unidades de disco duro almacenan información enpartículas magnéticas integradas en un disco; estas unidades, que suelen ser unaparte permanente de la computadora, pueden almacenar grandes cantidades deinformación y recuperarla muy rápidamente. Las unidades de disquete tambiénalmacenan información en partículas magnéticas integradas en discosintercambiables, que de hecho pueden ser flexibles o rígidos. Los disquetesalmacenan menos información que un disco duro, y la recuperación de la misma esmuchísimo más lenta. Las unidades de disco magneto-óptico almacenan lainformación en discos intercambiables, sensibles a la luz láser y a los camposmagnéticos; pueden almacenar tanta información como un disco duro, pero lavelocidad de recuperación de la misma es algo menor. Las unidades de discocompacto, o CD-ROM, almacenan información en las cavidades grabadas en lasuperficie de un disco de material reflectante. La información almacenada en unCD-ROM no puede borrarse ni sustituirse por otra. Los CD-ROM puedenalmacenar aproximadamente la misma información que un disco duro, pero lavelocidad de recuperación de información es menor. Hay unidades que permitenescribir discos compactos y, si el soporte lo permite, reescribir la información hastamás de 1.000 veces sobre el mismo disco; son las unidades CD-RW que además deleer y reescribir discos CD-RW, también pueden leer y escribir discos compactosCD-R y leer CD-ROM. En la actualidad también es frecuente encontrar en losordenadores unidades DVD, que permiten leer, y algunas también escribir,unidades del mismo tamaño que los CD pero con una capacidad de almacenamientomuy superior.La memoria está formada por chips que almacenan información que la CPUnecesita recuperar rápidamente. La memoria de acceso aleatorio (RAM, siglas eninglés) se emplea para almacenar la información e instrucciones que hacen34
  36. 36. funcionar los programas de la computadora. Generalmente, los programas setransfieren desde una unidad de disco a la RAM. Esta memoria también se conocecomo memoria volátil porque la información contenida en los chips de memoria sepierde cuando se desconecta el ordenador. La memoria de sólo lectura contieneinformación y software cruciales que deben estar permanentemente disponiblespara el funcionamiento de la computadora, por ejemplo el sistema operativo, quedirige las acciones de la máquina desde el arranque hasta la desconexión. La ROMse denomina memoria no volátil porque los chips de memoria ROM no pierden suinformación cuando se desconecta el ordenador.Algunos dispositivos se utilizan para varios fines diferentes. Por ejemplo, losdisquetes también pueden emplearse como dispositivos de entrada si contieneninformación que el usuario informático desea utilizar y procesar. También sepueden utilizar como dispositivos de salida si el usuario quiere almacenar en elloslos resultados de su computadora.Conexiones del hardware.Para funcionar, el hardware necesita unas conexiones materiales que permitan alos componentes comunicarse entre sí e interaccionar. Un bus constituye un sistemacomún interconectado, compuesto por un grupo de cables o circuitos que coordina ytransporta información entre las partes internas de la computadora. El bus de unacomputadora consta de dos canales: uno que la CPU emplea para localizar datos,llamado bus de direcciones, y otro que se utiliza para enviar datos a una direccióndeterminada, llamado bus de datos. Un bus se caracteriza por dos propiedades: lacantidad de información que puede manipular simultáneamente la llamada“anchura de bus” y la rapidez con que puede transferir dichos datos.Una conexión en serie es un cable o grupo de cables utilizado para transferirinformación entre la CPU y un dispositivo externo como un mouse, un teclado, unmódem, un digitalizador y algunos tipos de impresora. Este tipo de conexión sólotransfiere un dato de cada vez, por lo que resulta lento. La ventaja de unaconexión en serie es que resulta eficaz a distancias largas.Una conexión en paralelo utiliza varios grupos de cables para transferirsimultáneamente más de un bloque de información. La mayoría de losdigitalizadores e impresoras emplean este tipo de conexión. Las conexiones enparalelo son mucho más rápidas que las conexiones en serie, pero están limitadas adistancias menores de 3 m entre la CPU y el dispositivo externo.35
  37. 37. SOFTWARE.Programas de computadoras. Son las instrucciones responsables de que el hardware(la máquina) realice su tarea. Como concepto general, el software puede dividirse envarias categorías basadas en el tipo de trabajo realizado. Las dos categoríasprimarias de software son los sistemas operativos, que controlan los trabajos delordenador o computadora, y el software de aplicación, que dirige las distintastareas para las que se utilizan las computadoras. Por lo tanto, el software delsistema procesa tareas tan esenciales, aunque a menudo invisibles, como elmantenimiento de los archivos del disco y la administración de la pantalla,mientras que el software de aplicación lleva a cabo tareas de tratamiento de textos,gestión de bases de datos y similares. Constituyen dos categorías separadas elsoftware de red, que permite comunicarse a grupos de usuarios, y el software delenguaje utilizado para escribir programas.Además de estas categorías basadas en tareas, varios tipos de software se describenbasándose en su método de distribución. Entre estos se encuentran los así llamadosprogramas enlatados, el software desarrollado por compañías y vendidoprincipalmente por distribuidores, el freeware y software de dominio público, quese ofrece sin costo alguno, el shareware, que es similar al freeware, pero sueleconllevar una pequeña tasa a pagar por los usuarios que lo utilicenprofesionalmente y, por último, el infame vapourware, que es software que no llegaa presentarse o que aparece mucho después de lo prometido.Existe una tendencia a identificar el proceso de creación de un programainformático con la programación, que es cierta cuando se trata de programaspequeños para uso personal, y que dista de la realidad cuando se trata de grandesproyectos.El proceso de creación de software desde el punto de vista de la Ingeniería tiene lossiguientes pasos: 1. Reconocer la necesidad de un programa para solucionar un problema óidentificar la posibilidad de automatización de una tarea. 2. Recoger los requisitos del programa. Debe quedar claro qué es lo que debe hacerel programa y para qué se necesita. 3. Realizar el análisis de los requisitos del programa. Debe quedar claro cómodebe realizar el programa las cosas que debe hacer. Las pruebas que comprueben lavalidez del programa se pueden especificar en esta fase. 4. Diseñar la arquitectura del programa. Se debe descomponer el programa enpartes de complejidad abordable.36
  38. 38. 5. Implementar el programa. Consiste en realizar un diseño detallado,especificando completamente todo el funcionamiento del programa, tras lo cual lacodificación debería resultar inmediata. 6. Implantar (instalar) el programa. Consiste en poner el programa enfuncionamiento junto con los componentes que pueda necesitar (bases de datos,redes de comunicaciones, etc.)La Ingeniería del Software se centra en los pasos de planificación y diseño delprograma, mientras que antiguamente (programación artesanal) la realización deun programa consistía únicamente en escribir el código. DIGITALES. SISTEMAS DIGITALES.En la actualidad, para actuar en el campo de estudio, donde se utilizancomputadoras, se debe comprender la función de las interfaces con dispositivosexternos y programar en lenguaje ensamblador. Los microprocesadores Intel hanlogrado amplia aceptación en muchas áreas de la electrónica, comunicaciones,sistemas de control y en particular en los sistemas de computadoras de mesa.La comprensión básica de la familia Intel en todos los aspectos de programación einterfaces, permite comparar lo relativo a versiones más avanzadas demicroprocesadores que incluyen al 386, 486 y aún Pentium. Dado que estos chipsson compatibles, los programas de software escrito para el 8086, pueden correr sincambios en los descendientes de la familia IntelPartimos del hecho que este curso es la introducción al mundo de losmicroprocesadores, por lo que se hará uso del hardware ya disponible alambrado,con los dispositivos adecuados para su funcionamiento, que implica una PC basadaen procesadores de Intel. El alumno tiene como antecedente de conocimientosLógicos I y Lógicos II, por lo que se enfocarán los esfuerzos al microprocesador8086. para el manejo de hardware externo, controlado por el puerto paralelo o porel puerto serie. Conocer como adquirir datos de convertidores A/D, procesar lainformación y controlar actuadores tanto analógicos como digitales.Aunque este tipo de memoria comparte muchas características con las EPROM yEEPROM, hay una diferencia fundamental en la generación actual de memoriasFlash, es que las operaciones de borrado se efectúan en bloques. Todos estos tiposde memoria se han de borrar antes de rescribir en ellas, cuando se borra unaEPROM mediante luz ultravioleta, se elimina su contenido de forma completa,mientras que en las flash se puede borrar todo el "chip", o por bloques como se haindicado. Los bloques varían en tamaño, desde 4 kO a 128 kO. Sin embargo pormotivos de seguridad hay un bloque, usualmente de 16 kO, que contiene el37
  39. 39. "firmware" y que está protegido contra borrado, puesto que la patilla de reinicio("reset") se debe de poner a un voltaje muy alto, 12 Voltios. Las operaciones deescritura y lectura no son en bloques, sino al nivel de bit u octeto.Borrado y escritura automáticos.Un hecho importante de la generación actual de memorias flash, es que incorporanuna "máquina de estados" que automatiza los proceso de escritura y borrado. Las deprimera generación requerían algoritmos muy complejos por parte del programador.Durante la escritura la "máquina de estados" controla el tiempo de los pulsos, elnúmero de pulsos y los voltajes aplicados, verificando seguidamente que los datosse han escrito correctamente. Cuando se ejecuta un borrado, la "máquina de estados"lo primero que hace es escribir las localizaciones que se van a procesar a cero, paraque cada celdilla contenga carga uniforme. Entonces la "máquina de estados" emitelos pulsos de borrado y verifica el proceso. En cualquier momento, ya sea de lecturao escritura se puede leer el registro de estado para hacer un seguimiento del proceso.Estructura de las celdillas flash.La mayoría de los dispositivos flash comparten la misma estructura que lasEPROM. Ambos son transistores de poli silicio del tipo efecto campo (FET)CMOS puerta-flotante. La primera capa está aislada de la puerta de control poruna capa dieléctrica (que no conduce la electricidad), y aislada del sustrato por unacapa muy fina de óxido. Este aislamiento permite que se almacene carga eléctricaen la puerta flotante. La segunda capa está conectada a la línea de palabras yfunciona como la puerta de control. Las flash, a diferencia de las EPROM, tienenla capa de óxido que se ha indicado, con un espesor de tan solo 100 ángstrom, quepermite el efecto túnel Fowler-Nordheim, de los electrones de la puerta flotantedurante el proceso de borrado.Durante el proceso de escritura, se efectúa una inyección de electrones para colocarcargas eléctricas en la puerta flotante. En la puerta de control se envía un voltajealto, 12 V, que fuerza la aparición de una región de inversión en el sustrato que esde tipo p. El voltaje de drenado se incrementa a aproximadamente la mitad del dela puerta de control (a unos 6 V) mientras que el de la fuente es puesto a tierra (0V), incrementándose la diferencia de voltaje entre colector y fuente. Con la regiónde inversión que se ha formado se incrementa la corriente entre el colector y la base.El elevado flujo de electrones de la base al colector, incrementa la energía cinéticade los electrones, lo cual les permite alcanzar energía suficiente para sobrepasar labarrera de óxido y acceder a la puerta flotante.Una vez que se ha completado el proceso de escritura, la carga negativa sobre lapuerta flotante eleva el umbral de voltaje por encima del voltaje lógico 1 de lapuerta de control. Cuando una celdilla escrita (wordline) se lleva a un 1 lógico38
  40. 40. durante la lectura la celdilla no revierte al estado ON. El dispositivo amplificadordetecta y amplifica la corriente de la celda y emite un 0 para una celda escrita.En el proceso de borrado se usa el efecto túnel para eliminar cargas de la puertaflotante (que es el elemento donde se almacena la información) y llevarla al estadode borrado. El emisor se lleva a 12 V, la puerta de control se lleva a tierra (0V) y elcolector se desconecta. La gran cantidad de voltaje positivo en el emisor, encomparación con la puerta flotante, atrae a los electrones, que tiene carga negativa,de la puerta flotante a la base a través de la estrecha capa de óxido. Como eldrenaje no está conectado el proceso de borrado esta operación requiere muchamenos corriente por celdilla que una de escritura que usa inyección de electrones.Una vez que se ha completado el proceso de borrado, la pérdida de carga en lapuerta flotante baja el voltaje umbral (Vt) por debajo del valor 1 del de la puertade control ABIERTO. CODIGO ABIERTO.Es el término por el que se conoce al software distribuido y desarrollado en unadeterminada forma.Este término empezó a distribuido y desarrollado en una determinada forma. Estetérmino empezó a utilizarse en 1998 por algunos usuarios de la comunidad delsoftware libre, tratando de usarlo como reemplazo al ambiguo nombre original, eninglés, del software libre."Free software" puede significar diferentes cosas .Por un lado, permite pensar en"software por el que no hay que pagar", y se adapta al término de forma igualmenteválida que el significado que se pretende.El término no resultó apropiado como reemplazo para el ya tradicional freesoftware, pues eliminaba la idea de libertad (incluso hay quien usa --en inglés-- eltérmino Libre Software para evitar la ambigüedad de free).En la actualidad open source es utilizado para definir un movimiento nuevo desoftware (la Open Source Initiative), diferente al movimiento del Software Libre,aunque no completamente incompatible con este, de modo que es posible (como dehecho ocurre) que ambos movimientos trabajen juntos en el desarrollo práctico deproyectos.El significado obvio del término "código abierto" es "se puede mirar el códigofuente", lo cual es un criterio más débil y flexible que el del software libre; unprograma de código abierto puede ser software libre, pero también puede serlo unprograma semilibre o incluso uno completamente no libre.El software de código abierto (OSS por sus siglas en inglés) es software para el quesu código fuente está disponible públicamente, aunque los términos de39
  41. 41. licenciamiento específicos varían respecto a lo que se puede hacer con ese códigofuente.Función del Código Abierto en sistemas operativos y navegadores.Linux, sistema operativo derivado de UNIX que, manteniendo la generalidad desus características, como el ser multitarea y basado en bibliotecas dinámicas, puedeser ejecutado en ordenadores o computadoras personales aunque su potencia sealimitada. En sus orígenes fue desarrollado, en 1990, por el informático finlandésLinus Torvalds, que publicó su código como un denominado código abierto, esto es,accesible para toda la comunidad, sin restricciones para modificarlo y ampliarlo.Este planteamiento, favorecido por su estructura modular, generó una nuevavisión de desarrollo informático, ya que su expansión fue debida a la aportación,generalmente voluntaria y sin ánimo de lucro, de multitud de desarrolladoresindependientes.En la actualidad este sistema operativo ha obtenido un cierto apoyo por parte de laindustria, de forma que empresas como IBM o Hewlett-Packard lo integran enalgunos de sus ordenadores y prestan el soporte técnico correspondiente,normalmente como parte de los sistemas servidores. Su implantación en sistemaspara usuarios finales, aún no ha alcanzado la extensión que tiene en algunos de losámbitos más profesionales, muy especialmente en servidores de Internet.Netscape Communications Corporation, empresa de informática con sede enMountain View (California, Estados Unidos). Produce software que facilita elintercambio de información a través de Internet y otras redes informáticas. Elproducto más conocido de la compañía es un explorador de Internet denominadoNavigator, que permite navegar por la World Wide Web gracias a una interfazgráfica de usuario.Netscape también se ha introducido en el software de servidores de Internet, con suproducto Netscape Enterprise Server, que se ejecuta bajo Windows y Sun Solaris.Además, ha sido uno de los promotores más importantes de la inclusión de guionesinteractivos, mediante el lenguaje JavaScript en las páginas Web con formatoHTML, actualmente aceptado como un estándar por parte de toda la industria(formalmente denominado ECMA-262 o ECMAScript Language Specification, dela agencia European Computer Manufacturers Association).Ya tras la fusión de AOL con Time Warner, en 2001, la empresa matriz pasó adenominarse AOL Time Warner. La subsidiaria Netscape ha seguido su política de40
  42. 42. ceder el código fuente de sus productos como de libre utilización (código abierto),con el denominado proyecto Gecko. IV” “CAPITULO IV” ORDENADORES. REDES DE ORDENADORES.Definir el concepto de redes implica diferenciar entre el concepto de redes físicas yredes de comunicación.Respecto a la estructura física, los modos de conexión física, los flujos de datos,etc.; podemos decir que una red la constituyen dos o más ordenadores quecomparten determinados recursos, sea hardware (impresoras, sistemas dealmacenamiento, ...) sea software (aplicaciones, archivos, datos...).Desde una perspectiva más comunicativa y que expresa mejor lo que puede hacersecon las redes en la educación, podemos decir que existe una red cuando estáninvolucrados un componente humano que comunica, un componente tecnológico(ordenadores, televisión, telecomunicaciones) y un componente administrativo(institución o instituciones que mantienen los servicios). Una red, más que variosordenadores conectados, la constituyen varias personas que solicitan, proporcionane intercambian experiencias e informaciones a través de sistemas de comunicación.Atendiendo al ámbito que abarcan, tradicionalmente se habla de:* Redes de Área Local (conocidas como LAN) que conectan varias estacionesdentro de la misma institución,* Redes de Área Metropolitana (MAN),* Área extensa (WAN),Por su soporte físico:* Redes de fibra óptica,* Red de servicios integrados (RDSI),Si nos referimos a las redes de comunicación podemos hablar de Internet, BITNET,USENET FIDONET o de otras grandes redes.Pero, en el fondo, lo que verdaderamente nos debe interesar como educadores es elflujo y el tipo de información que en estas redes circula. Es decir, que las redesdeben ser lo más transparentes posibles, de tal forma que el usuario final norequiera tener conocimiento de la tecnología (equipos y programas) utilizada parala comunicación (o no debiera, al menos).Las distintas configuraciones tecnológicas y la diversidad de necesidadesplanteadas por los usuarios, lleva a las organizaciones a presentar ciertaversatilidad en el acceso a la documentación, mediante una combinación decomunicación sincrónica y asincrónica.41

×