Вы находитесь на странице: 1из 16

INTRODUCCIN A LA

ARQUITECTURA DE
SISTEMAS
COMPUTACIONALES

Miguel Sosa Flores


Flor Angel Hernndez Prez
ARTICULO

Ttulo: INTRODUCCIN A LA ARQUITECTURA DE SISTEMAS COMPUTACIONALES

ISSN versin digital: 1413588104


Organizacin Multinivel de las Mquinas Computadoras.
Una computadora digital es una mquina que puede resolver problemas ejecutando un conjunto de
instrucciones dadas. Se llama programa a una secuencia de instrucciones que describe cmo ejecutar
cierta tarea. Los circuitos electrnicos de cada computadora pueden reconocer y ejecutar directamente
un conjunto limitado de instrucciones simples. Todos los programas que se deseen ejecutar en una
computadora deben convertirse previamente en una secuencia de estas instrucciones simples. Estas
instrucciones bsicas pocas veces rebasan la complejidad de:
! Sumar dos nmeros.
! Comprobar si un nmero es cero.
! Mover datos de una parte de la memoria a otra.

El conjunto de las instrucciones primitivas de una computadora forma el lenguaje con el cual podemos
comunicarnos con ella. Dicho lenguaje se llama lenguaje de mquina. Los diseadores de una nueva
computadora deben decidir qu instrucciones incluir en su lenguaje de mquina. Normalmente intentan
hacer las instrucciones primitivas lo ms simples posible, siempre que estn de acuerdo en el uso para
el que se ha proyectado la computadora y con el rendimiento requerido, a fin de reducir la complejidad
y el costo de la electrnica que se necesite. Debido a que la mayora de los lenguajes de mquina son
demasiado elementales, es difcil y tedioso utilizarlos.
La invencin de toda una serie de lenguajes, cada uno ms conveniente que sus predecesores, puede
continuar indefinidamente hasta que se consiga uno adecuado. Cada lenguaje usa su predecesor como
base, de manera que una computadora que use esta tcnica puede considerarse como una serie de capas
o niveles, uno encima de otro, como se muestra en la figura 1-1. El lenguaje de ms bajo nivel es el
ms simple, y el de ms alto nivel el ms complejo.
Existe una relacin importante entre un lenguaje y una mquina virtual. Cada mquina tiene algn
lenguaje de mquina, que consiste en todas las instrucciones que puede ejecutar. De hecho, una
mquina define un lenguaje. En forma similar, un lenguaje define una mquina: la que puede ejecutar
todos los programas escritos en ese lenguaje. Desde luego, la mquina definida por cierto lenguaje
puede ser enormemente complicada y cara para construirla directamente con circuitos electrnicos,
pero podemos imaginarla. Una mquina con C, Pascal, Java o COBOL como lenguaje de mquina
sera, desde luego, extremadamente compleja, pero es ciertamente concebible y, quizs en unos pocos
aos ms su construccin se considere sencilla.
Los programas en Ln son interpretados por un
Nivel n Mquina Virtual Mn con intrprete que se ejecuta en una mquina de nivel
Lenguaje de Mquina Ln inferior o son traducidos a una mquina de nivel
inferior.

Los programas en L3 son interpretados por un


intrprete que se ejecuta en M2 o M1 o son
Mquina Virtual M3 con
Nivel 3 traducidos a L2 o L1.
Lenguaje de Mquina L3
Los programas en L2 son interpretados por un
Nivel 2 Mquina Virtual M2 con intrprete que se ejecuta en M1 o son traducidos a
Lenguaje de Mquina L2 L1.

Los programas en L1 pueden ser ejecutados


Mquina Virtual M1 con directamente por los circuitos electrnicos
Nivel 1
Lenguaje de Mquina L1

Figura 1.1. Mquina multinivel.


Una computadora con N niveles puede verse como n mquinas virtuales diferentes, cada una de las
cuales tiene un lenguaje de mquina especial. Utilizaremos el trmino "nivel" y "mquina virtual"
indistintamente.
Una persona cuyo trabajo sea escribir programas para la mquina virtual de N niveles no necesita
conocer los intrpretes ni los traductores subyacentes. La estructura de la mquina se encarga de que
dicho programa se ejecute de alguna manera. No interesa si es ejecutado paso a paso por el intrprete o
si es ejecutado directamente por la electrnica. Obtiene el mismo resultado en ambos casos, sus
programas se ejecutan. De esta forma estamos concibiendo la computadora como una jerarqua de
niveles, lo cual nos proporciona una buena estructura o marco de trabajo para entender cmo estn
organizadas.

