Вы находитесь на странице: 1из 60

UNIVERSIDAD SIMN BOLVAR

DEPARTAMENTO DE COMPUTACIN Y TECNOLOGA DE LA INFORMACIN


SISTEMAS DE OPERACIN II

GNULINUX
GIANCARLO NEBIOLO ROSANNYS RUZ Lunes, Mayo 28 de 2012

INDICE
Componentes del Ncleo Estructura Modular Gestin de Memoria Entrada y Salida Sistemas de Archivos Estructura de Red Seguridad Cluster Beowulf y Linux

COMPONENTESDELNCLEO
Kernel de linux monolitico por lo tanto no solo engloba el CPU y la memoria si no que tambin incluye drivers de dispositivos, manejo de sistema de archivos, llamadas a sistemas, etc.

VENTAJAS:
Acceso mas directo al hardware desde los programas. Facilidad en la comunicacin entre procesos.

DESVENTAJAS:
Mayor dificultad de diseo y mantenimiento, si un modulo o dispositivo falla todo el sistema falla. Al instalar o agregar un nuevo modulo se debe reiniciar el sistema para que los cambios surtan efectos.

COMPONENTESDELNCLEO

ESTRUCTURAMODULAR
Al principio todo el codigo estaba enlazado estaticamente al kernel. Por lo tanto todo el codigo asociado al kernel debia cargarse en memoria fisica. Esto represento un problema para el diseo y la salida de nuevas funcionalidades o drivers. A partir de linux 1.2 se empezo a utilizar el concepto de modulos cargables. Los modulos cargables consisten en ficheros de codigo que son referenciados por el kernel y solo son cargados como tal en la memoria fisica cuando se les necesita.

ESTRUCTURAMODULAR

CARACTERISTICAS DE MODULOS CARGABLES


Enlace Dinamico: los modulos pueden cargarse y enlazarse al nucleo mientras este este en memoria y ejecutandose. De igual forma puede desenlazarse y eliminarse en cualquier momento. Modulos Apilables: los modulos se gestionan como una jerarquia. Un modulo individual sirve como biblioteca cuando otro modulo cliente lo referencia desde una parte superior de la jerarquia, de igual forma puede actuar como cliente cuando referencia a modulos en la parte inferior de la jerarquia.

ESTRUCTURAMODULAR
COMPONENTES QUE CONTROLAN CARGA MODULAR:
Manejador de Modulo: Permite a los modulos cargarse en memoria y comunicarse con el resto del kernel. Registrador de Drivers: Permite al modulo indicarle al kernel que existen nuevos drivers disponibles. Resolvedor de Conflictos: Controla la reserva de recursos de hardware por parte de los diferentes drivers, protegiendo de que esos recursos no sean utilizados accidentalmente por otro driver.

GESTINDEMEMORIA
SWAP O ESPACIO DE INTERCAMBIO Espacio reservado en el disco duro para poder usarse como una extensin dememoria virtual del sistema. Tcnica utilizada para hacer creer a los programas que existe ms memoria RAM de la que en realidad existe. Sistema Operativo el encargado de pasar datos a la swap cuando necesita ms espacio libre en la RAM y viceversa. El acceso a la swap (disco duro) es ms lento que el acceso a la memoria RAM.

GESTINDEMEMORIA
COPY-ON-WRITE
Linux no duplica las pginas de memoria, hace apuntar las entradas de la tabla de pginas del nuevo proceso a las pginas del antiguo proceso que comparte paginas (ejemplo fork). Si una de las pginas es modificada por algn proceso, entonces el ncleo realiza la duplicacin de la pgina.

GESTINDEMEMORIA
MEMORIAL VIRTUAL LINUX
Un proceso no utiliza todo el cdigo y datos contenidos dentro de un perodo de tiempo determinado. Sera superfluo cargar todo su cdigo y datos en la memoria fsica. Para resolver el problema se usa Paginacin por Demanda (demand paging) Slo se copia una pgina de memoria virtual en la memoria fsica del sistema cuando el proceso trata de usarla. El proceso trata de acceder los datos, el hardware generar una falta de pgina (page fault) y le pasar el control al ncleo.

GESTINDEMEMORIA
ESQUEMADEPAGEFAULT

