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

ELECTIVA ADMINISTRACIÓN LINUX

3º AÑO PROFESORADO DE INFORMÁTICA, PLAN 2008

PROF. ALEJANDRO MARTÍNEZ GONZÁLEZ


amg.utu@gmail.com
¿QUÉ ES LINUX?
ELECTIVA ADMINISTRACIÓN LINUX / INET 2015
REPASO: QUÉ ES EL KERNEL DE UN SISTEMA OP.
VÉASE ORGANIZACIÓN DEL COMPUTADOR Y SISTEMAS OPERATIVOS
A) KERNEL: NÚCLEO DEL SISTEMA OPERATIVO
 parte fundamental del sistema operativo
 se define como la parte que se ejecuta en modo privilegiado
(modo núcleo/ modo kernel)
 principal responsable del acceso seguro al hardware
 encargado de gestionar recursos, a través de servicios de
llamada al sistema (system calls)
 decide qué programa podrá hacer uso del dispositivo de
hardware y durante cuánto tiempo (lo que se conoce como
Multiplexado)
A) KERNEL: FUNCIONES

 Gestión del procesador y reparto de su tiempo de proceso


 Gestión de memoria
 Control de los recursos de almacenamiento y de
entrada/salida
 Control de errores y sistemas de protección
 Gestión del interfaz con el usuario
A) KERNEL

 No necesariamente se necesita un kernel para usar una computadora.


 Los programas pueden cargarse y ejecutarse directamente si están
desarrollados sin uso de abstracción de hardware ni ayuda del SO.
 Forma habitual las primeras computadoras: para usar distintos
programas se tenía que reiniciar y reconfigurar la computadora cada
vez.
 Se empezó a dejar en memoria pequeños programas auxiliares
(cargador, depurador).
 Su desarrollo sentó los fundamentos de lo que serían los primeros kernels.
ARQUITECTURAS DEL KERNEL

● MicroKernel
● Kernel Monolítico
● Kernel hibrido
● Exokernel
KERNEL MONOLÍTICO

 Los núcleos monolíticos facilitan abstracciones del Hardware


subyacente realmente potentes y variadas.
 Un solo programa que reúne las funciones básicas del S.O.
(manejo de memoria y de procesos) junto con protocolos de red,
file systems, drivers de dispositivos, etc.
 Ejemplos:
 Unix
– Linux
MICROKERNEL
 Respuesta a la complejidad de los kerneles monolíticos.
 Kernel que provee los mecanismos básicos:
 Manejo de memoria.
 Manejo de procesos e hilos.
 InterProcess Comunication (IPC)
 Único software que corre en modo privilegiado de CPU.
 Los servicios del S.O. (device drivers, protocolos de red, file
systems) se ejecutan en espacio de usuario.
 Eventuales fallas en un servicio no afectan al kernel.
MICROKERNEL
 Principio de minimalismo de Liedtke
 Un elemento es aceptable dentro del kernel solamente si al
moverlo fuera del kernel pierde funcionalidad.
 IPC
 Mecanismo para que los procesos se comuniquen entre ellos,
generalmente por medio de mensajes.
 Permite trabajar en modalidad cliente/servidor.
 Comunicación sincrónica (se envía el mensaje y se espera la
respuesta).
MICROKERNEL

 Ejemplos
 Minix
 L4
 QNX
 Mach
 En la práctica, son menos eficientes que los kernels
monolíticos.
PERO… ¿Y QUÉ ES LINUX?
UN MOMENTITO, POR FAVOR. PRINCIPIO TIENEN LAS COSAS.
UN POCO DE HISTORIA…

 Partimos de la década de los 60.


 Los laboratorios AT&T Bell junto con el MIT trabajaban en un sistema
operativo experimental llamado Multics (Multiplexed Information and
Computing Service)
 Diseñado para funcionar en un GE-645, potente computador de la época.
 Las primeras versiones de este sistema no fueron buenas
 Bell Labs paralizó el desarrollo.
UN POCO DE HISTORIA…
UN POCO DE HISTORIA…

 Ken Thompson y Dennis Ritchie, eran los principales responsables del


proyecto, se quedaron sin nada que hacer…
 Víctimas del aburrimiento decidieron crear un juego, el Space Travel, que