Nivel de Lenguajes Orientados


Nivel 5
a Problemas

Traduccin (Compilador)

Nivel de Lenguaje
Nivel 4
Ensamblador

Traduccin (Ensamblador)

Nivel de Mquina del


Nivel 3 Sistema Operativo
Interpretacin Parcial
(Sistema Operativo) (Compilador)
Nivel de Mquina del
Nivel 2
Sistema Convencional

Interpretacin (Microprograma)

Nivel de Microprogramacin
Nivel 1

Los programas son ejecutados


directamente por el hardware
Nivel de Lgica Digital
Nivel 0

Figura 1.2. Seis niveles presentes en la mayora de las computadoras modernas.

Existen muchos sistemas con seis niveles, como se muestra en la figura 1-2. El nivel 0, el ms inferior,
es realmente el hardware de la mquina. Sus circuitos ejecutan los programas escritos en el lenguaje de
mquina del nivel 1. En el nivel de la lgica digital, los objetos que nos interesan se denominan
compuertas. Si bien se construyen a partir de componentes analgicos, tales como transistores, las
compuertas pueden modelarse con precisin como dispositivos digitales. Cada compuerta tiene una o
ms entradas digitales (seales que representa 0 1) y calcula alguna funcin simple de estas entradas,
como las funciones lgicas AND y OR.
El siguiente nivel por encima es el nivel 1, que conforma el verdadero nivel del lenguaje de mquina.
En contraste con el nivel 0, donde no existe el concepto de programa como conjunto de instrucciones a
realizar, en el nivel 1 existe ya un programa llamado microprograma, cuya funcin es interpretar las
instrucciones del nivel 2. Llamaremos al nivel 1 el nivel de microprogramacin. Aunque no hay dos
computadoras con idntico nivel de microprogramacin existen bastantes semejanzas que nos permiten
abstraer las caractersticas esenciales de este nivel y estudiarlas como si estuvieran bien definidas.
Cada mquina de nivel 1 tiene uno o ms microprogramas que pueden ejecutarse en ella. Cada
microprograma define implcitamente un lenguaje de nivel 2 (y una mquina virtual, cuyo lenguaje de
mquina es ese lenguaje). Estas mquinas de nivel 2 tambin tienen mucho en comn; incluso las de
distintos fabricantes tienen ms semejanzas que diferencias. Llamaremos a este nivel el nivel de
mquina convencional, por falta de un acuerdo general en cuanto al nombre.
Es preciso sealar que algunas computadoras no tienen un nivel de microprogramacin. En estas
mquinas las instrucciones del nivel de mquina convencional son realizadas directamente por los
circuitos electrnicos (nivel 0), sin ningn intrprete que intervenga. En consecuencia, el nivel de
mquina convencional es el nivel 1, no el 2.
El tercer nivel normalmente es un nivel hbrido. La mayora de las instrucciones de su lenguaje estn
tambin en el lenguaje de nivel 2 (no hay razn que impida que una instruccin de un nivel se presente
tambin en otros). Adems, existe un nuevo conjunto de instrucciones, una diferente organizacin de la
memoria y la posibilidad de ejecutar dos o ms programas en paralelo, entre otras cosas. Hay ms
diferencias entre las mquinas de nivel 3 que entre las de nivel 1 o entre las de nivel 2.
Las nuevas posibilidades que se aaden al nivel 3 las lleva a cabo un intrprete que acta en el nivel 2
al que tradicionalmente se le llama sistema operativo. Las instrucciones de nivel 3, idnticas a las de
nivel 2, las lleva a cabo directamente el microprograma en lugar de efectuarlas el sistema operativo. En
otras palabras, algunas de las instrucciones de nivel 3 las interpreta el sistema operativo y otras las
interpreta directamente el microprograma. Esto es lo que queremos decir con "hbrido". A este nivel lo
llamaremos nivel de mquina del sistema operativo.
Entre los niveles 3 y 4 existe una diferencia fundamental. Los tres niveles inferiores no estn diseados
para que los usen los programadores corrientes en la resolucin de sus problemas. Estn concebidos
principalmente para ejecutar los intrpretes y traductores necesarios que soporten los niveles
superiores. Estos intrpretes y traductores son escritos por personas denominadas programadores de
sistemas, especializadas en disear y construir nuevas mquinas virtuales. Los niveles 4 y superiores
estn pensados para los programadores de aplicaciones que tienen un problema que resolver.
Otro cambio que se produce en el nivel 4 es el mtodo por el que se soportan los niveles superiores.
Los niveles 2 y 3 siempre se interpretan. Los niveles 4, 5 y superiores normalmente, aunque no
siempre, se soportan por traduccin.
Una diferencia ms entre los niveles 1, 2 y 3 por un lado y los niveles 4, 5 y superiores por otro es la
naturaleza del lenguaje utilizado. Los lenguajes de mquina de nivel 1, 2 y 3 son numricos. Los
programas escritos en ellos constan de largas series de nmeros, buenos para las mquinas pero
inadecuados para las personas. A partir del nivel 4, los lenguajes contienen palabras y abreviaturas
significativas para las personas.
El nivel 4 o nivel de lenguaje ensamblador es ms bien una forma simblica de uno de los lenguajes
subyacentes. Este nivel proporciona un mtodo de escribir programas para los niveles 1, 2 o 3 en una
forma que no es tan ingrata como los lenguajes de las mquinas virtuales. Los programas escritos en
lenguaje ensamblador se traducen primero a un lenguaje de nivel 1, 2 o 3 y luego se interpretan por la
mquina real o virtual apropiada. El programa que realiza la traduccin se llama ensamblador.
El nivel 5 contiene los lenguajes diseados para los programadores de aplicaciones. A estos lenguajes
se les llama lenguajes de alto nivel, y existen cientos de ellos. Algunos de los ms conocidos son
BASIC, C, COBOL, FORTRAN, LISP, y Pascal. Por lo general los programas escritos en estos
lenguajes se traducen a los niveles 3 o 4 por medio de traductores conocidos como compiladores,
aunque en ocasiones tambin pueden ser interpretados.
El nivel 6 y superiores consisten de colecciones de programas diseados para proporcionar mquinas
especficamente adaptadas a ciertas aplicaciones y que contienen gran cantidad de informacin acerca
de ellas. Es posible imaginar mquinas virtuales pensadas para aplicaciones en la administracin,
educacin, diseo de computadoras, etc. Estos niveles en la actualidad constituyen un campo de
investigacin.