GESTINDEMEMORIA
SISTEMA DE PAGINACION
Unix utiliza varias estructuras de datos, con pequeas diferencias para cada maquina: a) Tabla de Paginas: Existe una por proceso, con una entrada por cada pagina de memoria virtual de dicho proceso.

GESTINDEMEMORIA
b) Descriptor de bloques de disco: Asociada a cada pagina del proceso hay una entrada en esta tabla que indica la copia en disco duro.

c)Tabla de Datos de los marcos de pagina: Describe cada marco de memoria real y se indexa por medio de un numero de marco. El algoritmo de reemplazo usa esta tabla.

GESTINDEMEMORIA
d)Tabla de utilizacin Swap:Existe una tabla de uso de swap por cada dispositivo de intercambio, con una entrada por cada pagina de dicho dispositivo.

GESTINDEMEMORIA
DIRECCIONAMIENTO MEMORIA VIRTUAL
Estructura de tres niveles: Directorio de tablas de pginas (punteros a tablas intermedias). Directorio de tabla de pginas intermedia (punteros a tablas de pginas). Las tablas de pginas (punteros a pginas). En arquitecturas de 32 bits se usan solo dos niveles.

GESTINDEMEMORIA

GESTINDEMEMORIA
ASIGNACIN DE PGINAS

Linux define un mecanismo para manejar bloques de paginas contiguas que se proyectaran sobre bloques de marcos de pagina tambin contiguos. Con este fin tambin se utiliza el el algoritmo Buddy para asignar y liberar bloques de pginas.

GESTINDEMEMORIA
INTERCAMBIANDO Y DESCARTANDO PGINAS
Basada en el algoritmo de reloj, se modifica el bit de uso por una variable de 8 bits llamada Edad. Cada vez que se accede a una pagina esta variable se incrementa. Algoritmo de intercambio, recorre la lista completa de paginas decrementando el valor de la Edad en 1 (envejecimiento). Si una pgina es vieja (Edad = 0), sera el mejor candidato de reemplazo.

GESTINDEMEMORIA
RESERVA MEMORIA DEL NUCLEO
Fundamentos de reserva son los mismos mecanismos de los procesos de usuario. Como los bloque del ncleo pueden ser menores a una pagina (mnimo reservable) se usa asignacin por laminas (slab allocation). En arquitecturas de 32 bits las paginas son de 4 Kbytes, con slab allocation se pueden asignar en tamaos de 32, 64, 128, 252, 508, 2040 y 4080 bytes.

ENTRADAYSALIDA
Cada dispositivo E/S esta asociado a un fichero especial que lo gestiona el sistema de ficheros, este se lee y escribe de la misma manera que un fichero normal. Estos se ubican en una ruta la cual por lo comn es /dev. Cada fichero especial, se lo asocia un driver de dispositivo. Su funcin es aislar el sistema del hardware. Gracias a que actan como interfaces, la mayor parte del sistema E/S se puede colocar en la parte del kernel.

ENTRADAY SALIDA

Los driver poseen un numero de identificacin llamado numero de dispositivo mayor, si aceptan varios dispositivos cada dispositivo soportado tendr un numero de dispositivo menor (ejemplo /dev/tty que maneja la terminal controlando tanto teclado como pantalla) Existen dos tipos de archivos: archivos especiales de bloque y archivos especiales de caracteres.

ENTRADAY SALIDA
ARCHIVOS ESPECIALES DE BLOQUES
Consisten en secuencias de bloques enumerados. Su propiedad clave es que se pueden direccionar y utilizar cada bloque por separado. Ejemplos de estos dispositivos los podemos encontrar en las unidades de almacenamiento como pendrives, discos duros y cintas. Pueden ser con buffer o sin buffer, en caso de que sean con buffer usan la cache de buffers.

ENTRADAY SALIDA
CACHE DE BUFFERS
En las versiones actuales de Linux desde la 2.4 se utiliza una sola cache de paginas usada que involucra todo el trafico de memoria principal y disco. La transferencia de datos entre la cache y el espacio de procesos de usuario se realiza usando el DMA (modulo de aceso directo a memoria). Para gestionar la lista de cache, se usan tres listas: Lista Libres; Lista de Dispositivos; Cola de E/S manejador.

