TEMA: “ 6 ”
GRUPO: 24
INTEGRANTES:
DUARTE, NANCY L.
CAINELLI, R. ADRIANA
LEAL, EDIT
SILVESTRI , MARCOS
ROFFE, MARIO R.
· HISTORIA
· ALGUNAS DIFERENCIAS DE
UNÍX Y DOS
· EL SHELL
· LLAMADA DEL SISTEMA OPERATIVO
· COMUNICACIONES ENTRE PROCESOS A TRAVEZ DE
LIBRERÍA DE COMUNICACIÓN(BSD)
· TERMINOS UTILIZADOS Y DEFINICIONES
Es un sistema operativo de tiempo compartido, controla los recursos de
una computadora y los asigna entre los usuarios. Permite a los usuarios correr
sus programas. Controla los dispositivos de periféricos conectados a la
máquina.
El primer paso para
acceder a Internet, es familiarizarse con UNIX y más que nada con el conjunto
de protocolos de TCP/IP, que son los que nos permiten establecer la
comunicación con los demás equipos, en la RED. Al igual que en máquinas
monousuario, existen diversas versiones de este sistema.
El
desarrollo de este sistema operativo comenzó como un proyecto de fin de semana
de un investigador para realizar un juego y actualmente se ha convertido en una
industria multimillonaria.
Unix
se desarrollo inicialmente en los laboratorios Bell y llegó a ser operativo en
1970.
EL
trabajo sobre Unix en los laboratorios Bell y en otros lugares produjo una
serie de versiones de Unix .Llevar el sistema Unix de una PDP-7 a uno PDP-11
fue el 1er paso que demostró que Unix
podría ser un sistema operativo para todas las computadoras. El 2do paso
importante fue la reescritura de Unix
en el lenguaje de programación C la implementación en C demostró las
ventajas de usar un lenguaje de alto nivel para mayor parte o bien todo el
código del sistema. Hoy en día, casi todas las implementaciones de Unix están
escritas en C.
Esta
primera versión de UNIX fue muy popular en los laboratorios Bell. En 1974 el
sistema UNIX fue escrito por primera vez en una revista técnica. Esto despertó
interés en el sistema. Se otorgan licencia de UNIX a Instituciones y
Universidades. La primera versión ampliamente difundida en los laboratorios
Bell fue la versión 6, en 1976. La versión 7, lanzada en 1978 es el antepasado
de la mayoría de los sistemas Unix modernos.
Hacia
1982 los laboratorios Bell había cambiado distintas variantes de UNIX de AT
& T (fue realizado en la universidad de Berkeley, California, que no llego
a desarrollarse, ejecutaba primero en una PDP y más tarde en maquina VAX) en un
único sistema que fue comercializado como UNIX S ΙΙΙ.
Posteriormente se le añadieron características mas hasta llegar al UNIX S V.
El
sistema operativo Unix posee muchas diferencias con el sistema operativo DOS que
manejan las computadoras personales, entre otras podemos mencionar las
siguientes:
Acceso Restringido: Mientras que en el sistema operativo DOS el acceso
a una máquina no tiene restricción, es decir, cualquier usuario puede entrar a
ver el contenido del disco duro de una computadora personal, e inclusive puede
correr aplicaciones que se encuentren disponibles (Windows, Corel Draw, Word,
Excel etc.) en un sistema UNIX el acceso es restringido, se necesita tener una
cuenta con un login asignado y un password o contraseña para poder acceder a
esta máquina.
Permisos para los archivos: En El sistema operativo DOS no existen
permisos de ejecución para los archivos; solamente se pueden correr los
programas cuyas extensiones acaben en .EXE .COM .BAT cualquier usuario podrá
ejecutar los programas que se tengan. En un sistema UNIX, se tienen una serie
de permisos (9 en total) para los 3 tipos de usuarios diferentes dentro de un
servidor de esta clase: El propio Usuario, El grupo al que pertenece el usuario
y todos.
Nombre de los archivos: En DOS el nombre de un archivo consta como
máximo de 8 caracteres y 3 para la extensión en contraparte, un sistema Unix se
pueden tener archivos cuyos nombres pueden contener hasta 256 caracteres además
no hay diferencia para las extensiones, es común tener extensiones como.tar.Z y
son válidas. En Unix existe también una distinción entre lo que son archivos
binarios y archivos ASCII.
Unix es un Sistema Operativo Sensible al cambio MAY/min: Así es, en
este sistema operativo todos los comandos se escriben con letras minúsculas,
así mismo se debe tener cuidado con las direcciones de correo electrónico.
Unix es un sistema operativo multitarea: Esto significa que no se tiene
que esperar a acabar de ejecutar un proceso para iniciar otro como en el caso
de una computadora personal (Windows 95 permite actualmente ejecutar varias
tareas, sin que sea realmente un sistema multitarea), sino que es factible
abrir muchos procesos y al mismo tiempo se ejecutan muchas tareas.
- Es un sistema operativo multiusuario, con capacidad de simular
multiprocesamiento y procesamiento no interactivo.
- Está escrito en un lenguaje de alto nivel: C.
- Dispone de un lenguaje de control programable llamado SHELL.
- Ofrece facilidades para la creación de programas y sistemas y el
ambiente adecuado para las tareas de diseños de software.
- Emplea manejo dinámico de memoria por intercambio o paginación.
- Tiene capacidad de interconexión de procesos.
- Permite comunicación entre procesos.
- Emplea un sistema jerárquico de archivos, con facilidades de
protección de archivos, cuentas y procesos.
- Tiene facilidad para redireccionamiento de Entradas / salidas.
- Garantiza un alto grado de portabilidad.
El sistema se basa en un Núcleo llamado Kernel, que reside
permanentemente en la memoria, y que atiende a todas las llamadas del sistema,
administra el acceso a los archivos y el inicio o la suspensión de las tareas
de los usuarios.
La comunicación con el sistema UNIX se da mediante un programa de
control llamado SHELL. Este es un lenguaje de control, un intérprete, y un
lenguaje de programación, cuyas características lo hacen sumamente flexible
para las tareas de un centro de cómputo. Como lenguaje de programación abarca
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ísticas con
que se ejecutan los programas en UNIX:
Las entradas y salidas pueden ser redireccionadas o redirigidas hacia
archivos, procesos y dispositivos; es posible interconectar procesos entre sí.
Introducción:
Al arrancar el
ordenador en modo multiusuario, el programa INIT se encarga de la
inicialización de la máquina, creando la estructura que soporta los procesos
multiusuario. Por cada puerto de terminal activo se inicia la ejecución de un
programa getty que se encarga de establecer la velocidad de comunicación, tipos
de terminal y modo. Luego, este mismo programa obtiene la cadena login que
aparece en el terminal invitando al usuario a conectarse.
Una vez entrado
el nombre de usuario, el mismo programa invoca al programa login con el nombre
de usuario como argumento. Este programa se ocupa de comprobar el logname y la
contraseña. Si todo está correcto, llama al programa sh que se encarga a su vez
de ejecutar los comandos que se encuentran en el fichero.profile en el
directorio HOME de cada usuario. Finalmente genera en pantalla el prompt. A
partir de aquí, se queda esperando que se introduzcan comandos. El programa sh
es el shell.
Cada vez que se
introduce un comando, el shell analiza la línea, verifica la sintaxis y lo
ejecuta. El ciclo se repite hasta que el usuario se desconecta. Entonces, el
programa sh termina su ejecución e INIT recobra el control iniciando una nueva
ejecución de getty para el terminal.
El shell es, por tanto,
un procesador de comandos. Pero también ejerce otras responsabilidades: Es el
encargado de la redirección de entradas y salidas, es también un lenguaje de
programación interpretado, es el encargado de proveer los comandos y variables
para controlar y modificar el entorno de usuario (es decir, tiene la función de
ser internase de usuario.
El caparazón:
El
shell es la parte visible por el usuario del UNIX. Es el intermediario entre el
sistema operativo básico (kernel) y el usuario. Existen varios tipos de shell:
· · Bourrne shell: es
interprete de comandos básicos.
· · C-Shell: es interprete de comandos.
· · Korn shell: se basa en los dos anteriores. Añade
posibilidades de programación avanzada, facilidades aritmética y mayor rapidez
de ejecución.
Programación en shell:
Además de las variables
de entorno existen otras que son definidas por el usuario, es decir, las
variables de usuario. Estas variables pueden contener cadenas de caracteres.
Estos caracteres, a su vez, pueden que tengan un significado especial para el
shell. También es posible asignar comandos a las variables y combinarlas con
otras que contengan cadenas de caracteres o parámetros especiales.
Aparte de estas
variables, el shell en UNIX permite agrupar comandos en un programa, dando como
beneficio para el usuario un ahorro considerable de tiempo y atención. Para
crear este tipo de utilidades en UNIX, disponemos del lenguaje de programación
del propio shell. Este lenguaje es un lenguaje interpretado cada línea del
programa es leída y a continuación ejecutada.
El lenguaje de
programación shell es mucho más de lo que se necesita para hacer utilidades de
tipo batch. Es un lenguaje completo, de alto nivel, que incluye las estructuras
fundamentales de la programación. Maneja variables, dispone de instrucciones
que controlan procesos iterativos tales como for, while, until; permite
parámetros de sustitución y una serie de instrucciones como entrada de datos
(read), ejecuciones condicionales (if, case), etc., adecuadas para desarrollar
utilidades muy sofisticadas. Sobre todo, este lenguaje permite la posibilidad
de emplear todos los comandos del sistema dentro de los propios programas.
La comunicación del usuario con el sistema operativo Unix es a través
de funciones llamadas "system calls" -SC- (llamadas al sistema). Por
ejemplo una llamada al sistema para leer desde un archivo sería:
nro_bytes_leidos = read
(fichero, buffer, nbytes);
El SC devuelve en nro_bytes_leidos los bytes que realmente ha leído. Este valor
suele ser el mismo que nbytes, pero podría ser inferior si, por ejemplo, se
hubiera alcanzado el fin del fichero durante la lectura.
Si la llamada no puede realizarse por algún error de algún tipo la
función retornaría nro_bytes_leidos=-1 (un valor <0 es una condición de
error en todas las llamadas) y el número de error se almacenaría en
"errno". Esta variable se puede visualizar mediante la función de
tratamiento de error .
Una de las llamadas más importantes de un sistema Unix es la llamada fork(). El fork() es la
llamada para crear procesos en Unix. Su funcionalidad es similar a la planteada
por Peterson (estudiada en SOpI) como instrucción Fork/Join pero aquí (en Unix
no existe la primitiva Join) por lo cual los árboles de procesos son árboles
abiertos y si se desean sincronizar procesos se deberán utilizar semáforos.
Cuando quiere crear un proceso hijo a partir de un proceso padre en el
fichero del código fuente deberán estar el código de ambos,
Para comunicar procesos el SC más común es el pipe(). Esta
llamada sólo permite comunicar procesos que tienen el mismo padre (o como caso
particular el padre y el hijo). Esta utiliza la ventaja que los procesos hijos
heredan del padre una duplicación de las variables por lo cual si el pipe lo
abre el proceso padre todos los hijos creados a partir de este momento
heredarán el pipe. El pipe está representado por un par de descriptores: uno de
lectura y otro de escritura que se le pasan como parámetros a la llamada pipe,
por ejemplo: int fd[2]; ...; pipe(&fd[0]); donde fd[0] es el descriptor de
lectura y fd[1] el de escritura. Ya que los procesos hijos heredarán los dos
descriptores accediendo al adecuado cada uno podrán comunicarse. El usuario no
debe preocuparse por la sincronización ni el control de la comunicación ya que
esto lo realiza el SOp. Si que el usuario debe cerrar estos descriptores cuando
termina de usarlos, por ejemplo close(fd[0]); close(fd[1]); en todos los
procesos que lo han heredado.
Cuando se crea un proceso en Unix recibe tres descriptores abiertos que
son identificados con el 0 (entrada estándar generalmente teclado), él 1
(salida estándar generalmente pantalla) y el 2 (salida de error estándar
generalmente pantalla), de esta forma un proceso que realice por ejemplo un
printf("Hola Pirulo") es equivalente a fprintf(1,"Hola
Pirulo") y él "Hola Pirulo" saldrá por pantalla, excepto que se
ejecute el programa con > fichero lo cual el shell redirecciona la salida
estándar a fichero pero el programa no se entera (sigue escribiendo en 1). Es
decir, es el shell quien cambia la dirección donde apunta el 1 (display) para que
apunte al fichero.
Las librerías BSD IPC (Berkeley Software Distribution Interprocess
Communication son un conjunto de llamadas al sistema operativo escritas en C
para implementar comunicaciones en el nivel más general.
Esta librería permiten crear aplicaciones distribuidas que intercambian
datos ya sea sobre la misma maquina o sobre máquinas diferentes sin que el
usuario necesite conocer todas las capas de comunicación ni los protocolos.
Estas llamadas (cuando se utilizan correctamente) permite crear punto de
comunicación llamados sockets dentro
del programa y transferir datos entre ellos.
Para conocer el modelo general de BSC IPC, es necesario definir algunos
términos tales como socket, socket descriptor, binding.
Es el punto final de comunicación. Un par de sockets conectado provee
una internase simular a la de los pipes pero sin la restricción que los procesos
deber ser creados por el mismo padre (recordar que esta condición es necesaria
en el pipe ya que los hijos deben heredar los descriptores del pipe abierto por
el padre). Un socket es identificado por un socket descriptor.
Este es un file descriptor es decir un apuntador similar al que se
obtiene cuando se abre un archivo pero que hace referencia a un socket (punto
de comunicación) y no a un archivo normal. Este descriptor será utilizado para
leer, escribir o cualquier otra actividad que se pueda realizar con un fichero
normal (con las limitaciones propias del mismo) una vez que la comunicación
está establecida. Todas las BSD IPC utilizan el socket como argumento.
Antes que un socket pueda ser accedido a través de la red, este debe
ser asociado a una dirección (bound). Esta asociación (binding) hace el socket
accesible por otros sockets sobre la red a través de la dirección a la cual
éste ha sido asociado.
La mayoría de las utilidades de comunicación sobre Unix utilizan BSD
IPC (telnet, mail, ftp, htpp, etc.). Utilizando BSD IPC se pueden escribir
aplicaciones distribuidas para diferentes áreas tales como: bases de datos
remotos, acceso a ordenadores desde múltiples sitios, distribución de subtareas
entre varios ordenadores, etc.
Las aplicaciones típicas de BSD IPC consisten de 2 procesos no
relacionados: un proceso (cliente) pide una conexión y el otro proceso (server)
acepta este pedido.
El proceso server crea el socket, asocia este a una
dirección (binds), e inicializa éste un mecanismo llamado colas de pedidos
(listen queue) para recibir pedido de conexión. El proceso cliente crea un
socket y solicita la conexión al proceso server. Una vez que el proceso server
acepta la conexión y ésta está establecida, los procesos se pueden comunicar
entre los dos sockets en forma full-duplex. Dependiendo de las necesidades de
la comunicación el modelo aplicado puede ser simétrico o asimétrico. En una
aplicación simétrica cualquiera de los dos procesos pueden ser server o
cliente. En caso contrario (asimétrico) está claramente definido quién es el
server y quién es el cliente
El UNIX fue diseñado pensando en redes de computadora. Por ello cuenta
con una serie de programas especiales que permiten la comunicación entre
máquinas.
|
ftp
|
ftp[opciones]
[nombre de máquina] Programa para transferir archivos entre computadoras
conectadas a la red. El programa proporciona el prompt: ftp>,indicando que
espera comandos de parte del usuario. El comando brinda ayuda sobre los comandos de ftp. |
|
login
|
Programa
con el que se inicia una sesión de UNIX y se identifica al usuario. |
|
talk
|
talk
usuario[@nombre de máquina] [tty] Comunicación interactiva por medio de
teclado con otro usuario que se encuentra conectado a la misma máquina o a
otro sitio. Útil para intercambio breve de información, cuando no es posible
comunicarse por teléfono o correo electrónico. La sesión se termina con
Ctrl-C. |
|
telnet
|
telnet
[nombre de máquina] Programa para comunicarse con otra máquina usando los
protocolos de TELNET. El nombre de máquina puede ser un nombre o una
dirección de Internet (formato numérico). |
|
write
|
write
usuario[tty] mensaje... Programa para iniciar o responder una conversación
con usuario. La sesión se termina con Ctrl-D. |
Con este programa se pueden transferir archivos entre las diversas
computadoras. Por ejemplo, para transferir archivos entre los sistemas UNIX y
la PC´s conectadas a la red. Para las transferencias, hay que hacer distinción
entre dos clases de archivos: los archivos ASCII y los binarios. Los archivos
ASCII estándar (i.e. caracteres cuyos códigos ASCII son valores menores que
128), son aquellos archivos de texto, que contienen sólo caracteres del
alfabeto inglés. El alfabeto español contiene caracteres que no pertenecen al
ASCII estándar. Por ejemplo, los caracteres: á, é, í, ó, ú, ¿, ¡, pertenecen al
ASCII extendido (i.e. códigos ASCII con valores mayores a 128). Por lo tanto,
un texto en español, se considera un archivo binario. Los archivos binarios,
son aquellos que no son ASCII estándar. Por ejemplo los programas ejecutables;
archivos de varios procesadores de palabras como el wl Word, Word Perfect,
etc.; todas las imágenes GIF, TIF, etc.; todos los archivos comprimidos *.zip,
*.Z, etc. Los comandos más usados en el programa ftp se presentan en la tabla.
Un ejemplo de una sesión de transferencia sería la siguiente.
|
?
|
Lista
los comandos de ftp. |
|
¡
|
Salir
al shell. |
|
append
|
Agregar
a un archivo. |
|
ascii
|
Preparar
transferencia tipo ASCII. |
|
binary
|
Preparar
transferencia tipo binario. |
|
bye
|
Terminar
la sesión ftp y salir. |
|
cd
|
Cambiar
de directorio en máquina remota. |
|
close
|
Cerrar
la conexión remota. |
|
delete
|
Borrar
un archivo en la máquina remota. |
|
dir
|
Listado
largo de archivo en máquina remota. |
|
get
|
Recibir
archivo remoto. |
|
hash
|
Útil
para monitorear la transferencia de archivos. |
|
help
|
Describe
cada comando de ftp. |
|
lcd
|
Cambiar
de directorio de trabajo en máquina local. |
|
ls
|
Lista
de archivos de máquina remota. |
|
mget
|
Recibir
múltiples archivos. |
|
mkdir
|
Crear
un directorio en máquina remota. |
|
mput
|
Enviar
múltiples archivos. |
|
prompt
|
Forza
transferencias múltiples interactivos. |
|
put
|
Enviar
archivo a máquina remota. |
|
pwd
|
Informar
sobre el directorio de trabajo en máquina remota. |
|
quit
|
Terminar
la sesión y el programa ftp. |
|
status
|
Informa
sobre el estado de variables ftp. |
|
user
|
Envía
información sobre nuevo usuario. |
|
verbose
|
Activa
o desactiva la información adicional sobre transferencia |
OBSERVACIONES ADICIONALES: Cuando se transfieran archivos entre los sistemas
UNIX y las PC´s, hay que tener en cuenta dos cosas.
Primero, el UNIX es sensible a las mayúsculas y minúsculas, mientras
que el DOS no lo es. Es posible confundirse con los distintos nombres.
Segundo, los nombres de los archivos en DOS están restringidos a ocho
letras a la izquierda del punto, y tres a la derecha del punto para la
extensión del archivo. En UNIX, no existe tal restricción, por ello puede haber
truncamiento e incluso cambio en el último carácter antes del truncamiento.
Algunos sistemas permiten realizar charlas usando el teclado (3). Para llevar a cabo la sesión de talk, se
requiere conocer cual es el nombre de la máquina en donde se conecta la
contraparte y si se encuentra trabajando en ese momento en esa máquina. El
programa finger podría ayudar en esta tarea.(4)
Este programa, nos permite realizar sesiones de trabajo en otras máquinas. Esto
quizás sea porque se cuenta con recursos distintos a los de la máquina local.
Por ejemplo, puede ser que en ese sitio la maquina con algún compilador
especial o CPU más potente, que existan base de datos específicos como ficheros
de las bibliotecas, etc. Para la conexión a otros sitios, es necesario contar
con una cuenta de usuario o al menos saber si hay cuentas de cortesía de algún
servicio
El programa write permite la comunicación entre dos usuarios conectados
al mismo sistema. Es necesario saber el nombre de la terminal tty a la que se
encuentra conectada la contraparte. El programa who permite conocer esta
información
Aunque
puede establecerse una conversación con este programa, se requiere negociar los
turnos de quien escribe a un tiempo y cuando se hace el cambio de comunicador,
esto se debe hacer por cuestiones de claridad en los mensajes que aparecerán en
la pantalla.
En el sistema UNIX se dispone de una serie de medios
para establecer distintos sistemas de comunicaciones entre los usuarios. A
continuación se describen los diferentes comandos que permiten comunicarse
entre sí a los usuarios.
Correo (mail):
Este comando permite a
los usuarios enviarse mensajes entre sí, por medio de sus correspondientes
buzones. Si el usuario receptor estuviera identificado ante el sistema, se le
enviará un mensaje a su pantalla indicándole la recepción, en su buzón, del
nuevo mensaje. El mensaje recibido será:
You have mail
Si el receptor no
estuviese conectado al sistema, el mensaje se almacenará en su buzón, y al
usuario se le enviaría este mismo mensaje en el momento de la conexión ante el
sistema.
El
receptor no está obligado a leer el correo inmediatamente. Si no lo hace, el
mensaje se repetirá periódicamente para recordarle que tiene correo en su
buzón.
Este
comando permite tanto el envío como la lectura de los mensajes recibidos.
Write:
Este comando permite la
comunicación interactiva y directa con otros usuarios conectados actualmente al
UNIX. Cuando el receptor de un comando write lo recibe en pantalla, aparecerá
en ésta el siguiente mensaje:
Message from
Si desea conectarse con
ese usuario deberá enviarle un comando write. Una vez enviado, se establece
comunicación directa entre ambos, por lo que se deberá establecer un protocolo
que regule el envío mutuo de mensajes. El estandarizado es:
o
O
Cuando escriba
la primera vez a un usuario, espere a que el usuario le responda antes de
empezar a enviar su mensaje.
o
o
Cada parte
terminará cada mensaje con una señal distintiva; por ejemplo: -o-- Cada parte
usará una señal distintiva cuando desee termina la conversación; por ejemplo
-oo-.
Wall (write all):
Este comando permite escribir a todos los usuarios que en
ese momento estén trabajando con el sistema. Los mensajes van siempre
precedidos por la siguiente cabecera:
Broadcast Message from ...
Suele ser frecuente su empleo como un sistema busca
personas, o bien, para avisar a los usuarios de una inminente desconexión del
sistema.
Este
comando es más una herramienta del administrador del sistema que de usuario.
News:
El comando news es
utilizado para poder acceder a los mensajes tipo news que pueda haber enviado
el administrador. El comando lee la información localizada en el directorio
/usr/news. Una vez leídos los items enviados por el administrador no aparecerán
de nuevo y no podrán ser accedidos.
Un mensaje o unidad de datos que es transmitida entre dos
procesos que se comunican
Proceso remoto con el cual un proceso se comunica
Identificación de un socket así éste puede ser distinguido
de otros socket sobre la misma máquina (host).
Un conjunto de propiedades que describe las características
de los procesos que se comunican a través de sockets.
Dos tipos de familias pueden ser utilizadas: AF_INET es la
Internet family y AF_UNIX es la Unix Domain family. La primera permite una
comunicación en el sentido más general mientras que la segunda esta restringida
a procesos dentro del mismo host.
Una dirección en cuatro bytes separada por puntos asignada
por un organismo oficial (en España RedIris) que identifica un nodo (host)
sobre la red. Por ejemplo el hoteui tiene 158.109.240.6
Es un identificador utilizado para diferenciar diferentes
comunicaciones sobre la misma dirección Internet. Los valores posibles son
1-65535, pero para el usuario están disponibles a partir desde 1024 (los
restantes son reservados para el Sistema).
Para la familia AF_INET un socket
address consiste de: internet address, port address, address family. Para la familia AF_UNIX la socket address es un nombre en
el árbol de directorio de ficheros al cual se asocia el socket (recordar que
los procesos son todos locales).
Existen dos protocolos (utilizados en las capas de
transporte de la comunicación). Ellos son
TCP el cual implementa stream
sockets y UDP
que implementa datagram sockets.
Provee el soporte de comunicaciones para stream sockets.
TCP es utilizado para implementar una comunicación fiable, en secuencia, con
control de flujo de mensajes en los dos sentidos basada en byte streams (flujo
o cadenas de bytes). Para este tipo de comunicación deben el proceso cliente y
el server estar comunicados al momento de realizar la transferencia de datos,
es decir es una comunicación rigurosa.
Provee el soporte para comunicaciones con datagram sockets.
UDP es un protocolo no fiable. Un proceso que recibe mensajes sobre un datagram
socket podría
encontrar que los mensajes están duplicados, fuera de secuencia o bien se han
perdido. Esta situación se da porque para comunicarse dos procesos no se
establece primero la comunicación, es decir, este protocolo permite enviar o
recibir mensajes sin establecer la comunicación. Cada mensaje posee la
dirección destino y los procesos involucrados no necesitan tener una relación
cliente-servidor necesariamente.
Durante
los últimos veinte años, el sistema
UNIX sé a convertido en un sistema operativo potente, flexible y
versátil. Se adapta a todo tipo de computadoras
incluyendo
las personales y las estaciones de trabajo de ingeniería , microcomputadoras
multiusuario, mini computadoras , mainframe ,y supercomputadoras .
el
número de computadoras que funciona con sistema UNIX ha crecido de forma
exponencial . El éxito de este sistema se debe a muchos factores entre los que
se incluyen su portabilidad a un gran abanico de máquinas, su adaptabilidad y
simplicidad , el amplio rango de tareas que puede ejecutar su naturaleza
multiusuario
y
multitareas y su adecuación a las redes que ha ido creciendo en importancia en
la misma medida en que lo hizo Internet.
Sistema operativo Principio de diseño e interioridades
(William
Stallings)
Unix Sistema V Version 4
(Kenneth
H. Rosen , Richard R. Rosinski , James M. Farber , Douglas A. Host)
Diversas Páginas Web
![]()
Número de visitantes actuales disponible desde el 14/07/2002:
Autor: lrmdavid@exa.unne.edu.ar
Ó FACENA - http://exa.unne.edu.ar
Servicios WEB: webmaster@exa.unne.edu.ar