Vous êtes sur la page 1sur 14

 

 
MAESTRÍA EN SOFTWARE LIBRE 
 
 
 
 
Administración de Sistemas GNU/Linux 
 
 
 
 
 
Módulo 1 ‐ Introducción al sistema operativo GNU/Linux 
 
 
 
 
PEC1  —  Primera  Prueba  de  Evaluación 
Continua 
 
 

Presentado por: 
INÉS MARÍA OLIVEROS HERNÁNDEZ 
 
 
 
Octubre 14, 2010 

 
PEC1, 2010‐2011 
 
PARTE 1  
 

En una entrevista del 2004, el profesor Andrew S. Tanenbaum dijo:  
I wasn't all that impressed with the monolithic design of Linux 0.01. I think I have made that point a 
couple of times already.  
Fuente original: http://www.cs.vu.nl/~ast/brown/rebuttal/  
 
a) ¿A qué aspecto del sistema operativo se refiere?  
En esta entrevista, Tanenbaum se refiere al diseño del kernel monolítico de Linux 0.01. 
 

¿Qué opciones hay y cuáles son las ventajas e inconvenientes de cada una?  
El  diseño  del  kernel  monolítico  está  unido  en  una  sola  pieza,  pero  es  conceptualmente 
modular  en  las  diferentes  tareas;  el  problema  con  este  tipo  de  kernel  es  que  crece  muy 
rápido  y  se  vuelve  inmanejable  en  el  desarrollo  de  los  mismos.  (Tomado  del  documento 
Introducción al Sistema Operativo GNU/Linux  ‐ OUC, Josep Jorba Esteve; pág. 24). 
 
Un  sistema  operativo  con  núcleo  monolítico  concentra  todas  las  funcionalidades  posibles 
(planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, 
etc.) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá 
ser  recompilado  por  completo  al  añadir  una  nueva  funcionalidad.  Todos  los  componentes 
funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. 
Un  error  en  una  rutina  puede  propagarse  a  todo  el  núcleo,  siendo  esto  un  gran 
inconveniente.  
 
Algunos de los sistemas operativos que utilizan kernel monolítico son: 
• Núcleos tipo Unix (Linux, Syllable, FreeBSD, NetBSD, OpenBSD). 
• Núcleos tipo DOS (DR‐DOS, MS‐DOS, Microsoft Windows 9x) 
• Núcleos del Mac OS hasta Mac OS 8.6  
• OpenVMS 
• XTS‐400 
 
Existen los microkernel, que son una alternativa para el gran inconveniente que presentan los 
kernel  monolíticos.    En  los  microkernel  las  partes  funcionales  están  divididas  en  unidades 
separadas con mecanismos de comunicación estrictos entre ellos, para evitar que un fallo en 
una rutina dañe todo el núcleo.  
 
Algunos  de  los  sistemas  operativos  que  utilizan  microkernel  son:  AIX,  AmigaOS,  Amoeba, 
Minix, Hurd, NeXTSTEP, L4, Netkernel, RaOS, RadiOS, ChorusOS, QNX, SO3, SymbOS. 
 