ENTRADAYSALIDA
CACHE DE BUFFERS

ENTRADAY SALIDA
ARCHIVOS ESPECIALES DE CARACTERES
Se utilizan por lo comn para dispositivos que reciben o envan flujos de caracteres. Ejemplos de estos dispositivos los podemos encontrar en teclados, impresoras, redes, ratones y mayoria de dispositivos E/S. Pueden ser con buffer o sin buffer, en caso de que sean con buffer usan la cola de caracteres.

ENTRADAY SALIDA
COLAS DE CARACTERES: A diferencia de la cache de buffers esta en ciertos casos es escrita por el dispositivo E/S y leda por el proceso o Viceversa. La cola de caracteres utiliza el modelo Productor/Consumidor. Esto quiere decir que un carcter ledo se destruye, a diferencia de la cache de buffers que puede leerse mltiples veces.

ENTRADAY SALIDA
Modelosusadospordiferentesdispositivos

PLANIFICADORES DE DISCO:
ACSENSOR DE LINUX: El planificador por defecto en Linux 2.4 se le conoce con el nombre de ascensor de linus, el cual es una variacin de LOOK. Mantiene la lista de peticiones ordenadas por el numero de bloques, de esta manera el dispositivo se mueve en una nica direccin satisfaciendo peticiones segn las encuentra. Ante una nueva Peticin se considera:

ENTRADAY SALIDA

ENTRADAY SALIDA
a) Si la nueva peticin corresponde con el mismo sector o adyacente de otra peticin existente, ambas se mezclan. b) Si hay una peticin en cola muy antigua la nueva se inserta al final. c) Si hay una posicin adecuada la nueva peticin se sita en el orden correspondiente. d) Si no hay una posicin adecuada se inserta al final de la cola.

PLANIFICADOR BASADO EN PLAZOS:


El problema del ascensor de linus es que no solventa de manera efectiva el problema de inanicin, de igual forma no distingue entre operaciones de escritura y lectura, produciendo que se bloqueen procesos en la espera de la lectura de datos. Se solventa mediante la implementacin de 3 colas, la de ascensor, una de escritura FIFO y otra de lectura FIFO. Una nueva peticin se sita en dos colas, en la de ascensor y en la de escritura o lectura dependiendo de su tipo.

ENTRADAY SALIDA

ENTRADAY SALIDA
Normalmente el planificador atender las peticiones tal como estn en la cola de ascensor. Al satisfacerse una peticin se borra de ambas colas de la de ascensor y de la cola FIFO donde estaba ubicada. Ambas colas tendrn un tiempo de expiracin, la de lectura sera de 0,5 seg y la de escritura de 5 seg. Si la peticin cabecera de una cola FIFO no a sido atendida antes de que acabe su expiracin, entonces el planificador pasara a dar servicio a la cola FIFO con la peticin expirada.

ENTRADAY SALIDA

ENTRADAY SALIDA

PLANIFICADOR E/S PREVISOR


Superpuesto sobre el planificador basado en plazos, cuando se sirve una peticin de lectura e planificador previsor causa que el sistema de planificacin se retrase hasta 6 miliseg. Durante el retardo hay una gran probabilidad de que la aplicacin que hizo la ultima solicitud genere otra en la misma regin. Si es as esta se servir inmediatamente.

SISTEMASDEARCHIVOS

Linux mantiene el modelo estandard de sistema de archivos de UNIX. La estructura del sistema de archivos es jerrquica. Linux soporta varios sistemas de archivos: VFS Sistema de Archivos Virtual EXT2 Segundo Sistema de Archivos Extendido /proc Sistema de Archivos de Procesos Otros...

SISTEMASDEARCHIVOS
VFS SISTEMA DE ARCHIVO VIRTUAL
Presenta una nica y uniforme interfaz del sistema de archivos para los procesos de ususario. Define un modelo de archivos comn. Asume que los ficheros son objetos de un sistema de almacenamiento masivo del computador. Los archivos tienen nombres simblicos. Se necesita un mdulo de proyeccin.

SISTEMASDEARCHIVOS
Contexto del Sistema de Archivos Virtual de Linux

SISTEMASDEARCHIVOS
CONCEPTO DEL SISTEMA DE ARCHIVOS VIRTUAL DE LINUX

