NOTA: Comentado Por Jose Miguel Aybar Luna.
Sistema operativos
Sistema
Operativo Windows - Presentación Transcripta
Sistema
Operativo de Windows Es el sistema operativo de mayor difusión entre
computadores personales, servidores pequeños y medianos. Fue desarrollado por
Microsoft, aunque muchas de sus ideas básicas provinieron del Sistema Operativo
Mac OS de los equipos Macintosh.
1.
Versiones
o
Windows 1.0: 1985,
o
Windows 2.0: 1987, nuevas
aplicaciones gráficas M. Excel, M. Word.
o
Windows 3.0: 1990, mejoró
microprocesador, que permitía multitareas.
o
DOS: instrucciones o comandos
debían ser escritas desde el teclado.
o
Windows 3.1: consistía en
soportes multimedia.
o
Windows 3.11: controladores
mejorados para comunicación en red.
o
Windows 95: primer Sistema
Operativo gráfico de Microsoft. USB.
o
Windows 98: incluía nuevos
controladores de Hardware. DVD.
o
Windows 2000: incorporaba
innovaciones tecnológicas para Microsoft.
o
Windows XP: (eXPerience) interfaz
relacionado con Multimedia.
o
Windows Vista: 2007 trae nueva
interfaz gráfica para Comput. personales.
o
Windows 7: será más seguro y
rápido (a finales de 2009).
2.
Windows 3.1
3.
Navegación en Windows El ingreso
al ambiente gráfico de Windows se produce tan pronto el usuario enciende el
computador y el equipo se inicializa, levantándose sus servicios básicos. La
representación gráfica de Windows, que aparece inmediatamente después del
arranque, recibe el nombre de Escritorio, en el mismo que se distinguen varios
componentes.
4.
Botón Inicio.- acceso a sinnúmero
de aplicaciones y servicios disponibles. Barra de tareas.- despliegan accesos
tipo botón a ciertos servicios habilitados. Íconos.- aplicaciones y servicios
que pueden ser ejecutados por el usuario mediante doble clic.
5.
Clic en Inicio se habilita menú
Inicio con acceso a publicaciones y servicios.
6.
Clic en la identificación de la
aplicación o del servicio, generalmente despliega una ventana.
7.
Menú Inicio – Todos los Programas
se presentan accesos. Cuando a la derecha aparece una punta de una flecha, se
puede escoger submenús adicionales.
8.
Comandos Básicos Un comando es
una instrucción que proporciona el Usuario al computador para que realicen
determinados procesos (se ejecutan con doble clic).
9.
Es posible que se requieran
varios datos para activar un comando, generalmente se utiliza un cuadro de
diálogo.
10.
Seguridad Una de las principales
críticas que con frecuencia reciben los sistemas operativos Windows es la
debilidad del sistema en lo que a seguridad se refiere y el alto índice de
vulnerabilidades críticas. El propio Bill Gates, fundador de Microsoft, ha
asegurado en repetidas ocasiones que la seguridad es objetivo primordial para
su empresa. Partiendo de la base de que no existe un sistema completamente
seguro, son muchos los estudios que pretenden evaluar la seguridad de los
sistemas operativos más frecuentes (Windows, Linux, Mac OS...).
11.
Instalación de Hardware Se
utiliza el Panel de Control y luego agregar Hardware
12.
Instalación de Software Gran
parte del Software moderno tiene auto instaladores.
Sistema
operativo Linux
Linux es un sistema operativo diseñado por
cientos de programadores de todo el planeta, aunque el principal responsable
del proyecto es Linus Torvalds. Su objetivo inicial es propulsar el software de
libre distribución junto con su código fuente para que
pueda ser modificado por cualquier persona,
dando rienda suelta a la creatividad.
El hecho de que el sistema operativo incluya su propio código fuente expande
enormemente las posibilidades de este sistema. Este método también es aplicado en numerosas
ocasiones a los programas que corren en el sistema, lo que hace que podamos
encontrar muchísimos programas útiles totalmente gratuitos y con su código
fuente. Y la cuestión es que, señores y señoras, Linux es un sistema operativo
totalmente gratuito.
Mi máquina corre Linux, y puedo asegurar que
es uno de los sistemas que más aprovecha mi computadora,
es decir, con el consigo ejecutar tareas mucho más rápido que con otros
sistemas operativos comerciales. Y es que Linux no requiere grandes prestaciones para funcionar.
Las funciones principales de este magnífico sistema
operativo son:
·
·
Sistema multitarea En Linux es posible ejecutar varios programas a la vez
sin necesidad de tener que parar la ejecución de cada aplicación.
·
·
Sistema multiusuario Varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo.
Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez
(multitarea).
·
·
Shells programables Un Shell conecta las ordenes de un usuario con
el Kernel de Linux (el núcleo del sistema), y al ser programables se puede
modificar para adaptarlo a tus necesidades. Por ejemplo, es muy útil para
realizar procesos en segundo plano.
·
·
Independencia de dispositivos Linux admite cualquier tipo de dispositivo (módems, impresoras)
gracias a que cada una vez instalado uno nuevo, se añade al Kernel el enlace o
controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se
fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como
otros sistemas operativos.
·
·
Comunicaciones Linux es el sistema más flexible para poder conectarse a cualquier ordenador del
mundo. Internet se creó y desarrollo dentro del mundo de Unix, y por lo tanto
Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son
sistemas prácticamente idénticos. Con Linux podrá montar un servidor en su propia casa sin tener que pagar
las enormes cantidades de dinero que piden otros sistemas.
Linux no sacrifica en ningún momento la
creatividad, tal y como lo hacen algunas compañías informáticas. Linux es una
ventana abierta por la que es posible huir hacia un mundo donde la verdadera
informática puede ser disfrutada sin limites ni monopolios.
Linux es distribuido mediante una serie de
distribuciones como RedHat, Slackware, Debían ... las cuales se diferencian por
su método de instalación y por los paquetes (software) que viene incluido. Es
posible que encuentre a la venta versiones de Linux y piense: "si,
si.... decían que era gratis..." No se asuste, todo el software de Linux
esta regido por la licencia de GNU, con la cual cualquier persona puede
modificar un programa y venderlo según el desee, con la
condición que la persona que compra ese producto puede realizar la misma acción o simplemente hacer copias para todos
aquellos que lo quieran sin tener que pagar más (por lo tanto no se extrañe si
encuentra distribución comerciales). Esta licencia es la garantía que afirma la
absoluta libertad de este sistema operativo. Si no desea
ni siquiera pagar esa mísera cantidad puede descargárselo de Internet
totalmente gratis (bueno, sólo tendrá que pagar la factura de teléfono ).
Características de Linux
·
·
multitarea: varios programas (realmente procesos) ejecutándose
al mismo tiempo.
·
multiusuario: varios usuarios en la misma máquina al mismo
tiempo (y sin licencias para todos).
·
multiplataforma: corre en muchas PCUS distintas, no sólo Intel.
·
funciona en modo protegido 386.
·
tiene protección de la memoria entre procesos, de manera que uno de
ellos no pueda colgar el sistema.
·
carga de ejecutables por demanda:
Linux sólo lee de disco aquellas partes de un programa que están siendo usadas
actualmente.
·
política de copia en escritura para la comparición de páginas entre
ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta
escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos
beneficios: aumenta la velocidad y reduce el uso de memoria.
·
memoria virtual usando paginación (sin intercambio de procesos
completos) a disco: una partición o un archivo en el sistema de archivos,
o ambos, con la posibilidad de añadir más áreas de intercambio sobre la marcha
(se sigue denominando intercambio, es en realidad un intercambio de páginas).
Un total de 16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas
en un momento dado con un límite teórico de 2Gb para intercambio.
·
la memoria se gestiona como un recurso unificado para los
programas de usuario y para el caché de disco, de tal forma que toda la memoria
libre puede ser usada para caché y éste puede a su vez ser reducido cuando se
ejecuten grandes programas.
·
librerías compartidas de carga dinámica (DLL's) y librerías estáticas también,
por supuesto.
·
se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de
depuradores sobre los programas no sólo en ejecución sino también tras abortar
éstos por cualquier motivo.
·
casi totalmente compatible con POSIX, Systems V y BSD a nivel
fuente.
·
mediante un módulo de emulación de ibcs2, casi completamente
compatible con SCO, SVR3 y SVR4 a nivel binario.
·
todo el código fuente está disponible, incluyendo el núcleo
completo y todos los drivers, las herramientas de desarrollo y todos los programas de
usuario; además todo ello se puede distribuir libremente. Hay algunos programas
comerciales que están siendo ofrecidos para Linux actualmente sin código
fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.
·
control de tareas POSIX.
·
pseudo-terminales (pty's).
·
emulación de 387 en el núcleo, de tal forma que los programas no
tengan que hacer su propia emulación matemática.
Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático.
Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), será
usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin
la emulación matemática y conseguir un pequeño ahorro de memoria.
·
soporte para muchos teclados nacionales o adaptados y es
bastante fácil añadir nuevos dinámicamente.
·
consolas virtuales múltiples: varias sesiones de login a través
de la consola entre las que se puede cambiar con las combinaciones adecuadas de
teclas (totalmente independiente del hardware de video).
Se crean dinámicamente y puedes tener hasta 64.
·
soporte para varios sistemas de archivo comunes, incluyendo
minix-1, Xenix y todos los sistemas de archivo típicos de System V, y tiene un
avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres
de archivos de hasta 255 caracteres de longitud.
·
acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un
sistema de archivos especial: no necesitas ningún comando especial para usar la
partición MS-DOS, parece un sistema de archivos normal de Unix (excepto por
algunas graciosas restricciones en los nombres de archivo, permisos, y esas
cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este
momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al núcleo de
desarrollo y estará en la próxima versión estable.
·
un sistema de archivos especial llamado UMSDOS que permite que
Linux sea instalado en un sistema de archivos DOS.
·
soporte en sólo lectura de HPFS-2 del OS/2 2.1
·
Appletalk disponible en el actual núcleo de desarrollo.
·
software cliente y servidor Netware disponible en los
núcleos de desarrollo.
LINUX - COMANDOS BÁSICOS
date muestra la fecha del sistema.
date –u mmddhhhhaa cambia la fecha del
sistema, ej. 1202120095 es igual a mes 12, día 02, hora 12:00 y año 1995.
logout sale de la actual sesión.
login sale de la actual sesión.
^D sale de la actual sesión.
Alt+F1 inicia una consola virtual (varias a
la vez: F1,F2,F3...)
passwd cambia el password del actual
usuario.
^C aborta programa en ejecución.
^S paraliza la pantalla.
^Q anula la paralización de la pantalla.
who lista los usuarios conectados.
who am i lista tu nombre.
who you are lista tu nombre.
mail nombre envía correo, se finaliza
escribiendo un punto en una línea sola.
mail visualiza tu correo, teclea ? para
ayuda.
ls lista directorios y ficheros.
ls –i lista directorios y ficheros con sus
i-números.
ls –a lista directorios y ficheros en orden
alfabético.
ls –s lista directorios y ficheros con su
tamaño en bloque (1 bloque= 512 bytes)
ls –r lista directorios y ficheros en orden
inverso.
ls –u lista directorios y ficheros según
último acceso.
ls –l lista todos los directorios y ficheros
en formato largo.
Head –nº lines selecciona la primera línea
(ej. ls|head –1 lines)
cat file file ... visualiza seguidamente los
ficheros indicados.
cat file file > file graba los dos
archivos en uno.
ln file link crea un enlace a un archivo,
los dos contienen el mismo fichero físico, si cambias uno, cambia el otro. Pero
si borras uno todavía queda el otro.
cp file file copia ficheros.
rm file borra ficheros.
mv file file mueve o cambia de nombre.
pwd muestra el directorio actual.
cd cambia de directorio.
mkdir directorio crea un directorio.
rmdir directorio borra un directorio.
comando & hace que el proceso sea desatendido en 2º plano
(background).
ps [nº] muestra los procesos desatendidos.
ps alx muestra los procesos desatendidos
asociados a la terminal (a), los no asociados (x) y hace una lista larga (l).
Elementos de la lista
larga: STA (Estado del proceso) O (Inexistente) S (Durmiendo) W (Esperando) I
(Intermedio) R (Ejecutándose) Z (Terminado) Z (Parado) UID (Nº de
Identificación del propietario) PID (Nº de Identificación del proceso) PPID (Nº de
Identificación del proceso padre) PRI (Prioridad, nº altos=baja prioridad)
WCHAN (Suceso al que espera) NICE (Nº para calcular la pri.) TTY (Terminal)
STTY (Tiempo de ejecución)
kill nº detiene la ejecución de un proceso en background.
at hora o fecha <<EOF ejecuta algo a una
hora establecida (para salir escribir EOF)
Posibilidades para hora o fecha: 8am, 2130, 12N fri week (siguiente semana), 2PM apr 3, now +1minute, now +1 hour, 4PM +2 days, 1PM tomorrow,...
Posibilidades para hora o fecha: 8am, 2130, 12N fri week (siguiente semana), 2PM apr 3, now +1minute, now +1 hour, 4PM +2 days, 1PM tomorrow,...
comando ; comando se pueden escribir varios
comandos a la vez.
comando > file redirecciona la salida a
un archivo.
(comando ; comando) > file redirecciona
toda la salida del conjunto a un archivo.
comando >> file redirecciona la salida
a un archivo, pero lo añade al final de este.
comando < file > file redirecciona de forma
contraria para acabar llevando el resultado a un archivo.
comando | comando tubo (pipeline) la salida
del 1º la envía hacia el 2º.
*, ?, [...], ... caracteres de sustitución.
echo * lista directorios y ficheros.
echo –n "Hoy es `date`, hola $variable"
hace eco sin carro de retorno (-n) de la frase Hoy es, ejecuta el comando date
(entre acentos), hace eco de hola y imprime el contenido de la variable. Para
eliminar los valores especiales de algunos caracteres
deberemos escribir / antes, ejemplo "Hola /"Pepe/"".
mesg y permite que te escriban los usuarios
del sistema.
mesg n prohibe que te escriban a los
usuarios del sistema.
mesg muestra el estado actual (escribir o no).
tty muestra tu número (archivo) de terminal.
write nombre [tty] para comunicarse con un
usuario conectado al sistema. Para salir ^D, para indicar al otro el fin del
mensaje –oo-, y el fin de lacomunicación –oo-. Si el usuario pertenece a otra
terminal, se debe indicar. Si el usuario tiene el mesg en no o esta realizando
una tarea específica no podremos comunicarnos.
cmp file file comprueba si son idénticos, si
lo son no aparece ninguna salida.
comm [-nº] file file lista las palabras
comunes de los dos archivos, en el número se indica la columna a comparar:
0,1,2,3.
diff file file lista las palabras diferentes
de los dos archivos.
find . –file ... –mtime 1 –size +10 –type f
busca en el directorio actual los ficheros con dicho nombre, que hayan sido
modificados hace 1 día, con un tamaño mayor a 10 bloques y del tipo fichero.
find / -name ... –atime 1 –size –20 –type d
busca en el directorio actual los directorios con dicho nombre, que hayan
tenido acceso hace 1 día, con tamaño menor que 20 bloques y del tipo
directorio.
find . –name –ok rm {} \; busca en el
directorio actual y borra los ficheros encontrados que cumplan los requisitos.
lpr file imprime el archivo.
pr file imprime el archivo junto a un
encabezamiento, la fecha, hora, ...
tail nº file muestra la cola de un archivo,
en nº se debe especificar: +2l (a partir de la segunda línea por arriba), -10l
(a partir de la décima línea por abajo). Si en lugar de l (línea) podemos
escribir b (bloque) ó c (carácter).
tr caracteres caracteres cambia los
caracteres por los indicados a continuación. (Ejemplo: tr abc ABC).
tee file muestra los datos en un punto intermedio.
du muestra el tamaño por bloques de cada
archivo y directorio.
du –s muestra el tamaño total por bloques.
file file indica el tipo de archivo que es
(empty\ cannot open\ directory\ English text\ ascii text\ data).
stty información sobre nuestro terminal.
stty [-] raw lee carácter a carácter. Se
anula añadiendo el signo – al comando.
stty [-] cooked lee línea a línea. Se anula
añadiendo el signo – al comando.
stty [-] cbreak mezcla de los dos
anteriores. Se anula añadiendo el signo – al comando.
stty [-] nl no retorna el carro hasta el
principio (se anula con ^J).
stty [-] echo no se ven las pulsaciones en
pantalla. Se anula añadiendo el signo – al comando.
sort file muestra en pantalla el archivo
ordenado por la 1ª columna (para indicar la segunda columna añadir +1 y así
sucesivamente).
sort file –u muestra en pantalla el archivo
ordenado por la 1ª columna sin las líneas duplicadas.
sort file –b muestra en pantalla el archivo
ordenado por la 1ª columna ignorando espacios en blanco.
sort file –f muestra en pantalla el archivo
ordenado por la 1ª columna distinguiendo entre minúsculas y mayúsculas.
sort file –r muestra en pantalla el archivo
ordenado por la 1ª columna en orden inverso.
sort file –c comprueba si el archivo ya esta
ordenado.
grep palabra file busca unos caracteres
determinados en un fichero.
grep –v palabra file busca las líneas que no contienen dicha palabra.
grep –c palabra file muestra el número de líneas que contienen la palabra.
grep –y palabra file busca la palabra en el fichero sin distinguir entre
grep –v palabra file busca las líneas que no contienen dicha palabra.
grep –c palabra file muestra el número de líneas que contienen la palabra.
grep –y palabra file busca la palabra en el fichero sin distinguir entre
minúsculas y mayúsculas.
grep –n palabra file busca la palabra y
muestra su línea con el número de
esta.
uniq file muestra el archivo sin las líneas
que estén repetidas.
wc file muestra el número de líneas,
palabras y caracteres (en este orden) del archivo.
wc –l file muestra el número de líneas del
archivo.
wc –w muestra el número de palabras del
archivo.
wc –c muestra el número de caracteres del
archivo.
cal [nº mes] nº año imprime un calendario del
mes y/o año indicado. Mes: 1-12, año 1-9999.
newgrp grupo cambia de grupo.
sum file suma las palabras de un archivo.
expr nº + nº suma +, resta -, multiplica *, divide
/,... una expresión.
wall mensaje manda un mensaje a todos los
usuarios. (Solo lo recibirán los usuarios que tengan su sistema configurado
para poder recibir estos mensajes)
id muestra nuestro UserId y el GroupId.
chmod nºnºnº file cambia los permisos de un
archivo. 1: Permiso de ejecución (x), 2: Permiso de escritura (w), 3: Permiso
de lectura ( r). Se deben sumar para poner más de uno. El primer número
corresponde al creador del archivo, el segundo al grupo del creador, y el
tercero al resto de usuarios. Ej. 666 : todo el mundo tiene permiso de todo.
chown nombre file cambia el propietario de
un archivo.
chgrp grupo file cambia el grupo del
propietario de un archivo.
umask muestra los permisos por defecto de
los archivos creados. Ej. 022 entonces 666-022=644, es decir usuario permiso de
w, r, grupo permiso de r y lo otros permiso de r.
umask nº cambia los permisos por defecto de
los archivos creados. Ej. umask 000: todo el mundo tiene todos los permisos al
ser creado un archivo.
Archivos especiales:
/etc/passwd Contiene todos los logins y
passwords
/etc/motd Mensaje del día
/etc/profile Se ejecuta al introducir al
entrar en el sistema
Versiones
El desarrollo inicial Linux ya aprovechaba
las características de conmutación de tareas en modo protegido del 386, y se
escribió todo en ensamblador.
Linus nunca anunció la versión 0.01 de Linux
(agosto 1991), esta versión no era ni siquiera ejecutable, solamente incluía
los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumía que uno tenia
acceso a un sistema Minix para su compilación.
El 5 de octubre de 1991, Linus anunció la
primera versión "Oficial" de Linux, - versión 0.02. Con esta versión
Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de
C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en
los términos soporte,documentación,
distribución.
Después de la versión 0.03, Linus salto en
la numeración hasta la 0.10, más y más programadores a lo largo y ancho de
internet empezaron a trabajar en el proyecto y después de sucesivas revisiones,
Linus incremento el numero de versión hasta la 0.95 (Marzo 1992). Mas de un año
después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la
versión 1.0 no llego hasta el 14 de marzo de 1994.
La versión actual del núcleo es la 2.2 y
sigue avanzando día a día con la meta de perfeccionar y mejorar el sistema.
La ultima versión estable es la versión 2.2,
que soporta muchos más periféricos,
desde procesadores hasta joysticks, sintonizadores de televisión,
CD ROMs no ATAPI y reconoce buena cantidad de tarjetas de sonido.
Incluye también soporte para tipos de archivos para Macintosh HFS, Unix UFS y
en modo de lectura, HPFS de OS/2 y NTFS, de NT.
Otras Versiones:
Linux 2.0
Linux 2.2
Linux 2.3
Comparación
Se señala las diferencias de Linux con el
DOS y no con otro S.O. porque la mayoría provienen del DOS.
·
No existe el concepto de unidad de disco. Todas las unidades
en Linux se 'montan' como si fueran un subdirectorio más.
·
No existe el concepto de extensión del nombre de un fichero. Los
ficheros pueden tener nombres de hasta 256 caracteres. Los puntos están
permitidos en el nombre de un fichero. Así, un fichero se podrá llamar:
por poner un ejemplo.
·
Los subdirectorios no se separan con el carácter '\', como en
DOS, sino con el carácter '/'. Ejemplo:
/usr/src/linux-1.2.13/Makefile
·
·
Existe diferencia entre mayúsculas y minúsculas. Por ejemplo, no
es lo mismo 'dir' que 'DIR' que 'Dir'...
·
Adiós a los atributos de los ficheros, tal y como los conoce el
DOS. Cada fichero tendrá ahora 10 'atributos'.
·
Entre un comando y sus parámetros deberemos dejar obligatoriamente
un espacio en blanco. Por ejemplo 'cd..' no funcionará mientras que 'cd ..' sí.
·
·
IMPORTANTE: Un sistema Linux NUNCA se puede apagar
por las buenas. Antes le hemos de
advertir al S.O. de que vamos a apagarlo (o reiniciarlo). La razón de que esto deba
ser así es para que al sistema le dé tiempo de escribir en disco todos los
datos que tuviera pendientes de escribir, salir ordenadamente de todas las
aplicaciones que tuviera arrancadas y desmontar todas las unidades que tuviera
montadas.
Existen muchas otras diferencias (gestión de memoria plana, ...), pero las
mencionadas son las que más nos pueden influir en la forma de trabajar, al
menos en principio.
¿Qué es el kernel?
El kernel o núcleo de linux se podría
definir como el corazón de este sistema operativo. Es el
encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
Las funciones mas importantes del mismo,
aunque no las únicas, son:
·
·
Administración de la memoria, para todos los programas en
ejecución.
·
·
Administración del tiempo de procesador,
que estos programas en ejecución utilizan.
·
·
Es el encargado de que podamos acceder a los
periféricos/elementos de nuestro ordenador de una manera cómoda.
Existen dos versiones del Linux kernel:
Versión de producción: La versión de producción, es la versión estable hasta el
momento. Esta versión es el resultado final de las versiones de desarrollo o
experimentales.
Cuando el equipo de desarrollo del kernel
experimental, decide que ha conseguido un kernel estable y con la suficiente
calidad, se lanza una nueva versión de producción o estable. Esta versión es la
que se debería utilizar para un uso normal del sistema, ya que son las
versiones consideradas mas estables y libres de fallos en el momento de su
lanzamiento.
Versión de desarrollo: Esta versión es experimental y es la
que utilizan los desarrolladores para programar, comprobar y verificar nuevas
características, correcciones, etc. Estos núcleos suelen ser inestables y no se
deberían usar, a no ser que sepas lo que haces.
Como interpretar los números de las
versiones:
·
·
Las versiones del kernel se numeran con 3 números, de la
siguiente forma: XX.YY.ZZ
·
·
XX: Indica la serie principal del kernel. Hasta el momento
solo existen la 1 y 2. Este numero cambia cuando la manera de funcionamiento
del kernel ha sufrido un cambio muy importante.
·
·
YY: Indica si la versión es de desarrollo o de producción.
Un numero impar, significa que es de desarrollo, uno par, que es de producción.
ZZ: Indica nuevas versiones dentro de una versión, en las que lo único que se ha modificado, son fallos de programación /bugs.
ZZ: Indica nuevas versiones dentro de una versión, en las que lo único que se ha modificado, son fallos de programación /bugs.
Unos ejemplos nos ayudaran a entenderlo
mejor:
·
·
ej1: versión del kernel 2.0.0: Kernel de la serie 2 (XX=2),
versión de producción 0 (YY=0 par), primera versión de 2.0 (ZZ=0)
·
·
ej2: versión del kernel 2.0.1: Kernel de la serie 2, versión 0,
en el que se han corregido errores de programación presentes en la versión
2.0.0 (ZZ=1)
·
·
ej3: versión del kernel 2.1.100: versión 100 del kernel de
desarrollo 2.1.
Sistemas de Archivos
Sistema de ficheros linux (I)
Bueno como sabrás el DOS funciona con FAT,
File Allocation Table, o sea una tabla a principio del disco duro donde se almacena, la información de
cada bloque del disco, de manera que tenemos una lista enlazada para cada
fichero.
--------- | 2| 0 FICHERO A bloques 0 2 6
--------- | 3| 1 FICHERO B bloques 1 3 4 --------- | 6| 2 --------- | 4| 3
--------- | fin| 4 --------- | | 5 --------- | fin| 6 ---------
Para leer un fichero A leemos en la fat el
bloque 0, vemos donde continua y leemos la fat en el bloque 2, leemos el bloque
del disco, y volvemos a leer el bloque de la fat donde esta el bloque 6. Esto
parece rápido, y lo es i la FAT
esta en memoria, pero si calculamos lo que puede ocupar una FAT de un disco
duro de 1Giga donde el disco esta dividido en bloques de pongamos 4024Kb y
pongamos 20 bytes por descriptor, tenemos una FAT de 5 megas, (no recuerdo de
cuanto era el tamaño de bloque/descriptor en MSDOS), lo cual no se puede tener
en memoria y si hay que leer cada vez de disco es muy lento. Cuando MSDOS
funcionaba en disquete no era demasiado problema tener en memoria unos Ks de
FAT, pero con los disco de ahora de Giga ya es un problema.
¿Como lo hace UNIX? ¿Y por supuesto ext2 de
Linux? Con otra estructura de datos llamada i-nodes, que para
cada fichero tiene un array, con las posiciones del disco donde se encuentra
este. De esta manera cuando queremos leer un fichero, leemos solo un trozo de
disco contiguo, donde encontramos todas las referencias a ése y no toda la FAT que puede ser de mas de un
mega. Con los nodos-i (o inodes) no ahorramos espacio de disco (con respecto a
FAT), la información de en que bloques esta cada fichero la tenemos igual pero
mejor organizada.
Las tablas de i-nodes tienen un tamaño
limitado, pero en caso de que se llenen con indirecciones se accede a otras
tablas de i-nodes, con lo que el limite del tamaño de los ficheros es grande.
(bueno esto lo he explicado un poco por encima se podría explicar
extensamente).
IN> Me imagino que el ext2 es mejor que
el msdos, pero realmente que IN> diferencias hay entre ellos (menos lo de
los permisos y la lon- IN> gitud del nombre de los ficheros).
Pues como has visto es mas rapido y
eficiente, aparte de no tener las limitaciones de usuario, permisos, nombres
largos, etc.
El tamaño de bloque de disco, en MS DOS es fijo en función del tamaño de la partición, en linux
en el momento en que formateas la partición con mkfs (o mk2efs no recuerdo)
puedes elegir el tamaño del bloque según vayas a tener mas ficheros pequeños, o
mas ficheros grandes.
Sistema de ficheros linux
(II)
El ext2 tiene un tamaño de i-nodo fijo entre
1 y 4K, independientemente del tamaño de la partición. El tamaño del i-nodo se
selecciona al crear el sistema de archivos y es seleccionable por el usuario.
El ext2 tiene una unidad similar al cluster,
llamada bloque, y que es, por lo general de 1K, especificable por el usuario e
independiente del tamaño de la partición, lo cual asegura un buen
aprovechamiento del espacio libre con archivos pequeños.
El ext2 no usa una FAT, sino una tabla de
i-nodos distribuidos en un número determinable de grupos a través de la superficie, lo cual
permite balancear la distribución de los bloques de archivos en la superficie a
través de dichos grupos para asegurar la mínima fragmentación.
El ext2 tiene un límite máximo de 4GB de
archivo, pero no limita el tamaño máximo de la partición a 4GB, como es el caso
de la FAT.
El ext2 tiene soporte para detección de un
sistema de archivos desmontado incorrectamente cuando el sistema se apaga de
forma errónea, y capacidad para autorecuperarlo en caso de fallo accidental.
El ext2 mantiene información de la última
vez que se montó y se accedió al volumen (sistema de archivos), así como del
número de veces que se ha montado dicho volumen desde la última comprobación
automática, así como la fecha en la que se comprobó su integridad por última
vez.
El ext2 permite asignar un porcentaje del
disco duro que se reserva para el uso de usuarios con un "uid" y
"gid" específicos.
El ext2 es un sistema de archivos mucho más
avanzado que el MS-DOS, con soporte de corrección y detección de errores,
compresión de archivos (todavía por implementar), mayor tolerancia a la fragmentación de archivos y con
unos tiempos de respuesta muy superiores, aunque a un coste superior de
utilización de memoria.
¿Qué es la Swap ?
La swap es un espacio reservado en tu disco
duro para poder usarse como una extensión de memoria virtual de tu sistema. Es
una técnica utilizada desde hace tiempo para hacer creer a los programas que
existe mas memoria RAM de la que en realidad existe. Es el
propio sistema operativo el que se encarga de pasar datos a la swap cuando
necesita mas espacio libre en la RAM y viceversa.
En Linux, la memoria total disponible por el
sistema estará formada por la cantidad de memoria RAM instalada + la swap
disponible. El acceso a la swap (disco duro) es mas lento que el acceso a la
memoria RAM, por lo que si nuestro ordenador esta muy cargado de trabajo y hace un uso intensivo de la swap, la
velocidad del sistema disminuirá. Un uso muy intensivo y continuado de la swap
es un indicativo de que necesitamos mas memoria en nuestro sistema para que
funcione desahogado con el uso que le estamos dando.
En linux generalmente se usa como mínimo una
partición dedicada a swap (aunque también se puede tener un fichero swap).
¿Cuanta Swap necesito?
Esta es otra pregunta que es difícil de
contestar: Todo dependerá del uso que se le vaya a dar al sistema y del espacio
libre que tengamos.
Si vas a utilizar muchos programas a la vez
y tienes poca memoria RAM, necesitaras mas swap, si tienes mucha RAM, no
necesitaras tanta swap. Hay que recordar que un uso no intensivo de la swap es
normal y no afectara mucho a la velocidad del sistema, pero como hemos dicho
antes, un uso muy intensivo y continuado es un indicativo de que necesitamos
mas memoria RAM.
No existe una formula mágica para saber
cuanto espacio deberíamos reservar para swap. Hay que recordar que la memoria
total disponible en Linux es RAM + Swap. Como datos orientativos podríamos
decir que como mínimo, esta combinación debería ser de 32MB para sistemas que
se utilicen en modo texto y de 64MB en adelante para sistemas
que se utilicen en modo gráfico.
Aquí tienes una serie de consejos sobre la
swap:
·
Es recomendable el tener siempre algo de swap configurada,
incluso en sistemas con mucha memoria.
·
En linux no se puede tener mas de 128MB en una partición swap,
si necesitas mas de 128MB de swap, puedes tener mas de una partición dedicada a
swap, por ejemplo, dos de 128MB
·
Si tienes mas de un disco, instala la swap en el que trabaje mas
rápido.
·
Si tienes mas de un disco que se puedan acceder simultáneamente
(por ej. dos SCSI, o dos IDE en diferentes canales IDE), se puede ganar algo de
velocidad teniendo una particion swap en cada uno de estos discos.
Para un uso privado "normal-alto"
del sistema, aquí tienes unos ejemplos orientativos de la cantidad de swap
recomendable:
·
16MB RAM + 64MB Swap
·
32MB RAM + 96MB Swap
·
64MB RAM + 64MB Swap
·
128MB RAM + 128MB Swap
·
256MB RAM + 128MB Swap
Como dato anecdótico, decir que existen servidores,
en donde la cantidad de swap llega a ser de 256MB y hasta 512MB aunque yo tengo
ordenadores con 16MB de RAM y 16MB de Swap como servidores de impresión que
funcionan sin ningún problema.
En fin, cada uno debe de saber el uso que le
va a dar a su sistema y analizar la cantidad de memoria necesaria, aunque si
tienes espacio de sobra en el disco, mas vale tener mas Swap disponible que la
necesaria, por lo que pueda ocurrir en un futuro, como dice el dicho, mas vale
que sobre que no que falte.
Manejo de memoria
¿Qué es una partición? ¿Cómo creo una partición?
Particionar el disco duro es una manera de
dividir el disco físico en varios discos lógicos. O lo que es lo mismo, al
particionar un disco, dividimos el disco en varias particiones independientes
unas de otras, creando la ilusión de que tenemos diferentes discos, cuando en
realidad lo que tenemos es un solo disco físico dividido en partes. Una
partición es una de estas partes (divisiones) del disco.
Existen dos clases de particiones: primarias
y extendidas. En un disco solo podrás tener como máximo 4 particiones primaria
y 1 extendida. En la partición extendida se podrán definir todas (bueno también
existe un limite, pero es alto) las unidades lógicas que queramos. Con este
sistema podemos tener una gran cantidad de particiones en nuestro disco.
Cualquier disco que tengamos en nuestro
ordenador tiene al menos una partición primaria, que en la mayoría de los casos
tiene un tamaño equivalente al total del disco.
Unos ejemplos aclararan las cosas:
·
Un disco de 1Gb con una sola partición, tendrá una partición
primaria de 1Gb (total del disco).
·
Ese mismo disco podría tener 4 particiones primarias de 0.25Gb
cada una, dando la ilusión de que tenemos 4 discos duros de 0.25Gb en vez de un solo disco de
1Gb.
·
Otra combinación posible podría ser 4 particiones primarias de
0.10Gb y 1 extendida con 6 unidades lógicas de 0.10Gb, en este caso parecería
que tenemos 10 discos duros de 0.10Gb cada uno.
Las combinaciones son múltiples y variadas y
dependerán de nuestros gustos y de lo que necesitemos.
Casi todos los sistemas operativos traen un
programa con el que podemos crear, modificar, borrar las particiones de nuestro
disco. En Ms-Dos/Windows de llama FDISK, este programa solo puede trabajar con
particiones de Ms-Dos/Windows. En Linux también se llama FDISK (/sbin/fdisk),
pero es un programa mas potente, capaz de trabajar y crear particiones tanto
para Linux como otros sistemas operativos. Si vas a trabajar con Linux, es
recomendable el uso del FDISK que viene con tu distribución, para evitar
problemas.
Al contrario que Ms-Dos, Windows, OS/2, las
diferentes particiones en linux no se denominan C:, D:, E:, ...., etc, existe
una denominación propia:
Si los discos son IDE:
·
/dev/hda: Disco duro IDE como master en el canal IDE
1.
·
/dev/hda1: Partición primaria 1 en /dev/hda
·
/dev/hda2: Partición primaria 2 en /dev/hda
·
/dev/hda3: Partición primaria 3 en /dev/hda
·
/dev/hda4: Partición primaria 4 en /dev/hda
·
/dev/hda5: Partición extendida 1 en /dev/hda
·
/dev/hda6: Partición extendida 2 en /dev/hda
·
.....
·
.....
·
/dev/hda16: Partición extendida 16 en /dev/hda
·
·
/dev/hdb: Disco duro IDE como esclavo en el canal
IDE 1.
·
/dev/hdb1: Partición primaria 1 en /dev/hdb
·
........
·
........
·
·
/dev/hdc: Disco duro IDE como master en el canal IDE
2.
·
/dev/hdc1: Partición primaria 1 en /dev/hdc
·
........
·
........
·
·
/dev/hdd: Disco duro IDE como esclavo en el canal
IDE 2.
·
/dev/hdd1: Partición primaria 1 en /dev/hdd
·
........
·
........
Si los discos son SCSI:
·
/dev/sda: Disco duro SCSI nr.1.
·
/dev/sda1: Partición primaria 1 en /dev/sda
·
........
·
........
·
·
/dev/sdb: Disco duro SCSI nr.2.
·
/dev/sdb1: Partición primaria 1 en /dev/sdb
·
........
·
........
IMPORTANTE: Es muy importante saber lo que se
esta haciendo cuando trabajas con programas que modifican la tabla de
particiones de un disco. Al cambiar la tabla de particiones de vuestro disco,
se pierden los datos contenidos en las particiones afectadas. Realizar copias
de seguridad de los datos que quieras mantener
antes de usar FDISK.
Particiones
de disco
Con el fin de instalar Linux, debes tener
espacio disponible para el. Este espacio de disco necesita estar separado del
espacio de disco usado por otros sistemas operativos que puedas tener
instalados en tu ordenador, tal que Windows, OS/2, o incluso una versión
diferente de Linux.
Un disco puede dividirse en diferentes particiones.
Se puede acceder cada partición como si fuera un disco separado. Además cada
partición tiene untipo que se usa para indicar como esta
almacenada la información en la partición. Por ejemplo, hay distintos tipos de
particiones usados por DOS, OS/2, y Linux.
Aun si vas a instalar Linux en su propio
disco duro, o en un ordenador que no contiene ningún otro sistema operativo,
seguirás necesitando crear particiones para que las use Linux. En este caso es
muy sencillo, ya que no hay otras particiones en el disco duro de las que
preocuparse.
Por otra parte, puede querer instalar Linux
en un disco que ya contiene software o datos de un sistema operativo diferente.
Las cosas pueden ser algo mas delicadas en esta situación, ya que un error
puede destruir tus particiones actuales, por no mencionar los datos que
contengan.
Durante el proceso de instalación, tendrás
la oportunidad de crear particiones para Linux. Llegado este punto, tu mayor
preocupación será estar segurode
tener suficiente espacio disponible para las particiones Linux. Déjame repasar
las diferentes formas de liberar espacio para las particiones Linux.
Hay tres posibles escenarios a los que
puedes hacer frente cuando intentas cambiar las particiones de tu disco duro:
·
Hay espacio libre disponible y no particionado.
·
Hay una partición no usado disponible.
·
Hay espacio libre disponible en una partición usada actualmente.
Veamos cada escenario en orden.
Usando espacio libre no
particionado
Todo el espacio no forma parte de ninguna
partición definida.
En este caso, puedes crear simplemente las
particiones necesarias a partir del espacio libre.
Usando una partición no
usada
El año pasado reemplazaste tu pequeño disco
duro de 105MB en tu sistema Windows por un mounstro de 1.2GB. Lo particionaste
en dos partes iguales, pensando en que usarías el ``dispositivo'' C: (en
realidad la primera partición del dispositivo) para Windows, y el
``dispositivo'' D: (en realidad ls segunda partición del dispositivo) para tu
colección de programa de libre distribución que copiaste de Internet. Bien, has
estado tan acostumbrado a usar C: que nunca has puesto nada importante en D:.
Si te encuentras en esta situación, puedes
usar el espacio asignado a la partición en desuso. Tendrás que borra la
partición, y crear las apropiadas particiones Linux en su lugar.
Usando espacio libre de una
partición activa
Esta es la situación mas común. Es además,
desafortunadamente, la mas difícil de tratar. El principal problema es que
tenemos el espacio suficiente, pero esta actualmente asignada a una partición
en uso. Si compras un ordenador con software
preinstalado, el disco duro tendrá seguramente una gran partición conteniendo
el sistema operativo y los datos.
Además de añadir un nuevo disco duro en tu
sistema, tienes otras dos opciones:
Cambio de particiones destructivo -- Básicamente, borras la única partición grande, y
creas varias mas pequeñas. Como puedes imaginar, cualquier dato que tengas en
esta partición será destruido. Esto quiere decir que es necesario hacer una copia
de seguridad completa. Por tu propio interés, haz dos copias de seguridad, usa
la verificación (si esta disponible en tu software de backup), e intenta leer
los datos de la copia de seguridadantes de borrar la partición. Ten también en
cuenta que si hay un sistema operativo de algún tipo instalado en la partición,
será necesario instalarlo de nuevo también.
Después de crear una partición mas pequeña
para tu software actual, puedes instalar de nuevo cualquier software, restaurar
tus datos, y continuar con la instalación de Linux. Cambio de particiones no
destructivo -- En este caso,
ejecutas un programa que hace lo que parece imposible; hace una partición
grande mas pequeña sin perder ninguno de los ficheros almacenados en la
partición. Mucha gente ha encontrado este método seguro y libre de problemas;
sin embargo, recomendamos que hagas una copia de seguridad de la partición a la
que vayamos a cambiar el tamaño, por si acaso.
Hardware requerido
El Linux funciona correctamente en un 386 SX
con 4 Mb de memoria. Pero se deberá tener en cuenta que aquellas aplicaciones
con fuerte requerimiento de memoria y carga de la CPU (por ejemplo, las X Windows) irán sumamente lentas.
Una configuración mucho más 'usable' sería
la siguiente: 486 DX 33 MHz o superior, con 8 Mb de memoria RAM y con tarjeta de video VGA o superior.
Unidad de CD-ROM es altamente recomendable.
Casi mejor habría que decir que imprescindible, dado que las distribuciones
vienen en ese formato. En la actualidad, la mayoría de ellas están soportadas
por el Linux. Asimismo tiene soporte para módem y tarjeta de sonido.
De todas formas, los propietarios de máquinas inferiores a la descrita (¿todavía
queda alguno? };-) que no se desanimen. Simplemente deberán tener más
paciencia. Y es mi obligación puntualizar que muchas veces se obtienen mejores
resultados con más memoria que con más potencia de CPU.
Debo puntualizar que en 286 no funcionará el
Linux. El kernel está hecho para 386. Hay, sin embargo, un grupo de gente que
está trabajando en una versión de Linux
para procesadores 8086, pero aún está en fase de proyecto.
En cuanto al espacio en disco duro,
dependerá en gran medida de lo que se pretenda hacer desde Linux. Según el
'Linux installation and getting started', con 10 Mb de partición se puede hacer
una instalación mínima pero usable (personalmente me parece bastante
optimista). Yo creo que alrededor de 100 Mb resulta espacio suficiente para un
Linux completo, incluidas las X Windows. A partir de ahí, lo que cada uno
considere...
Al hacer cálculos del espacio en disco duro
necesario, deberemos tener en cuenta que se necesita hacer una partición de
swap. El tamaño de la misma dependerá de la cantidad de memoria RAM disponible:
a más memoria, menos swap necesitaremos.
¿Dónde instalo Linux?
Linux se puede instalar en cualquier disco
que tengas en tu sistema y en cualquier particion del disco duro (Primaria o
extendida).
No podrás tener Linux en una partición
compartida con otro sistema operativo, Linux necesita su propia particion/es
para funcionar.
¿Cuantas particiones necesito para Linux?
La respuesta rápida y fácil es: recomendable
al menos dos, una para el sistema/datos y otra para Swap. Usualmente se suelen
tener tres, una para el sistema/programas (/), otra para los datos (/home) y
otra para swap.
La respuesta larga y no tan fácil es mas
complicada de explicar: Todo dependerá muchisimo del uso que se le vaya a dar
al sistema.
Para sistemas que se utilicen de forma
particular y por uno o pocos usuarios bastara con las dos/tres particiones
antes mencionadas, esto evitara los problemas de saber que cantidad de espacio
necesitan las diferentes particiones y el quedarnos sin espacio en alguna
particion vital, mientras que nos sobra en otras.
Para sistemas servidores, con gran cantidad
de servicios y usuarios es muy recomendable tener
varias particiones/discos. Existe un documento (HOWTO: Multi Disk System
Tuning) muy bueno y quizás complicado para el principiante que explica cuantas
particiones y discos y que tamaño deberían tener en función del uso que se le
vaya a dar al sistema, o en cualquier servidor con documentación Howto.
¿Porque necesito diferentes particiones?
El particionar el disco, es simplemente una
manera de organizar tu disco duro. Podrás organizarlo con una sola partición o
en varias. Es el usuario el que deberá decidir cuantas particiones tendrá su
disco, y el tamaño de las mismas, hay que recordar, que al menos hay que tener
una partición primaria.
Desventajas de tener vuestro disco dividido
en diferentes particiones.
·
Ninguna
Ventajas en tener vuestro disco particionado
en varias particiones:
·
Si tienes un error/problema en una de ellas, las demás no se
verán afectadas.
·
Poder tener diferentes sistemas operativos en vuestra maquina,
totalmente independientes unos de otros.
·
Poder tener vuestros archivos de datos en particiones totalmente
independientes.
·
Poder borrar/cambiar el contenido de una partición, sin que esto
afecte a las demás.
Sistema operativo UNIX
UNIX es un sistema operativo multitarea y
multiusuario, lo cual significa que puede ejecutar varios programas
simultáneamente, y que puede gestionar a varios usuarios simultáneamente. Se
desarrolló en los laboratorios Bell (por Kernighan & Thompson), y aunque al
principio se diseñó para el PDP-11, una máquina de Digital, ahora se ejecuta en
gran cantidad de plataformas con muchos tipos de microprocesadores diferentes,
haciéndolo un sistema multiplataforma, y provocando por tanto que un programa
en código máquina ejecutable en una plataforma en UNIX no tenga por qué ser
ejecutable en otra. Sin embargo, todos los UNIX son compatibles a dos niveles.
Comandos del sistema operativo, y grupos de ellos,
es decir, scripts. Programas en C en código fuente, siempre que se utilicen las
librerías estándar. Una librería es un conjunto de funciones que el usuario
puede utilizar, que vienen aparte del compilador.
Esta multiplicidad de plataformas hace que UNIX
venga en diferentes sabores, casi uno por cada fabricante y para cada tipo de
máquina. Además, hay dos grupos (bueno, quizás 3) de desarrollo diferentes:
v System V: liderado por AT&T, y acompañado por Sun y
otra serie de fabricantes, va por la versión 4.
v BSD, el más utilizado en las universidades.
Aparte, hay una serie de intentos de llegar a un
UNIX totalmente estándar, pero al haber varios, estos intentos son en vano. En
concreto, son los siguientes:
v UNIX International, de AT&T y Sun. Open Software
Foundation, que ha hecho ya un sistema operativo, OSF/1, y un IGU (interfaz
gráfica de usuario), OSF Motif, liderado por IBM y su peña.
Hay otros intentos independientes, como GNU (Gnu's
not UNIX), de hacer un sistema operativo gratuito e independiente del
fabricante, y POSIX, un intento estándar del IEEE. Por supuesto, el más celebre
y utilizado hoy en día es el Linux, del cual acaba de salir la versión 2.2. En
realidad, casi todos los UNIX ofrecen compatibilidad POSIX, e incluso algunos
no- UNIX, como el Windows NT, sobre todo si quieren ganar contratos del
gobierno americano, que exige compatibilidad POSIX (especificación GOSIP) para
los sistemas operativos instalados en ordenadores gubernamentales. Y, por
supuesto, el sistema operativo gratuito de más éxito en la actualidad, LINUX,
creado inicialmente por Linus Torvalds con ayuda de mucha otra gente en la Internet. Pero no
es único sistema operativo unixoide gratuito: también está MachTen (para el
Macintosh) y NetBSD.
En fin, el estándar de facto es SunOs, o Solaris
2.5, de las estaciones de trabajo Sun y compatibles, ya que es el utilizado por
la mayoría de los ordenadores instalados.
UNIX es un sistema operativo de red y tiene algunas
características de sistema distribuido, ya que existe un nombre único para
todos los ficheros disponibles en la red, y que es independiente de la máquina,
o más específicamente, en ese nombre no se incluye el nombre de la máquina en
el que el fichero está almacenado. Esto se denomina transparencia de
localización, y se logra, por ejemplo, con el NFS de Sun.
Hay cienes de interfaces para usuario basados en
UNIX, pero la mayoría utilizan como rutinas básicas para dibujo y gestión de
ventanas X-Windows, también llamado X11, por ser la última versión. X-Windows
no es la interfaz para el usuario, pero son utilizadas por diversas interfaces
para el usuario como conjunto básico de primitivas gráficas o sistema de imaginería.
Es, además, un sistema de presentación de gráficos en una red.
Algunas versiones: AIX de IBM, A/UX de Apple, HP-UX
de Hewlett Packard, DG/UX de Data General, SunOS de Sun, IRIX para las
estaciones de trabajo Silicon Graphics; y, en general, casi todo entorno
operativo que lleve una X por algún lado.
PROCESOS.
Un programa ejecutándose es para UNIX un proceso;
cada programa recibe del sistema operativo un número de proceso o pid. Cada
proceso tiene una determinada prioridad de ejecución, y en función de la misma,
recibirá la atención de la CPU
durante más o menos tiempo.
Cada usuario puede controlar sus propios procesos,
pero no los de los demás. Solo el superusuario puede controlar todos, y de
hecho lo hace muchas veces. Los procesos se controlan enviándoles señales, que
les indican por ejemplo, que deben terminar de ejecutarse, pero también que
deben rearrancar o que que paren para seguir luego más adelante.
Algunas órdenes relacionadas con los procesos son
las siguientes:
v lista de los procesos propios, en la consola actual:
(kal-el) ~> ps
PID TTY TIME COMMAND
1270
ttyq1 0:00
ps
553
ttyq1 0:01
tcsh
indica el numero de proceso, en que terminal o teletype se
está conectado, el tiempo que se ha estado ejecutando y el nombre del comando.
En Solaris aparecería de la siguiente forma: turing% ps
PID TTY TIME COMD
13122 pts/44 0:00 ps
11115 pts/44 0:02 tcsh
1. kill <señal> <número de proceso hace que
un proceso se deje de ejecutar; por ejemplo, puede usarse si se hay un proceso
“colgado”. En realidad, kill manda una señal al proceso, a la que ese proceso,
normalmente, debe de responder. Si el proceso no responde, hay que mandarle una
señal más fuerte. Por defecto, kill envía la señal SIGTERM, o “terminar”, pero
si el proceso está especialmente colgado, hay que mandarle la SIGKILL , “asesinar”,
escribiendo kill -KILL <pid> o kill -9 <pid>: a cada señal le
corresponde un código numérico, y a veces una combinación de teclas. Otras
señales tienen equivalencias también en pulsaciones de tecla, como SIGSTOP,
“parar”, que equivale a pulsar Ctrl-Z mientras un programa se está ejecutando,
para pararlo; el programa puede continuar ejecutándose mandándole (curiosamente
también con kill la señal SIGCONT (“continuar”). Otras señales, como SIGSEGV, o
“violación de segmentación”, son enviadas al programa por el sistema operativo
cuando aquel trata de escribir en una posición de memoria que no debe. Por otro
lado, en algunos sistemas existe la orden killall, que hace lo mismo usando
nombres de procesos, en vez de PIDs. En otros sistemas diferentes, killall
manda una señal a todos los procesos.
2. nice <orden>, renice <numero de
proceso> hace que una orden se ejecute con baja prioridad; y renice
altera la prioridad de un proceso una vez que ya se está ejecutando.
Un proceso, además, se puede ejecutar en background
o segundo plano sin que bloquee un terminal, incluyendo el símbolo de and,
&, o ampersand, al final. Control-Z pasa al background un proceso que se
este ejecutando en primer plano; también se puede hacer con bg <número de
proceso>; fg <número de proceso>, sin embargo, lo trae al primer
plano.
Un programa ejecutándose es para UNIX un proceso;
cada programa recibe del sistema operativo un número de proceso o pid. Cada
proceso tiene una determinada prioridad de ejecución, y en función de la misma,
recibirá la atención de la CPU
durante más o menos tiempo.
Cada usuario puede controlar sus propios procesos,
pero no los de los demás. Solo el superusuario puede controlar todos, y de hecho
lo hace muchas veces. Los procesos se controlan enviándoles señales, que les
indican por ejemplo, que deben terminar de ejecutarse, pero también que deben
rearrancar o que que paren para seguir luego más adelante.
Algunas órdenes relacionadas con los procesos son
las siguientes:
v lista de los procesos propios, en la consola actual:
(kal-el) ~> ps
PID TTY TIME COMMAND
1270 ttyq1 0:00 ps
553
ttyq1 0:01
tcsh
indica el numero de proceso, en que terminal o teletype se
está conectado, el tiempo que se ha estado ejecutando y el nombre del comando.
En Solaris aparecería de la siguiente forma: turing% ps
PID TTY TIME COMD
13122 pts/44 0:00 ps
11115 pts/44 0:02 tcsh
1. kill <señal> <número de proceso hace que
un proceso se deje de ejecutar; por ejemplo, puede usarse si se hay un proceso
“colgado”. En realidad, kill manda una señal al proceso, a la que ese proceso,
normalmente, debe de responder. Si el proceso no responde, hay que mandarle una
señal más fuerte. Por defecto, kill envía la señal SIGTERM, o “terminar”, pero
si el proceso está especialmente colgado, hay que mandarle la SIGKILL , “asesinar”,
escribiendo kill -KILL <pid> o kill -9 <pid>: a cada señal le
corresponde un código numérico, y a veces una combinación de teclas. Otras
señales tienen equivalencias también en pulsaciones de tecla, como SIGSTOP,
“parar”, que equivale a pulsar Ctrl-Z mientras un programa se está ejecutando,
para pararlo; el programa puede continuar ejecutándose mandándole (curiosamente
también con kill la señal).
COMUNICACIONES.
En los años 70, Brian Kernighan y Ken
Thompson, empleados de
AT&T, decidieron escribir un sistema operativo nuevo para una maquina
digital muy conocida en ese entonces PDP-7. Dicho sistema operativo debió ser
multiusuario y multitarea. Llamaron a dicho sistema operativo UNIX que, aunque
parezca raro, no son las iniciales de nada, sino que es un derivado de un
nombre del sistema operativo MINIX, el cual evoluciona.
La primera versión de
UNIX fue escrito en Assembler, pero en posteriores versiones se utilizó un
lenguaje de alto nivel, él “C”. La idea de utilizar un lenguaje de alto nivel
fue asegurar que el sistema
sea portable, es decir, que pudiera correrse en otras computadoras. En este
sentido, UNIX fue el primer sistema operativo escrito con este objeto en mente.
Un sistema UNIX posee una estructura de capas.
En el centro encontramos el hardware y redondeándolo el corazón o “kernel” del
sistema. La función del kernel es la administración del hardware (memoria,
periféricos), y de los procesos. Por afuera de los mismos encontramos los
“shells” o interfaces a de comando. Los shells son programables mediante
scripts, como los archivos BAT del DOS, pero en un lenguaje mucho mas poderoso.
Por afuera de los shell encontramos los comandos y las aplicaciones. Estos
pueden comunicarse con el shell o con el kernel directamente. En general, las
aplicaciones no interactuan con el hardware como suele suceder con el DOS, pues
de esa manera son portables mas fácilmente entre distintas plataformas, metas
muy buscada en el mundo UNIX y no tanto en el mundo DOS.
Entre las ventajas que posee
encontramos:
C Gran configurabilidad. Muchos parámetros del sistema operativo
pueden ser modificados. De hecho si se licencia el código fuente, puede
modificarse el kernel.
C Diversidad de plataforma.
C A partir del System V Release 4 existen una cierta
estandarización.
Entre sus fallas se detectaron:
C A pesar de los esfuerzos de todos los desarroladores, aun existen
diferencias entre los distintos UNIX.
C Es un sistema operativo muy poco amigable con el usuario. Así,
puede hablarse de un “temor de UNIX” entre la gente de sistemas que no lo
conocen. Se han desarrollado interfaces gráficas que facilitan en gran parte su
administración y manejo.
UNIX fue diseñado desde el principio para
facilitar al máximo las
comunicaciones, tanto de los usuarios del sistema como entre los distintos
operadores (computadoras); no solo entre ordenadores con UNIX, sino también
entre ordenadores con UNIX y a ordenadores con otros sistemas operativos.
SISTEMAS
DISTRIBUIDOS.
Una meta de largo alcance en las comunicaciones
entre las computadoras es proveer conectividad mundial entre computadoras y
usuarios. Para se aceptable el amplio rango de intereses involucrados, las
técnicas de comunicación deben ser decididas por consenso; para tal fin a sido
desarrollado el estándar OSI (Open System Interconnection). Esta es una
arquitectura de red de especial importancia, por que ha sido aceptada en el ámbito
mundial.
ARQUITECTURA OSI.
El modelo de referencia OSI es una
descomposición arbitraria de funciones de comunicación de computaras en siete
niveles de abstracción denominados capas. Cada capa tiene ciertas funciones
conceptuales asociadas con ella, las cuales se implementan de varias formas por
medios de diferentes servicios y protocolos.
Existe una amplia variedad de estándares
que no han tenido acepción mundial. Algunos de estos son IBM’S System Network Architecture (y a
su implementación DECnet), y el conjunto de protocolos del Departamento
de Defensa de EE.UU. (DoD).
Los protocolos DoD son ampliamente
usados en los Estados Unidos especialmente en la comunidad de sistemas UNIX.
CAPAS
Las capas individuales de una
arquitectura de red se realizan con definiciones de servicios y protocolos. En
termino de la arquitectura OSI, la implementación de la capa n es una entidad n. La capa llamada sobre la
entidad n es una entidad (n+1) y es el usuario de servicio n. La capa
inferior a la capa n desde la cual la entidad n requiere servicios, es la entidad (n-1). Un servicio n, de acuerdo a la modelo
referencia OSI, es una capacidad de la capa ny
las capas inferiores a ella, la cual es provista por la (n+1) entidades en él limite entre la capa n y la capa (n+1).
La implementación de interfaces de
servicios (por ejemplo, las reglas mediante las cuales el usuario n requiere (n-1) servicios dentro del sistema abierto),
no esta estandarizado por OSI. Las interfaces de servicios son realizadas
típicamente como llamadas al sistema operativo. La sintaxis y la semántica de
las interfaces de protocolos están rígidamente estandarizadas; estas definen
las reglas usadas entre las comunicaciones de n entidades.
UNIDADES DE DATOS DE
PROTOCOLOS Y DE DATOS DE SERVICIO.
Varios tipos de datos conceptuales se han
involucrado en la realización de servicios OSI. El principio básico de
movimiento de datos en OSI es que n entidades se comuniquen con cualquier otra
usando una (n-1) conexión entre (n-1) entidades. Las n entidades intercambian n información de control de protocolo
para manejar sus operaciones cooperativas, e intercambian n datos de usuarios. La combinación de
información de control de protocolo y datos de usuario es una unidad de datos de protocolo (PDU);
la semántica y la sintaxis de la
PDU están totalmente especificadas en los estándares de
protocolo OSI. Las PDU pueden clasificarse por el nombre de capas (ejemplo: Unidad de Datos de Protocolos de
Red o NPDU).
Cuando una entidad n envía n datos de interfaces a una entidad (n-1), estos datos forman una (n-1) Unidad de Datos de Servicios
(SDU). Las SDU se clasifican usualmente por el servicio que esta siendo
usada, tal como Unidad de
Datos de Servicios de Transporte (TSDU) para
el servicio de transporte.
Cuando se usa una entidad (n-1) para enviar n SDUs a través de la red, una entidad (n-1) construye normalmente una PDU en
respuesta de servicio requerido colocando sus propios cabezales y pistas de protocolos alrededor de una representación de la SDU n. La entidad (n-1) envía entonces las SDU nencapsuladas como una SDU (n-2) a la capa (n-2) debajo de la entidad (n-1). La recepción es a la
inversa: cada capa saca su propia información de control de protocolo desde las
unidades de datos, y coloca el contenido de los campos de datos de la PDU n en la entidad (n+1).
No se necesita una correspondencia uno
a uno entre n SDUs y la (n-1) PDUs usadas para transferirlas,
o entre n conexiones y las (n-1) conexiones sobre las cuales fluyen las
PDUs. Una conexión (n-1) puede soportar mas de una conexión n.
LA CAPA DE APLICACIÓN.
La capa
de aplicación OSI no incluye aplicaciones en el sentido
convencional tales como planilla de pago, inventario, etc. Mas bien, la capa de
aplicación es una interfaces para distribuir funciones del sistema operativo,
tales como la capacidad para abrir un fichero o llamar aun procedimiento
remoto. Esta inteface esta descripta abstractamente, la interface especifica
entre un sistema operativo real y una implementación real de la capa de
aplicación no esta sujeta a la estandarización OSI, ya que estas interfaces
están estandarizadas por diversos grupos tales como X/OPEN, the Open Software
Foundation, UNIX international, y otros.
La capa de aplicación tienen
componente que proveen servicios a los elementos
de servicios de aplicación especifica (SASE) de software que no es de OSI, y otros
servicios, los cuales proveen servicios dentro de la capa de aplicación (por
ejemplo, a SASE). Los SASEs más comunes son Sistemas
de Manejos de Mensajes (MHS) y Transferencia; Acceso y Manejo de Ficheros
(FTAM). Otros SASEs incluyen Protocolo de Terminal Virtual
(VTP), Servicios de Mensajes Confeccionados (MMS), Servicios de Directorios (DS), y Proceso de
Transacción (TP). El Manejo de Red es un SASE especial.
MHS provee mecanismo para la
transferencia de correo electrónico entre computadoras y entre redes de
trabajo; éste no establece la interface humana para los sistemas de
correos.
PROTOCOLO
DE TRANSMISION / PROTOCOLO DE INTERNET.
El departamento de Defensa de los EE.UU. Ha desarrollado un juego de protocolos
ampliamente aceptado, parte del cual es el protocolo de control de transmisión
(TCP) y el protocolo de Internet (IP),
o simplemente TCP/IP.
Otros protocolos en este juego
incluyen el protocolo de transferencia de correo simple (SMTP) y protocolo de
transferencia de ficheros (FTP). En el juego de protocolo DoD, los protocolos
de “aplicación” tales como SMTP y FTP incluyen la funcionalidad de las capas
cinco a siete de OSI. Los servicios SMTP son considerados un subconjunto de
FTAM. TCP provee servicios generalmente comparables al transporte de OSI. Un
desarrollo considerable ha sido realizado con el ampliamente distribuido en
torno de desarrollo ISO (isode), el cual provee capas superiores de OSI al
principio de TCP/IP; ISODE está migrando a los sistemas Berkeley`s UNIX.
El modelo arquitectónico para los
protocolos DoD está informalmente descripto por Padlipsky, y está dado por cuatro
capas: aplicación/proceso, host-host, red de trabajo y procesador de sub-red de
comunicaciones (CSNP) para CSNP. La capa de aplicación/proceso combina la
funcionalidad de las tres capas superiores de OSI. Los protocolos host-host
corresponden aproximadamente a la capa de transporte OSI, los protocolos de red
de trabajo corresponden a la capa de red OSI, y los protocolos CSNP-CSNP son
específicos para tipos individuales
de redes de transmisión.
TCP/IP es importante para estudiante
de sistema operativo por
que es ampliamente usado.
Su éxito está mayormente limitado
a los EE.UU.; No ha sido aceptado como un estándar en el ámbito mundial. La
migración de redes basadas en OSI es un hecho durante los noventas.
COMUNICACIÓN
ENTRE PROCESOS.
Muchos recursos separados
son provistos para permitir a procesos concurrentes comunicarse con otros. Los conductores son caminos unidireccionales sobre
los cuales los procesos pueden enviar corrientes de datos a otros procesos. Los Conductores Etiquetados (del UNIX System V) son caminos
permanentes. Los Mensajes (también de UNIX System V) transfieren
elementos de datos pequeños.
SunOs incluye el mecanismo de socket a partir de BSD 4.2. Los sokets son
puntos finales de caminos de
comunicación de dos vías. Ellos
son especialmente usados para implementar protocolos de red. Un proceso cliente
en una maquina en la red comienza
la comunicación desde u socket; un proceso servidor en otra máquina escucha al
socket para recibir la comunicación.
SunOs provee capacidad de memoria compartida del Sistema V. Los procesos comparten
una porción de memoria; cuando un proceso completa la escritura a esta área de
memoria, otro proceso puede leer los datos. SunOs provee también semáforos del UNIX System V para controlar el acceso
a recursos compartidos. Un semáforo se usa para bloquear una prioridad de recurso compartido
para su uso; el proceso usa el recurso y luego usa una operación de semáforo para liberar el recurso.
CONDUCTOS
Y FILTROS.
Un conducto es un camino de comunicación, consiste
en una cola FIFO de bytes, entre dos procesos; permite que la salida de un
proceso sea la entrada de otro proceso. La información escrita en un extremo
del conducto puede ser
leída desde el conducto en el otro extremo. La sincronización,
planificación y el buffer
son manejados automáticamente por el sistema. Un usuario puede crear una línea de conductos conectando diversos procesos a través
de conductos de modo lineal. El usuario especifica una línea de conductos al
shell mediante una serie de nombres de ficheros separados por barras
verticales. La salida estándar de un fichero ejecutable nombrado a la izquierda
de una barra es la entrada estándar del fichero ubicado a la derecha de la
barra.
El llamado al conductor retorna un descriptor para el extremo
de escritura del conducto y
otro descriptor para el
extremo de lectura. El llamado al sistema de escritura especifica al descriptor, el área de
datos contiene los bytes que serán escritos, y el número de bytes
correspondiente. Si ocurre un error, retorna el valor -1.
La escritura termina con la llamada al
sistema de cierre. La llamada al sistema de lectura retorna un valor 0 cuando el conductor está
vacío y no hay escritores.
Debido a que los procesos asincrónicos pueden
leer y escribir en el
conducto, el sistema operativo se realiza las operaciones concurrentes en el
conducto. Una escritura a un conducto lleno bloquea al escritor hasta que haya
espacio disponible. Una lectura desde un conductor vacío bloquea al lector
hasta que los datos estén en el conducto.
Los conductos son entidades locales;
un proceso que desea leer o escribir en
un conducto, debe poseer el descriptor
de conductos. Un proceso que crea un conducto puede utilizarlo, y un proceso
hijo de éste también puede utilizarlo. Los procesos no relacionados necesitan,
de cualquier modo, comunicarse. Para resolver estos problemas, UNIX System III
introduce conductos
etiquetados, UNIX System V introducen colas
de mensaje, y
Berkeley`s BSD System introduce socket.
Un filtro es un programa que procesa una
corriente simple de entrada para generar una corriente simple de salida. Los
filtros y conductos pueden usarse para generar múltiples salidas interesantes.
Algunos ejemplos de
filtros UNIX son tr (carácter de traducción), cut (copia solo la porción de una
línea), pg (visualiza una página de salida a la
vez),tail (escribe las
últimas diez líneas de un fichero), dd (realiza una copia exacta de un
disquete).
SISTEMAS UNIX DISTRIBUIDOS.
Los sistemas UNIX han desarrollado una
posición especial de
predominancia en los sistemaas distribuidos, especialmente por que ellos
necesitan interconectar equipos de muchos fabricantes que utilizan diferentes
arquitectura. Teniendo un sistema operativo común, así como también son comunes
los tipos de protocolos de comunicación, facilita la tarea de los sistemas
distribuidos desarrollados.
A continuación se discutirán las
cuatros mayores contribuciones que han hecho que UNIX incremente su viabilidad como
una base para los sistemas distribuidos.
BERKELEY`S SOCKETS.
El sistema Berkeley`s 4.2 BSD
introduce Socket para establecer las comunicaciones entre procesos en un
sistema distribuido. Los
Sockets también establecen comunicaciones entre procesos no relacionados en la
misma máquina.
En UNIX 4.3 BSD, el Socket es la
unidad fundamental para comunicaciones. Los Sockets son puntos finales de
comunicación. Pueden ser vinculados con nombres. Cada socket está asociado con
uno o más procesos. UNIX 4.3 BSD soporta tres dominios de comunicación, y los
sockets normalmente se comunican con otros sockets en el mismo dominio. Los
tipos de dominio de comunicación son:
v El dominio de sistema
UNIX (para
comunicaciones “on-
system”).
v El dominio Internet (para comunicación usando protocolos
estándar DARPA).
DARPA es la agencia de
Proyectos de Investigación Avanzados de Defensa del Departamento de Defensa de
los EE.UU.
v El dominio NS para comunicaciones que usan los protocolos de
comunicación estándar XEROX.
AT&T`s STREAMS.
El mecanismo AT&T`s Streams provee un
número de características para transmisiones de alta velocidad. Streams
facilita la implementación
de protocolos de red en capas tales como OSI, SNA, TCP/IP y XNS.
Un Streams es un camino bidireccional
entre un proceso en el espacio de usuario y un manejador de dispositivo en el
espacio kernel. Los módulos de procesos pueden ser configurados
dinámicamente en un stream
de manera tal que los programas pueden agregar servicios a los naturalmente
previstos por los dispositivos.
Con manejadores de dispositivos, las
llamadas al sistema son
conmutadas a los
manejadores; con streams, las llamadas al sistema crean mensajes para
comunicarse con los manejadores. Un stream asocia un par de colas (una para
lectura y otra para escritura) con el usuario y otro par con el dispositivo.
Las colas son enlazadas para formar un stream entre el manejador de dispositivo
y el usuario. Para cada
cola hay cuatros rutinas:
v Open es llamada cuando el dispositivo es abierto.
v Close es llamada cuando el dispositivo está cerrado.
v Put coloca datos en la cola.
v Service sirve la cola y los datos de salida en un dispositivo o en
la siguiente cola.
NETWORK FILE SYSTEM
(NFS).
NFS le da a los sistemas
de archivos remotos la apariencia de estar montados localmente, haciendo la operación de
la red transparente a la ubicación de los archivos.
La computadora de una red es referida
como nodos, cada uno con un nombre único. Un nodo puede ser un servidor, un
cliente, o ambos.
Un servidor provee servicios a los
procesos o usuarios de uno o más clientes. Un nodo distribuye las llamadas al
sistema y/o los comandos para conveniencia de un servido o un cliente.
NFS y otros servicios de red de Sun se
basan en los estándares Llamado a procedimiento remoto (RPC) y Representación
de Datos Externos (XDR) desarrollados Sun
Microsystem. RPC permite que los programas que se ejecutan en diferentes sistemas
operativos se llamen entre sí y reciban valores de retorno. El RPC del cliente
traduce cada llamada a un formulario estándar y lo transmite al servidor. El
RPC del servidor acepta el
llamado, lo traduce al formato del servidor, e inicia el procedimiento llamado,
transfiriendo los parámetros apropiados. XDR es un formato estándar de
representar datos transferidos entre
diferentes máquinas.
AT&T REMOT FILE SYSTEM (RFS).
El sistema de archivos remotos fue desarrollado por AT&T para
facilitar la computación distribuida con el UNIX System V. Es un protocolo
independiente; a medida que protocolos de red nuevos comienzan a emerger (tal
como OSI), pueden ser fácilmente instalados en sistemas basados en RFS.
Los requerimientos son realizados por
el cliente, pasando un mensaje al servidor, este último realiza el
requerimiento y devuelve un mensaje en respuesta. RFS usa un modelo de montado remoto; los nodos
individuales comparten en la red sólo aquellos
archivos y directorios que desean; otros archivos permanecen como privados.
Los diseñadores de RFS optaron por
usar servidores de estado completo antes que los accesos a servidores de estado
parcial usados en NFS. Una debilidad de los accesos de estados parcial es que
limitan las semánticas de las operaciones remotas. AT&T optó por usar
acceso a servidores de estado completos debido a que desea que NFS soporte
todas las semánticas del sistema UNIX, inclusive las capacidades de estado
completo tales como bloqueo de registros y archivos, y varias operaciones de
dispositivos periféricos.
CORREO
ELECTRONICO Y COMUNICACIONES EN UNIX.
COMUNICACIONES ENTRE
USUARIOS DEL MISNO SISTEMA.
Existen dos medios principales de
comunicación entre los usuarios de un mismo sistema UNIX: estos son los
ordenadores WRITE y MAIL.
La orden write fue diseñada para un
diálogo inmediato entre dos usuarios de UNIX. La orden mail sirve para
comunicaciones en las cuales en contenido de las mismas será almacenado en un archivo.
UNIX ofrece también un servicio de
agenda de uso transparente mediante la orden CALENDAR.
DIALOGO ENTRE USUARIOS
CON WRITE.
Para establecer esta forma de comunicación el usuario debe
asegurarse de que el receptor esté presente en el sistema. Esto se logra ejecutando la orden WHO.
Esta orden nos mostrará el nombre del usuario conectado, el terminal al que
está conectado, la fecha y la hora del comienzo de la sesión.
Los mensajes enviados por write
aparecen súbitamente en la pantalla del usuario receptor. Esto es un
inconveniente porque el mensaje puede aparecer en medio de la creación de un
texto importante. Para solucionar esto el usuario puede denegar el permiso de
acceso a la orden write mediante:
$ mesg n: Deniega el permiso de acceso
a la orden write.
De esta manera, cualquier usuario que
desee comunicarse con ese usuario recibirá el mensaje “Permission denied”.
La orden $ mesg y: otorga nuevamente
permiso de acceso a la terminal para orden write.
MENSAJE A TODOS LOS
USUARIOS CON WALL.
Esta orden está
almacenada en el directorio /etc/wall, el cual contiene varias ordenes que son
usadas especialmente por el superusuario. Es conveniente que este directorio
esté incluido en la variable PATH del archivo profile de todos los
usuarios que deseen utilizarlas.
CONFIGURANDO EL CORREO
ELECTRONICO
Para mandar y recibir correo electrónico, hay programas específicos,
tales como el Eudora, el P-mail o el Pine; pero en muchos casos es mejor utilizar
el cliente de correo incluido en el navegador de Internet, tal como el Netscape
o el Explorer. En el caso del netscape, para configurarlo hay que seguir los
siguientes pasos:
v Depende de las versiones,
pero en general hay que ir al menú Edit<Imagen:
$\rightarrow$>Preferences.
v Ahí hay que escoger Mail
& Groups, y desplegar el menú pulsando sobre el triángulo que tiene la
punta hacia la derecha.
v Se escoge el submenu Mail
Server, para definir el ordenador desde el cual se va a recoger el correo
(Turing en el caso de la ETSII.
v Hay que definir quien es uno
(username), que ordenador va a recibir el correo saliente (outgoing) y de donde
se recoge el correo entrante (incoming). El nombre de usuario será el habitual,
el que nos haya asignado el administrador, y en el caso de la ETSII tanto el servidor
saliente como el entrante son turing.ugr.es.
v Una vez echo esto, se pueden
definir también los grupos de noticias o newgroup. Se hará lo mismo en el
submenú Group Server. En Granada, el servidor es news.cica.es.
CORREO ELECTRONICO CON
MAIL.
UNIX mantiene una oficina de correos
para todos los usuarios del sistema en el directorio /Urs/spool/mail.
COMUNICACIONES ENTRE
ORDENADORES.
UNIX fue diseñado en principio como un S.O. que
hace relativamente fácil la comunicación entre ordenadores, no sólo entre
ordenadores con UNIX sino también entre ordenadores con UNIX y ordenadores con
otros S.O.
Aunque las comunicaciones entre
ordenadores separados por grandes distancias a través de líneas telefónicas no
son un concepto nuevo, los que utilizan UNIX poseen la ventaja de que los
programas de utilidad necesarios para establecer las comunicaciones forman
parte del S.O. y son directamente accesibles al usuario final.
Sistemas operativos
La imajen de le pingüino con el arma no es de LINUX
ResponderEliminarBusca mejores imajenes de LINUX