Como veremos el diseo a nivel de procesador tiene un nivel heurstico pues es el que reviste mayor
complejidad.

1. Esquema General de una Computadora

Microprocesador Memoria
(CPU) Principal

Red de Interconexin
(Bus del Sistema)

Dispositivos de Entrada-Salida
(Teclado, Display, Memoria Secundaria, etc)

Figura 2.1. Esquema general de una computadora.

En la figura 2.1 se muestra el esquema general de una computadora a continuacin veremos en detalle
cada uno de sus componentes:

" CPU: Se define como un procesador de propsito general con un repertorio de instrucciones dado
que tiene como funcin principal la interpretacin y ejecucin de programas en un Sistema de
Computacin.

" Memorias: Son dispositivos de almacenamiento temporal a mediano o largo plazo, en estas se
almacenan los datos e instrucciones en forma de palabras de un tamao dado.
En una computadora existen generalmente tres clases de memoria:
1. Memoria Principal (M): Consiste en dispositivos compuestos por circuitos integrados
relativamente rpidos que estn interconectados y controlados directamente por la CPU
(DRAM).
2. Memoria Secundaria: Consiste en dispositivos menos caros pero de mayor complejidad que M,
generalmente tienen caractersticas mecnicas (Hard Disk), u pticas (CD-ROM) y son mucho
mas lentos que M. Normalmente se conectan a la CPU individualmente va M.
3. Memoria Cach: Normalmente se denomina as a una pequea cantidad de memoria basada en
circuitos integrados de alta velocidad (SRAM), que se sita entre la CPU y la memoria principal
a fin de reducir los tiempos de acceso a l subsistema de memoria, en la actualidad en la mayora
de las ocasiones existen memorias cachs integradas en el mismo chip del procesador.

" Dispositivos de Entrada-Salida: Representan el medio mediante el cual las computadoras se


comunican con el exterior, su funcin fundamental es convertir la informacin de una
representacin fsica a otra, su velocidad de operacin es baja comparada con la CPU y la memoria
principal. Por lo general la CPU acta sobre estos a travs de una unidad de control o un procesador
de propsito especfico (procesadores de entrada-salida).

