Allá hacia el año 1960 para introducir los programas tarjetas perforadas. A partir de este año, en los laboratorios Bell se empieza a diseñar un sistema operativo que sea multitarea y multiusuario. Hay que decir que los ordenadores pueden ser: Monotarea: el sistema operativo solamente puede ejecutar un programa a la vez. Multitarea: el sistema operativo puede ejecutar varios programas "a la vez". Monousuario: el sistema operativo solo puede ser usado por un usuario. Multiusuario: el sistema operativo puede ser usado por varios usuarios. Uno de los principios básicos de éste sistema es que sea multiusuario, y como consecuencia, deberá ser multitarea, pues serÃ−a una tonterÃ−a tener un sistema multiusuario y monotarea, ya que si estuvieran varios usuarios conectados a un mismo ordenador, solo uno de ellos podrÃ−a usar las aplicaciones o recursos del equipo. Ken Thomson y Denis Ritchie, de los laboratorios Bell, diseñaron un sistema multiusuario llamado MULTICS, que se utilizó básicamente en ordenadores de gran tamaño. Más tarde, hallá por 1969, y ya por su cuenta, éstos consiguieron que el sistema MULTICS funcionase en una máquina pequeña. A este sistema se le llamó UNICS. Este sistema operativo estaba escrito en ensamblador, por lo que solo funcionaba en la máquina desarrollada. Por esta causa, hacia el 1973 decidieron reescribir todo el sistema operativo en C, un lenguaje de programación superior, de manera que se pudiera utilizar en cualquier máquina, siempre y cuando ésta dispusiera de un compilador especÃ−fico para transformar los comandos de C, en lenguaje máquina. Con el paso del tiempo el sistema UNICS, pasó a llamarse UNIX. Gracias a que los creadores de UNIX, dejaron el código fuente del sistema operativo abierto a todo el mundo, y dárselo a las universidades, el sistema se ha ido expandiendo y mejorando con el paso del tiempo. Esto es debido a que, debido a la liberación del código fuente, muchas universidades añadieron una asignatura a impartir, de esta manera los estudiantes aprendÃ−an UNIX y podÃ−an crear sus propias aplicaciones, además de que al acabar sus carreras i irse a trabajar, como éste era el sistema operativo que conocÃ−an, era el sistema operativo que instalaban en las empresas en las que trabajaban. Aparte de que a las empresas tampoco les costaba mucho dinero pues al ser un sistema libre, tan solo se debÃ−a pagar el soporte del programa. Años más tarde, en 1990, Linus Torvald adaptó el sistema UNIX para PC, que pasó a llamarse LINUX en favor de su creador, que también decidió seguir con la filosofÃ−a del sistema UNIX y no registró el sistema operativo. Algunas de las caracterÃ−sticas de este sistema operativo son: Su transportabilidad, pues al estar hecho en C, puede instalarse en cualquier máquina, siempre y cuando la máquina tenga un compilador de C hasta el lenguaje máquina del propio ordenador. 1 Las medidas de seguridad que ofrece, pues se trata de un sistema multiusuario, y un usuario no tendrÃ−a que poder borrar archivos o directorios de otro usuario. Su capacidad multitarea, pues se permite realizar diferentes tareas a la vez (aunque más que a la vez, lo que se hace es asignar y administrar tiempo de CPU a los diferentes recursos) Se utiliza un sistema de archivos jerárquico, pues se parte de una raÃ−z y de allÃ− salen diferentes ramales. Otra de las caracterÃ−sticas diferenciadoras del sistema es que trata los dispositivos como archivos, con lo que las operaciones entrada/salida serán independientes al hardware. Para entrar al sistema administrado por UNIX hace falta, en primer lugar, que el servidor y administrador del sistema, esté conectado. Una vez conectados se nos pedirá que introduzcamos nuestro login y nuestro password. Es importante especificar que UNIX es un sistema que diferencia entre la escritura en minúsculas y mayúsculas, por lo que el mismo nombre con un carácter cambiado por la misma letra en mayúscula o minúscula, el sistema operativo pasarÃ−a a reconocerlo como una palabra diferente. Si ponemos un login o password incorrecto, nos saldrá un mensaje: loging incorrect, y se nos ofrecerá la posibilidad de volver a introducir los datos de entrada al sistema. Una vez hayamos entrado en el sistema sale un mensaje como este: Linux 2.0.30 Last login: Wed Jun 10 11:52:11 on ttyp1 from 192.168.1.9 No mail En la primera lÃ−nea lo que se hace es informarnos de la versión de sistema operativo con el que estamos trabajando. En la lÃ−nea siguiente se nos informa de la última conexión (fecha, hora y desde que máquina lo hicimos) Por último se nos indica si hemos recibido algún mensaje También aparece el prompt del sistema. Si somos un usuario el prompt es representado por el sÃ−mbolo dólar $, mientras que si somos el administrador éste viene representado por la almohadilla (o matriz 2x2) #. En UNIX a diferencia de MS-DOS (sistema operativo por todos conocido), no existen unidades, sino que está totalmente administrado y dividido en directorios. Como antes hemos dicho, UNIX tiene una estructura jerárquica. Al directorio principal o la raÃ−z, se le llama root y se le identifica con el sÃ−mbolo /. De este directorio cuelgan una serie de subdirectorios, que son: • bin: en el cual se guardan todos los archivos del sistema (los imprescindibles) • lib: en el cual se guardan las diferentes librerÃ−as (=dll) 2 • etc: en el cual se guardan diferentes cosas (ejecutables prescindibles,...) • home: en el cual se guardan los directorios propios de los usuarios • dev: en el cual se guardan los ficheros de los dispositivos como por ejemplo el lp0 (impresora), fd0 (Floppy disk), sd0 (SCSI),... • usr: en el cual se guardan los ejecutables de los usuarios. En el sistema operativo UNIX podremos encontrar tres tipos de ficheros: Los ordinarios, que son los ficheros normales donde se almacena la información, ejecutables,... (no usan ningún tipo de extensión) Los directorios, que se utilizan para contener ficheros u otros directorios Los especiales, que son aquellos ficheros asociados a los dispositivos del sistema. (Y por los genera se encuentran en el directorio dev) Comandos Exit CTRL + D Man Passwd Date Cal Who Whoami Pwd Ls Mkdir directorio Rmdir directorio Cd directorio Cd .. Mount destino origen Cp origen destino Rm archivo Mv origen destino Chmod propiedades archivo Find archivo Write usuari0 Talk usuario More archivo Cat archivo Wc archivo Ps Kill PID Df Información Salida del sistema Salida de sistema, aplicaciones,... Ayuda Cambia el password de entrada al sistema Nos muestra la fecha Nos muestra el calendario Nos muestra los usuarios conectados al sistema Nos dice quien somos Nos muestra la ruta en la que estamos Lista los ficheros, archivos,... Crea directorios Borra directorios Accedemos a un directorio Salimos de un directorio Monta dispositivos, carpetas,... Copia archivos Borra ficheros Mueve los archivos o directorios Cambia las propiedades de los archivos Busca el archivo indicado Para mantener conversaciones Como Write (pero divide pantalla en dos) Muestra el contenido de un fichero (con pausas) Muestra el contenido de un fichero (sin pausas) Nos muestra el número de lÃ−neas, palabras y caracteres del fichero en cuestión Informa de los procesos en marcha Mata el proceso indicado Nos muestra el espacio disponible del disco 3 Pine Surge un menú para enviar correo electronico Ping dirección IP Comprueba funcionamiento de maquina indicada Shutdown Orden de desconexión del sistema (servidor) Como en Ms-Dos, UNIX también dispone de los comodines (*) y las emulaciones de un carácter indeterminado (?). Por ejemplo: Cat* = todos los archivos que empiecen pro cat Cat?? = todos los archivos que empiecen por cat y tengan dos caracteres más Dentro de la seguridad que debe proporcionar, podemos diferenciar diferentes niveles: • seguridad frente a intrusos para solucionar este problema, lo que UNIX hace es preguntarnos al iniciar la sesión nuestro login y nuestra clave de acceso, de manera que si no estamos dado de alta dentro del sistema, no podremos entrar, a no ser que tengamos el login y password correspondiente. • seguridad en cuanto a la privacidad de la información almacenada debe haber algún sistema para que ningún otro usuario entre en nuestras carpetas y acceda a todos nuestros datos, pueda borrarlos,... Para evitar esto, UNIX dispone de una serie de permisos que se asignan a cada uno de los archivos (incluye directorios), que el propietario de ellos puede modificar mediante la orden chmod. La orden Chmod cambia los atributos de los ficheros. Estos atributos pueden ser: r = permiso de lectura w = permiso de escritura x = permiso de ejecución Estos atributos están agrupados de tres en tres [ (d) ---/---/--- ] La primera letra (d), nos indica si estamos hablando de un directorio Los tres primeros dÃ−gitos se refieren a los permisos que tiene el propietario, los siguientes tres dÃ−gitos se refieren a los permisos que tiene el grupo y por último están los permisos dados al resto de usuarios (todos los demás). Un archivo con todos los permisos tendrÃ−a esta estructura rwx rwx rwx Un archivo sin ningún permiso tendrÃ−a esta estructura --- --- --Para hacer el cambio tendremos que considerar que si concedemos una propiedad le asignaremos un numero uno, mientras que si no se la damos le asignaremos cero. De esta forma podremos formar tres números de tres dÃ−gitos (111 111 111), y cada uno se le puede asignar un valor ( 7 7 7 ), contando en valor digital. 4 Para hacer cambios = chmod 740 carta.txt rwx r-- ---, asÃ− pues asignamos a este fichero llamado carta.txt las propiedades de control total al propietario, solo lectura al grupo y ningún acceso al resto de usuarios. Pasaremos ha comentar y dar ejemplos de las ordenes más utilizadas: Mount: esta orden nos permite por ejemplo crear lo que es conocido en Ms-Dos como una unidad en una carpeta. Para ello deberemos asignar el fichero, con la orden mount, aun directorio por nosotros creado. Por ejemplo, si queremos ver el CD-ROM, en una carpeta llamada cdrom deberemos asignarle el fichero a esta carpeta. Para ello haremos: Mount /dev/hdb /cdrom Ls: la opción listar tiene varias opciones: • l = para ver los permisos de los ficheros • a = muestra los archivos ocultos • C = listado en forma de columna • F = añade una marcador de *, si el archivo es ejecutable Por ejemplo: ls -la, nos muestra todos los archivos (incluso ocultos) con sus respectivas propiedades. Cp: contiene la opción -r que nos permite copiar un directorio junto con todos los subdirectorios que de él cuelgan Por ejemplo: cp -r /home/ferran/cuenta /home/ferran/raistlin, que copiará el directorio cuenta con sus respectivos subdirectorios a otro directorio llamado raistlin También podemos direccionar, para ellos utilizaremos < para direccionamiento de entrada, > para direccionamiento de salida y >> para añadir datos conservando los datos anteriores. Por ejemplo: cal 1979 > dates.txt copiamos los datos obtenidos a un fichero llamado dates.txt Cuando ejecutamos el comando ps, aparece una pantalla como esta: PID TTY TIME COMMAND 28 04 0:20 Sh 272 04 0:03 Ps Cuando efectuamos la orden kill, esta deberá ir acompañada por el número que hay bajo la columna PID. Por ejemplo: kill 28 5