Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Sistema Operativo LINUX/UNIX

No description
by

pamela ramos

on 14 November 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Sistema Operativo LINUX/UNIX

Sistema Operativo LINUX/UNIX
Introducción
ADMINISTRACIÓN DE LA MEMORIA EN LINUX
PROCESOS E HILOS
El sistema Unix es un sistema operativo que admite múltiples usuarios, así como también múltiples tareas
El sistema UNIX
El primer sistema "Unix" fue desarrollado en 1965 por Ken Thompson en los laboratorios de Bell AT&T en Murray Hill, Nueva Jersey, Estados Unidos.
La historia de los sistemas UNIX
En 1991, un estudiante finlandés, Linus Torvalds, decidió diseñar, basándose en el modelo Minix, un sistema operativo capaz de ejecutar 386 tipos de arquitecturas
al que se le denomino "linux"
Linux
En 1985, un profesor holandés llamado Andrew Tannenbaum, desarrolló un sistema operativo mínimo denominado Minix, con el objetivo de poder enseñarles a sus alumnos la programación de sistemas
Minix
Multiusuario
Multitarea
Portabilidad
Permite la interconexión y comunicación entre procesos
Memoria virtual gestionada por paginación.

Características (UNIX)
Sistema multitarea
Sistema multiusuario Shells programables.
Independencia de dispositivos
Comunicaciones
Multiplataforma
Memoria virtual
Librerías compartidas
Control de tareas POSIX
Características (Linux)
Son algo fundamental en un sistema operativo.
Casi todas las actividades de un sistema hacen uso de procesos para llevar a cabo sus tareas.
Gracias a los procesos el sistema operativo está funcionando correctamente.
Un gran puñado de ellos nos tiene disponible de forma instantánea los recursos físicos (HARDWARE).

PROCESOS
Los medios de comunicación entre procesos (Inter-Process Communication o IPC) de Linux proporcionan un método para que múltiples procesos se comuniquen unos con otros. Hay varios métodos de IPC disponibles en Linux:
Pipes UNIX
FIFOs
Colas de mensajes
Semáforos

Comunicación y Sincronización entre procesos en Linux
Los medios de comunicación entre procesos (Inter-Process Communication o IPC) de Linux proporcionan un método para que múltiples procesos se comuniquen unos con otros. Hay varios métodos de IPC disponibles en Linux:
Pipes UNIX
FIFOs
Colas de mensajes
Semáforos

Comunicación y Sincronización entre procesos en Linux
Los hilos son conocidos como procesos ligeros, aun que no son realmente procesos. Un hilo es esencialmente un contador de programa, una pila, y un conjunto de registros, el resto de estructuras de datos de la tabla de procesos pertenecen al proceso.

HILOS
Planificación
Linux está basado en la planificación tradicional de Unix añadiendo 2 clases de prioridad para procesos de tiempo real flexibles. Las tres clases de prioridad de Linux son las siguientes:

SCHED_FIFO: hilos de tiempo real con planificación FIFO.
SCHED_RR: hilos de tiempo real con planificación por turno rotatorio.
SCHED_OTHER: hilos que no son de tiempo real y otros.

La figura muestra el orden de ejecución si todos los hilos son de la clase SCHED_RR. El hilo D se ejecuta hasta que termina su bloqueo. A continuación, los hilos B y C comparten el tiempo porque ambos tienen la misma prioridad. Por último, se ejecuta el hilo A.

El modelo de memoria de linux es simple, para que los programas sean portátiles y se puedan implementar Linux en las maquinas con unidades de administración de memoria que tengan diferencias, desde casi nada hasta el hardware de paginación sofisticado. Esta es un área de diseño que a cambiado muy poco en décadas, ha funcionado muy bien, por lo que no ha necesitado mucha revisión..