2. Arquitectura interna de la CPU.

En la figura 2.3 se muestra el esquema general de una CPU, se puede observar que una parte de la
misma se dedica al control y la otra al procesamiento de los Datos, veamos a continuacin cual es la
secuencia tpica de ejecucin de programas:

1. La CPU transfiere instrucciones desde memoria principal a los registros en la CPU. Si es


necesario tambin transfiere los datos de entrada (operandos).
2. La CPU ejecuta instrucciones siguiendo la secuencia de almacenamiento excepto cuando la
misma es alterada explcitamente por una instruccin de bifurcacin (saltos, llamada a
procedimientos).
3. Si es necesario la CPU transfiere los datos de salida (resultados) de los registros internos a
la memoria principal.
Memoria Subsistema
Principal E/S

Bus del Sistema

Memoria Cach

Unidad
Contador de Registro de Aritmtico
Programa Instrucciones
Lgica
(PC) (IR) (ALU)
Archivo
de
Generacin Decodificacin Registros
de de
Direcciones Instrucciones

Seales de Control

Unidad de Control Camino de Datos


(I-Unit) (E-Unit)

Figura 2.3 Esquema general de una CPU


En resumen, vamos a tener flujos de instrucciones y datos entre la memoria y la CPU, las instrucciones
siempre van de la memoria a la CPU y los datos viajan en ambas direcciones.

En la figura 2.4 se da un diagrama de flujo que resume las principales funciones de la CPU. En este
diagrama no se incluy un proceso que casi siempre est presente que es la decodificacin de
instrucciones, el cual es necesario debido a que las instrucciones estn normalmente codificadas
(aunque no siempre) con arreglo a un lenguaje especfico (lenguaje de mquina).

Por otra parte se necesitan al menos dos niveles de acceso diferentes (usuario y supervisor), a fin de
impedir que las aplicaciones de usuario interfieran con el cdigo y los datos del sistema.

En el diagrama se observa el empleo de interrupciones las mismas son necesarias por varias razones,
entre ellas para dar atencin a los diferentes dispositivos de entrada salida que lo soliciten, algunos de
ellos requieren atencin en tiempo mnimo debido a su propio funcionamiento, por ejemplo la
recepcin de datos por un puerto serie.

Inicio

NO
Instrucciones
Pendientes?

SI

Carga la prxima
instruccin

Ejecuta la
instruccin

NO SI Transferencia al
Interrupcciones programa
Pendientes? manipulador de
interrupciones

Figura 2.4 Diagrama de flujo de una computadora.

Hoy en da muchas personas, usan las computadoras de una forma muy fcil, muchos incluso creen que
la mquina tiene incorporada todas las potencialidades con las que estn habituados a trabajar. En
realidad eso no es as ya que debajo de todas esas facilidades est presente un agente que nos facilita
las cosas y que convierte a la computadora en un ente mucho ms poderoso de lo que realmente es, en
palabras tcnicas, ese agente convierte la computadora real en una computadora virtual mucho ms
poderosa.
Quin es ese agente y cmo acta? El quin tiene una respuesta muy obvia para todos El agente es el
Sistema Operativo, el cmo lo analizaremos en lo que sigue.

Un sistema operativo es un programa de sistema que se encarga de administrar los recursos con que
cuenta una computadora. Los recursos se dividen en:
Recursos de hardware, por ejemplo el teclado, el ratn, la impresora, etc.
Recursos de software, por ejemplo el compilador de un lenguaje de programacin, un
procesador de texto, etc.

Los sistemas operativos constituyen una parte importante de cualquier sistema de cmputo, estos
ltimos se pueden ver como un conjunto de capas (figura 2.5) que van desde lo ms bsico o de bajo
nivel (el hardware), hasta lo ms cercano a nosotros o de alto nivel (el software de aplicacin), por
encima de eso estn los usuarios. Esta concepcin, muy frecuente en los diseos, permite que las capas
superiores se nutran de los servicios que brindan las capas inferiores, de forma que cada una se
especialice en lo que realmente tiene que hacer, sin involucrarse en detalles complejos que son
resueltos por sus antecesores.

Usuario

Programas de
Aplicacin

Sistema Operativo

Hardware

Figura 2.5. Sistema de cmputo visto como un conjunto de capas superpuestas

