






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Informàtica, Profesor: ricardo ferris, Carrera: Matemàtiques, Universidad: UV
Tipo: Apuntes
1 / 12
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







1. CONCEPTO DE COMPUTADOR .............................................................................................................................
I NTRODUCCIÓN ..................................................................................................................................................................... Definición de ALGORITMO ........................................................................................................................................... Proceso para resolución de un problema con el ordenador........................................................................................... A NTECEDENTES .................................................................................................................................................................... LA MÁQUINA DE V ON N EUMANN ......................................................................................................................................... Buses y señales de control .............................................................................................................................................. Parámetros básicos de un ordenador ............................................................................................................................. LENGUAJES DE PROGRAMACIÓN ........................................................................................................................................... Evolución histórica ......................................................................................................................................................... Escritura y traducción de programas escritos en lenguajes de alto nivel ...................................................................... Elementos básicos de un lenguaje de alto nivel.............................................................................................................. Tipos de lenguajes de alto nivel ...................................................................................................................................... TIPOS DE COMPUTADORES .................................................................................................................................................... S OPORTE LÓGICO ................................................................................................................................................................ Software del sistema ..................................................................................................................................................... Software de aplicación.................................................................................................................................................. EL SISTEMA OPERATIVO ...................................................................................................................................................... Ejemplos de sistemas operativos...................................................................................................................................
Un computador es una máquina programable para el procesado de información.
Para que la información sea entendida por el ordenador debe de estar debidamente codificada. La codificación se realiza en BITs ( Binary digT ).
Procesar información es extraer unos ciertos resultados o conclusiones a partir de unos ciertos datos de entrada.
Ejemplo: Resolución de una ecuación de segundo grado. 2 ⋅ x^2 − 3 ⋅ x + 1 = 0 Datos: 2 / -3 / 1
Procesamiento: 4
x =
Resultados: ⎪⎩
2
1 x
x
Para realizar un procesamiento de información el ordenador, necesariamente deberá poder realizar las siguientes tareas:
Definición de ALGORITMO
Un algoritmo es un conjunto finito de pasos y acciones que especifican de forma clara y concisa (sin ambigüedades) la secuencia de operaciones a realizar para procesar adecuadamente unos datos con un determinado objetivo.
Ejemplos:
Llamaremos programa a la plasmación de un algoritmo de forma que pueda ser entendido por un ordenador.
En principio el ordenador sólo es capaz de entender lenguaje binario (lenguaje que sólo contiene 2 posibles caracteres, habitualmente 0 y 1 ), pero para hacer más fácil la escritura de programas existen unos lenguajes de programación a los que se asocian traductores.
Un lenguaje de programación es un conjunto de palabras con una cierta sintaxis y una semántica asociadas.
Las características son:
Proceso para resolución de un problema con el ordenador.
(http://video.dlib.vt.edu/~history/ ) (http://video.dlib.vt.edu/cgi-bin/Lobby?Method=Timeline) (http://goldenink.com/computersandnetworks.shtml)
La máquina debe ser controlada por un conjunto de instrucciones con un pequeño número de elementos centrales de proceso.
Tanto la información (datos) como el programa (método de procesado de la información) deben almacenarse en el interior del computador en formato binario (con un alfabeto compuesto exclusivamente de ceros y unos).
La máquina de Von Neumann es una máquina ideal que seguiría el siguiente esquema:
Las unidades funcionales de la máquina de Von Neumann son:
Unidad de Entrada ( Input (I) ): Unidad de Salida ( Output (O) ): Memoria: Unidad central de procesos (U.C.P.) ( Central Process Unit (C.P.U.) ): ¾ Unidad de control (U.C.) ( Control Unit ): ¾ Unidad lógico-aritmética (U.L.A.) ( Aritmetic and Logic Unit (A.L.U.) ): Unidad de Entrada ( Input (I) ): Dispositivos por donde se introducen los datos e instrucciones. Teclado, ratón, lector de barras,... Unidad de Salida ( Output (O) ): Dispositivos por donde se obtienen los resultados. Monitor, impresora, paneles de información de tráfico,... Unidad central de procesos (U.C.P.) ( Central Process Unit (C.P.U.) ): ¾ Unidad de control (U.C.) ( Control Unit ): Es la encargada de administrar y coordinar los recursos y actividades del ordenador. Interpretar el código y generar las señales de control que lo ejecutan. Controlar la secuencia en que se ejecutan las operaciones. Controlar el acceso a memoria. Enviar y recibir señales de control relacionadas con las operaciones que se ejecutan en la A.L.U. Regular la E/S (Entrada/Salida.) ¾ Unidad lógico-aritmética (U.L.A.) ( Aritmetic and Logic Unit (A.L.U.) ): Unidad que contiene los registros básicos para realizar las operaciones aritméticas y lógicas.
Memoria: Encargada de almacenar de forma eficiente tanto los datos como los programas. Memoria principal (RAM/ROM) Memoria secundaria (discos/cintas/CDRom) Información almacenada en bytes (8 bits ) 1 Kilobyte (1 Kb) = 2^10 bytes = 1.024 bytes ≈ 1.000 bytes 1 Megabyte (1 Mb) = 2^20 bytes = 1 1 048.576 bytes ≈ 11 000.000 bytes 1 Gigabyte (1 Gb) = 2^30 bytes = 1.073 1 741.824 bytes ≈ 1.000 1 000.000 bytes 1 Terabyte (1 Tb) = 2^40 bytes ≈ 12 000.000 1 000.000 bytes En relación de tamaños y rapidez de memorias contenidas en los ordenadores actuales tendríamos: Registros: Pequeñas memorias que están en la A.L.U. y sobre las que se realizan las operaciones directamente. Cache: Memoria intermedia contenida en la C.P.U. de manera que no hay que atravesar los buses para acceder a la información contenida en la caché. Memoria principal (RAM): Región de memoria a la que la C.P.U. puede acceder normalmente. Memoria secundaria (discos): Memoria adicional en donde se puede guardar información de forma permanente, aunque para poder trabajar con esa información, primero la C.P.U. deberá pasarla a la memoria principal.
Tipo Tamaño Rapidez Registro 10-50 Bytes Caché 256-512 Kb R.A.M. 128 Mb-4 Gb Disco duro 10-80 Gb
Una de las características de la máquina de Von Neumann es que tanto los datos como las instrucciones se deben guardar dentro de la máquina (en la memoria), esto es en forma de sucesión de unos y ceros que deben ser interpretados de una forma determinada.
Un programa es una sucesión de órdenes que la C.P.U. va leyendo de la memoria y ejecutando de forma consecutiva.
El proceso básico de ejecución de un programa en la máquina de Von Neumann es el siguiente:
a.- Se lleva una instrucción desde la memoria a la U.C. (y se incrementa el contador del programa) b.- La unidad de control interpreta la instrucción y la ejecuta i.- Buscar información de la memoria (si hace falta) y llevarla a los registros de la A.L.U. ii.- Ejecutar la instrucción (sumas, restar, mirar entrada, escribir en salida,...) iii.- Poner la información resultante en la memoria (si es necesario) c.- Mientras no se llegue al final del programa volver al paso (a)
Los ordenadores actuales siguen principalmente las características enunciadas de la máquina de Von Neumann pero ampliada con más dispositivos.
Evolución histórica
El primer lenguaje de alto nivel desarrollado fue el FORTRAN ( FORmula TRANslation ) en 1957. Fue desarrollado por John Backus en IBM. Es un lenguaje de alto nivel especialmente pensado en la resolución de problemas matemáticos. Pero tenía como gran inconveniente la dificultad de trabajo con ficheros y la falta de recursividad (posibilidad de definir un cierto proceso refiriéndose a sí mismo.) Estos inconvenientes se han ido mejorando a lo largo de las diferentes versiones (FORTRAN 66, FORTRAN 70, FORTRAN 90 y FORTRAN 95).
Poco después del FORTRAN apareció el BASIC ( Begginers All-purpose Symbolic Instruction Code ), desarrollado por John Kemeny y Thomas Kuntz especialmente para enseñar a programar a usuarios poco especializados.
El uso de grandes ordenadores a aplicaciones empresariales llevó a desarrollar lenguajes específicos como el COBOL (en 1959.) Los lenguajes empresariales se caracterizan por desarrollar fácilmente informes elaborados, maneras precisas de describir y guardar números decimales y caracteres y la habilidad para especificar operaciones decimales.
En los 70, con la llamada ‘crisis del software’, aparecen los conceptos de programación estructurada, y Niklaus Wirth plasma estos conceptos en el lenguaje PASCAL (1971) desarrollado especialmente para enseñar programación estructurada.
También a principios de los 70 Kernighan y Ritchie desarrollan el lenguaje de programación C (1972), que admite los conceptos de programación estructurada, tal como Pascal, pero que permite una mayor libertad a la hora de realizar ciertas tareas que no pueden llegar a hacerse en la mayoría de los lenguajes de alto nivel. De hecho el C es un lenguaje de alto nivel, que es capaz de bajar de nivel y con el que es posible programar incluso sistemas operativos, que ya comentaremos más adelante.
A principios de los 80, se empiezan a desarrollar nuevos conceptos de programación que terminarían en la programación orientada a objetos y lenguajes como C++ , Eiffel o Smaltalk.
Escritura y traducción de programas escritos en lenguajes de alto nivel
El proceso entre la escritura de un programa por parte del usuario y que el programa pueda ser ejecutado por el ordenador es el siguiente:
El primer paso es escribir el programa en un editor de textos (en prácticas ‘ joe ’) Una vez escrito tendremos el llamado programa fuente ( source ) escrito en un lenguaje de alto nivel.
A continuación mediante el uso de un compilador (en prácticas el ‘ gcc ’) pasaremos el programa fuente a un lenguaje intermedio y obtenemos el programa objeto. En este paso se realiza el análisis léxico (que sólo se hayan escrito símbolos y palabras correspondientes al lenguaje de alto nivel que estemos
utilizando) y sintáctico (que los diferentes símbolos y palabras escritos estén en la sucesión correcta) del programa fuente.
El programa fuente puede estar escrito en varios módulos. La compilación traduce cada uno de los módulos a un programa objeto. En los diferentes objetos puede haber referencias a elementos que estén en otros objetos.
El último paso de la traducción es el linkado (del inglés link , enlazar) o montado de los diferentes objetos en un solo programa ya escrito en lenguaje binario y que se suele denominar programa ejecutable.
Finalmente, hay que cargar el programa ejecutable en memoria y ejecutarlo para obtener los resultados esperados.
Aunque en principio los lenguajes de programación son únicos, cada compilador específico de cada máquina puede incorporar ciertas características que no comparte con otros compiladores del mismo lenguaje de alto nivel.
Para evitar en lo posible la dispersión de un mismo lenguaje la American National Standars Institute (ANSI) establecen unos estándares para cada lenguaje de programación. Así podemos hablar de C en general, que puede contener ciertas características especiales o podemos hablar del ANSI C, que cumple estrictamente con los estándares establecidos permitiendo una mayor portabilidad de los programas escritos (mayor facilidad para llevarlos de un ordenador a otro sin tener que modificarlos).
Elementos básicos de un lenguaje de alto nivel
Palabras reservadas Constantes y variables Expresiones... ¾ ...aritméticas: + / - / * / ... devuelven valores aritméticos ¾ ...relacionales: > / < / = / ... devuelven valores booleanos (TRUE/FALSE) ¾ ...lógicas: AND / OR / ... devuelven valores booleanos (TRUE/FALSE) Etiquetas Comentarios Asignaciones ( ← ) Entrada Salida
Tipos de lenguajes de alto nivel
1ª clasificación: Por la forma en que se traducen.
¾ Estaciones de trabajo ( WorkStations ): Microprocesadores muy potentes y optimizados para la realización de tareas concretas y diferentes procesos simultáneos (pensados para atender a varios usuarios simultáneamente.) Diseño asistido por ordenador ( C.A.D. )
¾ Microcomputadores: Pensados para el trabajo personal ( Personal Computer (PC) )
Apple IBM/PC
¾ Calculadoras de bolsillo.
Ordenador → Parte física ( Hardware )
→ Parte lógica ( Software )
El soporte lógico de un ordenador es el conjunto de programas que permiten a un usuario realizar ciertas tareas en él.
Dentro del software podemos distinguir entre:
Software del sistema
â Programa de arranque: Es el conjunto de tareas que se realizan en el ordenador en el momento de encenderlo.
â Sistema operativo (S.O.): Es un conjunto de programas que relacionan al usuario con el hardware específico del ordenador, de manera que para el usuario no importa el tipo o marca del hardware, sólo el S.O. que este funcionando en el ordenador. Además se encarga de gestionar eficientemente los recursos de la máquina.
â Programas de ayuda al sistema operativo.
â Utilidades generales.
Software de aplicación.
Son funciones del sistema operativo :
Para realizar estas funciones de forma correcta, debemos exigir a un sistema operativo las siguientes características :
Las principales partes del sistema operativo son: El Kernel o núcleo del sistema y el interfaz.
Ejemplos de sistemas operativos