arquitectura s.o.

Páginas: 10 (2252 palabras) Publicado: 5 de abril de 2013
1
Arquitecturas de
Sistemas Operativos
Diseño de Sistemas Operativos
(cc) José Antonio Gómez
Curso 2011-12

Objetivo
• Conocer las estructuras/arquitectura de SOS
actuales desde el punto de vista de la
adaptabilidad funcional de los mismos a nuevos
servicios y hardware.

Índice
• Arquitectura monolítica:





configuración del kernel
configuración en el arranqueconfiguración en tiempo de ejecución
módulos de carga

• Máquinas virtuales:
– Soporte del kernel a la virtualización: namespaces,
cgroups, containers.
– Soporte a máquinas virtuales: Xen, KVM.

Introducción
• Necesitamos estructuras (arquitecturas) que
permitan dar soporte a nuevos tipos de
aplicaciones y a nuevos dispositivos –
sistemas extensibles/adaptables.
• Necesitamos construirsistemas seguros,
correctos, y robustos.
• La arquitectura puede determinar
propiedades no funcionales, por ejemplo,
QoS.
Diseño de Sistemas Operativos - Tema 1

4

Arquitecturas en uso
• En la actualidad, las estructuras más
usadas:
– Monolítica – Linux, ...
– Microkernel – MacOS, Windows, QNX, ...
– Máquinas virtuales – Xen, VMWare, …
– SO de internet – PalmOS(WebOS)

Diseño deSistemas Operativos - Tema 1

5

Arquitectura Monolítica
• Características:
– Toda la funcionalidad en modo kernel.
– Ventaja: eficiencia
– Problema: no confinamiento de errores en modo
kernel
– Adaptabilidad:
• De forma estática:
– Configuración y arranque del kernel
– Modificar o añadir código

• De forma dinámica:
– “On-the-fly”
– LKM (Linux Kernel Modules)

Diseño de SistemasOperativos - Tema 1

6

Arq. Monolítica: configuración
• Razones para configurar un kernel:
– Añadir nuevo hardware
– Optimizar según entorno: servidor, desktop, ..,
SMP, …
– Añadir nueva funcionalidad o un manejador no
oficial.
– Fijar errores de la versión actual.

• Lista opciones de configuración:
– [Kroadh-Hartman2006]
– make [config|menuconfig|xconfig|gconfig]
Diseño deSistemas Operativos - Tema 1

7

Arq. Monolitica: arranque
• Podemos pasar parámetro al kernel en el
arranque, a través de GRUB o LILO.
• Por ejemplo:
– nousb
– elevator=[cfq|deadline|noop]

• Todas las opciones en:
– Doc/Documentation/kernel-parameters.txt
– Libro [Kroadh-Hartman2006]
Diseño de Sistemas Operativos - Tema 1

8

Compilación del kernel (2.6)
• Configurado elkernel, debemos compilarlo:
– Situados en /usr/src/linux, ejecutamos:
% make

– Optimizaciones:
• Compilar una porción del kernel:
% make [M=]drivers/usb/serial

• Realizar una compilación cruzada:
% make ARCH=arm CROSS_COMPILER=/usr/local/bin/...

• Acelerar la compilación con ccache (http://ccache.samba.org/) o
distcc (http://code.google.com/p/distcc/):
% make CC=”ccache distcc”

•Compilación mutihebra:
% make -jn

(donde n = 2 * número_de_procesadores).
Diseño de Sistemas Operativos - Tema 1

9

Instalación del kernel (2.6)
• Instalamos los módulos:
% make modules_install

• Instalamos la imagen del kernel:
% make install

– verifica la correcta construcción del kernel
– Instala el kernel en /boot
– Se genera cualquier imagen ramdisk inicial (se debe generarun disco ram
después de hacer make modules_install:
# mkinitramfs -o /boot/initrd.img-2.6.20.1 /lib/modules/2.6.20.1
– Se notificar al programa cargador de la existencia de una nueva imagen y se actualiza.

• Algunas distribuciones automatizan los pasos de la compilación:
– installkernel

(paquete mkinitrd).

– make-kpkg en Ubuntu.

Diseño de Sistemas Operativos - Tema 1

10 Parcheado del kernel
• Permite modificar funcionalidad, corregir
errores o actualizar el kernel.
• Un parche es un archivo que contiene los
elementos a cambiar respecto de un archivo
original existente en la distribución.
• El proceso de pasar un parche se puede
automatizar con la herramienta ketchup.
• Lo generamos con diff:
– diff -Naur dir_archivo_original
archivo_nuevo > parche.patch...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Reemplazo s.o.
  • tipos de s.o
  • Clasificación de S.O
  • sistemas S.O.
  • Seguridad y s.o
  • Historia s.o
  • S.o. linux
  • Historia s.o

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS