Professional Documents
Culture Documents
1. Sistema informtico
El ordenador es una mquina electrnica que recibe y procesa datos para obtener un resultado. Un
ordenador est formado, fsicamente, por numerosos circuitos integrados y otros muchos
componentes de apoyo, extensin y accesorios, que en conjunto pueden ejecutar tareas diversas con
suma rapidez y bajo el control de un programa.
El modelo bsico de arquitectura de computadores fue definido en 1946 por Von Neumann. Hasta
entonces las computadoras existentes tenan programas cableados, que nicamente podan variar
modificando manualmente las conexiones entre las distintas unidades. La aportacin ms importante
de Von Neumann fue dotar a la computadora de la posibilidad de procesar diferentes programas
almacenados. El planteamiento de Von Neumann consista en unir permanentemente las unidades
fsicas de la computadora (CPU, memoria, disco, etc), coordinando su funcionamiento desde un
control central.
Esta arquitectura es la que se ha venido utilizando hasta hoy. Si bien existen nuevas arquitecturas
(que incorporan mltiples ncleos, memorias, buses, etc), todas ellas tienen la misma base definida
por Von Neumann, es decir: se basan en la separacin de dos partes esenciales: el hardware (su
composicin fsica: circuitos electrnicos, cables, teclado, etctera) y el software (la parte intangible:
programas, datos, informacin, etc).
Un sistema informtico (SI) es un sistema que permite almacenar y procesar informacin, formado
por un conjunto de partes interrelacionadas: hardware, software y recursos humanos.
- El hardware incluye computadoras o cualquier tipo de dispositivo electrnico.
- El software incluye el sistema operativo, firmware y aplicaciones.
- Los recursos humanos incluyen al personal tcnico que crea y mantiene el sistema y a los
usuarios que lo utilizan.
Wikipedia
La funcin del software por tanto ser ejecutar las instrucciones necesarias para que los distintos
componentes electrnicos del ordenador funcionen de forma lgica y coordinada. Estas instrucciones,
ordenadas y agrupadas de forma adecuada, constituyen un programa. El conjunto de varios
programas se denomina aplicacin informtica.
Sobre esta arquitectura existen numerosas variantes encaminadas a optimizar el rendimiento del
sistema, basadas en la incorporacin de ms procesadores, ms memorias (cachs o memorias
distribuidas) o ms buses, pero todas estas soluciones parten de la base definida por Von Neumann.
1
2.1. Memoria central
La unidad de memoria contiene los programas que ejecuta el computador y los datos sobre los que
han de actuar dichos programas. Est compuesta por una seria de celdas con dos estados estables,
por lo que cada una de ellas puede guardar un bit. Los bits se agrupan en unidades direccionables
llamadas palabras.
El mapa de memoria, o cantidad de memoria a la que se puede acceder, es muy dependiente del
nmero de lneas del bus de direcciones, que suele coincidir con la longitud de la palabra.
Sobre la memoria se pueden realizar dos operaciones: lectura y escritura. Para realizar una lectura es
necesario indicar la direccin de memoria que se va a leer. Para una escritura, adems de la
direccin donde se va a escribir es necesario indicar el valor que se escribir. Casi todas las
memorias emplean el almacenamiento binario, es decir, la informacin ms elemental registrada es el
bit.
Sera deseable que la CPU tuviese acceso inmediato e ininterrumpido a cualquier informacin
almacenada en la memoria, pero hacer esto posible sera muy costoso, por lo que en su lugar se
utiliza una jerarqua de memorias, unas internas (memoria principal o memoria cach), y otras
externas (accesibles a travs del mdulo de E/S) de forma que se consiga un equilibrio entre
capacidad de almacenamiento y coste.
La memoria interna del ordenador est formada por las memorias de los 3 primeros niveles, y los
restantes se consideran como memoria externa.
2
Cuando se desciende hacia niveles inferiores, el coste por unidad de informacin disminuye, la
capacidad aumenta, el tiempo de acceso aumenta y la frecuencia de los accesos a la memoria por
parte de la CPU disminuye.
2.3. Buses
Los buses son los circuitos (enlaces y conmutadores) encargados de interconectar todos los
componentes de un ordenador, permitiendo el envo de datos, direcciones y seales de control entre
todos ellos. La mayora de los buses estn basados en conductores metlicos por los cuales se
trasmiten seales elctricas.
3
buses dedicados es el incremento de rendimiento, pero a costa de encarecer el coste e
incrementar el tamao del sistema. En los buses compartidos una misma lnea se puede
utilizar para interconectar varios componentes y para distintas funciones. Tiene la ventaja
de que se ahorra espacio y el coste es menor, pero necesita una circuitera ms compleja
dentro de cada mdulo (para saber de qu tipo es cada seal recibida) y empeora el
rendimiento.
Arbitraje centralizado / distribuido: En los buses centralizados puede suceder que en un
determinado momento varios componentes quieran hacer uso del bus de forma
simultnea, por lo que ser necesario implementar un mtodo de arbitraje que gestione su
uso. En los buses con arbitraje centralizado existe un controlador del bus o rbitro
responsable de asignar el tiempo de uso del bus a cada elemento (puede ser parte de la
CPU o un componente aparte). En los distribuidos no existe un controlador central, sino
que cada dispositivo contiene la lgica de control necesaria para poder acceder al bus y
todos ellos comparten el bus de forma cooperativa.
Serie / Paralelo: un bus en serie enva la informacin secuencialmente bit a bit, mientras
que un bus paralelo puede enviar una palabra completa en un solo ciclo de reloj. Los
buses paralelos tienen por tanto la ventaja de su velocidad pero tienen problemas de
sincronizacin de seales para largas distancias y son ms caros.
Simplex / semiduplex / fullduplex: el bus simple es unidireccional. Es semiduplex
cuando puede enviar en ambos sentidos pero no al mismo tiempo (o bien enva en un
sentido o bien enva en el otro), y es fullduplex cuando puede enviar en ambos sentidos
simultneamente.
4
3.1.1. Representacin de nmeros enteros
5
m: mantisa, dgitos significativos del nmero. El tamao de este campo (normalmente es
un tamao fijo) determina la precisin de la representacin. Normalmente est
normalizado, es decir, su parte entera solo consta de un dgito, que ser la primera cifra
significativa del nmero a representar.
b: base del sistema de representacin (10 no sistema decimal, 8 no sistema octal, 2 no
sistema binario, etc.).
e: exponente, orden de magnitud del significando, expresado en exceso a 16. El mnimo y
mximo valor posible del exponente determinan el rango de valores representables.
Este mtodo permite adaptar el orden de magnitud del valor a representar, trasladando la coma
decimal mediante un exponente hasta la posicin de la primera cifra significativa del nmero
(notacin cientfica). De este modo se obtiene mayor precisin que en coma fija, y su rango de
representacin es mucho mayor (este rango vendr determinado por los valores lmite que
puede tomar el exponente).
Normalmente la codificacin ms utilizada por las computadoras para representar los nmeros
reales es el Estndar IEEE 754 para aritmtica en coma flotante, que utiliza 32 bits en
precisin simple y 64 en precisin doble
Ejemplo: Representar el nmero -6,125 en coma flotante:
1. s=1 (es un nmero negativo)
2. Pasamos la mantisa (6,125) a binario = 110,001
3. Normalizamos el nmero (se mueve la coma a la derecha o izquierda de forma que nicamnete quede por
delante de la coma el primer dgito significativo (quedara un nmero con la forma: 1,...) = 1,10001
4. Hemos movido la coma dos posiciones, por lo que el exponente sera 2 (expresado en exceso 16 da 18, en
binario: 10010).
5. La mantisa se normalza y se le saca el primer 1, con lo que ganamos un bit ms de precisin.
6. El nmero final es: 1 10010 100010 (hay que completar con ceros a la derecha de la mantisa).
3.1.3.2. De 7 bits
- ASCII (American Standar Code for Information Interchange): Su uso primordial es facilitar el
intercambio de informacin entre sistemas de procesamiento de datos y equipos asociados, y
dentro de sistemas de comunicacin de datos.
En un principio cada carcter se codificaba mediante 7 dgitos binarios, y fue creado para el
juego de caracteres ingleses ms corrientes, por lo que no tenan en cuenta ni caracteres
especiales ni caracteres especficos de otras lenguas. Esto hizo que posteriormente se
ampliara a 8 dgitos binarios (ASCII Extendido).
3.1.3.3. De 8 bits
- ASCII Extendido: Es una ampliacin del ASCII para poder representar tambin caracteres
especiales y caracteres especficos de otras lenguas, adems de los propios de la lengua
inglesa.
- EBCDIC (Extended Binary Coded Decimal Interchange Code): Este cdigo aparece como una
ampliacin del cdigo BCDIC. En las transmisiones de datos es necesario utilizar un gran
nmero de caracteres de control para la manipulacin de los mensajes y realizacin de otras
funciones, por lo que el cdigo BCDIC se haca insuficiente.
- ISO latin 1: La norma ISO 8859-1 define la codificacin del alfabeto latino, incluyendo los
diacrticos (como letras acentuadas, , ), y letras especiales (como ), necesarios para la
escritura de las lenguas originarias de Europa occidental.
Esta norma ISO tiene la codificacin ASCII en su rango inicial (es decir, sus primeros 128
caracteres coinciden con los de la codificacin ASCII) y otros 128 caracteres para cada
codificacin, con lo que en total utiliza 8 bits. Los caracteres de ISO-8859-1 son adems los
primeros 256 caracteres del estndar ISO-10646 (Unicode).
6
3.1.3.4. De 16 bits
- Unicode: Sistema de codificacin que tiene como propsito romper con las limitaciones de los
cdigos de caracteres tradicionales. Unicode est diseado para facilitar el tratamiento
informtico, transmisin y visualizacin de textos de mltiples lenguajes y disciplinas tcnicas,
adems de textos clsicos de lenguas muertas. El trmino Unicode viene de los tres objetivos
perseguidos: universalidad, uniformidad y unicidad.
Unicode especifica un nombre e identificador numrico nico para cada carcter o smbolo, o
code point (punto de cdigo), adems de otras informaciones necesarias para su uso correcto:
direccionalidad, maysculas y otros atributos. Unicode trata as los caracteres alfabticos,
ideogrficos y smbolos de forma equivalente, lo que significa que se pueden mezclar en un
mismo texto sen la introducin de marcas o caracteres de control.
Unicode incle todos los caracteres de uso comn en la actualidad. La versin 5.1 contena
100.713 caracteres de alfabetos, sistemas ideogrficos y colecciones de smbolos
(matemticos, tcnicos, musicales, iconos, ...), y la cifra crece con cada versin.
4. El sistema operativo
Los primeros programas que se desarrollaron tenan acceso directo al hardware del ordenador, por lo
que eran muy potentes pero para hacer una simple operacin de lectura en memoria, por ejemplo, era
necesario implementar las instrucciones necesarias en cada programa que necesitase hacer una
lectura. Adems, el programa solamente funcionaba sobre la mquina para la que se creaba, ya que
al ejecutarlo en otra mquina con diferente hardware ya no funcionaba.
Para solucionar estos problemas lo que se hizo fue incorporar una capa de software que se
encargase de realizar todas estas tareas bsicas sobre el hardware, abstrayendo de este trabajo al
programador y facilitando la reutilizacin del software. Esto fue el germen de los sistemas operativos.
7
Wikipedia
8
4.2. Estructura del SO
La estructura interna de los sistemas operativos pueden ser muy diferentes, ya que se debe tener en
cuenta las metas de los usuarios (fcil uso, confiable, rpido, etc.) y las del sistema (fcil de disear,
implementar y mantener, eficiente, etc.).
Su objetivo es obtener una mxima funcionalidad dentro del menor espacio posible.
Ejemplos de estos sistemas pueden ser MS-DOS, Windows 95 y 98 o Linux (aunque incluye algo de
capas). Es importante tener en cuenta que ningn sistema es puramente de un tipo.
Estos sistemas tienen como ventaja que son modulares y la verificacin se puede hacer en cada capa
por separado (son ms mantenibles). Sin embargo el diseo es muy costoso y es menos eficiente que
el sistema monoltico ya que pierde tiempo pasando por cada capa.
9
- Portabilidad: al reducir el ncleo y delegar casi todos los procesos en servicios de usuario se
simplifica la portabilidad, ya que solamente sera necesario reimplementar el ncleo.
- Fiabilidad: es ms fcil corregir fallos en un sistema pequeo ya que se pueden aislar mejor los
errores y realizar pruebas ms rigurosas que en un sistema grande.
- Escalabilidad. Para agregar un nuevo servicio no es necesario modificar el ncleo, y es ms
seguro ya que los servicios corren en modo usuario.
Este enfoque modular utiliza la programacin orientada a objetos. En general, esta estructura se
parece bastante a la de capas, pero es mucho ms flexible debido a que cualquier mdulo de esta
estructura puede llamar a otro. Es similar a la estructura de microkernel, pues el kernel tambin tiene
las funciones esenciales, pero este es ms eficiente ya que no necesitan un mecanismo de paso de
mensajes para comunicarse, slo interfaces conocidas.
Son de este tipo los sistemas Unix y Windows modernos, Solaris, Linux, Mac OS, etc.
10