COMPUTACIÓN Y SISTEMAS DIGITALES
Primera Clase


INTRODUCCIÓN A LOS SISTEMAS DE COMPUTADORAS

Primeras definiciones de los términos básicos utilizados durante el curso, que los alumnos deberán emplear correctamente.

COMPUTADORA: Dispositivo electrónico digital programable que procesa y/o manipula información.

Programable:
A la secuencia o conjunto de instrucciones se lo denomina programa. Recordando la definición de algoritmo (conjunto de reglas que permite resolver un problema en un número finito de pasos), podemos decir que un programa es un algoritmo, aunque no necesariamente sea verdadera la afirmación inversa. Cuando un algoritmo puede implementarse como un programa de computadora decimos que es factible.

Clasificación:
En este punto se puede hacer una primera clasificación de las computadoras:
Computadora re-programable: se le puede cambiar el programa para que resuelva diferentes problemas (por ejemplo, una PC se puede transformar en un procesador de textos o en una calculadora, según el programa que se utilice).
Embedded system (sistema dedicado): el programa está fijo (por ejemplo, un horno a microondas).

En general hay tres grandes categorías:

Hardware/Software:
Al conjunto de dispositivos electrónicos que integran una computadora se lo denomina hardware. A los programas que se ejecutan en la computadora se los denomina software. En los embedded suele utilizarse el término firmware pues no puede ser cambiado por el usuario.

Organización de computadoras: estudia los detalles constructivos de la computadora (cómo funciona). Directamente relacionado con el hardware.
Arquitectura de computadoras: estudia la estructura y comportamiento de la computadora, tal como la ve un programador. Directamente relacionado con el software.
Ambas disciplinas están muy relacionadas entre sí y el límite entre ambas es bastante difuso.
Por encima de ellas se encuentra la Programaci'on de computadoras.

Acerca de las tareas:
Sin importar su tamaño, las computadoras realizan sus tareas según tres pasos fundamentales:

El concepto de "programa almacenado" fue introducido por John von Neumann y es la base de las arquitecturas modernas. Se la conoce con el nombre de Arquitectura de von Neumann y obedece a tres preceptos fundamentales:


La arquitectura de von Neumann

Por qué entender el funcionamiento interno de la computadora?

[Lectura recomendada: Linda Null and Julia Lobur. Essentials of Computer Organization and Architecture. Cap 1.5: Historia de las computadoras.]

SISTEMA OPERATIVO: Colección de programas que permite manejar las funciones básicas de una computadora.

Un sistema operativo tiene tres objetivos fundamentales:

Es software especializado que controla el hardware, cuyo objetivo es simplificar la tarea de los usuarios y programas. Son voluminosos y complejos (y por lo tanto a veces impredecibles), dada la sofisticación de las computadoras actuales.

En los tres puntos anteriores, si bien se conservan los conceptos, todos los sistemas operativos presentan implementaciones prácticas diferentes. Por ejemplo, un programa construido para ser ejecutado por el sistema operativo Windows no puede ser ejecutado por un sistema Unix.

Otro ejemplo es el concepto de sistema de archivos (filesystem) que todos los sistemas operativos utilizan para almacenar la información. Si bien todos recurren a la abstracción dada por un conjunto de carpetas (directories) y archivos (files) identificados por nombres, la ruta de acceso (path) a un archivo en Unix luce bien diferente a una de Windows. [NOTA: atentos al concepto de unidad (drive), que es exclusivo de DOS].

Entonces podemos definir archivo como una secuencia de bits almacenada bajo un nombre único en un sistema de archivos.

Un documento es un tipo de archivo que almacena información en un determinado formato (por ejemplo un documento de Word). Extisten otros tipos de archivos, como por ejemplo los que se utilizan para almacenar programas (archivos ejecutables). El contenido de estos programas puede ser ubicado en la memoria y ejecutado por la CPU.

Sistemas operativos de uso más frecuente: DOS, Windows 95/98, Windows NT/2000/XP, Unix, Linux. Por qué no hay más opciones de sistemas operativos para mi PC? Por qué querría aprender Unix? Qué es Linux? Qué significa Open Source?

Por qué entender el funcionamiento interno de un sistema operativo?
Porque no tenemos más remedio que interactuar con alguno de ellos para construir nuestros propios programas, a menos que la programación la hagamos a muy bajo nivel (no recomendable). El sistema operativo puede influir, entonces, en la factibilidad y eficiencia de nuestro programa.