funcionaba sobre aquel GE-645 que solo se podía jugar en aquel
“supercomputador” (carísimo)
 Decidieron portarlo a una máquina más pequeña, una PDP-7.
 No era tarea fácil: todo se desarrollaba en lenguaje ensamblador
 Para conseguir su objetivo había que hacer cambios en la gestión de
memoria, añadir soporte para números reales, ajustarse al sistema de
archivos, etc.
UN POCO DE HISTORIA…

 Terminaron creando un nuevo sistema operativo: el UNICS.


 AT&T Bell, que vio que la cosa podía tener futuro decidió subvencionar el
desarrollo incorporando a varios programadores, entre ellos a Brian
Kernighan.
 UNICS pasa a llamarse UNIX y va adquiriendo nuevas
funcionalidades y pequeños programas que se incorporan
al sistema como comandos.
 En 1971 ya se podían usar, por ejemplo, cat, chmod, chown,
cp, ls, mv, wc, who…
UN POCO DE HISTORIA…

 El desarrollo era rápido pero algo lo frenaba…


 Cansados de programar en ensamblador, Kernighan y Ritchie decidieron
crear un nuevo lenguaje de programación de más alto nivel: C.
 Permite abstraerse de las particularidades de la arquitectura subyacente
pero al mismo tiempo trabajar a nivel de bit y gestionar los recursos de
memoria.
 Su potencia y elegancia impresionaron a todo el equipo de desarrollo por
lo que en 1973 se decide reescribir en C todo UNIX.
 En 1974, Ritchie y Thompson publicaron en Communications of the ACM,
artículo sobre el diseño de Unix y sobre las 600 máquinas que lo usaban.
UN POCO DE HISTORIA…

 Entonces el sistema operativo comienza a ganar popularidad y su


desarrollo se acelera vertiginosamente.
 Surgen múltiples versiones y se porta a una diferentes arquitecturas.
 Las universidades empiezan a utilizarlo como plataforma de trabajo para
la investigación, y grandes empresas (ej. Bancos) lo emplean como base
de sus sistemas… hasta los ejércitos comienzan a experimentar con él para
adaptarlo a sus necesidades.
 AT&T introduce su Unix System 3
 La universidad de Berkeley desarrolla el BSD v4
 Otros distribuyen versiones adaptadas a ordenadores más modestos.
UN POCO DE HISTORIA…

 El departamento de defensa estadounidense acababa de financiar el


desarrollo de la pila de protocolos TCP/IP y necesitaba un equipo para
implementarla en su red experimental ARPANET.
 El equipo de la universidad de Berkeley estaba en el momento adecuado,
en el sitio adecuado y fue elegido para llevar a cabo esta tarea.
 Este hecho es probablemente el punto de inflexión más grande que ha
experimentado UNIX en toda su historia…
 Al contar con una implementación de TCP/IP dotaba al sistema operativo
de la funcionalidad que le faltaba: la de red… y que tanto éxito le ha
supuesto: la conectividad.
UN POCO DE HISTORIA…

En la década de 1980 son dos los hechos que marcan negativamente la


trayectoria de Unix:
 En 1981, Bill Gates compra a Seattle Computer Products el QDOS (Quick
and Dirty Operating System) por 50.000 dólares.
 Rebautizado como MS-DOS se hace así con el control de todo el mercado de los
ordenadores personales que por no contar con el hardware adecuado para hacer
funcionar Unix, tenían que conformarse con sistemas operativos de categoría inferior.
UN POCO DE HISTORIA…
En la década de 1980 son dos los hechos que marcan negativamente la
trayectoria de Unix:
 Por otra parte, surgen batallas legales entre la universidad de Berkeley y la
AT&T.
 Al comprar la licencia de la AT&T, la universidad quería experimentar con aquel
sistema operativo moderno que incluía código fuente.
 El equipo de investigación escribía decenas de utilidades nuevas y las redistribuía con
el nombre de BSD (Berkeley Software Distribution).
 Pero llega un momento en que la universidad cambia tantos aspectos internos del
sistema operativo que la diferencia entre las versiones AT&T y BSD se hace enorme.
 Berkeley considera que puede redistribuirlo como propio a cualquier persona que no
posea la licencia original… y esto enfurece a la AT&T quien demanda a Berkeley
UN POCO DE HISTORIA…
En la década de 1980 son dos los hechos que marcan negativamente la
trayectoria de Unix:
 Por otra parte, surgen batallas legales entre la universidad de Berkeley y la
