Está en la página 1de 39

Tema 10: Introduccin

a UNIX y LINUX
Sistemas Informticos
Departamento de informtica
IES Azarquiel (Toledo)
Jos Enrique Atinzar Ibez
2
1. Historia
1.1 UNIX
Sistema operativo que funciona tanto en ordenadores
personales como en mainframes. Tanto uniprocesador
como multiprocesador.
Unix se origin en los laboratorios Bell AT&T a
comienzosde 1970: Ken Thompson y Dennis Ritchie a
partir del abandonado proyecto MULTICS.
Primera versin en ensamblador llamada UNICS.
Se reescribe en un lenguaje de alto nivel llamado B.
Ritchie y Thompson desarrollan C y lo reescriben de
nuevo.
En 1976 se difunden gratuitamente los fuentes de UNIX.
Posteriormente MS-DOS tomo muchas ideas de este SO
3
Thompson y Ritchie trabajando
4
1.2 Linux
Creado en 1991 por Linus Torvalds a partir de otros
dos sistemas operativos:
UNIX: de este sistema se toman las caractersticas,
especificaciones y funcionamiento
MINIX (sistema operativo de caracter educativo de Andrew
S. Tanenbaum): De l se toman la estructura y el cdigo
del ncleo.
Torvalds slo crea el ncleo del sistema, sin la capa
de servidores, drivers o aplicaciones grficas. (El
cdigo del ncleo lo podemos descargar de
www.kernel.org)
5
Linus Torvalds, el padre de la criatura
6
1.3 Proyecto GNU
Richard Stallman lanz y promovi el proyecto GNU
(Acronimo de Gnu is Not Unix) para promover el
software de uso y distribucin libres.
Se decidi adoptar UNIX por su portabilidad
En los 90 GNU ya tena la mayora de los
componentes para un sistema operativo, faltando
en ncleo
Se decidi adoptar el ncleo libre de Linus Torvalds
Hoy en dia podemos encontrar GNU basados en
Linux.
7
Richard Stallman, programador e
idelogo de GNU
8
2. Carctersticas de UNIX
MULTITAREA Permite la ejecucin simultnea de varias tareas
(procesos) del mismo o de distintos usuarios.
TIEMPO COMPARTIDO: A cada proceso se le asigna un
mnimo de ejecucin de programa por unidad de tiempo.
MULTIUSUARIO: Ms de un usuario puede acceder al sistema
al mismo tiempo (limitado por el n de terminales).
INTERACTIVO: Cualquier usuario puede comunicarse
directamente con el sistema y recibir respuesta inmediata a su
solicitud de ejecucin.
PORTABILIDAD: Es posible adaptar este SO a diferentes
ordenadores de diferentes fabricantes.
PROPSITO GENERAL: Es aplicable a muchos y diferentes
entornos de usuarios.

9
2. Carctersticas de UNIX
FCIL MODIFICACIN Y MANTENIMIENTO: El uso del lenguaje C
le permite ser fcilmente mantenido y modificado.
SENCILLA ESTRUCTURA DE FICHEROS: El uso de una
estructura jerrquica permite una fcil organizacin de ficheros,
tanto del sistema como de usuarios.
PROCESOS FOREGROUND/BACKGROUND: Permite a un
usuario tener ms de un proceso ejecutndose al mismo tiempo.
COMUNICACIONES: Se pueden establecer redes de
comunicaciones UNIX a UNIX por medio de utilidades.
CONTABILIDAD: Se pueden instalar para cada usuario sistemas
de control y utilizacin de recursos.
UTILIDADES: Proporciona utilidades de edicin, de formateado,
correo, mensajes, ayudas al mantenimiento de programas...