La evolucin de los sistemas operativos es paralela a la evolucin de las computadoras ya que la


principal funcin de un SO es controlar a la computadora. Segn han ido evolucionando, se han ido
haciendo mas abarcadores y a su funcin inicial controlar eficientemente los recursos del sistema se
han ido incorporando cosas tales como brindar una interfaz cmoda para el uso eficiente de los
recursos, claro est que, al tratar de controlar los recursos, surgen conflictos que el SO deber
resolver, de ah que esa es tambin una de sus funciones principales.

Cada da que pasa el ser humano descubre ms y ms cosas, la computadora se ha convertido en su


medio auxiliar inseparable para la cual mira cada vez que necesita resolver un problema. La solucin
de ese problema, a menudo, hace que se fabriquen nuevos medios que se pueden conectar a la mquina
o que pueden incorporarse dentro de ella, cada nuevo componente necesita ser manipulado de una
forma cmoda (como hacemos con el ratn o mouse) aislando al usuario (en el sentido amplio, persona
u otro software) de sus interioridades, en todos esas nuevas soluciones deber estar el SO como
intermediario ideal. La idea es que sea cada vez ms transparente, que se convierta en nuestro aliado
silencioso para resolver las cosas de una forma cmoda y fcil. Lograr esos objetivos es una tarea de
gran complejidad, es por ello que a la vez que las cosas le resultan ms fciles a los usuarios se les hace
ms difcil a las personas que estn encargadas de brindar esas facilidades o sea los diseadores y
desarrolladores de sistemas operativos.
Tipos de sistemas operativos
1) De acuerdo a la cantidad de procesadores
a) Mono procesamiento
b) Multi procesamiento

2) De acuerdo a la forma que acta con las tareas


a) Procesamiento por lotes (batch)
b) Multiprogramados de tiempo compartido
c) Multiprogramados cooperativos
d) De tiempo real

3) De acuerdo a la cantidad de usuarios


a) Mono usuario
b) Multi usuario

La parte ms visible de cualquier sistema operativo es su sistema de archivo, al menos desde el punto
de vista del usuario final. Este fenmeno ocurre debido a que la mayora de los usuarios hacen trabajos
que tienen efectos directos sobre este subsistema y lo realizan, adems, de forma interactiva.

Se puede aadir, que la mayora de las aplicaciones tambin actan sobre el sistema de archivo si se
toma en cuenta que su propsito principal es procesar datos, los cuales muchas veces (en realidad casi
siempre) residen en archivos y el resultado de procesar esos datos se almacenar en archivos.
El fenmeno es tan comn que algunas personas tienen una visin simplificada del sistema operativo
al reducirlo al subsistema de archivos.

Un archivo es un conjunto de datos que tienen un formato comn y se agrupan bajo un nombre. El
nombre se usa para hacer operaciones sobre el archivo, las cuales pueden ser: borrarlo, copiarlo,
moverlo, renombrarlo, leerlo, etc.

Cuando se dice que el conjunto de datos tienen un formato comn se est estableciendo una forma para
organizar el archivo, esa forma puede ser una simple cadena de bytes (como lo hace Unix) o un
conjunto de registros.

La arquitectura del sistema


Entrada salida lgica

Supervisor de E/S bsico

Sistema de archivo bsico (E/S fsica)

Manipuladores

Figura 2.6. Organizacin tpica de un sistema de archivos

El sistema se presenta como un conjunto de capas, las capas inferiores estn ms cercanas al hardware
y las superiores a los usuarios, de ah que mientras ms arriba se site, tendr una concepcin ms
abstracta del sistema.
A continuacin los invitamos a conocer algunas particularidades del sistema operativo UNIX y de sus
herramientas de trabajo.

Como ya conocemos, existen diversos tipos de SO y se tienen diferentes clasificaciones de acuerdo a


distintos criterios, dos de los ms importantes son:

Clasificar a los SO de acuerdo a la cantidad de usuarios que admite conectados a la vez:


o Sistemas Operativos Monousuario, ejemplos MS-DOS y Windows.
o Sistemas Operativos Multiusuario, ejemplo el UNIX.

Clasificar a los SO de acuerdo a la cantidad de tareas que atiende a la vez:


o Sistemas Operativos Monotarea, ejemplo MS-DOS.
o Sistemas Operativos Multitarea, ejemplo UNIX y Windows.

