intro unix linuxcorregido

Upload: gongucho

Post on 13-Oct-2015

43 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

  • 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