10
3. Arquitectura de UNIX
Hardware
Ncleo dependiente
(interrupciones, manejadores de bajo nivel,parte de la memoria)
Ncleo Independiente (Manejo de llamadas al sistema
planificacin de procesos, entubamiento, manejo de seale,
Paginacin e intercambio, manejo de sistema de archivo.
Biblioteca estndar
(open, close, read, write, fork, etc.)
Programas de utilidades estandar
(Shell, editores, compiladores, etc.)
Usuario
Modo
Kernel
Modo
Usuario
Interfaz de
llamadas
al sistema
Interfaz de
biblioteca
Interfaz de
usuario
11
4. Procesos en UNIX
El manejo de procesos en UNIX es por Round
Robin con prioridad.
UNIX permite que un proceso haga una copia de s
mismo mediante la llamada fork (til para trabajos
paralelos)
Se proveen mecanismos para la comunicacin entre
procesos (signals, pipes)
Cuando un proceso es creado se le asigna un PID
(Process IDentifier) adems adquiere:
PPID: PID del padre
UID: ID del usuario que lo lanz
GID: ID del grupo de dicho usuario
12
5. Gestin de la memoria
Sistemas UNIX utilizan manejo de memoria virtual,
siendo el esquema ms usado el de paginacin por
demanda
Se usa una particin de disco duro como rea de
intercambio.
Se pueden intercambiar flexiblemente todos los
procesos que esten en memoria RAM por otros del
disco
Los procesos del Kernel no se pueden intercambiar
13
5. Gestin de memoria
Cada proceso dispone de su propio espacio de direcciones
organizado en segmentos segn:
Text segment: cdigo del proceso
Data segment: datos del proceso. ste segmento se divide en
dos:
Initialized Data
Uninitialized Data
Stack segment: segmento de pila
Es posible compartir cdigo entre procesos mediante el
empleo de Shared Text Segments
Dos procesos nunca comparten los segmentos de datos, la
forma de compartir informacin se hace mediante segmantos
especiales Shared Segments

14
6. Entrada/Salida
En UNIX la filosofa es la de tratar todo como un flujo de
bytes.
Los dispositivos son tratados como archivos, que se acceden
mediante descriptores de archivo que se encuentran en el
directorio /dev
Cada proceso unix mantiene una tabla de archivos abiertos
(donde el archivo puede ser cualquier dispositivo de E/S)
Esta tabla contiene entradas que corresponden a los
descriptores (numeros enteros obtenidos con la llamada al
sistema open)
Hay dos tipos de dispositivos: de bloque y de carcter
Para E/S de red UNIX dispone de SOCKETS (desde la
distribucin de Berkeley)
15
6.1 Llamadas al sistema
Llamada Funcin
open Obtener un descriptor entero
close Terminar las operaciones sobre un
archivo (dispositivo)
lseek Posicionar la entrada/salida
read, write Leer o escribir al archivo (dispositivo)
ioctl Establecer el modo de trabajo del
dispositivo
16
7. Sistema de archivos
Estudiaremos el Sistema de archivos de
UNIX tradicional (que aparece con la
versin 7) pero con las mejoras introducidas
con la distribucin de Berkeley (BSD).
UNIX puede adems acceder y manejar
otros sistemas de archivos diferentes
El sistema de archivos de Linux es ext2 que
es muy similar al de UNIX BSD.
17
7.1 Estructura de disco
Organizacin del disco en los sistemas UNIX
clsicos
18
7.1 Estructura de disco
El disco se dividir en las siguientes partes
Bloque de arranque (bloque 0): UNIX no lo usa, a menudo
contiene informacin para arrancar el ordenador
Superbloque (bloque 1): Contiene informacin importante
para la organizacin del sistema de archivos, incluido en
nmero de i-nodos, el nmero de bloques libres y el inicio
de la lista de bloques de disco libres.
Nodos-i: (abreviatura de nodos-ndice). Son entradas de
64 bytes que contienen la descripcin de un archivo.
Bloques de datos: aqu se almacenan todos los archivos y
directorios
19
7.2 estructura de directorio
Un directorio en el sistema de archivos
tradicional es una coleccin ordenada de
entradas de 16 bytes
Nombre del fichero
2 14
Nmero de nodo-i
20
7.3 nodo-i
Un nodo-i de UNIX tiene 64 bytes. Se
compone de:
Informacin de contabilidad
Informacin de seguridad
Direcciones de bloque de los primeros 10 bloques
1 direccin de un bloque de indireccin sencilla
1 direccin de un bloque de doble indireccin
1 direccin de un bloque de triple indireccin
21
7.3 nodo-i
nodo-i de UNIX
22
7.4 Mejoras al sistema clsico de UNIX
Berkeley mejor el sistema de ficheros clsico con
su BFFS (Berkeley Fast File System).
Posteriormente estos cambios se aadieron al
estndar POSIX y todas las versiones de UNIX.
Ext2 el sistema de ficheros de unix tambin las
incorpora. Son:
Reorganizacin de los directorios. Nombres de fichero de
hasta 256 caracteres. Entradas de tamao variable.
Divisin del disco en cilindros cada uno con su
superbloque, i-nodos y bloques de datos. Para mantener
ms cercanos los bloques de los ficheros.
Tamaos de bloque variable. (para tamaos de archivo
diferentes).
23
Directorio BSD
Cada entrada del directorio consta de 4 campos de
longitud fija:
Nmero de nodo-i
Tamao total de la propia entrada, incluyendo el posible
relleno despus del nombre del archivo
Campo de tipo
Longitud del nombre del archivo en bytes
Y una de longitud variable: el nombre del archivo
terminado con un byte 0 (carcter NULL), y
rellenando hasta una alineacin de 32 bits.
24
Directorio BSD
Ejemplo de
Directorio
BSD
<-- Antes de borrar
<-- despus de borrar
25
8. Seguridad en unix
Existen usuarios y grupos registrados:
UID: identificador de usuario. Es un nmero
entero. Los usuarios con UID inferior a 100 tienen
privilegios especiales. UID=0 es el superusuario o
root.
GID: es el identificador de grupo.
Todos los ficheros tienen un UID y un GID
asociado.
26
8. Seguridad en UNIX
La seguridad de acceso de UNIX reside en tres archivos de texto
ubicados en el directorio /etc:
/etc/passwd archivo de registro de usuarios. Cada usuario est
registrado con una lnea de texto que contiene: nombre de usuario, uid,
gid, descripcin, directorio base, shell. Es un archivo de lectura para
todo el mundo.
/etc/shadow Archivo de registro de contraseas. Cada lnea de passwd
tiene una lnea asociada aqu. Se almacena la contrasea del usuario
encriptada y los parmetros de duracin y validez de la contrasea.
Slo el administrador puede leer ste fichero.
/etc/group Archivo de registro de grupos. Cada grupo est identificado
con una lnea que contiene: nombre del grupo, gid, lista de usuarios del
grupo. Es de lectura para todo el mundo. Un usuario puede estar
registrado en ms de un grupo
27
8. Seguridad en UNIX
Cada archivo tiene una cadena de 9
caracteres asociada para determinar los
permisos. stos caracteres se dividen en tres
grupos de 3 caracteres:
1. Permisos del dueo (owner).
2. Permisos de usuarios del mismo grupo (group)
3. Permisos para el resto del mundo (others o world)

rwx rwx rwx
1 2 3
28
8. Seguridad en UNIX
r: Read (lectura): Cuando el permiso de lectura est activo sobre
un directorio significa que se podr listar los recursos almacenados
en l, si est asignado a un archivo se podr leer su contenido.
w: Write (escritura): Cuando el permiso de escritura est activo
sobre un directorio significa que se podr crear y borrar archivos en
su interior, si esta activado para un archivo significa que se podr
modificar su contenido.
x: eXecute (ejecucin): Si el permiso de ejecucin est activo
sobre un directorio significa que el usuario podr realizar otras
funciones dentro de l mediante los otros permisos de lectura y
escritura, y si est activo sobre un archivo se podr ejecutarlo
desde la lnea de comandos.

29
8. Seguridad en UNIX
Ejemplo de listado de un directorio con la orden ls -l
9. Interfaces de Linux
Tenemos dos tipos de interfaz
principalmente.
Interfaz grfica
Entorno de ventanas con
iconos y dispositivo apuntador
Shell
Es el nombre que se le da al
intrprete de comandos de la
interfaz textual.
9.1 Interfaz grfica
Podemos elegir distintas interfaces
grficas, al contrario que en
windows: Xwindows, Open Look,
GNOME, KDE
En Ubuntu podemos elegir dos:
Gnome. Es la interfaz grfica por
defecto.
http://es.wikipedia.org/wiki/GNOME
KDE. Es otra interfaz distinta y hay que
instalarla si se quiere usar.
http://es.wikipedia.org/wiki/KDE

9.2 Modo texto. Shell.
Shell (significa caparazon en ingls) es la interfaz textual a la cual
accede el usuario.
Para abrir un terminal de texto podemos abrir la herramienta
Terminal o podemos usar una de las terminales virtuales tty
pulsando CTRL+Alt+F1 a F6 (F7 es la interfaz grfica)
Existen distintos shells.
Shell de Bourne (sh). Programado por S. Bourne. Es el estndar UNIX
de AT&T. Su smbolo del sistema es $
C-Shell (csh). Procede del sistema BSD. Tiene control de trabajos,
historial de rdenes, opciones para programadores de C. su smbolo
del sistema es %
Shell Korn (ksh). Creado por David Korn. Otro shell ampliado con
caracteristicas de programacin.
9.2 Modo texto. Shell.
Bourne Again Shell (bash) Escrito por Brian Fox para el
proyecto GNU es el intrprete por defecto para la
mayora de distribuciones GNU/Linux. Es compatible
con sh e incluye caractersticas de csh y ksh.
Permite editar lneas de comandos,
Tamao ilimitado de historial de comandos ejecutados.
Funciones, calculos aritmticos, etc
Smbolo del sistema es usuario@mquina: dir_actual $
$ si es un usuario convencional # si es superusuario o root.
Ejemplo de smbolo del sistema: je@servidor: /etc $
10. Arranque y parada del sistema.
Lo primero que hace el sistema es cargar el
men de arranque que suele ser lilo o grub,
siendo el segundo el ms comn. Si no aparece
mantendremos pulsada la tecla Shift o
pulsaremos Esc.
Grub nos mostrar las siguientes opciones.
Iniciar normalmente.
Modo recuperacin. Modo textual de comandos, no
carga los controladores.
Test de memoria. Chequea la RAM.
Iniciar otros sistemas en otras particiones del disco.
10.1 Arranque.
10.1 Arranque.
Una vez iniciado el modo grfico
tendremos que usar nuestro login y
password para arrancar el sistema.
Podemos elegir varias opciones de
arranque de la interfaz grfica que
dependern de qu distribucin de
GNU/Linux tengamos instalada.
10.2 Parada del sistema.
En la propia barra en el icono aparecen varias opciones
Bloquear pantalla. Para desbloquear debes meter el password
o iniciar sesin con otro usuario.
Cambiar de usuario. Varios usuarios pueden tener sesiones
abiertas simultneas.
Cerrar sesin. Cierra los programas de tu usuario y se queda
en la pantalla de login inicial para iniciar otra sesin.
Suspender. Se queda en estado de bajo consumo.
Hibernar. Vuelca el contenido de la RAM en el disco y se
apaga. La vuelta a la actividad luego tarda ms que desde el
estado de suspendido.
Reiniciar. Para los procesos y servicios y reinicia.
Apagar. Para los procesos y servicios y apaga.



10.2 Parada del sistema.
10.2 Parada del sistema.
Mucho ms rpido es usar los comandos,
pero para ello hay que ejecutarlo como
superusuario (con comando sudo)
Apagar
halt
shutdown h 22:00 (se apagar a las 22 h)
shutdown h +50 (se apaga dentro de 50 minutos)
poweroff
Reiniciar
reboot
Ampliar informacin

También podría gustarte