De lo anterior se infiere claramente que el SO que estamos analizando (UNIX) es un SO multitarea y


multiusuario.

UNIX es un SO con muchos aos de existencia, su primera versin sali en el ao 1969 en los
laboratorios Bell (una parte de AT&T), el objetivo era explotar una mini computadora PDP-7, sus
principales autores fueron Ken Thompson y Dennis Ritchie.

La primera versin del SO se escribi en lenguaje ensamblador, pero ya para la tercera versin la
mayora del cdigo estaba escrito en el lenguaje C, que fue especialmente desarrollado con ese fin, de
ah que las historias del C y del UNIX estn unidas muy estrechamente.

El nuevo SO tena las siguientes caractersticas:


! Ser un sistema operativo simple, a diferencia de Multics (Multiplexed Information and
Computing Services), su antecesor, que era muy complejo.
! Estar dividido en mdulos pequeos que tenan la responsabilidad de hacer cada uno de ellos
una nica funcin, pero hacerla muy bien.
! La primera versin era para un solo usuario.

MULTICS fue uno de los primeros sistemas de tiempo compartido, inclua muchas ideas que estn
presentes en los sistemas operativos multitareas actuales, pero fue vctima y victimario de su papel
innovador, y result mucho ms complejo y pesado de lo necesario.

La AT&T abandon el proyecto MULTICS y dej a un grupo de personas de talento con muchas ideas
acerca de lo que deba ser un sistema en tiempo compartido.

La perdida del MULTICS represent, segn Dennis Ritchie, no solo la prdida de un ambiente en el
cual programar, sino la perdida de un sistema alrededor del cual se pudiera formar una comunidad.

A pesar de que Multics lleg a tener vida, nunca pudo proporcionar sus servicios en la dimensin
deseada, por lo cual los participantes del proyecto fueron retirndose gradualmente: en primer lugar los
Laboratorios Bell, despus General Electric, que incluso dej el negocio de la computacin. As el MIT
se qued solo.
Hoy en da, existe una gran variedad de versiones de UNIX que corren sobre diferentes tipos de
plataformas y el sistema operativo se ha extendido por todo el mundo alcanzando una gran popularidad
y aceptacin. Las versiones de UNIX tienen sus diferencias, pero en general siguen una lnea comn lo
que hace que no sea tan difcil desarrollar habilidades en una de ellas y despus pasarse a otra.

Organizacin general del SO


UNIX, al igual que los dems SO modernos, est organizado por niveles o capas que tienen diferentes
responsabilidades. Las capas inferiores estn ms cerca del hardware y las superiores estn ms cerca
del usuario, ya que la idea es hacer las cosas ms fciles a las capas superiores que usan los servicios de
las inferiores a ellas.

La figura 2.7 presenta un esquema simplificado del SO. En ese grfico debe quedar claro que la capa
nombrada ncleo, trabaja directamente con el hardware, sin embargo la capa nombrada shells solo
interacta con el hardware a travs del ncleo, mientras la capa de aplicaciones se sirve directamente
de la capa shells.
Aplicaciones

Shells

Ncleo

Hardware

Figura 2.7. Organizacin general del SO UNIX

Como ya se explic, UNIX es un sistema operativo multitarea y multiusuario, es adems, un SO de


tiempo compartido lo que significa que reparte el tiempo de uso del procesador entre los diferentes
procesos que trabajan con l.

Multitarea se refiere a que atiende ms de una tarea a la vez, (realmente nos da esa impresin).
Multiusuario significa permitir que ms de un usuario est conectado a l desde diferentes lugares
denominados terminales.

La computadora donde se instala el sistema operativo recibe el nombre de Anfitrin y maneja todo lo
que se hace en la terminal, por ejemplo el simple hecho de oprimir una teclea hace que ese carcter se
enve hasta la computadora anfitrin y sta lo devuelve (se dice que hace eco de l) y es en ese instante
que se ve en la pantalla de la terminal. Como todo eso ocurre rpido puede ser que no lo notemos, pero
si el anfitrin est muy lejos (quizs en otra ciudad o pas) podremos notarlo.

El teclado y la pantalla de la computadora anfitriona no se consideran una terminal y por eso, ese
conjunto, recibe el nombre de consola. Las tareas de administracin se hacen desde la consola.