Los programas que requieren la administración dinámica de la memoria pueden utilizar el procedimiento de biblioteca Malloc.
Llamadas al sistema de administración de memoria en Linux.
Cada proceso de Linux es una maquina de 32 Bits, obtiene por lo general 3GB de espacio de direcciones virtuales para si mismo, donde 1 GB restante se reserva para sus tablas de paginas y otros datos del Kernel.
Implementación de la administración en la memoria de Linux
La memoria principal en Linux consiste en tres partes. Las primeras dos partes están residentes en la memoria. El resto de la memoria se divide en marcos de pagina, el kernel un mapa de la memoria principal. En primer lugar, Linux mantiene un arreglo de descriptores de páginas, de tipo página para cada marco de página física en el sistema, como la memoria física se divide en zonas, Linux mantiene un descriptor de zona para cada una de ellas.
Administración de la memoria física
El mecanismo principal para asignar nuevos marcos de páginas de memoria física es el asignador de páginas, el cual opera mediante el uso del conocido algoritmo de colegas.
Mecanismos de asignación de memoria
Sistemas de archivos Linux
La estructura de directorios puede ser plana o jerárquica (ramificada o "en árbol
En sistemas de archivos jerárquicos, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta".
Los sistemas de archivos más comunes utilizan dispositivos de almacenamiento de datos (Disco Duros, CDS, Floppys, USB Flash, etc...)

Sistemas de archivos Linux
Un sistema de archivos define como se organizan los datos dentro de la partición y las operaciones que podemos realizar sobre ellos. Existen varios tipos de sistemas de archivos, los más comunes: de Linux (EXT2, EXT3, ReiserFS, Reiser 4, XFS y JFS).
Sistema de Archivos de Disco
Reiser4
Es la versión más reciente del sistema de archivos. Entre sus ventajas se encuentran:
* Soporte eficiente de gran cantidad de archivos pequeños.
* Manejo de directorios.
* Infraestructura flexible.
* Transacciones atómicas en la modificación del sistema de archivos.
* Manejo eficiente del diario por la vía de logs.
* Estructura de los archivos dinámicamente optimizada.

JFS
Es un sistema de archivos con respaldo de transacciones desarrollado por IBM y usado en sus servidores. Fue diseñado con la idea de conseguir "servidores de alto rendimiento y servidores de archivos de altas prestaciones, asociados a e­business".
JFS fue desarrollado para AIX. La primera versión para Linux
Las principales ventajas de JFS son:
* Eficiente respaldo de transacciones
* Eficiente administración de directorios.
* Es el más rápido en crear, montar y desmontar el sistema de archivos
* Es el sistema de archivos más veloz para operaciones en archivos grandes (mayores a 500 Mb)

sistema de archivos estándar de Linux, fue el sistema de archivos estándar en el sistema operativo GNU/Linux por varios años y continúa siendo ampliamente utilizado.
El ext2 tiene soporte para detección de un sistema de archivos desmontado incorrectamente cuando el sistema se apaga de forma errónea, y capacidad para autorecuperarlo en caso de fallo accidental. mantiene información de la última vez que se montó y se accedió al volumen
El ext2 permite asignar un porcentaje del disco duro que se reserva para el uso de usuarios con un "uid" y "gid" específicos (Quotas).

EXT 2
ReiserFS
Reinser FS y XFS: sistemas de archivos de alto rendimiento y rapidez que mejoran los sistemas anteriores.Se convirtió en el primer sistema de ficheros con journal
Algunas desventajas
* Los usuarios que usen como sistema de ficheros EXT2, deben formatear sus discos, aunque no así los que usen EXT3.
* ReiserFS v3 puede llegar a corromper el sistema de archivos cuando el árbol es reconstruido al realizar un chequeo

EXT3
EXT3: es la extensión de EXT2, incorpora tolerancia a fallos permitiendo una rápida recuperación del sistema cuando el ordenador se bloqueó o apagó inesperadamente.
Ext3 es compatible con Ext2,
Sus mayores ventajas son:
• la consistencia de los datos también está asegurada.
• se puede pasar de Ext2 a Ext3, sino que lo puesto también funciona
Tres tipos de bloques de datos son grabados en el registro:
1. Meta­información
2. Bloques descriptores
3. Bloques cabeceras
* Direccionamiento de 64 bits.
Sistema de archivos altamente escalable y fiable.
Se recomienda el uso de XFS para ser instalado en cualquier maquina:
* Utiliza la máxima capacidad de los discos duros

XFS
Entrada / Salida
La planificación de Entrada/Salida (Input/Output Scheduling o I/O scheduling) consiste en el método mediante el cual los sistemas operativos deciden el orden en que se procesan las peticiones de lectura/escritura en el disco duro o unidad de almacenamiento.
Anticipatory.
CFQ.
Deadline
Noop

Planificadores de Entrada/Salida disponibles en el núcleo de Linux.
Interbloqueo
Un conjunto de procesos se encuentra en un interbloqueo si cada proceso en el conjunto está esperando un evento que solo puede ser ocasionado por otro proceso en el conjunto.
Condición de exclusión mutua: cada recurso se asigna en un momento dado a solo un proceso o está disponible.
Condición de contención y espera: los procesos que actualmente contienen recursos que les otorgaron antes de solicitar nuevos recursos.
Condición no apropiativa: los recursos otorgados previamente no se pueden quitar a un proceso por la fuerza. Deben ser liberados de manera explícita por el proceso que los contiene.
Condición de espera circular: debe haber una cadena circular de dos o más procesos cada uno de los cuales espera un recurso contenido por el siguiente miembro de la cadena.

Condiciones de interbloqueo de recursos
Trayectoria de recursos se basa en el concepto de los estados seguros
Estados seguros e inseguros
Seguro: si hay cierto orden de programación en el que se puede ejecutar cada proceso hasta completarse, incluso aunque todos ellos solicitaran de manera repentina su número máximo de recursos se inmediato.

Evitar interbloqueos
Exclusión mutua
Si dos procesos solicitan un recurso exclusivo, uno de los dos quedará suspendido hasta que el favorecido libere el recurso.
Sistemas Operativos Multimedia
Lubuntu. Basada en Ubuntu, ofrece realmente un gran aprovechamiento del equipo como, por ejemplo, sin sobrecargarlo con elementos gráficos usando el gestor de ventanas ligeros LXDE. Al ser un equipo destinado a ser media center viene perfecto para el propósito.
Los requisitos hardware de Lubuntu son un Pentium II a 400MHz y 256MB de RAM. Podemos usar cualquier a partir de eso.

PRO: Mejor aprovechamiento de los recursos del equipo.
CONTRA: A veces es necesario tener conocimientos avanzados del sistema
PRO: Seguridad. No necesitarás utilizar antivirus en un sistema Linux.
PRO: Velocidad arranque y cierre.
CONTRA: Aunque casi todo lo conocido tiene controladores o drivers para Linux, si tenemos un dispositivo algo diferente podría ser que tuviéramos problemas para su funcionamiento.
PRO: casi todo dispositivo lo reconoce y, cuando eso sucede, no necesitarás instalar nada más. Más fácil imposible.

Algunos sistemas
Arch Linux, una distribución basada en el principio KISS, con un sistema de desarrollo continuo entre cada versión (no es necesario volver a instalar todo el sistema para actualizarlo).
Debian, una distribución mantenida por una red de desarrolladores voluntarios con un gran compromiso por los principios del software libre.
Fedora, una distribución lanzada por Red Hat para la comunidad.
Ubuntu, una popular distribución para escritorio basada en Debian y mantenida por Canonical.
Kubuntu, la versión en KDE de Ubuntu.
Linux Mint, una popular distribución derivada de Ubuntu.

Sistemas de Múltiples Procesadores
SON MAQUINAS CON MAS DE 1 CPU
CONFIGURACION VIRTUAL
CUESTAN MENOS
MEJORAN EL RENDIMIENTO DE LOS SISTEMAS INFORMATICOS
MULTIPROCESADORESDEVILMENTE ACOPLADOS
PROCESADORES ESPECIALIZADOS
UMA
NUMA

Todas las CPUs comparten una memoria común. Los procesos pueden escribir mensajes en la memoria, para que después otros procesos los lean.
SMP
MPP
SPP

MULTICOMPUTADORAS

En informática, virtualización es un término amplio que se refiere a la abstracción de los recursos de una computadora.
TIPOS
Emulación
Virtualización nativa
Paravirtualizacion
SISTEMA DISTRIBUIDO
Similar a las multicompurtadoras
Memoria privada
Sin memoria fisica
Cada nodo es una computadora completa
Virtualización
HARDWARE DE RED
LAN
WAN
ARPPANET
INTERNET
GRIDS

Seguridad
• 1. Evitar pérdida de datos
• 2. Controlar la confidencialidad
• 3. Controlar el acceso a los datos y recursos.

Seguridad
Objetivos de la protección
1. Distinguir entre usos autorizados y no-autorizados.
2. Especificar el tipo de control de acceso impuesto.
3. Proveer medios para el aseguramiento de la protección.
4. Prevenirse de violaciones intencionales
5. La necesidad de asegurar

Protección
Linux dispone de un control de acceso a los usuarios verificando una pareja de usuario y clave
UID
GID

Seguridad Local
GNU/Linux es un sistema operativo que por su diseño y por la forma de desarrollo y seguridad que plantean sus aplicaciones es difícilmente dañado por un virus.
• Clam (http://www.clamav.net)
Firewall
• Firewall Lokkit http://roadrunner.swansea.linux.org.uk/lokkit.html
• FireStarter: http://firestarter.sourceforge.net
• Linux Firewall de linux-firewall-tools.com: http://www.linux-firewall-tools.com/linux/firewall/

Seguridad remota
Todo proceso en Linux tiene un espacio de direcciones que consiste lógicamente en tres segmentos: Textos, Datos y Pila.

Conceptos fundamentales
contiene las instrucciones de máquina que forman el código ejecutable del programa. Es producido por el compilador y el ensamblador al traducir el programa C, C++ u otro lenguaje en código máquina. El segmento de texto es de solo lectura, no cambia no disminuye y no aumenta de ninguna forma.
El segmento de Texto
contiene almacenamiento para todas las variables del programa, cadenas, arreglos y demás datos.
Tiene variables y constantes del compilador que necesitan un valor inicial cuando empieza el programa.
Linux permite que el segmento de datos crezca y se reduzca a medida que se asigna y desasigna memoria.

El segmento de datos
Las llamadas al sistema mmap y munmap controlan los archivos mapeados en la memoria.
El primer parámetro para mmap (direc) determina la dirección en la que se asigna el archivo (o la porción correspondiente).
El segundo parámetro indica cuantos bytes se deben de asignar.
El tercer parámetro (prot) determina la protección para el archivo asignado.
El cuarto parámetro (banderas) controla si el archivo es privado o se puede compartir.
El quinto parámetro (fd) es el descriptor para el archivo que se va a asignar.

Linux utiliza el algoritmo de colegas para administrar la memoria,.
Linux tiene un segundo mecanismo para asignar la memoria: el asignador de losas, que toma los trozos mediante el uso del algoritmo.
Full transcript