AT&T.
 Al comprar la licencia de la AT&T, la universidad quería experimentar con aquel
sistema operativo moderno que incluía código fuente.
 El equipo de investigación escribía decenas de utilidades nuevas y las redistribuía con
el nombre de BSD (Berkeley Software Distribution).
 Pero llega un momento en que la universidad cambia tantos aspectos internos del
sistema operativo que la diferencia entre las versiones AT&T y BSD se hace enorme.
 Berkeley considera que puede redistribuirlo como propio a cualquier persona que no
posea la licencia original… y esto enfurece a la AT&T quien demanda a Berkeley
LAS GUERRAS DE UNIX
 AT&T a su vez demanda a AT&T por copiar fragmentos de código.
 Comienza entonces una enorme batalla judicial en la que ambas partes se
acusan mutuamente y que se prolonga hasta 1994.
 Novell, que había adquirido todos los derechos del Unix de la AT&T,
acuerda con Berkeley que esta debía eliminar todo el código residual de
AT&T y lanzar una última distribución de BSD totalmente libre de
problemas de licenciamiento.
 Esta distribución fue el 4.4-BSD Lite2.
PARALELAMENTE, SURGE EL PROYECTO GNU
 Iniciado por Richard Stallman en enero 1984.
 Objetivo: crear un sistema operativo
completamente libre (el sistema GNU).
 El nombre GNU es un acrónimo recursivo de
«GNU No es Unix»...
 El desarrollo del núcleo propio de GNU, Hurd,
pero no existe una versión estable (y utilizable
para completar el sistema operativo completo
GNU).
RICHARD STALLMAN: FSF, GPL y GNU
EL KERNEL LINUX
O (AHORA SÍ) QUÉ ES LINUX DESPUÉS DE TODO…
LINUX

 «¿Suspiras por los fabulosos días de Minix-1.1, cuando los


hombres eran hombres y escribían sus propios controladores
de dispositivo? ¿Estás sin ningún proyecto decente y te mueres
por hincarle los dientes a un sistema operativo que puedas
modificar para tus necesidades? ¿Te parece frustrante que todo
en Minix funcione? Se te acabaron las noches en vela tratando
de conseguir que un programa funcionase? Entonces este post
puede ser para ti ;-)…
LINUX

 …Como dije hace un mes, estoy trabajando en una versión libre


de una especie de Minix para ordenadores AT-386. Por fin ha
llegado a una fase en la que se puede usar (o no, dependiendo
de lo que quieras) y me gustaría publicar el código fuente para
que se extienda. Solo es la versión 0.02 pero he conseguido
ejecutar en él bash/gcc/gnu-make/gnu-sed/compress…»
LINUX
From:
torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Free minix-like kernel sources for 386-AT
Message-ID: <
1991Oct5.054106.4647@klaava.Helsinki.FI>;
Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
LINUX

 La primera versión estable del kernel Linux fue la 0.02


 Hasta que empezó el desarrollo de la serie 2.6 del kernel,
existieron dos tipos de versiones:
 de producción: la versión estable hasta el momento.
 consideradas más estables y libres de fallos.
 de desarrollo: experimental
 usada para programar, comprobar y verificar nuevas
características, correcciones, etc.
LINUX
LINUX
LINUX
LINUX
LINUX
LINUX
PREGUNTAS DE REPASO
PARA IR CONSOLIDANDO CONCEPTOS
PREGUNTAS DE REPASO
1. ¿Qué es Linux? Explique.
2. ¿Qué es GNU? ¿Quién lo inició?
3. ¿Qué parte del SO no lograron hacer funcionar en GNU?
4. ¿Qué es Minix? ¿Quién lo creó?
7. ¿Sobre qué núcleo desarrolló Linus Torvalds el suyo (Linux)?
8. ¿Para qué SO creó ese kernel?
9. ¿De qué tipo son cada uno?
10. ¿Por qué hay gran rivalidad entre Linus Torvalds y Andrew Tannenbaum?
DEBERES

i. ¿Qué es una distribución o “distro Linux”?


ii. ¿Qué distribuciones GNU/Linux puedes mencionar?
iii. Conseguir la última versión de Ubuntu.
iv. Llevar equipo Ceibal a clase.

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