(Tomado de http://es.wikipedia.org/wiki/N%C3%BAcleo_monol%C3%ADtico) 
 
   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 2 
Algunos SO  DIFERENCIAS
con Kernel 
Monolítico 
Linux  • Empezó  con  un  kernel  monolítico,  pero  actualmente  Linux  es  un  núcleo 
monolítico híbrido.  
• Los  controladores  de  dispositivos  y  las  extensiones  al  núcleo  se  pueden 
cargar y descargar fácilmente como módulos, mientras el sistema continúa 
funcionando sin interrupciones. 
• Los  controladores  pueden  ser  prevolcados  (detenidos  momentáneamente 
por  actividades  más  importantes)  bajo  ciertas  condiciones.  Esta  habilidad 
fue agregada para gestionar correctamente interrupciones de hardware, y 
para mejorar el soporte de multiprocesamiento simétrico.   
(Tomado de http://es.wikipedia.org/wiki/Linux_%28n%C3%BAcleo%29)
Mac OS  • XNU es un híbrido y  tiene características tanto de  los núcleos monolíticos 
como  de  los  micronúcleos.  Intenta  hacer  un  mejor  uso  de  las  dos 
tecnologías. 
• Tiene  capacidad  de  pasar  mensajes  de  los  micronúcleos,  permitiendo  una 
mayor  modularidad  y  que  grandes  porciones  del  SO  se  beneficien  de  la 
protección de memoria. 
• Permite mantener la velocidad de los núcleos monolíticos para desempeñar 
determinadas tareas.  
(Tomado de http://es.wikipedia.org/wiki/XNU) 
OpenVMS  Núcleo  monolítico  con  los  módulos  loadable. Los  módulos  dinámicamente 
loadable  incurren  en  gastos  indirectos  pequeños  cuando  están  comparados  a 
construir el módulo en la imagen del núcleo. 
 (Tomado de http://www.worldlingo.com/ma/enwiki/es/Monolithic_kernel) 
Algunos SO  DIFERENCIAS 
con 
Microkernel 
Amoeba  Los  servicios  suministrados  por  el  núcleo  incluyen  threads,  segmentos  de 
memoria, mecanismos de IPC (RPCs y mensajes) y E/S. 
 (Tomado  de 
http://es.wikipedia.org/wiki/Amoeba_%28Inform%C3%A1tica%29) 
Minix  Maneja la administración de procesos de bajo nivel, scheduling, interrupciones 
y el reloj, y provee algunos servicios de bajo nivel a componentes del espacio 
de usuario. 
Estructura Microkernel de MINIX: 
Capa 1: Esta es la capa que interactúa directamente con el hardware. 
Capa 2: Contiene todo lo concerniente a los procesos de E/S, uno por cada tipo 
de dispositivos (tareas). 
Capa 3: Aglutina los procesos conocidos como procesos servidores. Se ejecutan 
en  un  nivel  menos  privilegiado  que  el  kernel  o  las  tareas,  y  no  acceden 
directamente a los puertos de E/S. 
Capa  4:  Finalmente  aquí  se  alojan  todos  los  procesos  de  usuario  tales  como 
shells, editores, compiladores, programas, etc.  
(Tomado de http://es.wikipedia.org/wiki/Minix) 
SymbOS  Su  Micronúcleo,  que  realiza  multitarea  preferente  (preemptiva),  orientada  a 

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 3 
prioridades y administra una memoria RAM de hasta 576 Kilobytes. 
(Tomado de http://es.wikipedia.org/wiki/SymbOS ). 
QNX  Es un sistema operativo tiene un diseño de micronúcleo muy minimalista. Este 
sistema  ha  conseguido  llegar  a  las  metas  del  paradigma  del  micronúcleo  con 
mucho más éxito que Mach. Se usa en situaciones en que no se puede permitir 
que  haya  fallos  de  software,  lo  que  incluye  desde  brazos  robóticos  en  naves 
espaciales,  hasta  máquinas  que  pulen  cristal  donde  un  pequeño  error  podría 
costar  mucho  dinero.  (Tomado  de 
http://es.wikipedia.org/wiki/N%C3%BAcleo_%28inform%C3%A1tica%29) 
Hurd  • Hurd  intenta  superar  los  núcleos  tipo  Unix  en  cuanto  a  funcionalidad, 
seguridad  y  estabilidad,  aun  manteniéndose  compatible  con  ellos.  Esto  se 
logra gracias a que Hurd implementa la especificación POSIX (entre otras), 
pero eliminando las restricciones arbitrarias a los usuarios. 
• Hurd  consiste  en  múltiples  servidores  ejecutándose  simultáneamente.  En 
lugar  de  un  solo  programa  enorme  que  controle  desde  el  reloj  hasta  el 
manejo de la red, en Hurd cada una de estas tareas es gestionada por un 
servidor  independiente.  Esto  hace  que  el  desarrollo  de  Hurd  sea  mucho 
más fácil, ya que es menos probable que el hacer cambios en un servidor 
tenga efectos indeseados en otros servidores. 
(Tomado de http://es.wikipedia.org/wiki/Hurd)
RadiOS  El  micronúcleo  de  RadiOS  (RMK)  tiene  un  conjunto  de  llamadas  al  sistema 
  compatible con QNX Neutrino 6.1. El Administrador de Tareas (Task Manager, 
equivalente al administrador de procesos en QNX) tiene también el formato de 
los mensajes compatibles. Por último, RadiOS C y las librerías se basan también 
en el código de libc QNX 6.1. 
(Tomado de http://es.wikipedia.org/wiki/RadiOS)
 
 

b) Es todavía el caso de las versiones actuales de Linux? Cuál ha sido su evolución histórica?  
En sus inicios, Linux fue desarrollado con un kernel monolítico.  Esto causó asombro en esa 
época  (asunto  de  una  famosa  y  acalorada  discusión  entre  Linus  Torvalds  y  Andrew  S. 
Tanenbaum.),  porque  el  microkernel  era  el  que  se  utilizaba  en  la  mayoría  de  los  sistemas 
operativos de entonces.  Su creador, Linus Torvalds, decidió usar el kernel monolítico porque 
era  un  trabajo  muy  duro  y  complejo  sacarle  el  máximo  provecho  a  los  microkernel.    Más 
adelante,  se  dieron  cuenta  que  el  kernel  monolítico  tenía  una  desventaja  mayor,  y  era  que 
crecía  muy  rápido,  y  esto  hacía  complicado  el  desarrollo  del  mismo.    Para  solucionar  este 
problema,  usaron  módulos  de  carga  dinámica,  que  permitían  simplificar  el  kernel  y  ofrecer 
otras  funcionalidades  como  elementos  que  se  pueden  programar  por  separado.    En  este 
punto  de  la  evolución  del  kernel  de  Linux,  ya  se  hablaba  de  un  kernel  mixto,  porque  es 
monolítico  pero  ofrece  una  serie  de  módulos  que  complementan  el  kernel  y  se  comportan 
como  los  microkernel.    En  la  actualidad,  el  kernel  de  Linux  es  considerado  molítico  híbrido. 
(Basado en del documento Introducción al Sistema Operativo GNU/Linux  ‐ OUC, Josep Jorba 
Esteve; pág. 24). 
 
   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 4 
c) Documentarse en estos aspectos sobre los sistemas Minix, BSD, Linux y Mac OS‐X y realizar 
una comparación.  
 
 
SISTEMA  ATRIBUTOS / CARACTERÍSTICAS 
OPERATIVO 
Minix  • Al ser copia de UNIX las llamadas al sistema de minix cumplen con el 
Standard Posixx. 
• Es particularmente apropiado para PCs de bajo costo, sistemas con 
recursos limitados y aplicaciones embebidas. 
• Está basado en la arquitectura de microkernel, y originalmente su 
principal función era educacional. 
• Uso de la pila de protocolos TCP/IP. 
• Sistema de ventanas X11. 
• Multiusuario. 
(Tomado de http://personal.redestb.es/mick/fso/llamadas/sistema.htm) 
BSD  • Este SO estrenó el protocolo TCP/IP, en 1984.  Poseía muchas facilidades 
de red y el nuevo sistema de archivos Berkeley Fast filesystem. Un grupo 
de desarolladores hicieron mejoras al kernel y lanzaron el primer NetBSD 
en  1993,  poco  tiempo  después  otro  grupo  lanzó  FreeBSD.  Otro 
desarrollador  Theo  de  Raat,  tuvo  diferencias  con  su  grupo  de  trabajo  y 
desarrolló por su cuenta OpenBSD.  
• Este sistema operativo, se concentra en la portabilidad, el cumplimiento 
de  normas  y  regulaciones,  corrección,  seguridad  proactiva  y  criptografía 
integrada. 
(Tomado  de  http://www.wikilearning.com/tutorial/historia_de_los_bsd‐
historia_de_los_bsd/6536‐1) 
Linux  • Linux  es  un  kernel  monolítico.  Eso  quiere  decir  que  el  núcleo  hace  todo 
(proporciona todos los servicios del sistema operativo) y todas las capas 
del  núcleo  tienen  acceso  a  todas  las  estructuras  de  datos,  rutinas  y 
componentes del sistema. 
• Es capaz de linkar módulos en tiempo de ejecución. 
• Tiene un diseño reentrante de modo que pueden existir varios procesos 
en modo núcleo 'ejecutándose' a la vez. 
• Tiene soporte para aplicaciones de usuario multihilo. Antes del kernel 2.0 
los  hilos  en  aplicaciones  de  ususario  se  gestionaban  desde  librerías  en 
modo usuario. 
• Admite multiproceso simétrico (SMP). 
(Tomado  de  http://usuarios.multimania.es/nanoelduende/linux/charla‐
kernelv1‐0‐html.html) 
Mac OS‐X  • Tiene  un  núcleo  de  la  familia  UNIX  mas  específicamente  deriva  de 
Nexstep que era un sistema operativo cuyo núcleo tenía código del kernel 
Mach y del de BSD. 
• Utiliza  como  gestor  de  ventanas  x11  característica  que  comparte  con 
otros sistemas Unix. 
• Tiene una interfaz gráfica desarrollada por Apple que se llama Aqua. 

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 5 
SISTEMA  ATRIBUTOS / CARACTERÍSTICAS 
OPERATIVO 
• La  multitarea  preventiva  y  la  memoria  protegida  mejoraron  la  habilidad 
del  sistema  para  ejecutar  múltiples  aplicaciones  simultáneamente  sin 
interrupciones. 
• El  acceso  restringido  a  los  archivos  del  sistema  es  responsable  de  gran 
parte de la seguridad. 
• Mac OS X es un sistema UNIX certificado. 
(Tomado de http://es.wikipedia.org/wiki/Mac_OS_X) 
 
d) Qué conclusiones podéis sacar sobre las posibles aplicaciones de estos sistemas operativos 
en  ordenadores  de  sobremesa,  servidores,  maquinaria  de  control  industrial  y  dispositivos 
móviles?  
• Minix: es usado para computadoras de escritorio. 
• BSD: es un Sistema Operativo orientado a los escritorios. Su objetivo radica en la facilidad 
de  uso  y  de  instalación  gráfica  gracias  a  un  programa  que  instala  y  configura 
automáticamente un escritorio con KDE por defecto. 
• Linux:  es  usado  para  supercomputadoras,  computadoras  de  escritorio,  portátiles, 
computadoras  de  bolsillo,  teléfonos  móviles,  sistemas  embebidos,  videoconsolas, 
servidores de Internet,  y otros dispositivos. 
• Mac OS X: usa el protocolo Exchange Web Services para tener acceso a Exchange Server 
2007, esto lo orienta a servidores web. 
 

Más adelante en la misma entrevista, Tanenbaum indica el siguiente:  
Linus used MINIX as his development platform. There is no dispute about that. He also used some 
ideas from MINIX. But MINIX wasn't original either. Here is a little bit of the history  
 

Linux used ideas from MINIX 
MINIX used ideas from UNIX 
UNIX used ideas from MULTICS 
MULTICS used ideas from CTSS 
CTSS used ideas from FMS  
 

In science, all work is based on what came before it. Nothing unusual here. What Linus didn't do 
was steal the MINIX code. That has been well documented.  
 

e) Buscad  qué  similitudes  y  qué  diferencias  mayores  se  pueden  encontrar  entre  UNIX  y 
MULTICS.  
Similitudes 
• Algunas ideas del Multics fueron desarrolladas más tarde en el Unix. 
• Las características de MULTICS se convirtieron en las bases para UNIX. 
• El nombre de los comandos. 
• La multitarea, la gestión de archivos y la interacción con usuarios. 
 

Diferencias: 
• La filosofía de diseño fue muy diferente, se centró en mantener el sistema tan pequeño y 
simple como fuese posible, y de este modo se corrigieron algunas deficiencias de Multics. 
• UNIX usa el concepto de memoria de proceso, separado del de la memoria utilizada para 
mantener mapeados los archivos. 
 

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 6 
(Tomado de http://es.wikipedia.org/wiki/Multics y http://temariotic.wikidot.com/unix‐
evolucion) 
 
PARTE 2  
 

Para  esta  parte  práctica,  se  deberá  hacer  al  menos  dos  instalaciones  de  GNU/Linux,  en  una 
configuración de despacho (es decir no pensado para servidor o netbook) y con un mismo gestor de 
ventanas  en  los  dos  casos  (Gnome,  KDE,  o  el  que  quieran  pero  que  sea  el  mismo  en  todas  las 
instalaciones).  Podéis  usar  el  material  distribuido  con  los  apuntes  de  la  asignatura  (Debian  Lenny, 
Fedora  13  y  Ubuntu  10.04),  descargar  las  imágenes  directamente  desde  Internet  o  aprovechar 
material  que  ya  tengáis  a  disposición.  Aseguraos  tan  sólo  que  una  distribución  sea  de  la  línea 
RedHat/Fedora/Mandrake y la otra de la línea Debian/Ubuntu. 
 

Práctica de Instalación: 
 

Tomé un computador  que tenía el sistema operativo Windows Vista, y le instalé Fedora y Ubuntu, 
formateando todo el disco dura, para dejarlo sólo con sistemas operativos de Software Libre. 
 
Para la instalación, utilicé los CD’s que nos enviaron de la UOC. 
 
• Instalando  Debian Lenny 5.0: primero empecé instalando Debian Lenny 5.0, pero al finalizar la 
instalación me pedía otro CD que no tenía y no pude terminarla.  A continuación muestro algunas 
fotos de saqué de esta instalación: 
 

   

   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 7 
   

   

   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 8 
   

   

 
Cuando  llegué  a  este  punto,  inserté  el  CD  de  Debian  que  pide,  pero  no  funcionó.    Inserté 
uno por uno los otros pero tampoco funcionaron y me tocó abortar la instalación. 
 
Instalando Ubuntu 10.04: al ver que no pude instalar Debian, entonces empecé a instalar Ubuntu 
10.04 satisfactoriamente.  La instalación de Ubuntu me pareció más fácil que la de Debian, más 
intuitiva, más rápida y más fácil de seguir.  A continuación muestro algunas fotos de saqué de esta 
instalación: 
 

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 9 
   

   

   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 10 
   
 
• Instalando  Fedora  13:  para  hacer  la  otra  instalación,  realicé  una  instalación  de  Fedora  13 
satisfactoriamente.  La instalación de Fedora es también amigable, fácil y rápida.  A continuación 
muestro algunas fotos de saqué de esta instalación: 
 

   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 11 
 

   

   

   

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 12 
   

   

   
 
a) Documentarse  sobre  el  proceso  de  instalación:  cuáles  son  las  diferencias  mayores  que 
habéis visto en el software para hacer la instalación, qué problemas habéis detectado y qué 
soluciones habéis buscado y aplicado.  
 
Una de las mayores diferencias la encontré en el tiempo que demora la instalación de Debian 
Lenny 5.0 (aproximadamente 3 horas), con respecto al tiempo de instalación de las otras dos 
distribuciones Ubuntu y Fedora (menos de 30 minutos). 
 
También cito como diferencia, la forma de particionar las unidades de disco duro, a mí  me 
parecieron más fáciles las de Ubuntu y Fedora que la de Debian. 
 
El mayor problema que me ocurrió, fue al finalizar la instalación de Debian, ya que me pedía 
insertar  un  CD  pero  no  lo  reconoció  y  tuve  que  abortar  la  instalación  de  Debian.    Otra 
dificultad  que  tuve  con  Debian,  fue  al  momento  de  hacer  las  particiones  del  disco  duro, 

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 13 
porque el instalador no es tan fácil de seguir y me perdí varias veces tratando de hacerlo. 
 
En cambio, al instalar las otras dos distribuciones Fedora y Ubuntu, no tuve problemas con los 
CD’s de instalación y tampoco con la partición del disco.   
 
El único problema que he tenido al instalar estas dos distribuciones, es que debo configurar el 
grub  para  que  me  permita  escoger  el  sistema  operativo  con  el  que  voy  a  iniciar  el 
computador, y como no tengo experiencia en este tipo de configuraciones, me toca volver a 
instalar las distribuciones primero Fedora e instalar el Soporte LVM2 y por último Ubuntu e 
instalar  el  Soporte  LVM2.    Esta  solución  la  encontré  en  un  foro  de  Taringa 
(http://www.taringa.net/posts/linux/6075755/Hacer‐Que‐El‐Grub‐de‐Ubuntu‐Reconozca‐
Particion‐de‐Fedora.html). 
 
b) Examinar el sistema de ficheros: qué diferencias detectan entre las dos instalaciones? Qué 
ocupación del disco tienen ‐y si hay variaciones, como las explicáis‐?  
 
  UBUNTU 10.04  FEDORA 13 
Número de Directorios  20 directorios  19 directorios 
Directorios comunes  /bin  /boot  /dev  /etc  /home  /lib  /lost+found  /media 
/mnt  /opt  /proc  /root  /sbin  /selinux  /srv  /sys  /tmp 
/usr /var 
Directorios diferentes  /cdrom   
Ocupación de disco  3,3 Gb 4,1 Gb
 
c) Se  han  creado  los  mismos  usuarios  y  grupos?  Examinen  el  contenido  de  los  ficheros 
/etc/passwd y /etc/group, así como los derechos de acceso de los ficheros de configuración 
(en el directorio /etc).  
 
  UBUNTU 10.04 FEDORA 13
/etc/group  62 ítems  60 ítems 
/etc/passwd  34 ítems 41 ítems
Derechos  de  acceso  de  root  root 
los  ficheros  de 
configuración /etc 
 
d) En  la  página  web  de  cada  una  de  las  distribuciones  que  habéis  usado,  haced  un  breve 
repaso  de  la  documentación  existente  sobre  el  proceso  de  instalación.  Cuál  es  la  más 
completa?  En caso de aparición  de problemas, en qué distro1  habéis encontrado mejores 
respuestas para resolverlos, y con qué facilidad?  
 
En  las  páginas  web  de  Ubuntu  y  Fedora  encontré  información  útil  para  ayudar  en  la 
instalación.  Me parece más completa la información de Ubuntu y tiene una comunidad muy 
colaboradora. 
 
En  Ubuntu  encontré  las  mejores  respuestas  para  resolver  los  problemas  que  tuve  con  la 
instalación, de forma fácil y rápida. 
 
Página de Fedora: http://docs.fedoraproject.org/es‐ES/index.html  
Página de Ubuntu: http://www.guia‐ubuntu.org  

Realizado por:   INÉS MARÍA OLIVEROS HERNÁNDEZ 14 

Vous aimerez peut-être aussi