Unidad 02 Conceptos introductorios de arquitectura del computador
Es un dispositivo electrónico programable, diseñado para llevar a cabo tareas de manipulación de información con gran rapidez.El rango de aplicaciones abarca desde usos comerciales (facturación, control de inventario, etc) hasta aplicaciones científicas o ingenieriles como control de experimentos de un laboratorio, extensivos cálculos en dinámica de fluídos, o el control de naves espaciales.
Arquitectura simplificada de un computador
Hardware
Se denomina así a todos los componentes físicos del computador o sistema de cómputo, cuya funcionalidad no puede ser modificada fácilmente.Los componentes principales de un computador (Hardware) son:
- Unidad central de Procesamiento (CPU): Dispositivo electrónico principal de procesamiento de datos. Es capaz de realizar operaciones básicas sobre los datos como lectura y escritura de un dato, operaciones aritméticas y lógicas básicas, control de la ejecución del programa, etc.
- Memoria de acceso aleatorio (RAM): Dispositivos electrónicos de almacenamiento rápido y volátil de la información.
- Memoria de acceso sólo a lectura (ROM): Dispositivo electrónico de almacenamiento de información no volátil. Generalmente usada para almacenar FirmWare.
- Dispositivos de Entrada y Salida:
- Medios de almacenamiento masivo (Diskettes, discos magnéticos, ópticos, magneto-ópticos, cintas magnéticas, etc.) utilizadas como un medio masivo no volátil de almacenamiento de datos.
- Teclado: Dispositivo de entrada de información.
- Monitor: Dispositivo de salida de información.
- Mouse: Dispositivo de entrada de datos por apunte y selección.
- Impresor: Dispositivo de salida de información en papel.
- Puertos de comunicación: Canales de comunicación de datos entre computadores.
- Conversores Analógico-Digitales y Digitales-Analógicos de datos: Son canales de entrada o salida de datos en forma analógica. La aplicación principal de este tipo de dispositivos es el control de procesos o dispositivos analógicos externos. También se emplea este tipo de canales para almacenar sonidos en forma digital, y luego reproducirlos.
Representación Interna de DatosUn sistema digital de información utiliza dispositivos electrónicos con alto nivel de integración de elementos binarios. Es decir que la unidad mínima de información (denominada bit) es capaz de almacenar dos estados diferentes que se identifican como valores lógicos 0 y 1. Debido a que, a los fines prácticos, esta unidad es demasiado pequeña, es que se definen los siguientes múltiplos: 1 byte (= 8 bits), 1 Kilobyte (= 2^10 bytes), 1 Megabyte (= 2^20 bytes), etc.
Software
Son los programas que dirigen la operación del Hardware para la solución de un problema, siendo su funcionalidad fácilmente modificable.Segun su funcionalidad se lo puede clasificar en:
Sistema Operativo (S.O.)
Aplicaciones
Sistemas de desarrollo
Sistema Operativo
El sistema operativo es un conjunto de programas que se encargan de realizar la administración de todos los recursos que posee un computador. Además provee a los programas de una interfase con el Hardware.En los S.O.s modernos se pretende que la programación se independice del hardware específico del computador sobre el cual corre, permitiendo transportabilidad de programas entre computadores de arquitectura disímil.
Estos se pueden clasificar de la siguiente manera:
De acuerdo a los usuarios que soporta:
- Monousuarios: Son aquellos S.O.s que permiten que sólo un usuario pueda estar haciendo uso del computador a la vez (DOS, PC/M, Apple Macintosh System 7, etc.).
- Multiusuarios: Permite que múltiples usuarios puedan hacer uso de un mismo computador en forma simultánea, compartiendo los recursos (UNIX, VMS, VM, Sun OS, NeXT Step, etc.).
- Mono Tarea: Sólo una tarea puede estar siendo ejecutada.
- Multi Tarea: Múltiples tareas pueden estas siendo ejecutadas simultáneamente. Todos los S.O.s multiusuarios son sistemas multitareas.
En general, un peso grande dentro de las tareas de un S.O. cae en la organización y administración de los medios masivos de almacenamiento. Para tal fin, esta organización utiliza dos conceptos fundamentales:
- Directorios: Son entidades lógicas que permiten realizar una organización estructurada y jerárquica de la información. No son contenedoras de información en sí, y sólo sirven a fines organizativos.
- Archivos: Son entidades lógicas que contienen información. El carácter de la información contenida en un archivo puede ser muy diverso, por ejemplo programas, bibliotecas de subprogramas, gráficos, imágenes, bases de datos, textos, sonidos, etc.
Aplicaciones
Son programas o conjuntos de programas que llevan a cabo tareas específicas: Manejo de Bases de Datos, Cálculo científico, Procesamiento de textos, Diseño asistido por computador, Control de procesos, Planillas de cálculo, Sistemas de graficación, Planificación empresarial, etc.
Sistemas de desarrollo
Son conjuntos de programas destinados a la generación de aplicaciones. Estos se pueden clasificar de diversas maneras:
- De acuerdo a su nivel de abstracción
- Lenguajes de bajo nivel de abstracción: Son lenguajes en que el programador debe especificar las tareas que debe realizar el computador, desde un punto de vista muy cercano al hardware (Assembler, código de máquina, etc.)
- Lenguajes de alto nivel de abstracción: El programador manipula entidades abstractas, sin involucrarse en los detalles de su implementación interna (Pascal, Fortran, C, Basic, C++, Prolog, Lisp, Logo, Cobol, Ada, PL1, RPG, Mathematica, etc.).
- De acuerdo a las metodologías de programación utilizadas
- Lenguajes Imperativos: Son aquellos en que el programador debe especificar en forma detallada el flujo del programa. (Assembler, C, Basic, Fortran, Pascal, etc.).
- Lenguajes Declarativos: Son aquellos en que el programador debe poner énfasis en la definición del problema, más que en su solución, descansando esta última en mecanismos del lenguaje mismo. (Prolog, Lisp, etc).
- Lenguajes Orientados a Objetos: El programador define entidades (objetos) caracterizadas por un estado interno, y un conjunto de mecanismos capaces de modificarlo. Esto permite abstraer entidades físicas con más facilidad, brindando una manera más directa para la modelización de un problema. (C++, Smalltalk, Objective C, Eiffel, CLOOS, ADA, HyperCard, etc.)
- Lenguajes Mixtos: Son aquellos que permiten al programador mezclar metodogías de programación (Mathematica, SMP, Nexpert Object, etc.).
- De acuerdo a la manera de ejecutar un programa
- Intérpretes: Son aquellos en que existe un proceso adicional al programa, que se encarga de ir traduciendo las sentencias del programa a lenguaje de máquina, durante la ejecución misma. Otorgan flexibilidad, pero a costa de pérdida de eficiencia.
- Compiladores: El proceso de traducción a código de máquina se realiza antes de la ejecución. Esto aumenta considerablemente la eficiencia, a costa de pérdida en la flexibilidad durante el desarrollo de un programa.
- Ambientes de programación: Son ambientes ricos para el programador, facilitando la tarea de desarrollo, depuración y prueba de un programa.
No hay comentarios.:
Publicar un comentario