Está en la página 1de 10

Sistemas de Computacin

Componentes de un Sistema de Computacin Cmo Funciona una computadora? Modelo de Von Neuman

COMPONENTES LGICOS O SOFTWARE El software es el conjunto de instrucciones electrnicas que le dicen al hardware lo que debe hacer. Estos conjuntos de instrucciones tambin se conocen como programas y cada uno de ellos se desarrolla para un propsito especfico. Una computadora en s, no es ms que un conjunto de componentes electrnicos; el software da vida a la computadora, haciendo que sus componentes funcionen de forma ordenada. El software es, por tanto, un conjunto de instrucciones detalladas que controlan la operacin de un sistema de cmputo. Un Programa es un conjunto de instrucciones ordenadas y escritas en un lenguaje comprensible por el ordenador, que marcan los pasos a realizar en el proceso de manipulacin de datos. Los programas se elaboran con una sucesin de algoritmos, que se disean como pseudocdigos u organigramas, siguiendo tres etapas: Edicin: creacin del programa o cdigo fuente; los pseudocdigos y organigramas se traducen a lenguajes de programacin, utilizando programas editores de texto. Compilacin: creacin del programa o cdigo objeto; cada instruccin del programa fuente se convierte a un lenguaje comprensible para el ordenador (sistema binario) compuesto por ceros y unos, utilizando programas compiladores que revisan si el cdigo fuente es correcto o no. Enlace: obtencin del programa ejecutable, enlazando los programas objeto con las instrucciones utilizadas para formar un nico programa. Es el resultado de enlazar uno o varios fragmentos de cdigo objeto. Constituye un archivo binario con un formato tal que el sistema operativo es capaz de cargarlo en la memoria de una computadora, y proceder a su ejecucin. El cdigo ejecutable es directamente comprensible por la computadora.

Recopilacin: Imara Daz 1

CLASIFICACIN DEL SOFTWARE De acuerdo con el propsito por el cual fueron desarrollados, los programas se clasifican en dos categoras: Software del Sistema: le dice al computador como usar sus propios componentes, es necesario para administrar y mantener los recursos de la computadora de una forma eficiente Software de Aplicacin: le dice a la computadora como realizar tareas especificas para el usuario, son aplicaciones especificas que utilizan los recursos de la computadora.

SOFTWARE DEL SISTEMA A esta categora pertenecen: 1. Programa de Arranque, es el primero que se ejecuta cuando arranca la mquina. Comprueba los dispositivos del ordenador y carga en memoria el sistema operativo. 2. Sistema Operativo, este es el programa de control maestro de la computadora, proporciona la plataforma lgica sobre la cual se pueden ejecutar los otros programas. Funciones del sistema Operativo: a) Posibilita la comunicacin entre el usuario y la computadora: proporciona una interfaz grafica (Gui: Grafic User Interface) o de lnea de comandos para que el usuario se pueda comunicar con la mquina. La interfaz grafica: Su uso se basa en la metfora de un escritorio donde se muestras objetos grficos para representar los recursos disponibles tales como: Ventanas (marcos grficos que representan programas y sus archivos asociados), conos (son dibujos que representan los recursos del computador), Mens (son listas de comandos relacionados entre s). El mouse como dispositivo de entrada.

Recopilacin: Imara Daz 2

La interfaz de lnea de comandos: su uso se basa en el conocimiento de los comandos que pertenecen al sistema operativo por parte del usuario. El teclado como dispositivo de entrada. Se presenta como una lnea latente en pantalla donde el usuario debe escribir cada comando. Esta lnea se conoce como prompt.

b) Carga en memoria RAM los otros programas para su ejecucin, como parte de esta funcin los sistema operativos se encargan de: Administrar la ejecucin de tareas Administrar la de los archivos Administrar el uso de la memoria Administrar las solicitudes de impresin Facilitar que los programas compartan informacin c) Coordina el trabajo entre el Hardware y el resto del Software. Para cumplir esta funcin los sistemas operativos hacen uso de solicitudes de interrupcin (IRQ = interrupt request). Un IRQ es una seal enviada por el sistema operativo a la CPU solicitando tiempo de procesamiento para una tarea especfica. Tambin los controladores (drivers) de los dispositivos de entrada pueden enviar IRQs. Un driver es una pieza de software que controla a un dispositivo en particular. d) Administra el almacenamiento de la informacin. Para cumplir esta funcin el sistema operativo hace uso del registro de todos los archivos presentes en cada disco, es decir la FAT (File Allocation Table). Ademas los sistemas operativos proveen un sistema jerarquico, que permite al usuario organizar sus archivos dentro de cada unidad de almacenamiento. Recopilacin: Imara Daz 3