Por otra parte debemos destacar que el estudio de la familia de sistemas operativos Windows, puede
hacerse particularizando sobre cada una de sus implementaciones (95, 98, NT, 2000, XP, etc.) o
tomando como partida aquellas cosas que son generales a las implementaciones, esta ltima ser la va
que se seguir en nuestro trabajo. Enfatizaremos en los aspectos ms actuales y, tal vez, se mencionen
algunos que por su influencia o historicidad se hagan necesarios.
El sistema de archivo es uno de los mdulos principales de cualquier sistema operativo. Cuando
estudiamos la familia de SO UNIX, analizamos algunas particularidades, en el caso de Windows
existen dos posibilidades conocidas como FAT y NTFS

El sistema FAT fue el primer sistema de archivo de esta familia de sistemas operativos y desde su
inicio ha sufrido algunos cambios que han dado solucin a algunos problemas pero que no han
cambiado la esencia de esta forma de organizacin. En dicho trabajo se analiza toda esta problemtica.

Cuando se instala un SO cualquiera hay que tomar decisiones importantes con relacin al sistema de
archivos. Entre los aspectos a decidir se puede tener la posibilidad de dejar ms o menos espacio para
el rea del sistema, definir los tamaos de los bloques (cluster en Windows) de informacin sobre el
soporte, etc. En el caso de la familia Windows, se debe elegir entre dos posibles sistemas de archivos:
FAT o NTFS.

El sistema FAT

El sistema de archivo FAT tiene su origen en el sistema operativo MS-DOS, y se mantiene hasta hoy
en da como una posibilidad de los sistemas de la familia Windows actuales. Esta posibilidad debe
valorarse con cuidado ya que ese sistema de archivo no ofrece seguridad y por eso es ms
recomendable (en la mayora de las ocasiones) usar el sistema NTFS.

La palabra FAT, por sus siglas en ingls File Allocation Table, hace referencia a una tabla del
sistema de archivo que permite controlar el espacio libre y ocupado de un dispositivo y sirve de gua al
SO para localizar la cadena de bloques o cluster que pertenecen a un archivo.

Un cluster o bloque es la unidad mnima de asignacin de espacio en disco.

El cluster es una unidad lgica, el sistema de archivo considera a cada unidad como un todo que se
puede asignar a un archivo o se puede liberar, o sea no se puede asignar una parte de un cluster a un
archivo y otra parte a otro, es una unidad indivisible. El tamao de un cluster tpico en un disco duro,
varia de 2 048 a 32 768 bytes, o sea desde 4 hasta 64 sectores. Los sectores son unidades del disco de
512 bytes, no entraremos en detalles con relacin a ellos.

Lo anterior significa que cuando el sistema operativo necesita ms espacio para un archivo, lo mnimo
que se le puede asignar es un cluster; el cual puede ser mayor que lo que se necesite en realidad. En
este caso se desperdicia espacio, pero el problema no tiene solucin y se conoce con el nombre de
fragmentacin interna.

Lo anterior se debe a que se necesita mantener una gua de las asignaciones que se han hecho a cada
archivo (y de los cluster que estn libre) y esa gua est en la tabla conocida por FAT. Si se permitiera
asignar byte a byte, la tabla FAT tendra que ser enorme y se gastara ms espacio en ella que en
almacenar la informacin vlida para los usuarios.

Las primeras versiones de MS-DOS, usaron un FAT que estaba formado por localizaciones de 12 bits,
de ah su nombre FAT12. Los sistemas Windows 3.x y Windows 95 OSR1, usan el sistema FAT16
(cada entrada en la tabla FAT tiene un tamao de 16 bits).
El sistema FAT32 (cada entrada en la tabla FAT tiene un tamao de 32 bits) empez a distribuirse con
Windows 95 OSR2 y supera algunas limitaciones del anterior, entre las cuales se pueden mencionar las
siguientes:
! Soporta unidades de hasta 2 terabytes de tamao.
! Maneja de forma ms eficiente el espacio en el disco duro al poder usar clusters ms pequeos
! Incluye copias de seguridad de las reas ms crticas, que puede restaurar en caso de deteccin
de errores.

El sistema FAT, sufre los problemas de seguridad que mencionamos y la nica ventaja que ofrece es el
hecho de poder acceder a ese sistema de archivo desde distintos SO instalados en la misma mquina.

