Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Concepto de computador, Apuntes de Matemáticas

Asignatura: Informàtica, Profesor: ricardo ferris, Carrera: Matemàtiques, Universidad: UV

Tipo: Apuntes

Antes del 2010

Subido el 12/06/2007

xequebo2
xequebo2 🇪🇸

4

(212)

406 documentos

1 / 12

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Ricardo Ferrís Castell Informática (Lic. Matemáticas)
Tema 1: Concepto de computador 1
1. CONCEPTO DE COMPUTADOR
1. CONCEPTO DE COMPUTADOR.............................................................................................................................1
INTRODUCCIÓN.....................................................................................................................................................................1
Definición de ALGORITMO ...........................................................................................................................................2
Proceso para resolución de un problema con el ordenador...........................................................................................2
ANTECEDENTES.................................................................................................................................................................... 2
LA MÁQUINA DE VON NEUMANN .........................................................................................................................................3
Buses y señales de control ..............................................................................................................................................6
Parámetros básicos de un ordenador .............................................................................................................................6
LENGUAJES DE PROGRAMACIÓN ...........................................................................................................................................6
Evolución histórica.........................................................................................................................................................7
Escritura y traducción de programas escritos en lenguajes de alto nivel ......................................................................7
Elementos básicos de un lenguaje de alto nivel.............................................................................................................. 8
Tipos de lenguajes de alto nivel...................................................................................................................................... 8
TIPOS DE COMPUTADORES ....................................................................................................................................................9
SOPORTE LÓGICO................................................................................................................................................................ 10
Software del sistema .....................................................................................................................................................10
Software de aplicación..................................................................................................................................................11
EL SISTEMA OPERATIVO......................................................................................................................................................11
Ejemplos de sistemas operativos...................................................................................................................................11
Introducción
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. 0132 2=+ xx
Datos: 2 / -3 / 1
Procesamiento: 4
13
4
893
22
12433 2±
=
±
=
±
=x
Resultados:
=
=
2
1
1
2
1
x
x
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Concepto de computador y más Apuntes en PDF de Matemáticas solo en Docsity!

1. CONCEPTO DE COMPUTADOR

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...................................................................................................................................

Introducción

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:

  • Entrada de datos.
  • Salida de resultados
  • Procesamiento/Tratamiento de la información: ƒ Almacenamiento de datos y programas. ƒ Recuperación de datos y programas. (Los programas son los procedimientos correctos para tratar adecuadamente la información)

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:

  1. Receta de cocina: Secuencia de pasos para realizar un determinado plato.
  2. Algoritmo para obtener el resultado de dividir un número por otro.
  3. Algoritmo del mono y el plátano.

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:

  • Un vocabulario limitado ( palabras reservadas ).
  • Sintaxis rígida y sin excepciones y con pocas variaciones.
  • Semántica estricta y sin ambigüedades.

Proceso para resolución de un problema con el ordenador.

  1. Planteamiento del problema y propuesta de un método de resolución en lenguaje natural (castellano/valenciano normal)
  2. Plasmación del método de resolución en un algoritmo.
  3. Traducción del algoritmo a lenguaje de programación (generación del programa). ( 4. Compilación del programa a lenguaje binario (traducción automática) )

Antecedentes

(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.

  • Lenguajes compilados → C, Pascal, C++,... Los programas, una vez escritos de forma completa se traducen completamente (se compilan mediante la utilización de un compilador) y se tienen preparados para poder ser ejecutados, de manera que la ejecución, una vez el programa está traducido es mucho más rápida.
  • Lenguajes interpretados → BASIC Los programas se analizan a medida que van siendo escritos, y la ejecución se realiza línea a línea, de manera que es más fácil escribir los programas y encontrar errores en ellos, aunque la ejecución es mucho más lenta y siempre tenemos que tener disponible el traductor (intérprete).

¾ 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.

Soporte lógico

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: Es el encargado de administrar (gestión + mantenimiento) los recursos de la máquina.
  • Software de aplicación: Lo forman todos los programas que puede utilizar un usuario para realizar ciertas tareas específicas con el ordenador (edición de textos, contabilidad, diseño,...)

Software del sistema

â Programa de arranque: Es el conjunto de tareas que se realizan en el ordenador en el momento de encenderlo.

  1. Chequeo y comprobación de dispositivos hardware.
  2. Lectura de parámetros de la BIOS y configuración de algunos dispositivos (memoria, discos...)
  3. Búsqueda del sistema operativo y carga del mismo en memoria.

â 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.

  • Programas de diagnóstico: scandisk, ddn, speedisk...
  • Programas de mantenimiento del sistema: Añadir o modificar elementos hardware en el sistema.

â Utilidades generales.

  • Traductores (compiladores e intérpretes.)
  • Depuradores ( debuggers .)
  • Gestores de ficheros.

Software de aplicación.

  • Programas de edición de textos.
  • Gestión de bases de datos (gestión de bibliotecas, de matriculados en la universidad, etc.)
  • Programas de administración y contabilidad.
  • Herramientas de diseño y edición gráfica (CAD-CAM)

El sistema operativo

Son funciones del sistema operativo :

  • Hacer de interfaz entre el usuario y el hardware de la máquina.
  • Administrar y controlar los dispositivos hardware.
  • Mantener el sistema de archivos.
  • Apoyar la ejecución de otros programas.

Para realizar estas funciones de forma correcta, debemos exigir a un sistema operativo las siguientes características :

  1. Eficiencia (rapidez en las tareas.)
  2. Fiabilidad (sin fallos ni errores.)
  3. Facilidad de mantenimiento.
  4. Tamaño reducido (aunque últimamente esta característica está siendo sustituida por facilidad de manejo por parte de un usuario inexperto.)

Las principales partes del sistema operativo son: El Kernel o núcleo del sistema y el interfaz.

  • Núcleo o Kernel : Se encarga de las tareas más básicas y próximas al hardware. å Asignación de trabajos al microprocesador (μP.) å Swap o intercambio de tareas en el μP y de datos y programas en memoria. å Comunicación entre procesos. å Administración del hardware: Gestión de la memoria, control de entrada y salida ( drivers ), administración de archivos, apoyo a la ejecución de programas,...
  • Interfaz: Es el elemento a través del que el usuario se comunica con el hardware, y en general está formado por unas instrucciones u órdenes (muchas veces mal llamadas “comandos” del inglés command ) que permiten al usuario realizar ciertas tareas específicas.

Ejemplos de sistemas operativos

  • MS-DOS: ™ Sistema operativo de las máquinas con μP Intel (8088, 8086, 80286, 386, 486, Pentium,...) ™ Se centra en el control de los aspectos del PC enfatizando en la gestión de sistema de ficheros y la transferencia de información hacia los periféricos. ™ Funciona mediante interrupciones. ™ Para mantener la compatibilidad con versiones anteriores mantiene ciertas características que impiden aprovechar los últimos avances de los PC’s. ™ Monousuario y monoproceso.