Clasificacin del sistema operativo: a) En funcin del nmero de usuarios: Monousuario: un solo usuario utilizando el sistema Multiusuario: Controla a dos o ms usuarios ejecutando programas simultneamente. Algunos sistemas operativos pueden controlar miles de usuarios (ejemplo: Mainframe). b) En funcin del nmero de tareas: Monotarea: slo admiten un programa en ejecucin a la vez. Multitarea: Controla la ejecucin de mltiples programas o tareas simultneamente. c) En funcin del nmero de procesadores: Uniproceso: un nico procesador Multiproceso: controla la ejecucin de programas en ms de un procesador (varios procesadores Algunos sistemas operativos son: Unix/ Linux: tiene capacidad multitarea, multiusuario y multiproceso, usa interfaz de lnea de comando. Sin embargo la mayora de sus versiones ya disponen de una interfaz grafica opcional que el usuario puede instalar Dos: puede controlar solo una tarea, un usuario y un proceso. MacOS: Diseado para procesadores Motorola (Equipos MacIntosh), tiene capacidad multitarea y multiusuario, usa interfaz grafica Windows: Diseado para procesadores Intel (Equipos PC), tiene capacidades multitarea y multiusuario, usa interfaz grafica

3. Programas de Diagnstico, generacin y mantenimiento. Son utilizados por los responsables del mantenimiento y puesta al da del hardware y el software (incluida la generacin y mantenimiento del propio sistema operativo). Con estos programas se pretende por ejemplo localizar automticamente las averas de un determinado dispositivo o circuito, o las causas de un mal funcionamiento de algn modulo del sistema operativo. 4. Utilidades Generales y Herramientas de Programacin que contienen programas de autoayuda que facilitan la construccin o el uso de las aplicaciones, sea cual sea la naturaleza de stas. Incluye herramientas tales como: Traductores (ensambladores, compiladores e intrpretes) Editores de texto Rastreadores / depuradores de errores de programacin Gestores de archivos Administradores de bibliotecas de programas

Recopilacin: Imara Daz 4

Lenguajes de Programacin Un lenguaje de programacin es un idioma artificial diseado que contiene un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones, es utilizado para controlar el comportamiento fsico y lgico de una mquina segn su nivel de abstraccin. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. El ordenador slo entiende un lenguaje conocido como cdigo binario o cdigo mquina, consistente en ceros y unos. Es decir, slo utiliza 0 y 1 para codificar cualquier accin. Los lenguajes ms prximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran ms cercanos a los programadores y usuarios se denominan lenguajes de alto nivel. Lenguajes de bajo nivel Son lenguajes totalmente dependientes de la mquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas. Al estar prcticamente diseados a medida del hardware, aprovechan al mximo las caractersticas del mismo. Dentro de este grupo se encuentran: El lenguaje maquina: este lenguaje ordena a la mquina las operaciones fundamentales para su funcionamiento. Consiste en la combinacin de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho ms rpido que los lenguajes de alto nivel. La desventaja es que son bastantes difciles de manejar y usar, adems de tener cdigos fuente enormes donde encontrar un fallo es casi imposible. El lenguaje ensamblador: es un derivado del lenguaje mquina y est formado por abreviaturas de letras y nmeros llamadas mnemotcnicos. Con la aparicin de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje mquina. Como ventaja con respecto al cdigo mquina es que los cdigos fuentes eran ms cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prcticamente las mismas que las del lenguaje ensamblador, la dificultad de tener que aprender un nuevo lenguaje difcil de probar y mantener.

Recopilacin: Imara Daz 5

Lenguajes de alto nivel Son aquellos que se encuentran ms cercanos al lenguaje natural que al lenguaje mquina. Estn dirigidos a solucionar problemas mediante el uso de EDD's (Estructuras Dinmicas de Datos, algo muy utilizado en todos los lenguajes de programacin. Pueden cambiar de tamao durante la ejecucin del programa). Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una mquina a otra sin ningn tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que estn diseando el programa. Tan solo necesitan un traductor que entiendan el cdigo fuente como las caractersticas de la maquina. Suelen usar tipos de datos para la programacin y hay lenguajes de propsito general (cualquier tipo de aplicacin) y de propsito especifico (como FORTRAN para trabajos cientficos). Ventajas

Genera un cdigo ms sencillo y comprensible. Escribir un cdigo vlido para diversas mquinas y, posiblemente, sistemas operativos.

Desventajas

Reduccin de velocidad al ceder el trabajo de bajo nivel a la mquina. Algunos requieren que la mquina cliente posea una determinada plataforma.

Principales lenguajes de alto nivel

Ada, ALGOL, BASIC, C++, C#, COBOL, Fortran, Java, Lisp, Modula-2, Pascal, Perl, PHP, PL/SQL, Python

La evolucin de los lenguajes de programacin se puede dividir en 5 etapas o generaciones.


Primera generacin: lenguaje mquina. Segunda generacin: se crearon los primeros lenguajes ensambladores. Tercera generacin: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol Cuarta generacin. Son los lenguajes capaces de generar cdigo por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aqu tambin se encuentran los lenguajes orientados a objetos, haciendo posible la reutilizacin de partes del cdigo para otros programas. Ej. Visual. Quinta generacin: aqu se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todava estn poco desarrollados.

Recopilacin: Imara Daz 6

SOFTWARE DE APLICACIN A esta categora pertenecen todos los programas que denominamos Aplicaciones. Las aplicaciones son programas diseados y desarrollados para que los usuarios de un computador ejecuten una tarea especfica, requieren de un sistema operativo para cumplir su funcin y deben estar desarrolladas bajo los requerimientos y caractersticas de ese sistema operativo. Las funciones de una aplicacin dependen de su propsito, segn el cual pueden clasificarse en dos categoras: 1. Programas bsicos o utilitarios: son aplicaciones cuyo propsito es mejorar, en alguna forma el desempeo del computador. Ejemplo: Antivirus, compresor de archivos, Defragmentador, Software para respaldo, Software de recuperacin. 2. Programas de productividad: son aplicaciones cuyo propsito es facilitar, agilizar y mejorar para el usuario la ejecucin de ciertas tareas. Ejemplo: procesadores de texto, hojas de clculo, Presentaciones automatizadas, navegadores de internet, administradores de base de datos, desarrolladores de sitios web Diferenciar si ciertos programas de utilidades son software del sistema o software de aplicacin es difcil. As en principio el Sistema Operativo proporciona todas las caractersticas necesarias para el funcionamiento del sistema, sin embargo no alcanzan a cumplir las necesidades del usuario o no es de fcil manejo. Estas deficiencias del SO se cubren mediante las llamadas utilidades, que se desarrollan posteriormente. Algunas de estas utilidades adquieren gran popularidad y las versiones posteriores del SO las van incorporando. La rpida evolucin del software hace que muchos de estos programas de utilidades pasen de ser aplicaciones a ser software bsico. Modalidades de Adquisicin del Software 1. Software que se adquiere totalmente desarrollado y se utiliza exactamente para lo que fue escrito 2. Software que se adquiere totalmente desarrollado y se modifica para adaptarlo a las necesidades especificas del usuario 3. Software que se desarrolla completamente bajo las especificaciones del usuario

Recopilacin: Imara Daz 7

CMO FUNCIONA UNA COMPUTADORA? MODELO DE VON NEUMAN

La arquitectura de un computador define su comportamiento funcional. Von Neumann estableci en 1945 un modelo de computador, que se considera todava como la arquitectura bsica de los computadores digitales. En la figura se muestra la estructura general de un computador con arquitectura Von Neumann.

En general, la funcin esencial de la mquina de Von Neumann, como la de cualquier computador, es procesar informacin. Para ello, necesita saber el tipo de procesamiento y los datos que utilizar. El tipo se especifica mediante un programa, que es un conjunto de instrucciones u rdenes elementales, denominadas instrucciones mquina, que ejecuta el computador (Aritmticas: suma, resta, multiplicacin, divisin..., Lgicas: AND, OR, NOT, XOR..., Transferencia de datos: cargar, almacenar, transferir..., Saltos y Bifurcaciones condicionales, etc). Por tanto, se necesita un soporte que almacene tanto el programa como los datos. El bloque de Memoria Principal interna es el que realiza esta funcin. Anlisis De Los Bloques. Memoria Principal (M. P.) Se compone de un conjunto de celdas del mismo tamao (nmero de bits). Cada celda est identificada por un nmero binario nico, denominado direccin. Una vez seleccionada una celda mediante su correspondiente direccin, se pueden hacer dos operaciones: Lectura. Permite conocer el valor almacenado anteriormente. Escritura. Almacena un nuevo valor. Recopilacin: Imara Daz 8

En la arquitectura Von Neumann, la M. P. almacena tanto las instrucciones mquina como los datos.

Unidad Aritmtico-Lgica (U. A. L.). Realiza las operaciones elementales, tanto aritmticas como lgicas, que implementa el computador: suma, resta, AND, OR, NOT, etc. Los datos con los que opera se leen de la M. P., y pueden almacenarse temporalmente en los registros que contiene la U. A. L.

Unidad de Control (U. C.). Ejecuta las instrucciones mquina almacenadas en la M. P. Para ello: Captura las instrucciones de la MP y las decodifica. Segn el tipo de instruccin, genera las seales de control a todas las unidades del computador para poder realizar su ejecucin. En la figura estas seales se indican mediante trazos. Si la instruccin opera con datos deber acceder a la MP para transferirlos a la UAL. Proporciona las seales necesarias a la UAL para que realice la operacin correspondiente a la instruccin. Controlar las Unidades de Control de E/S si la instruccin accede a alguno de estos dispositivos. Tiene un registro apuntador, denominado Contador de Programa, que en cada instante contiene la direccin de la prxima instruccin a ejecutar.

Unidad de Entrada/Salida (U. E/S.). Realiza la transferencia de informacin con las unidades externas, denominadas Perifricos: unidades de almacenamiento secundario (disco duro, disquette, cinta, etc), impresoras, terminales, etc. Generalmente los programas y los datos tienen un tamao elevado por lo que no se pueden almacenar por completo en la MP. Por otra parte, el usuario de un computador tiene la necesidad de ejecutar varios programas, simultneamente. Por ello, se utiliza la memoria secundaria (MS), que se considera como un perifrico. La MS es ms lenta que la principal, pero tiene una mayor capacidad de almacenamiento. Como para ejecutar un programa este debe estar en la M.P., la U. C. genera las seales necesarias a la U. E/S. para transferir los datos y los programas desde la M.S. a la M.P. Adems la U. E/S. permite otras operaciones, como visualizar en una pantalla (terminal) o imprimir en papel (impresora) los resultados obtenidos. Buses. Adems de las 4 unidades bsicas, en un computador existen conjuntos de seales, que se denominan buses, y cuya funcin es transferir las instrucciones y los datos entre las distintas unidades. Estos buses se representan en la figura mediante flechas de trazo continuo. Se suelen distinguir tres tipos de buses: Bus de direcciones. Bus de datos. Bus de control. Unidad Central de Proceso (U.C.P.). Recopilacin: Imara Daz 9

Es el conjunto formado por la U.C., los registros y la U.A.L., es decir es el bloque encargado de ejecutar las instrucciones. Con la aparicin de los circuitos integrados, y en concreto a partir de los aos 70, cuando la tecnologa alcanz el nivel de integracin adecuado, se integr en una sola pstilla la U.C.P. A este circuito integrado se le denomina Microprocesador. Observacin. Una forma de determinar el rendimiento de un computador es por el nmero de instrucciones que ejecuta por segundo (MIPS). As, generalmente un computador con un nmero MIPS elevado, equivale a decir, que tiene una gran capacidad de procesamiento. Al ser la UCP el bloque encargado de la ejecucin del programa, tiene que funcionar a la mayor velocidad posible. Por ello, se implementa con dispositivos semiconductores, que por los avances tecnolgicos actuales, pueden trabajar a frecuencias muy elevadas (del orden de 150 MHZ). Como la MP suministra las instrucciones y los datos a la UCP, tiene que ser tambin lo ms rpida posible, por lo que se implementa igualmente con dispositivos semiconductores.

POR QUE SURGIO LA ARQUITECTURA DE VON NEUMANN? La arquitectura de Von Neumann se basa en tres conceptos: Las instrucciones y los datos se almacenan en una misma memoria de lectura y escritura. El contenido de la memoria se direcciona por localidad, es decir, por la posicin que ocupa y no por el tipo de datos. La ejecucin de las instrucciones es secuencial. Despus de una instruccin se ejecuta la ubicada en la siguiente posicin de la memoria principal. No obstante, se puede modificar el orden de ejecucin mediante instrucciones especficas.

Recopilacin: Imara Daz 10