SISTEMASDEARCHIVOS
ESQUEMA ORIENTADO A OBJETOS
Objeto superbloque: Representa un sistema de archivos montado especfico. Objeto nodo-i: Representa un archivo especfico. Objeto entrada de directorio: Representa una entrada de directorio especfica. Objeto fichero: Representa un fichero abierto asociado con un proceso.

SISTEMASDEARCHIVOS
OBJETOSUPERBLOQUE
Corresponde al bloque de control del sistema de ficheros. Se almacena en un sector especial del disco. Esta formado por varios elementos como: tamao de bloque bsico, dirty flag, semforo para controlar el acceso, etc. Lista de operaciones del superbloque: define los mtodos que el ncleo puede invocar sobre el superbloque.

SISTEMASDEARCHIVOS
OBJETO I-NODO
Contiene toda la informacin de un determinado archivo excepto su nombre y contenido real. Incluye un objeto de operaciones de i-nodo, que describe las funciones implementadas en el sistema de ficheros que VFS puede invocar sobre el i-nodo. Estas operaciones incluyen: create, lookup y mkdir.

SISTEMASDEARCHIVOS
OBJETO ENTRADAD Y OBJETO FICHERO Una entradaD (entrada de directorio) es un componente especfico de una ruta. El objeto entradaD facilita el acceso a los archivos y directorios. El objeto fichero se utiliza para representar un archivo abierto por un proceso. El objeto fichero se crea medinte la llamada al sistema open() y se destruye en respuesta a la llamada al sistema close().

SISTEMASDEARCHIVOS
EXT2 SEGUNDO SISTEMA DE ARCHIVOS EXTENDIDO
Los datos en los archivos se mantienen en bloques de datos de tamao fijo. Asignacin indexada (i-nodo). Pre-asignacin de bloques. Directorio: archivo especial que contiene apuntadores a los I-nodos de sus entradas de directorio.

SISTEMASDEARCHIVOS
SISTEMA DE ARCHIVOS PROC
Es un seudo sistema de archivos que contiene informacin sobre el sistema y sus procesos en ejecucin. Realmente no existe. Contiene una jerarqua de archivos virtuales que nos muestra el estado actual del kernel, procesos en ejecucin y otras cosas. Algunos archivos interesantes que encontramos en /proc: /proc/buddyinfo /proc/devices /proc/filesystems

SISTEMASDEARCHIVOS
OTROS
Minix Ext Adicionalmente, existe soporte para sistemas de archivos ajenos que facilitan el intercambio de archivos con otros sistemas de operacin: Msdos NFS Vfat

ESTRUCTURADERED
Internamente, la creacin de red en el kernel de Linux es implementada por tres capas de software: Interfaz de Sockets. Controladores de Protocolo. Controladores de Dispositivos de red. Es compatible con los protocolos de Internet estndar para UNIX en las comunicaciones de UNIX.

ESTRUCTURADERED
Network Applications User Kernel

Interfazde Sockets Protocolode Capas Dispositivos deRed


TCP

BSD Sockets INET Sockets UDP IP PPP SLIP

ARP Ethernet

ESTRUCTURADERED
ENVIO DE DATOS
Para enviar datos un proceso de usuario escribe datos en el socket usando la llamada al sistema write: write(sockfd, mesg, mesglen) RECEPCIN DE DATOS
La recepcin de datos es un proceso impredecible, por lo que se deben utilizar interruciones.

SEGURIDAD
El modelo de seguridad de Linux est muy relacionado con los mecanismos de seguridad de UNIX. Los asuntos de seguridad pueden ser clasificados en dos grupos: Autenticacin: asegura que nadie ingrese al sistema sin antes proveer una clave de acceso. Control de Acceso: provee mecanismos para chequear si algn usuario tiene acceso a cierto objeto, y evitar el acceso a los objetos que as lo requieran.

SEGURIDAD
PAM MDULO DE AUTENTICACIN CONECTABLE
Esta basado en una librera compartida que puede ser usado por cualquier componente del sistema que necesite autenticar usuarios. El control de acceso es usado a travs de identificadores numricos nicos (uid y gid). Puede ser usado para integrar diferentes tecnologas de autenticacin, como RSA, entre otros.