El otro sistema de archivos de la familia Windows es el NTFS que surgi con la primera versin del
SO Windows NT (New Technology), este sistema proporciona un incremento notable en la seguridad,
compresin de archivos, cuotas y encriptamiento, entre otras cosas. El sistema NFTS, es el sistema por
defecto para Windows XP (puede poner FAT16 o 32 si lo desea). En Windows XP es fcil convertir un
sistema FAT16 o FAT32 a NTFS, aunque el proceso inverso no es nada fcil. A continuacin veremos
algunas particularidades del sistema NTFS.

Cuando se hizo Windows NT, vena con soporte para tres sistemas de archivos: FAT, HPFS y NTFS.
El sistema FAT se hizo originalmente para MS-DOS e IBM introdujo el sistema HPFS para OS/2,
mientras Microsoft cre NTFS para NT.
Los objetivos de Microsoft cuando implement NTFS fueron resolver las limitaciones de los dems
sistemas compatibles con NT.

Entre las caractersticas ms destacadas de NTFS, podemos mencionar:


! La estructura de rbol B, que permite acelerar la recuperacin de archivos en las carpetas de
gran tamao
! La seguridad basada en archivos
! El registro de actividades
! La capacidad de recuperacin mejorada del sistema de archivos y un uso del espacio en disco
mucho mejor que FAT o FAT32.
CONCLUSIONES

! En el presente trabajo se ha estudiado la arquitectura multinivel presente en las computadoras


modernas, as como algunas de sus caractersticas ms importantes, observando como la
complejidad de cada nivel aumenta progresivamente.

! Un sistema operativo es un sistema complejo (compuesto por diferentes partes) que se encarga de
administrar, en forma eficiente, los recursos de un sistema de cmputo, brindando una interfaz
cmoda para sus usuarios (personas y otros programas de ms alto nivel).

! El SO, debe resolver los conflictos que surgen entre cada una de sus partes y entre sus usuarios ya
que la evolucin de stos est ntimamente ligada a la evolucin de las computadoras y a sus
diferentes componentes.

! La evolucin y el abaratamiento de los componentes del hardware ha hecho que muchas funciones
que antes eran hechas por los SO hayan emigrado hacia el hardware.

! Existen diferentes clasificaciones de los SO que atienden a diferentes criterios.

! La parte mas visible de un SO es su sistema de archivo, pero es solo eso un subsistema dentro del
gran sistema y no el todo.

! Existen diferentes mtodos o estrategias para asignar el espacio en un sistema de archivo, todas
tienen ventajas y desventajas, sin embargo el sistema indexado se lleva las palmas dentro de los
sistemas de archivo en disco. Unix y Windows usan este tipo de asignacin en disco, aunque con
sustanciales diferencias.

! UNIX, es un SO multitarea de tiempo compartido y multiusario que se usa ampliamente en el


mundo a pesar de los aos transcurridos desde su primer lanzamiento. Es un SO muy estable y
benvolo con relacin a la cantidad de recursos que necesita para instalarse y tiene
implementaciones para muchos tipos de procesadores por ese motivo es muy universal.

! El sistema est elaborado por capas o niveles que van desde las ms cercanas al hardware hasta las
de aplicacin en donde podemos abstraernos de las caractersticas fsicas del hardware.

! La familia de SO Windows puede usar dos sistemas de archivos, el ms antiguo de ellos y que an
se mantiene es el FAT, su principal desventaja es que no brinda proteccin alguna sobre los
archivos y directorios y su principal ventaja es que puede ser accedido por muchos SO, permitiendo
el acceso a varios SO que estn instalados sobre una misma mquina.

! En este trabajo hemos analizado muchos de los aspectos internos del sistema de archivo NTFS que
se usan en las versiones modernas de Windows, es muy importante destacar las diferencias notables
que existen entre este sistema y el sistema FAT en general.
BIBLIOGRAFA

! Computer Architecture and Organization. John P. Hayes. Pginas 1-35 y 64-73 (2), 66-69 y 73 83-
114 (3).
! Conocer las caractersticas fundamentales de organizacin de una CPU
! Conocer las formas de representacin de la informacin en una computadora.
! Introducir el estudio de una computadora al nivel de procesador.
! Learning the UNIX Operating System
! OPERATING SYSTEM Internals and Design Principles. William Stalling. Prentice Hall Third
Edition
! Organizacin de computadoras. Un enfoque estructurado. Andrew S. Tanembaum. Pginas 1-31
(1).

Вам также может понравиться