INTRODUCCIÓN AL LINUX (UNIX) \epsfig{file=penguin.eps, width=1.0cm,height=1.0cm}

La estructura del sistema operativo LINUX1(versión gratuita para PC del sistema operativo UNIX) podemos dividirla en niveles según un orden de menor a mayor acercamiento al usuario en la forma siguiente:

La CONEXIÓN de un usuario al sistema o login se realizará de la forma siguiente:

  1. Encender el sistema. En caso de que ya lo esté, no apagar nunca el interruptor de la unidad central ya que podría dañar el sistema de ficheros. Encender el terminal mediante el interruptor I/O. Esperar a que el sistema arranque, aparecerá un menú con dos opciones. Con el cursor del ratón pulsar en LINUX. Esperar a que en el ordenador se arranque el sistema.
  2. Entrar en tu cuenta. Una vez que el sistema se inicie, aparecerá un menú en el cual se introduce el nombre del usuario (acceso o username) y la contraseña (o password). A continuación pulsar en la tecla ¡Entrar!. El entorno gráfico que está instalado es el KDE (http://www.kde.org).

La DESCONEXIÓN de un usuario al sistema o logout se realizará de la forma siguiente:

  1. exit o logout. En el entorno del intérprete de comandos de LINUX ($), exit o logout permite a un usuario salir del sistema. Para salir del entorno KDE bastará con apretar el botón izquierdo del ratón sobre el cuadro de salida (un pequeño botón \epsfig{file=Apagar.ps} encima de otro con un candado) y confirmar que se desea salir.

  2. Apagado del Linux. Al finalizar la sesión NO deberá apagarse bajo ninguna circunstancia el interruptor de la unidad central, ya que esto puede dañar a los sistemas de ficheros, sino que hay que realizar un shutdown de la siguiente forma: En el menú que nos permite entrar al usuario hay una tecla para Apagar el sistema.

SISTEMA DE FICHEROS

Un fichero UNIX es una estructura utilizada para guardar cualquier tipo de información (código fuente fortran, código objeto, ejecutables, datos, resultados, directorios, etc...). El sistema operativo asocia internamente al fichero un inode number y un nombre que puede ser de hasta 256 caracteres (ejemplos: prueba.f, prueba.f.bak, prueba.f.copia.de-seguridad.mio, .profile, ...) en lugar de los 12 caracteres del sistema MS-DOS (8 para el nombre, el punto y 3 para la extensión), puede haber ficheros con distintos nombres y el mismo inode number, en cuyo caso tienen el mismo contenido pero sin que la información sea duplicada en disco (links). El soporte físico del fichero es normalmente un disco fijo o un disquete. Los ficheros se organizan en directorios que desde el punto de vista del sistema operativo son también ficheros cuyo contenido es la lista de nombres y de sus inode number pero que desde el punto de vista del usuario parecen compartimentos o zonas de disco desde los que puede actuarse sobre un conjunto de ficheros.

El sistema de ficheros tiene una estructura en árbol del modo en que se muestra a continuación:

                                      (raíz)


\begin{picture}(200,50) \put(210,60){\vector(-3,-2){105}} \put(210,60){\vector(-... ...} \put(210,60){\vector(1,-2){35}} \put(210,60){\vector(3,-2){105}} \end{picture}

bin               dev           usr       home               etc ...


                \begin{picture}(200,50) \put(250,60){\vector(-3,-2){105}} \put(250,60){\vector(-... ...}} \put(250,60){\vector(0,-1){70}} \put(250,60){\vector(1,-2){35}} \end{picture}

      pepe                   maria       luis         juan $\longrightarrow$ login de usuarios


\begin{picture}(200,50) \put(140,60){\vector(-1,-2){35}} \put(140,60){\vector(1,... ...} \put(290,60){\vector(-1,-2){35}} \put(290,60){\vector(1,-2){35}} \end{picture}

datos         textos                   fortran                       c

el acceso a la estructura de directorios se realiza a través del directorio de login que es el asignado al usuario y suele ser una rama del subdirectorio /home2. Los usuarios pueden moverse a través del árbol pero sujetos a un SISTEMA DE SEGURIDAD basado en los siguientes puntos:

Password
Se trata de una palabra clave que tiene cada usuario y que el sistema le pide cada vez que desea conectarse en su cuenta, dándole acceso a su directorio de login .
Autorizaciones
Cada fichero y directorio pertenecen a un determinado usuario llamado propietario, varios usuarios pueden constituir un grupo que puede autorizarse entre si para realizar determinadas acciones sobre ficheros y directorios del grupo sin desprotegerse frente a los demás usuarios. Las tres diferentes categorías de usuarios son:
  1. Usuario propietario (u)
  2. Grupo (g)
  3. Otros usuarios (o)

Las autorizaciones sobre ficheros y directorios pueden ser distintas para las tres categorías de usuarios definidas anteriormente y son del tipo siguiente:

  1. Lectura (r) autoriza la lectura del fichero o directorio
  2. Escritura (w) autoriza a escribir o modificar el fichero o directorio
  3. Ejecución (x) autoriza la ejecución de un fichero ejecutable

Los atributos de ficheros o directorios tienen la siguiente forma:

donde el primer carácter se refiere a si es un fichero o directorio, los tres siguientes son las autorizaciones del propietario, los tres siguientes se refieren a las autorizaciones del grupo y los tres últimos corresponden a las autorizaciones de los restantes usuarios.

Supervisor
Es un usuario especial que actúa con las máximas prioridades que le permiten acceder a todos los ficheros o directorios del sistema, definir nuevos usuarios, etc...

El sistema de ficheros puede ``corromperse'' como consecuencia de un apagón (ya sea manual usando la tecla I/O del ordenador o general) mientras se actualiza el sistema de ficheros o se escribe a disco (quedan inodes sin cerrar o con asignaciones físicas incorrectas). En este caso corresponde al usuario Supervisor (mediante el uso del comando fsck u otro similar) la reparación del sistema de ficheros. En el arranque del ordenador el propio sistema operativo comprueba que el sistema de ficheros no está dañado y realiza operaciones sistemáticas en caso de encontrar problemas. NO apagar el ordenador manualmente. Cuando se desea apagar el ordenador el usuario deberá realizar la operación de shutdown, ya mencionada anteriormente, para cerrar el sistema de ficheros y poder apagar la máquina manualmente.

Después de realizar la conexión el sistema nos introduce en un entorno gráfico llamado KDE (K-Desktop-Environment), basado en el entorno gráfico X-Window (el de uso general en workstations UNIX de cualquier marca comercial: IBM, Hewlett-Packard, Silicon Graphics, Sun, Digital, ..., excepto las marcas Microsoft y Macintosh que utilizan un sistema de ventanas propio), el escritorio típico KDE tiene tres áreas:

panel
se encuentra en la parte de abajo de la pantalla, se utiliza para ejecutar aplicaciones y cambiar de un escritorio a otro (cada uno de ellos puede tener diversas ventanas con varias aplicaciones ejecutándose al mismo tiempo). Entre otras cosas contiene el menú de arranque (un icono \epsfig{file=menu_arranque.ps, width=0.6cm,height=0.6cm}) que, al hacer click sobre él (apretando el botón izquierdo del ratón sobre el icono) nos proporciona un menú con aplicaciones que podemos ejecutar haciendo click sobre ellas. En el panel hay también otros iconos como el que tiene una pantalla con una concha y que permite abrir una shell, o el que tiene un dibujo de una casa que puede usarse para acceder a los ficheros de nuestro directorio de login. Otro de ellos es un salvavidas que es una guía de uso del propio KDE. Otros iconos después de los botones numerados nos dan acceso a otras utilidades, como por ejemplo una calculadora, correo electrónico, un simple editor de texto o una consola del sistema


\epsfig{file=panel.ps, width=17cm, height=1.cm}

barra de tareas
situada en la parte central del panel de control, indica las aplicaciones que están abiertas en todos los escritorios (puede haber más de una por escritorio) y puede servir para cambiar entre ellas haciendo click sobre la aplicación que queramos ver.
escritorio
(desktop) cada escritorio tiene sus propias ventanas, su panel y su barra de tareas. Los botones numerados del panel indican los diversos escritorios (normalmente cuatro pero puede cambiarse el número de ellos) y sirven también para cambiar entre ellos, haciendo click sobre el número correspondiente.

Para trabajar con los comandos del sistema operativo, editar programas, compilarlos y ejecutarlos, será necesario abrir una consola linux (icono de pantalla con la concha en el panel). A continuación aparecerá una pantalla con la prompt, que puede ser un $ o algo del estilo usuario@gaussN:$>$

COMANDOS USUALES DE LINUX

A continuación se da una lista (muy incompleta), de comandos del sistema operativo, que puede considerarse como las mínimas operaciones que serán necesarias para el trabajo con programas FORTRAN o de otro tipo, en negrita se indica la forma del comando, las opciones se indican en todos ellos siempre mediante un guión que las precede, el carácter * se utiliza con el significado todos :

PROGRAMAS DE COMUNICACIONES

Los programas de comunicaciones permiten acceder a la red internet para obtener diferentes servicios. Antes de hacerlo, deberías leerte las normas de utilización de las Aulas de Informática de la UAM5.


Los programas más usuales son: correo electrónico, transferencia de ficheros, conexión a una máquina remota y navegadores de world wide web (www).

EDITOR DE TEXTO KEdit

Un simple editor de texto es necesario para visualizar y/o modificar el contenido de ficheros de texto. No hay que confundirlo con un procesador de textos cuya función es la presentación de un texto (incluyendo figuras, tablas, fórmulas, ...) con un formato determinado, aunque ocasionalmente disponga de formateador de párrafos. Un simple editor de texto es imprescindible para producir programas fuente en cualquier lenguaje. Hay muchos editores de textos en linux, siendo vi el propio del sistema operativo y que es un standard UNIX, pero resulta poco amigable lo que ha dado origen a muchos otros como: emacs, Xemacs, THE, y dos de ellos que vienen con el escritorio KDE: KWrite y KEdit. Nosotros usaremos el más sencillo de ambos, el KEdit. Para utilizar este editor hay dos formas. En la primera, más sencilla, bastará con buscar en los menús del panel de KDE. La segunda permite editar directamente un fichero desde la línea de comandos de la shell ejecutando: ...$ kedit nombre.extensión donde nombre.extensión es la identificación del fichero que queremos editar. Como consecuencia se abre la siguiente ventana:

\begin{figure}\setlength{\unitlength}{1.cm}%%
\begin{picture}(7.0,7.0)(0,0)
\put...
...(3.0,-1.)\{ makebox(0,0)\{ large\{ bf Precisi'on\}\}\}
\end{picture}\end{figure}

Además de los correspondientes menús y panel de botones, hay una serie de teclas o combinaciones de ellas con funciones específicas, son las siguientes:

Insert Cambia entre los modos de inserción y sobreescribir
Flecha izquierda Mueve el cursor un carácter hacia la izquierda
Flecha derecha Mueve el cursor un carácter hacia la derecha
Flecha arriba Mueve el cursor una línea hacia arriba
Flecha abajo Mueve el cursor una línea hacia abajo
Re Pág Mueve el cursor una página hacia arriba
Av Pág Mueve el cursor una página hacia abajo
Backspace ($\leftarrow$) borra un carácter a la izquierda del cursor
Supr borra un carácter a la derecha del cursor
Inicio mueve el cursor al comienzo de la línea
Fin mueve el cursor al final de la línea
$\Uparrow$ + Flecha izquierda Marca el texto un carácter hacia la izquierda
$\Uparrow$ + Flecha derecha Marca el texto un carácter hacia la derecha
Ctrl + C Copia el texto marcado al sujetapapeles
Ctrl + J Formatea un párrafo
Ctrl + K Borra desde el cursor hasta el final de la línea y mete el contenido en memoria
  de borrado
Ctrl + V Pega el texto del sujetapapeles en la línea del cursor
Ctrl + X Corta el texto marcado (borrándolo) y lo copia al sujetapapeles
Ctrl + Y Vuelca en el documento el contenido de la memoria de borrado a partir de la
  posición del cursor

PROCESO DE PROGRAMAS FORTRAN

Para procesar los programas escritos en FORTRAN seguiremos los siguientes pasos desde una shell:

Editar:
supone la creación del programa FORTRAN, esto deberá hacerse mediante el editor vi, the o kedit:

...$ kedit prueba.f

por ejemplo, editar usando kedit prueba.f desde un terminal linux el fichero prueba.f con el siguiente contenido:

\begin{figure}\setlength{\unitlength}{1.cm}%%
\begin{picture}(6.9,6.9)(0,0)
\put...
...(3.0,-1.)\{ makebox(0,0)\{ large\{ bf Precisi'on\}\}\}
\end{picture}\end{figure}

Compilar:
consiste en la traducción del programa al lenguaje de la máquina, el programa compilador se invoca de la siguiente forma:

...$ gfortran prueba.f [-opciones]

las opciones pueden omitirse, con la forma anterior el prueba.f debe contener todo el programa FORTRAN incluyendo el principal, las subrutinas, las funciones y los block data. De esta manera el programa compilador genera un fichero: ./a.out, siendo el programa ejecutable.

Ejecutar:
la ejecución de un programa produce los resultados del mismo, hay varias formas:
  1. ...$ ./a.out
  2. ...$ ./a.out $<$ prueba.dat
  3. ...$ ./a.out $>$ prueba.sal
  4. ...$ ./a.out $<$ prueba.dat $>$ prueba.sal
  5. ...$ ./a.out $<$ prueba.dat $>>$ prueba.totsal
  6. ...$ ./a.out $<$ prueba.dat $>$ prueba.sal &
  7. ...$ nohup ./a.out $<$ prueba.dat $>$ prueba.sal &
La primera forma ejecuta el programa direccionando la entrada de datos (instrucción READ) a la pantalla y la salida (instrucción WRITE) a la pantalla. La segunda ejecuta el programa direccionando la entrada de datos al fichero prueba.dat y la salida a la pantalla. La tercera direcciona la entrada a la pantalla y la salida al fichero prueba.sal. La cuarta direcciona la entrada al fichero prueba.dat y la salida al fichero prueba.sal. La quinta direcciona la entrada al fichero prueba.dat y la salida la añade al fichero ya existente prueba.totsal. La sexta es igual a la cuarta pero se ejecuta en diferido (background ), es decir, como un proceso independiente dejando libre el terminal para seguir trabajando (si se hace la desconexión antes de terminar la ejecución, el proceso muere). La última forma es igual a la anterior pero se evita la muerte del subproceso cuando el usuario se desconecta.


 
© Departamento de Química Física Aplicada
Miguel Paniagua y Alfredo Aguado

2004-10-13

Valid HTML 4.01!