SEGURIDAD
SEGURIDADDELKERNEL
Una de las formas ms importantes de mantener Linux seguro es proveer un kernel parcheado. Parches de terceros para mejorar la seguridad del kernel: Sistema de deteccin de instrusiones. Parche seguro de Linux. Parche de kernel internacional.

SEGURIDAD
SEGURIDAD EN EL ARRANQUE (BOOT SECURITY)
La configuracin de arranque es decidida por LILO (Linux Loader) o por GRUB (Grand Unified Linux Loader). Chequea que solo un sistema operativo est configurado para cargar.

SEGURIDAD RAZ (ROOT SECURITY)


Ningn usuario debe ingresar directamente como root. Asegura responsabilidad.

SEGURIDAD
SEGURIDAD DEL SISTEMA DE ARCHIVOS
Linux implementa el sistema de permisos de UNIX: Dueo del archivos. Grupo dueo del archivo. Todos los dems.

Se aplican permisos de lectura, escritura, y ejecucin (read, write, execute).

CLUSTERBEOWULFYLINUX
Es una arquitectura multi-ordenador basada en Linux que puede ser utilizado para clculos en paralelo. Consiste en un nodo servidor y uno o ms nodos clientes conectados via Ethernet o alguna otra red.

CARACTERSTICAS:
Flexibilidad. Escalabilidad. Disponibilidad. Rendimiento.

CLUSTERBEOWULFY LINUX
PORQU USAR LINUX PARA UN CLUSTER BEOWULF?
Estabilidad, madurez y diseo sencillo. Flexibilidad. No estars solo. Soporte para muchos tipos de procesadores. Ncleo ms pequeo y ms simple.

SISTEMAS OPERATIVOS

CLUSTERBEOWULFY LINUX
Actualmente existe una gran variedad de distribuciones Linux, que estn diseados para la construccin de clusters Beowulf, entre ellos tenemos: MOXIS KERRIGHED ROCKS CLUSTER DISTRIBUTION

BIBLIOGRAFA
Andrew Tanenbaum "Sistemas Operativos Modernos". Prentice-Hall. Tercera Edicion, 2009. Stallings, William. "Sistemas Operativos Aspectos Internos y Principios de Diseo". Quinta Edicion. Prentice Hall. 2005 Silberschatz, A. Galvin, P.B.. "Operating System Concepts" Fifth Edition. Addisson Wesley W. Gropp, E. Lusk y T. Sterling Beowulf Culster Computing with Linux. The MIT Press. Second Edition, 2003. http://lumimath.univ-mrs.fr/~jlm/travaux/unix/unix2.html http://www.monografias.com/trabajos54/paginacion-linux/ paginacion-linux.shtml http://sopa.dis.ulpgc.es/ii-dso/leclinux/mm/paginacion/ LEC11_PAGINACION.pdf http://www.buenastareas.com/ensayos/Administracion-DeMemoria-Virtual-En-Linux/194825.html

BIBLIOGRAFA
http://www.buenastareas.com/ensayos/Paginacion-En-Linux/ 1721082.html http://www.magma.com.ni/linuxbook/nuevo/node21.html# SECTION04510000000000000000 http://tldp.org/HOWTO/Module-HOWTO/x73.html http://tldp.org/LDP/sag/html/kernel-parts.html http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ http://www.howtogeek.com/howto/31632/what-is-the-linux-kernel -and-what-does-it-do/ http://blog.eldelweb.com/vp-11-66-0/Traduccion-Anatomia-del -kernel-de-Linux.html http://luauf.com/2009/09/14/sistema-de-archivos-proc/ http://www.ibiblio.org/pub/Linux/docs/LDP/system-admin-guide/ translations/es/html/ch06s08.html

BIBLIOGRAFA
http://oss.org.cn/ossdocs/linux/kernel/a1/index.html# http://recursostic.educacion.es/observatorio/web/ca/software/ software-general/562-elvira-misfudhttp://en.wikipedia.org/wiki/Beowulf_cluster www.csce.uark.edu/~rdeaton/linux/lectures/ LinuxSecurityZuo.ppt http://www.ibm.com/developerworks/linux/library/l-virtualfilesystem-switch/

GRACIAS!

Вам также может понравиться