Monografias | Microcomputadoras. Redes de datosMicrocomputadoras. Redes de datosResumen: El núcleo del sistema operativo Unix (llamado Kernel) es un programa escrito casi en su totalidad en lenguaje C, con excepción de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. Las funciones del núcleo son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y múltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado óptimo la atención individual. El Kernel opera como asignador de recursos para cualquier proceso que necesite hacer uso de las facilidades de cómputo. Es el componente central de Unix y tiene las siguientes funciones. Microcomputadoras Redes de datos SISTEMA OPERATIVO UNIX Introducción: El sistema operativo UNIX surgió en los laboratorios deAT&T
Bell como un proyecto de algunos programadores de SO personal. AT&Tofreció el
código fuente a universidades para su investigación y su uso seextendió en ese
ambiente y en el empresario. Aunque nunca se haya usado UNIX, casi todos los SO
actualestienen muchos conceptos tomados de el, incluyendo al DOS, OS/2, NT, etc.
Claroque en UNIX estos conceptos están en su estado mas puro e ideal. En DOS
sepuede manejar un port de comunicaciones abriéndolo como un archivo pero
nofunciona. En UNIX es la única manera y funciona. UNIX es algo así como el
latínde los sistemas operativos. La palabra UNIX es marca registrada y actualmente esta
enpoder de Novell. Aun así, muchas empresas diseñaron sistemas UNIX
compatibles(el desarrollo a través del código fuente así lo permitía), o sea que
que sepuede tomar un programa escrito en C para una plataforma, compilarlo y
usarlo enotra, lo que significa que si uno instala UNIX en su modesta PC, tiene
unambiente muy similar al de "workstations" profesionales. Actualmente los SO así orientados son SCO UNIX, BSD UNIX,AIX
de IBM, Unixware de Novelll (de uso publico). UNIX tiene variada aplicación, pero especialmente se
destacaen redes, lo que implica Internet. (primariamente fue la plataforma
elegida comotodo proceso de investigación, por eso su relación conceptual,
protocolar, enservicios, etc. En cualquier versión UNIX se encontraran
herramientas para usarinternet, aunque mas de tipo científicas que las populares
Windows u OS/2.). Aun siendo autosuficiente, ayuda a su popularización
laaparición del Linux, un clon de UNIX Freeware (distribución
gratuita)tan potente como los mejores SO aplicables en PC. El desarrollo del Linux UNIX fue tradicionalmente un SO caro, pero eso dejo de ser
unproblema ya que un grupo de programadores distribuidos a lo largo de internet
yencabezados por un estudiante finlandés llamado Linus Torvalds tomo
lainiciativa de generar un UNIX totalmente gratuito. La característica de Linux hace que no tenga nada
queenvidiarle a los sistemas comerciales. Tiene algunas desventajas. No
haysoporte. Solo los foros de discusión en internet y en sistemas como MP
Online!(foros/sist/unix), aunque esto suele ser suficiente la mayoría de los
casos.Tampoco hay manuales impresos, pero esto no es demasiado problema porque
existenlibros y mucha documentación en archivos. También esta el problema de
queLinux es solamente el kernel (el núcleo del sistema operativo).
Cadacomando aparte, cada función, es un proyecto independiente y son paquetes
quese instalan por separado. También sucede que hay distintas versiones de
lomismo pero este problema también encontró su solución. Diferentes personas
enel mundo se han encargado de armar en instalar un sistema Unix mas o
menoscoherente, a esos sistemas ya armados y configurados se los
llama"distribuciones". La mas conocida actualmente es la distribución
Slackware. La interfaz gráfica que se usa en el ambiente UNIX se llama
Xwindows(también gratuito: Xfree para Linux en las
distribuciones), y es muyflexible y poderosa. Esta diseñada para trabajar en
cualquier SO, red ycomputadora. Para correr Linux no es necesario una gran maquina. Basta
conuna 386 con 4MB (8MB para Xwindows, mas una buena placa de video), y
suinstalación demanda alrededor de 100MB. Soporta bus ISA, PCI y local bus (noMicro
Channel). Respecto al hard, el soporte es muy completo, soporta casi todaslas
placas de sonido, todos los CD ROM, placas SCSI, de red, etc. X permite
serconfigurado para una gran variedad de placas de video. Además linux fue
portadoa otras plataformas, o sea que también su puede usar sobre Alpha, MIPS,
Sparc,68000 y PowerPC. Características básicas Multitarea: Permite la ejecución de varias tareas a
lavez, con muy buen rendimiento. 32 bits: Aprovecha el procesador 386 y superiores
porcompleto. Estable: se caen las aplicaciones pero no el sistema.Cada
aplicación corre completamente aislada de las demás (evita la proliferaciónde
virus, de hecho no existen por ahora). Memoria virtual: Permite que las aplicaciones
trabajensobre un espacio de memoria virtual que es mayor que la memoria
disponible.Logra esto intercambiando paginas de 4 KB entre la memoria y el
disco. Librerías dinámicas: Varias aplicaciones puedencompartir
código, ahorrando memoria y espacio en disco. Multiusuario: permite que varias personas usen
lacomputadora a la vez, manteniendo para esto un sitema de seguridad. Funcionamiento Linux le pregunta al usuario un nombre y una clave. Esto
esasí porque UNIX esta pensado multiusuario. Se puede lograr compartir la
mismacomputadora entre muchisimas personas que entran por una red o por
módem.Existe un nombre de usuario especial que es el que tiene derecho sobre
todo elsistema, su nombre: Root. La forma de moverse dentro de UNIX es parecida a DOS: Comandos: pwd.....para averiguar cual es el directorio actual ls.........pedir un listado del directorio actual cd........cambia un directorio mkdir...crea un directorio cat.......para ver un archivo echo....imprime una cadena de caracteres cp........copia un archivo mv.......mueve o renombra un archivo. Ejemplo: newton:/test# echo Hola > "Esto es un archivo" newton:/test# ls -l total 1 -rw-r-r- 1 root root 5 Jan 13 12:01 Esto es un archivo newton:/test# mkdir direc newton:/test# cd direc newton:/test/direc# ls -l total 0 newton:/test/direc# mv ".../Esto es un archivo" . newton:/test/direc# ls -l total 1 -rw-r-r- 1 root root 5 Jan 13 12:01 Esto es un archivo newton:/test/direc# En el prompt podemos ver el nombre de la computadora
(newton)seguido del directorio actual. Al pedir un listado de archivos con ls (-l pide
masinformación), el sistema muestra quien es el dueño del archivo, en este casoroot. A la izquierda muestra quienes pueden usarlo. Los significados de las letras: r=lectura, w=escritura,x=ejecutable. Hay permisos para el dueño, el grupo al que pertenece y
elresto. O sea que un archivo ejecutable legible para el dueño y para el
grupopero no para los demás informaría: rwxrwx-- . UNIX en el mundo A medida que los servidores departamentales se abren
pasohacia el centro de datos, los servidores Unix se han ido incorporando con
mayorpresteza, ya que son mas escalables que los servidores PC bajo NT Windows.
Lossistemas Cray Origin2000 de Silicon grafics pueden funcionar con hasta
128procesadores conectados mediante redes de malla CrayLink Interconnect
(NTsoporta hasta 28). Los sistemas UNIX tienen un rendimiento mayor que sus
colegasde arquitectura PC. Así lo afirma el Transaction Processing Council
(TCP)-California, EEUU- quien asegura que los sistemas Unix ocupan los 10
primeroslugares en el ranking de performance. Con una versión de DBMS Oracle
corriendosobre un sistema Alpha de Digital Equipment, se completan 102.541transacciones
por minuto. Entre las grandes organizaciones, el International
TechnologyGroup descubrió que la mayor parte de los presupuestos de Informática
yTelecomunicaciones se gasta en servidores Unix (43%). El gasto de los
servidoresPC ocupa el segundo puesto (32,1%), mientras que los mainframe son los
quegeneran el menor gasto (24,4%). Características Generales: Es un sistema operativo de tiempo compartido, controla
losrecursos de una computadora y los asigna entre los usuarios. Permite a
losusuarios correr sus programas. Controla los dispositivos de
periféricosconectados a la máquina. Posee las siguientes características: - Es un sistema operativo multiusuario, con capacidad
desimular multiprocesamiento y procesamiento no interactivo. - Está escrito en un lenguaje de alto nivel : C. - Dispone de un lenguaje de control programable llamadoSHELL. - Ofrece facilidades para la creación de programas ysistemas
y el ambiente adecuado para las tareas de diseños de software. - Emplea manejo dinámico de memoria por intercambio
opaginación. - Tiene capacidad de interconexión de procesos. - Permite comunicación entre procesos. - Emplea un sistema jerárquico de archivos, con facilidadesde
protección de archivos, cuentas y procesos. - Tiene facilidad para redireccionamiento deEntradas/Salidas. - Garantiza un alto grado de portabilidad. El sistema se basa en un Núcleo llamado Kernel,
quereside permanentemente en la memoria, y que atiende a todas las llamadas
delsistema, administra el acceso a los archivos y el inicio o la suspención de
lastareas de los usuarios. La comunación con el sistema UNIX se da mediante un
programade control llamado SHELL. Este es un lenguaje de control, un
intérprete,y un lenguaje de programación, cuyas características lo hacen
sumamenteflexible para las tareas de un centro de cómputo. Como lenguaje de
programaciónabarca los siguientes aspectos: - Ofrece las estructuras de control normales:
secuenciación,iteración condicional, selección y otras. - Paso de parámetros. - Sustitución textual de variables y Cadenas. - Comunicación bidireccional entre órdenes de shell. El shell permite modificar en forma dinámica las
característicascon que se ejecutan los programas en UNIX: Las entradas y salidas pueden ser redireccionadas
oredirigidas hacia archivos, procesos y dispositivos. Es posible
interconectarprocesos entre sí. Diferentes usuarios pueden "ver" versionesdistintas del
sistema operativo debido a la capacidad del shell para configurardiversos
ambientes de ejecución. Por ejemplo, se puede hacer que un usuarioentre
directamente a su sección, ejecute un programa en particular y
salgaautomáticamente del sistema al terminar de usarlo. El núcleo del Sistema Operativo El núcleo del sistema operativo Unix (llamado Kernel)es
un programa escrito casi en su totalidad en lenguaje C, con excepción de
unaparte del manejo de interrupciones, expresada en el lenguaje ensamblador
delprocesador en el que opera. Las funciones del núcleo son permitir la existencia de
unambiente en el que sea posible atender a varios usuarios y múltiples tareas
enforma concurrente, repartiendo al procesador entre todos ellos, e
intentandomantener en grado óptimo la atención individual. El Kernel opera como asignador de recursos
paracualquier proceso que necesite hacer uso de las facilidades de cómputo. Es
elcomponente central de Unix y tiene las siguientes funciones: - Creación de procesos, asignación de tiempos de atencióny
sincronización. - Asignación de la atención del procesador a los procesosque
lo requieren. - Administración de espacio en el sistema de archivos,
queincluye: acceso, protección y administración de usuarios; comunicación
entreusuarios v entre procesos, y manipulación de E/S y administración de
periféricos. - Supervisión de la transmisión de datos entre la
memoriaprincipal y los dispositivos periféricos. El Kernel reside siempre en la memoria central y
tieneel control sobre la computadora, por lo que ningún otro proceso
puedeinterrumpirlo; sólo pueden llamarlo para que proporcione algún servicio de
losya mencionados. Un proceso llama al Kernel mediante módulos
especialesconocidos como llamadas al sistema. El Kernel consta de dos artes principales: la
secciónde control de procesos y la de control de dispositivos. La primera
asignarecursos, programas, procesos y atiende sus requerimientos de servicio;
lasegunda, supervisa la transferencia de datos entre la memoria principal y
losdispositivos periféricos. En términos generales, cada vez que algún
usuariooprime una tecla de una terminal, o que se debe leer o escribir
información deldisco magnético, se interrumpe al procesador central y el núcleo
se encarga deefectuar la operación de transferencia. Cuando se inicia la operación de la computadora, debecargarse
en la memoria una copia del núcleo, que reside en e] disco magnético(operación
denominada bootstrap). Para ello, se deben inicializaralgunas interfaces
básicas de hardware; entre ellas, el reloj que proporcionainterrupciones
periódicas. El Kernel también prepara algunasestructuras de datos que
abarcan una sección de almacenamiento temporal paratransferencia de información
entre terminales y procesos, una sección paraalmacenamiento de descriptores de
archivos y una variable que indica la cantidadde memoria principal. A continuación, el Kernel inicializa un
procesoespecial, llamado proceso 0. En general, los procesos se crean
medianteuna llamada a una rutina del sistema (fork), que funciona por
unmecanismo de duplicación de procesos. Sin embargo, esto no es suficiente
paracrear el primero de ellos, por lo que el Kernel asigna una estructura de
datos yestablece apuntadores a una sección especial de la memoria, llamada tabla
deprocesos, que contendrá los descriptores de cada uno de los procesos
existentesen el sistema. Después de haber creado el proceso 0, se hace unacopia
del mismo, con lo que se crea el proceso 1; éste muy pronto seencargará
de "dar vida" al sistema completo, mediante la activaciónde otros procesos que
también forman parte del núcleo. Es decir, se inicia unacadena de activaciones
de procesos, entre los cuales destaca el conocido comodespachador, o scheduler,
que es el responsable de decidir cuál proceso seejecutará y cuáles van a entrar
o salir de la memoria central. A partir de esemomento se conoce el número 1
como proceso de inicialización delsistema, init. El proceso init es el responsable de establecer
laestructura de procesos en Unix. Normalmente, es capaz de crear al menos
dosestructuras distintas de procesos: el modo monousuario y el
multiusuario.Comienza activando el intérprete del lenguaje de control (Shell) en
la terminalprincipal, o consola, del sistema y proporcionándole privilegios
de"superusuario". En la modalidad de un solo usuario la consola permiteiniciar
una primera sesión, con privilegios especiales, e impide que las otraslíneas de
comunicación acepten iniciar sesiones nuevas. Esta modalidad se usacon
frecuencia para revisar y reparar sistemas de archivos, realizar pruebas
defunciones básicas del sistema y para otras actividades que requieren
usoexclusivo de la computadora. Init crea otro proceso, que espera pacientemente a
quealguien entre en sesión en alguna línea de comunicación. Cuando esto
sucede,realiza ajustes en el protocolo de la línea y ejecuta el programa login,
que seencarga de atender inicialmente a los nuevos usuarios. Si la clave del
usuario,y la contraseña proporcionadas son las correctas, entonces entra en
operaciónel programa Shell, que en lo sucesivo se encargará de la atención
normal delusuario que se dio de alta en esa terminal. A partir de ese momento el responsable de atender al
usuarioen esa terminal es el intérprete Shell. Cuando se desea terminar la sesión hay que desconectarse
deShell (y, por lo tanto, de Unix), mediante una secuencia especial de
teclas(usualmente. < CTL > - D). A partir de ese momento la terminalqueda
disponible para atender a un nuevo usuario. Administración de Archivos y Directorios El sistema de archivos de Unix; esta basado en un
modeloarborescente y recursivo, en el cual los nodos pueden ser tanto archivos
comodirectorios, y estos últimos pueden contener a su vez directorios
osubdirectorios. Debido a esta filosofía, se maneja al sistema con muy pocas
órdenes,que permiten una gran gama de posibilidades. Todo archivo de Unix
estácontrolado por múltiples niveles de protección, que especifican los
permisosde acceso al mismo. La diferencia que existe entre un archivo de datos,
unprograma, un manejador de entrada/salida o una instrucción ejecutable
serefleja en estos parámetros, de modo que el sistema operativo adquiere
característicasde coherencia y elegancia que lo distinguen. La raíz del sistema de archivos (conocida como root )
sedenota con el símbolo "/", y de ahí se desprende un conjuntode
directorios que contienen todos los archivos del sistema de cómputo.
Cadadirectorio, a su vez, funciona como la subraíz de un nuevo árbol que
dependede él y que también puede estar formado por directorios o subdirectorios
yarchivos. Un archivo siempre ocupará el nivel más bajo dentro del árbol,porque
de un archivo no pueden depender otros; si así fuera, sería undirectorio. Es
decir, los archivos son como las hojas del árbol. Se define en forma unívoca el nombre de todo archivo (odirectorio)
mediante lo que se conoce como su trayectoria (path name): es decir,el conjunto
completo de directorios, a partir de root (/), por los quehay que pasar
para poder llegar al directorio o archivo deseado. Cada nombre sesepara de los
otros con el símbolo /, aunque tan sólo el primero deellos se refiere a
la raíz. Por ejemplo, el archivo u/gerencia/abril94l/carta2 tiene toda esta trayectoria como nombre absoluto, pero
sellama gerencia/abril94l/carta2, sin 1ra diagonal inicial, si se
observadesde el directorio /u. Para los usuarios que están normalmente en
eldirectorio /u/gerencia, el archivo se llama abril94l/carta2.
Así,también puede existir otro archivo llamado carta2, pero dentro de
algúnotro directorio y en caso de ser necesario se emplearía el nombre de
latrayectoria (completa o en partes, de derecha a izquierda) para
distinguirlos.Unix ofece medios muy sencillos para colocarse en diferentes
puntos del árbolque forma el sistema de archivos, que para el ejemplo anterior
podría ser elsiguiente: Como se dijo antes, desde el punto de vista del directorio
abril94,que a su vez pertenece al directorio gerencia del directorio /u,
bastacon el nombre carta2 para apuntar al archivo en cuestión. En esta forma se maneja el sistema completo de archivos y
sedispone de un conjunto de órdenes de Shell (además de múltiples variantes)para
hacer diversas manipulaciones, como crear directorios, moverse dentro delsistema
de archivos, copiarlos, etcétera. Unix incluye, además, múltiples esquemas para crear, editary
procesar documentos. Existen varios tipos de editores, formadores de
textos,macroprocesadores para textos, formadores de tablas, preprocesadores
deexpresiones matemáticas y un gran número de ayudas y utilerías diversas, quese
mencionan más adelante. A continuación se describe el modo de funcionamiento deUnix,
con base en un modelo de estudio de sistemas operativos que lo divide en"capas"
jerárquicas para su mejor comprensión. Manejo de archivos y de información Como ya se describió, la estructura básica del sistema
dearchivos es jerárquica, lo que significa que los archivos están almacenados
envarios niveles. Se puede tener acceso a cualquier archivo mediante
sutrayectoria, que especifica su posición absoluta en la jerarquía, y
losusuarios pueden cambiar su directorio actual a la posición deseada.
Existetambién un mecanismo de protección para evitar accesos no autorizados.
Losdirectorios contienen información para cada archivo, que consiste en su
nombrey en un número que el Kernel utiliza para manejar la estructura interna
delsistema de archivos, conocido como el nodo-i. Hay un nodo-i para cada
archivo,que contiene información de su directorio en el disco, su longitud, los
modos ylas fechas de acceso, el autor, etc. Existe, además, una tabla de
descriptoresde archivo, que es una estructura de datos residente en el disco
magnético, ala que se tiene acceso mediante el sistema mencionado de E/S por
bloques. El control del espacio libre en el disco se mantiene
medianteuna lista ligada de bloques disponibles. Cada bloque contiene la
dirección endisco del siguiente bloque en la cadena. El espacio restante
contiene lasdirecciones de grupos de bloques del disco que se encuentren libres.
De estaforma, con una operación de E/S, el sistema obtiene un conjunto de
bloqueslibres y un apuntador para conseguir más. Las operaciones de E/S en archivos se llevan a cabo con
laayuda de la correspondiente entrada del nodo-i en la tabla de archivos
delsistema. El usuario normalmente desconoce los nodos-i porque las referencias
sehacen por el nombre simbólico de la trayectoria. Los procesos
empleaninternamente funciones primitivas (llamadas al sistema) para tener acceso
a losarchivos; las más comunes son open, creat, read, write, seek, close y
unlink,aunque sólo son empleadas por los programadores, no por los usuarios
finalesdel sistema. Toda esta estructura física se maneja "desdeafuera" mediante
la filosofía jerárquica de archivos y directorios yamencionada, y en forma
totalmente transparente para el usuario. Además, desdeel punto de vista del
sistema operativo, un archivo es muy parecido a undispositivo. Las ventajas de tratar a los dispositivos de E/S en
formasimilar a los archivos normales son múltiples: un archivo y un dispositivo
deE/S se tornan muy parecidos; los nombres de los archivos y de los
dispositivostienen la misma sintaxis y significado, así que a un programa que
espera unnombre de archivo como parámetro puede dársele un nombre de dispositivo
(conesto se logra interacción rápida y fácil entre procesos de alto nivel). El sistema Unix ofrece varios niveles de protección para
elsistema de archivos, que consisten en asignar a cada archivo el número únicode
identificación de su dueño, junto con nueve bits de protección, queespecifican
permisos de lectura, escritura y ejecución para el propietario,para otros
miembros de su grupo (definido por el administrador del sistema) ypara el resto
de los usuarios. Antes de cualquier acceso se verifica su validezconsultando
estos bits, que residen en el nodo-i de todo archivo. Además,existen otros tres
bits que se emplean para manejos especiales, relacionados conla clave del
superusuario. Otra característica de Unix es que no requiere que elconjunto
de sistemas de archivos resida en un mismo dispositivo. Es posible definir uno o varios sistemas"desmontables", que
residen físicamente en diversas unidades dedisco. Existe una orden (mkfs)
que permite crear un sistema de archivosadicional, y una llamada al sistema (mount)
con la que se añade (y otracon la que se desmonta) uno de ellos al sistema de
archivos global. EI control de las impresoras de una computadora que
funcionacon el sistema operativo Unix consiste en un subsistema (SPOOL)
que seencarga de coordinar los pedidos de impresión de múltiples usuarios.
Existe unproceso de Kernel que en forma periódica revise las colas de servicio
de lasimpresoras para detectar la existencia de pedidos e iniciar entonces las
tareasde impresión. Este tipo de procesos, que son activados en forma periódica
porel núcleo del sistema operativo, reciben en Unix el nombre de daemons(duendes),
tal vez porque se despiertan y aparecen sin previo aviso. Otros seencargan de
activar procesos en tiempos previamente determinados por el usuario,o de
escribir periódicamente los contenidos de los buffers de memoria en eldisco
magnético. Procesos. Manejo del Procesador En Unix se ejecutan programas en un medio llamado"proceso de
usuario". Cuando se requiere una función del Kernel, elproceso de usuario hace
una llamada especial al sistema y entonces el controlpasa temporalmente al
núcleo. Para esto se requiere de un conjunto de elementosde uso interno, que se
mencionan a continuación. Se conoce como imagen a una especie de fotografía delambiente
de ejecución de un proceso, que incluye una descripción de lamemoria, valores de
registros generales, status de archivos abiertos, eldirectorio actual, etcétera.
Una imagen es el estado actual de una computadoravirtual, dedicada a un proceso
en particular. Un proceso se define como la ejecución de una imagen.Mientras
el procesador ejecuta un proceso, la imagen debe residir en la memoriaprincipal;
durante la ejecución de otros procesos permanece primera en lamemoria principal
a menos que la aparición de un proceso activo de mayorprioridad la obligue a ser
copiada al disco, como ya se dijo. Un proceso puede encontrarse en uno de varios estados:
enejecución; listo para ejecutar, o en espera. Cuando se invoca una función del sistema, el proceso
deusuario llama al Kernel como subrutina. Hay un cambio de ambientes y,
comoresultado, se tiene un proceso del sistema. Estos dos procesos son dos fases
delmismo original, que nunca se ejecutan en forma simultánea. Existe una tabla de procesos que contiene una entrada porcada
uno de ellos con los datos que requiere el sistema: identificación,direcciones
de los segmentos que emplea en la memoria, información que necesitael scheduler
y otros. La entrada de la tabla de procesos se asigna cuando secrea el proceso y
se libera cuando éste termina. Para crear un proceso se requiere la inicialización de
unaentrada en la tabla, así como la creación de segmentos de texto y de
datos.Además, es necesario modificar la tabla cuando cambia el estado del
proceso ocuando recibe un mensaje de otro (para sincronización, por ejemplo).
Cuando unproceso termina, su entrada en la tabla se libera y queda otro
disponible paraque otro nuevo la utilice. En el sistema operativo Unix los procesos pueden
comunicarseinternamente entre sí, mediante el envío de mensajes o señales. El
mecanismoconocido como interconexión (pipe) crea un canal entre dos procesos
medianteuna llamada a una rutina del Kernel, y se emplea tanto para pasar
datosunidireccionalmente entre las imágenes de ambos, como para sincronizarlos,
yaque si un proceso intenta escribir en un pipe ocupado, debe esperar a que
elreceptor lea los datos pendientes. Lo mismo ocurre en el caso de una lectura
dedatos inexistentes: el proceso que intenta leer debe esperar a que el
procesoproductor deposite los datos en el canal de intercomunicación. Entre las diferentes llamadas al sistema para el manejo
deprocesos que existen en Unix están las siguientes, algunas de las cuales ya
hansido mencionadas: fork (sacar una copia a un proceso); exec (cambiar
laidentidad de un proceso); kill (enviar una señal a un proceso);
signal(especificar la acción por ejecutar cuando se recibe una señal de
otroproceso), y exit (terminar un proceso). Dentro de las tareas del manejo del procesador destaca
laasignación dinámica (scheduling), que en Unix resuelve el scheduler medianteun
mecanismo de prioridades. Cada proceso tiene asignada una prioridad;
lasprioridades de los procesos de usuario son menores que la más pequeña de
unproceso del sistema. El "motor" que mantiene en movimiento un esquema
demultiprogramación es, por un lado, el conjunto de interrupciones que genera
eldesempeño de los procesos y, por otro, los constantes recordatorios que hace
elreloj del procesador para indicar que se terminó la fracción de tiempodedicada
a cada proceso. En el sistema Unix, las interrupciones son causadas por loque
se conoce como eventos, entre los cuales se consideran: la ejecución de unatarea
de entrada/salida; la terminación de los procesos dependientes de otro;la
terminación de la fracción de tiempo asignada a un proceso, y la recepciónde una
señal desde otro proceso. En un sistema de tiempo compartido se divide el tiempo en
undeterminado número de intervalos o fracciones y se asigna cada una de ellas
aun proceso. Además Unix toma en consideración que hay procesos en espera deuna
operación de E/S y que ya no pueden aprovechar su fracción. Para aseguraruna
distribución adecuada del procesador entre los procesos se calculan
dinámicamentelas prioridades de estos últimos, con el fin de determinar cuál
será elproceso que se ejecutará cuando se suspenda el proceso activo actual. Manejo De Memoria Dependiendo de la computadora en la que se ejecute,
Unixutiliza dos técnicas de manejo de memoria: swapping y memoria virtual. Lo estándar en Unix es un sistema de intercambio desegmentos
de un proceso entre memoria principal y memoria secundaria, llamadoswapping lo
que significa que se debe mover la imagen de un proceso al disco siéste excede
la capacidad de la memoria principal, y copiar el proceso completoa memoria
secundaria. Es decir, durante su ejecución, los procesos soncambiados de y hacia
memoria secundaria conforme se requiera. Si un proceso necesita crecer, pide más memoria al
sistemaoperativo y se le da una nueva sección, lo suficientemente grande
paraacomodarlo. Entonces, se copia el contenido de la sección usada al área
nueva,se libera la sección antigua y se actualizan las tablas de descriptores
deprocesos. Si no hay suficiente memoria en el momento de la expansión,
elproceso se bloquea temporalmente y se le asigna espacio en memoria
secundaria.Se copia a disco y, posteriormente, cuando se tiene el espacio
adecuado - locual sucede normalmente en algunos segundos - se devuelve a memoria
principal. Está claro que el proceso que se encarga de los
intercambiosentre memoria y disco (llamado swapper) debe ser especial y
jamás podráperder su posición privilegiada en la memoria central. El Kernel se
encarga deque nadie intente siquiera interrumpir este proceso, del cual dependen
todos losdemás. Este es el proceso 0 mencionado antes. Cuando se decide traer a
lamemoria principal un proceso en estado de "listo para ejecutar", se leasigna
memoria y se copian allí sus segmentos. Entonces, el proceso cargadocompite por
el procesador con todos los demás procesos cargados. Si no haysuficiente
memoria, el proceso de intercambio examine la tabla de procesos paradeterminar
cuál puede ser interrumpido y llevado al disco. Hay una pregunta que surge entonces es ¿cuál de losposibles
procesos que están cargados será desactivado y cambiado a memoriasecundaria? Los
procesos que se eligen primero son aquellos que están esperandooperaciones
lentas (E/S), o que llevan cierto tiempo sin haberse movido aldisco. La idea es
tratar de repartir en forma equitativa las oportunidades deejecución entre todos
los procesos, tomando en cuenta sus historias recientes ysus patrones de
ejecución. Otra pregunta es ¿cuál de todos los procesos que están enel
disco será traído a memoria principal?. La decisión se toma con base en eltiempo
de residencia en memoria secundaria. El proceso más antiguo es el que sellama
primero, con una pequeña penalización para los grandes. Cuando Unix opera en máquinas más grandes, suele disponerde
manejo de memoria de paginación por demanda. En algunos sistemas el tamañode la
página en Unix es de 512 bytes; en otros, de 1024. Para reemplazo se usaun
algoritmo que mantiene en memoria las páginas empleadas más recientemente. Un sistema de paginación por demanda ofrece muchas ventajasen
cuanto a flexibilidad y agilidad en la atención concurrente de múltiplesprocesos
y proporciona, además, memoria virtual, es decir, la capacidad detrabajar con
procesos mayores que el de la memoria central. Estos esquemas sonbastante
complejos y requieren del apoyo de hardware especializado. Manejo de entradas y salidas El sistema de entrada/salida se divide en dos
sistemascomplementarios: el estructurado por bloques y el estructurado por
caracteres.El primero se usa para manejar cintas y discos magnéticos, y emplea
bloques detamaño fijo (512 o 1024 bytes) para leer o escribir. El segundo se
utiliza para atender a las terminales, líneas de comunicación eimpresoras,
y funciona byte por byte. En general, el sistema Unix emplea programas
especiales(escritos en C) conocidos como manejadores (drivers) para atender a
cada familiade dispositivos de E/S. Los procesos se comunican con los
dispositivos mediantellamadas a su manejador. Además, desde el punto de vista de
los procesos, losmanejadores aparecen como si fueran archivos en los que se lee
o escribe; conesto se logra gran homogeneidad y elegancia en el diseño. Cada dispositivo se estructura internamente
mediantedescriptores llamados número mayor, número menor y clase (de bloque o
decaracteres). Para cada clase hay un conjunto de entradas, en una tabla,
queaporta a los manejadores de los dispositivos. El número mayor se usa
paraasignar manejador, correspondiente a una familia de dispositivos; el menor
pasaal manejador como un argumento, y éste lo emplea para tener acceso a uno
devarios dispositivos físicos semejantes. Las rutinas que el sistema emplea para ejecutar operacionesde
E/S están diseñadas para eliminar las diferencias entre los dispositivos ylos
tipos de acceso. No existe distinción entre acceso aleatorio y secuencial,ni hay
un tamaño de registro lógico impuesto por el sistema. El tamaño de unarchivo
ordinario está determinado por el número de bytes escritos en él; noes necesario
predeterminar el tamaño de un archivo. El sistema mantiene una lista de áreas de
almacenamientotemporal (buffers), asignadas a los dispositivos de bloques. El
Kernel usa estosbuffers con el objeto de reducir el tráfico de E/S. Cuando un
programa solicitauna transferencia, se busca primero en los buffers internos
para ver si elbloque que se requiere ya se encuentra en la memoria principal
(como resultadode una operación de lectura anterior). Si es así, entonces no
será necesariorealizar la operación física de entrada o salida. Existe todo un mecanismo de manipulación interna de buffers(y
otro de manejo de listas de bytes), necesario para controlar el flujo dedatos
entre los dispositivos de bloques (y de caracteres) y los programas quelos
requieren. Por último, y debido a que los manejadores de losdispositivos
son programas escritos en lenguaje C, es relativamente fácilreconfigurar el
sistema para ampliar o eliminar dispositivos de E/S en lacomputadora, así como
para incluir tipos nuevos. Lenguaje de control del sistema operativo Entre los rasgos distintivos de Unix está el lenguaje
decontrol que emplea, llamado Shell. Es importante analizar dos funciones más
deShell, llamadas redireccionamiento e Interconexión. Asociado con cada proceso hay un conjunto de descriptores
dearchivo numerados 0, I y 2, que se utilizan para todas las
transaccionesentre los procesos y el sistema operativo. El descriptor de archivo
0 seconoce como la entrada estándar; el descriptor de archivo 1,
como lasalida estándar, y el descriptor 2, como el error estándar. En
general,todos están asociados con la terminal de vídeo, pero, debido a
queinicialmente son establecidos por Shell, es posible reasignarlos. Una parte de la orden que comience con el símbolo ?
seconsidera como el nombre del archivo que será abierto por Shell y que
seasociará con la entrada estándar; en su ausencia, la entrada estándar seasigna
a la terminal. En forma similar, un archivo cuyo nombre está precedidopor el
símbolo > recibe la salida estándar de las operaciones. Cuando Shell interpreta la orden califica < examen > resulta llama a ejecución al programa califica (que ya debe
estarcompilado y listo para ejecutar) y detecta la existencia de un archivo que
tomael lugar de la entrada estándar y de otro que reemplaza a la salida
estándar.Después, pasa como datos de lectura los contenidos del archivo examen
reciénabierto (que debe existir previamente) al programa ejecutable. Conforme
elprograma produce datos como salida, éstos se guardan en el archivo resulta
queShell crea en ese momento. En la teoría de lenguajes formales desempeñan un
importantepapel las gramáticas llamadas de tipo 3 (también conocidas como
regulares),que tienen múltiples aplicaciones en el manejo de lenguajes. Existen
unasconstrucciones gramaticales conocidas como expresiones regulares, con las
que sepuede hacer referencia a un conjunto ilimitado de nombres con
estructuralexicográfica similar; esto lo aprovecha Shell para dar al usuario
facilidadesexpresivas adicionales en el manejo de los nombres de los archivos.
Así, porejemplo, el nombre carta * se refiere a todos los archivos que
comiencencon el prefijo carta* y que sean seguidos por cualquier
subcadena,incluyendo la cadena vacía; por ello, si se incluye el nombre
carta* enalguna orden, Shell la aplicará a los archivos carta, carta1,
carta2 ycualquier otro que cumpla con esa especificación abreviada. En general,
enlugares donde se emplea un nombre o una trayectoria, Shell permite utilizar
unaexpresión regular que sirve como abreviatura para toda una familia de ellos,
yautomáticamente repite el pedido de atención para los componentes.
Existenademás otros caracteres especiales que Shell reconoce y emplea para el
manejode expresiones regulares, lo que proporciona al lenguaje de control de
Unixmayor potencia y capacidad expresiva. En Unix existe también la posibilidad de ejecutar
programassin tener que atenderlos en forma interactiva, sino simulando
paralelismo (esdecir, atender de manera concurrente varios procesos de un mismo
usuario). Estose logra agregando el símbolo & al final de la línea en la que se
escribela orden de ejecución. Como resultado, Shell no espera que el
proceso"hijo'' termine de ejecutar (como haría normalmente), sino que regresa
aatender al usuario inmediatamente después de haber creado el proceso
asincrónico,simulando en esta forma el procesamiento por lotes ( batch ) Para
cada uno deestos procesos Shell proporciona, además, el número de
identificación, por loque si fuera necesario el usuario podría cancelarlo
posteriormente, o averiguarel avance de la ejecución. La comunicación interna entre procesos (es decir, el envíode
mensajes con los que los diversos procesos se sincronizan y coordinan)
ocurremediante el mecanismo de interconexiones (pipes) ya mencionado,
queconecta la salida estándar de un programa a la entrada estándar de otro,
comosi fuera un conducto con dos extremos, cada uno de los cuales está conectado
asu vez a un proceso distinto. Desde Shell puede emplearse este mecanismo con
elsímbolo | en la línea donde se escribe la orden de ejecución. Así en el ejemplo: (califica < tarea | sorte > lista) & se emplean las características de
interconexión,redireccionamiento y asincronía de procesos para lograr resultados
difícilesde obtener en otros sistemas operativos. Aquí se pide que, en forma
asincrónica(es decir, dejando que la terminal siga disponible para atender otras
tareas delmismo usuario), se ejecute el programa califica para que lea los datos
querequiere del archivo tareas; al terminar, se conectará con el proceso sort (esdecir,
pasará los resultados intermedios) para que continúe el procesamiento yse
arreglen los resultados en orden alfabético; al final de todo esto,
losresultados quedarán en el archivo lista. Con esta otra orden, por ejemplo, se busca obtener todos
losrenglones que contengan las palabras "contrato" o "empleado"en los archivos
en disco cuyos nombres comiencen con la letra "E" (locual se denota mediante una
expresión regular). Para lograrlo, se hace uso deuna función llamada egrep,
especial para el manejo de patrones y combinacionesde expresiones regulares
dentro de los archivos: egrep-n 'contrato' 'empleado' E * Los resultados aparecen así: Emple1: 5: en caso de que un empleado decide hacer uso de
lafacilidad, Emple1:7: y el contrato así lo considere las obligaciones
dela Emple2:9: Cláusula II: El contrato colectivo de trabajo Emple2:15: Fracción llI: El empleado tendrá derecho,
deacuerdo con lo El tercer renglón, por ejemplo, muestra el noveno renglóndel
archivo Emple2, que contiene una de las palabras buscadas. Como Unix fue diseñado para servir de entorno en las
laboresde diseño y producción de programas, ofrece - además de su filosofía
misma -un rico conjunto de herramientas para la creación de sistemas complejos,
entrelas que destaca el subsistema make. Este último ofrece una especie de
lenguajemuy sencillo, con el cual el programador describe las relaciones
estructuralesentre los módulos que configuran un sistema completo, para que de
ahí enadelante make se encargue de mantener el sistema siempre al día. Es decir,
sise modifica algún módulo, se reemplaza o se añade otro, las
compilacionesindividuales, así como las cargas y ligas a que haya lugar, serán
realizadasen forma automática, por esta herramienta. Con una sola orden,
entonces, esposible efectuar decenas de compilaciones y ligas predefinidas entre
módulos, yasegurarse de que en todo momento se tiene la última versión de un
sistema, yaque también se lleva cuenta automática de las fechas de creación,
modificacióny compilación de los diversos módulos. De esta manera, se convierte
en unaherramienta casi indispensable al desarrollar aplicaciones que requieren
decenasde programas que interactúan entre sí o que mantienen relaciones
jerárquicas. Otras herramientas interesantes son ar, diseñado
paracrear y mantener bibliotecas de programas (que serán luego utilizadas por
otrosprogramas para efectuar las funciones ya definidas sin tener que duplicar
el código);awk, un lenguaje para reconocimiento de patrones y expresiones
regulares(es decir, generadas por una gramática regular o de tipo 3), útil para
extraerinformación de archivos en forma selectiva; lex, un generador
deanalizadores lexicográfico, y yacc, un compilador de compiladores.
Estosdos últimos se emplean como herramientas en la creación de compiladores
yprocesadores de lenguajes. La lista completa de funciones, órdenes de subsistemas
queforman parte de las utilerías del sistema operativo Unix es realmente grande,
eincluye más de un centenar, que se pueden agrupar en los siguientes rubros: INTERNETWORKING Introducción Uno de los factores más importantes que ha producido que
latecnología de redes se incorpore definitivamente al tronco principal
deprocesamiento, es la habilidad de conectar sistemas LAN y no LAN entre sí. Esta habilidad deriva de la aceptación de estándares
decomunicación que aceleró la conexión de estaciones de trabajo a la red.
Lainterconectividad creó un nuevo paradigma en el cual el poder de cómputo
pasade ser centralizado a ser distribuido. Los equipos de interconexión, (bridge, router,
gateway,switchs, entre otros), han facilitado este proceso al conectar equipos,
sistemasy/o redes no sólo de un único proveedor, sino de múltiples proveedores
entresí. Este texto trata de introducir en los fundamentos
operativosde dichos equipos. Objetivos de la tecnología de INTERNETWORKING El modelo OSI como referencia Este modelo fue desarrollado por la ISO,(InternationalStandards
Organization), en 1977 para elaborar estándares de comunicación parala
interoperabilidad multi proveedor. OSI, (Open Systems Interconection), define como
losfabricantes pueden crear productos que funcionen con los productos de
tercerossin la necesidad de controladores especiales o equipamiento opcional. El único problema para implantar el modelo OSI fue quemuchas
compañías ya habían desarrollado métodos para interconectar suhardware y
software con otros sistemas. Aunque los vendedores pidieron unsoporte futuro
para los estándares OSI, sus propios métodos estaban a menudotan atrincherados
que el acercamiento hacia OSI era lento o inexistente. Varias compañías de redes expandieron sus propios
estándarespara ofrecer soporte a otros sistemas, y relegaron los sistemas
abiertos a unsegundo plano. Sin embargo, los estándares OSI ofrecen un modo útil
paracomparar la interconexión de redes y la interoperabilidad entre
variosfabricantes. En el modelo OSI, hay varios niveles de protocolos en
unajerarquía de protocolos, trabajando cada uno en diferentes niveles del
hardwarey el software. En la siguiente tabla vemos un breve resumen de este modelo:
Un protocolo es el conjunto de reglas y estándaresrequeridos para que las entidades se comuniquen o entiendan entre sí. La tabla anterior especifica la coordinación de señales yla estructura de los datos comunicados. Los niveles más bajos de la jerarquía de protocolos definenlas reglas que los vendedores pueden seguir para hacer que sus equipos puedaninterconectarse con los de otros fabricantes. Los niveles más altos definencomo interopera el software. Cuanto más subimos dentro de la jerarquía, lascomunicaciones entre el software ejecutado en diferentes sistemas se vuelven mássofisticadas.
Cada nivel de la jerarquía de protocolos OSI, tiene unafunción específica y definen un nivel de comunicaciones entre sistemas. Cuando se define un proceso de red, como la petición de unarchivo por un servidor, se empieza en el punto desde el que el servidor hizo lapetición. Entonces, la petición va bajando a través de la jerarquía y esconvertida en cada nivel para poder ser enviada por la red. Cada nivel añade alos paquetes su propia información de seguimiento. Los niveles definen simplemente las reglas que son lasaplicaciones, los controladores de red y el hardware de red para comunicarse. Del mismo modo, una jerarquía de protocolos define reglasque los programadores usan para crear aplicaciones conscientes de la red. En elfondo son reglas básicas que definen las comunicaciones entre tipos.
Descripción de dispositivos utilizados en la interconexión
Hub Un hub es un dispositivo utilizado para concentrar y organizar el cableado enuna red de área local, existen de dos tipos: Activos, y Pasivos. Un hub pasivo es aquel que simplemente permite la interconexión del cableadoen una forma ordenada. No requiere alimentación y no procesa o regenera el tráficoque en el ingresa. Los más comúnmente utilizados son los hub's activos, los cuales requierende alimentación y contienen un circuito electrónico que puede filtrar,amplificar y controlar el tráfico. Poseen también funcionalidades adicionales,tales como el bridging , que actúa separando el tráfico local del hubdel backbone,(tronco principal), de la red. Estos dispositivos pueden ser administrados y monitoreados en forma remota. Los hub's son utilizados en el diseño e implementación de una red alambricacoherente y fácilmente administrable. En un diseño típico los hub's son instalados en rack's o armariosespeciales a los que llega todo el cableado de un piso del edificio de laempresa, encontrándose uno, (o más), de estos armarios por cada piso ainterconectar. Estos cables se conectan a cada puerto del hub; el cual a su vezlo hace al backbone de la red, que corre de piso en piso interconectando cadaarmario. Esto divide a la red en agrupamientos lógicos y físicos, lo que simplificala resolución de problemas y el facilita el futuro crecimiento.
Repeater A medida que las señales eléctricas se transmiten por un cable, tienden adegenerarse proporcionalmente a la longitud del cable. Este fenómeno se conocecomo atenuación. Un repeater, (repetidor), es un dispositivo sencillo que se instala paraamplificar la señal del cable, de forma que se pueda extender la longitud de lared. El repetidor normalmente no modifica la señal, excepto en que la amplificapara poder retransmitirla por el segmento de cable extendido. Algunosrepetidores también filtran el ruido. Características
Bridge Un bridge, (puente), añade un nivel de inteligencia a una conexión entreredes. Conecta dos segmentos de redes iguales o distintos. Podemos ver un puentecomo un clasificador de correo que mira las direcciones de los paquetes y loscoloca en la red adecuada. Se puede crear un puente para dividir una red amplia en dos o más pequeñas.Esto mejora el rendimiento al reducir el tráfico, ya que los paquetes paraestaciones concretas no tienen que viajar por toda la red. También se usan para conectar distintos tipos de redes, como Ethernet yToken Ring. Los puentes trabajan en el nivel de enlace de datos. Con un puente podemos conectar dispositivos que utilicen protocolosdiferentes, pero el nivel de enlace de datos no sabe nada sobre el mejor caminohacia un cierto destino; no existe ninguna forma de enviar paquetes a unsegmento de red de modo que alcancen su destino de la forma más rápida oeficiente, (Esa es la función de un router), no obstante los puentes ofrecenfiltrado; éste evita que los paquetes de un segmento de red local pasen por elpuente y lleguen a segmentos de red donde no sirven para nada. Esto ayuda a reducir el tráfico entre redes e incrementar el rendimiento,sin filtrado los paquetes son enviados a todos los puntos de la red. Un puente se instala por la siguientes razones:
Tipos de puentes Puentes con aprendizaje Los puentes con aprendizaje, o adaptativos, se "aprenden" lasdirecciones de las otras estaciones de la red, por lo que no será necesario queel instalador del puente o el responsable cree una tabla con estas direccionesen el puente. Las estaciones de trabajo difunden continuamente sus señales deidentificación, y los puentes pueden construir sus tablas a partir de estasdirecciones. En la actualidad, la mayor parte de los puentes del mercado poseenaprendizaje. Puentes en tándem Cuando una conexión con un puente es crítica, puede ser necesario crearpuentes redundantes tolerantes a fallos. Si una falla, el otro puede continuarcon el tráfico. Sin embargo cuando hay dos enlaces existe la posibilidad de queel tráfico pase por uno y vuelva por el otro de nuevo creándose un esquemacircular del movimiento de paquetes que continuaría sin fin. Los puentes en tándem detectan y rompen los bucles anulando ciertasconexiones. Puentes con distribución de carga El puente con distribución de carga es la forma más eficiente de puente.Utiliza un algoritmo de emparejamiento, pero también una conexión doble paratransferir los paquetes, mejorando de esta forma el rendimiento global de lared.
Ventajas de los bridges
Switch Los switchs son otro tipo de dispositivo utilizados paraenlazar LAN's separadas y proveer un filtrado de paquetes entre ellas. Un LAN switch es un dispositivo con múltiples puertos, cadauno de los cuales puede soportar una simple estación de trabajo o bien toda unared Ethernet o Token Ring. Con una LAN diferente conectada a cada uno de los puertos delswitch, este puede conmutar los paquetes entre ellas, como sea necesario. En efecto, actúa como un bridge multi-puerto, los paquetesson filtrados por el switch basándose en su dirección de destino. Los switchs son utilizados para aumentar la performance enlas redes de las organizaciones, segmentando redes grandes en varias más pequeñas.Lo cuál disminuye la congestión a la vez que continúa proveyendo lainterconectividad necesaria. Los switchs aumentan la performance de las redes ya que cadapuerto posee un ancho de banda dedicado, sin requerir de los usuarios el cambioalguno de equipamiento, tales como NIC's, (Network interface Card), Hubs,cableado o cualquier router o bridge ya instalado. Estos dispositivos pueden soportar numerosas comunicacionessimultáneas.
Router Los routers, (enrutadores), son críticos para las redes degran alcance que utilizan enlaces de comunicaciones remotas. Mantienen el tráficofluyendo eficientemente sobre caminos predefinidos en una interconexión deredes compleja. Si se utilizan líneas alquiladas de baja de velocidad, esimportante filtrar los paquetes que no deban entrar en la línea. Además, lasgrandes redes que se extienden por todo el mundo pueden contener muchasconexiones remotas redundantes. En ese caso, resulta importante encontrar elmejor camino entre el origen y el destino. Este es el objeto de los routers. Pueden inspeccionar la información en el nivel de red paradeterminar la información de la mejor ruta. Muchos productos de encaminamiento,(routing), ofrecen soporte para varios métodos de comunicaciones, como T1 yX.25. Las siguientes son algunas razones para utilizar routers enlugar de bridges:
Funcionamiento de los routers Un router examina la información de encaminamiento de lospaquetes y los dirige al segmento de red adecuado. Un router procesa lospaquetes que van dirigidos a el, lo que incluye los paquetes enviados a otrosrouters con los que esté conectado. Los enrutadores envian los paquetes por la mejor ruta haciasu destino, mantienen tablas de redes locales y routers adyacentes en la red. Cuando uno de estos dispositivos recibe un paquete, consultaestas tablas para ver si puede enviar directamente el paquete a su destino. Sino es así, determina la posición de otro enrutador que lo pueda hacer. Estos dispositivos pueden ser específicos para un protocoloo bien manejar diversos protocolos. Los routers permiten dividir una red en redes lógicas,siendo estas más sencillas de manejar. Cada segmento de la red tiene su propionúmero de red local, y cada estación de dicho segmento tiene su propia dirección.Esta es la información contenida en el nivel de red al que acceden los routers.La segmentación de las redes permite evitar las "tormentas de difusión".Estas ocurren cuando los nodos no se conectan de forma adecuada y la red sesatura con la difusión de mensajes intentando localizar los destinos. Los métodos de filtrado y selección del mejor caminoutilizados al segmentar ayudan a reducir este efecto.
Algunos protocolos como NetBios, no permiten elencaminamiento; ya que no incluyen información sobre la dirección de red ensus paquetes. Sin embargo, los paquetes NetBios pueden ser encapsuladosen paquetes IPX o TCP/IP para su transferencia en grandes redes. Del mismo modo, los paquetes IPX pueden encapsularse enpaquetes TCP/IP para su transferencia en segmentos de red TCP/IP. La determinación de la mejor ruta para un paquete se realizaen base a información disponible en la tabla de ruteo, la topología de la redy algoritmos de ruteo. De estos últimos podemos nombrar los siguientes:
DISTANCE VECTOR, (DVA). Cada router le comunica a sus vecinos informes del resto dela red, a intervalos regulares. LINK STATE, (LSA). Cada router le comunica al resto de la red conexiones, sólocuando hay cambios en las mismas.
Conceptos AppleTalk
Definiciones de términosAntes de empezar a configurar el software de AppleTalk para NetWare deberíaconocer los siguientes términos:
ProtocolosLos protocolos AppleTalk proporcionan la conectividad y el encaminamiento aredes de NetWare. Dichos protocolos funcionan de manera conjunta con el NetWarepara Macintosh para proporcionar las funciones del servicio de archivos eimpresión del servidor NetWare, así como la comunicación entre los nodos dela red. La siguiente figura representa los protocolos AppleTalk estándares y lasrespectivas capas ISO, tal y como se describen en Inside AppleTalk, secondedition . La siguiente tabla lista los protocolos AppleTalk utilizados por AppleTalkpara NetWare. También describe la función de cada uno de los protocolos. Paraobtener información más detallada acerca de estos protocolos, consulte InsideAppleTalk, segunda edición .
Direccionamiento Las direcciones identifican las ubicaciones exactas de redes, nodos yservicios. En AppleTalk, las direcciones de nodo consisten en una parte del númerode red y una parte del número del nodo (en el formato de red#.) nodo#,donde un número de red es un valor de dos bytes (dieciséis bits) y un númerode red, un valor de un byte (ocho bits) . Cada nodo adquiere de manera dinámica un número de nodo de 8 bits alconectarse a la red. Intentará utilizar de nuevo la dirección y el número delnodo la próxima vez que se conecte a la red. Si el nodo ve que su númeroanterior ya se utiliza, seguirá intentando hasta encontrar una dirección denodo exclusiva. La parte de la red de una dirección AppleTalk puede ser una de las dossiguientes: Fase 1 ó Fase 2. El direccionamiento Fase 1 es el formato de dirección utilizado por lasredes AppleTalk originales, es decir, por las redes no extendidas. AppleTalkFase 2 introdujo rangos en la programación de direcciones de redes,incrementando significativamente el número de dispositivos que podrían existiren una red. Las redes que proporcionan soporte al direccionamiento Fase 2 sedenominan redes extendidas. Encontrará más información sobre direccionamientos en las siguientessecciones:
Direccionamiento para redes extendidasUna red que puede dar soporte a direccionamientos de red de Fase 2 seconsiderará como una red extendida. Las redes AppleTalk que dan soporte adireccionamientos de red de Fase 2 incluyen EtherTalk* 2.0 y TokenTalk*. En una red de Fase 2 extendida como EtherTalk 2.0, puede asignar a cadasegmento de la red un rango consecutivo de números de redes de 16 bitsexclusivos, como, por ejemplo, el rango 1 -10. Asimismo, puede asignar hasta 255nombres a cada red extendida. Cada número de red puede proporcionar soporte ahasta 253 nodos (los números de nodo 0, 254 y 255 se reservan para AppleTalk).Cada nodo de una red extendida utiliza una combinación completa de 24 bits de númerode red y de nodo como única identificación. Esta programación aumenta el límiteteórico del número de nodos por red hasta un número superior a 16 millones. En redes extendidas, cada nodo adquiere un número de inicio seleccionando enprimer lugar un número de red de un "rango de inicio" reservado(65.280 de 65.534) y luego encontrando un número de nodo no utilizado en lared. Con estos números de inicio el nodo puede comunicarse con el router ypuede adquirir un número de red válido de un rango configurado para la red.Igual que en las redes no extendidas, el nodo utiliza la misma dirección alvolverse a conectar a la red después de haberse desactivado, a menos que otronodo ya tenga dicha dirección. Las redes extendidas requieren un rango de red y una lista dezonas. A continuación le ofrecemos información detallada sobre rangos dered y listas de zonas:
Un rango de red es un rango consecutivo de números de red válidos. El tamaño del rango de la red que se asigna determinará el número máximo de dispositivos AppleTalk de esa red; por ejemplo, una red extendida con rango 1-10 podría dar soporte a hasta 10 x 253 ó 2.530 nodos. No existe ningún límite codificado por el hardware para el tamaño de un rango de redes, no obstante, para un funcionamiento óptimo, debería especificar un rango que se adapte a sus necesidades. Un rango ancho utiliza números de red. Si existen routers de Fase 1 en la interred se requiere un rango de uno (como 10-10). NOTA: Una red no extendidapuede comunicarse con una red extendida a través de un router AppleTalk. Paraobtener más información, consulte "Direccionamientopara redes no extendidas".
Todos los routers AppleTalk conectados a una red utilizan el mismo rango para esa red, y ninguna otra red podrá utilizar ese rango o cualquier número incluido en él.
Direccionamiento para redes no extendidasAlgunas de las redes AppleTalk no dan soporte ni tampoco pueden utilizar eldireccionamiento de redes de Fase 2. Estas redes incluyen LocalTalk, ARCNET* yEtherTalk 1.0. En redes no extendidas, puede asignar a cada red sólo un número de red de16 bits (un entero entre 1 y l 65.279) y sólo un nombre de zona. Se identificacada nodo AppleTalk mediante un número del nodo de 8 bits. Esto limita el númerototal de nodos por red a 254. (El número máximo que puede representarse enocho bits es 255 y los números de nodo 0 y 255 se reservan para AppleTalk.) Un nodo en una red no extendida puede comunicarse con un nodo de una redextendida siempre que las dos redes estén conectadas por un router.
Protocolo de enlace de nombreLos nodos y las aplicaciones utilizan el NBP para encontrar las direccionesde nodos y de servicios tales como servidores de archivos e impresora. El NBPasigna nombres de entidades de red a direcciones AppleTalk. Como por lo generallos usuarios consideran más sencillo recordar nombres que direcciones numéricas,éste les permite especificar nombres descriptivos o simbólicos para lasentidades a las que hacen referencia las aplicaciones mediante direcciones numéricas. La aplicación Selector constituye un ejemplo de cómo AppleTalk utiliza elNBP. Los usuarios o las aplicaciones crean una consulta NBP seleccionando unazona y el tipo de dispositivo o servicio en el que están interesados. Estos dosbloques de información constituyen una consulta NBP que equivale a losiguiente: "Deseo que todos los dispositivos del tipo seleccionado (por ejemplo, unservidor de archivos, un servidor de correo o una impresora) en la zonaseleccionada (ubicación del servicio) me respondan (ubicación del usuario) consus respectivos direccionamientos de red. A continuación se enviará la consulta a la zona adecuada. Todos losservicios o dispositivos del tipo seleccionado de la zona seleccionada contestaráncon una respuesta NBP. Una respuesta NBP, según el contenido de la consulta,incluye el nombre, tipo y dirección de la red (dirección AppleTalk) delservicio proporcionado por un nodo.De este modo, las aplicaciones podráncomunicarse con el dispositivo basado en la dirección, mientras que losusuarios sólo tendrán que referirse al servicio por su nombre. La respuestaNBP contiene información equivalente a lo siguiente: "Los nombres y tipos de servicios disponibles en esta zona y direcciónde la red (ubicación del servicio) se devolverán a la estación de petición(la ubicación del usuario)". Si se han configurado los filtros mediante el router receptor, este routerutilizará dichos filtros para determinar el abandono o el reenvío de cada unade las repuestas NBP.
Tipos de trama de paquetesLa información gobernada mediante protocolos se agrupa en una serie de bitsque incluye elementos de control y de datos denominada paquete.Lainformación del paquete se transmite como un todo dentro de una trama depaquete. Un controlador LAN adapta los diferentes tipos de tramade paquete utilizados por cada tipo de red específica a un formato que elAppleTalk pueda procesar. Si desea obtener más información sobre tipos detrama de paquetes, consulte Inside AppleTalk, second edition .
El AppleTalk para NetWare proporciona soporte a los tipos de trama depaquetes LANde AppleTalk siguientes:
Trabajo enviado por: Javier Perez Lindo Publicación enviada por Javier Perez Lindo Contactar mailto:jplindo_bwarg@infovia.com.ar Código ISPN de la Publicación EpypFlplFZMLkSaLYa Publicado Friday 8 de August de 2003 Ultimas Publicaciones en ilustrados.com
ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||