Académique Documents
Professionnel Documents
Culture Documents
1 Historia de Unix/Linux
3 Referencias
Introduccin - 2
Contenido
1 Historia de Unix/Linux
3 Referencias
Introduccin - 3
Historia de Unix (I)
Introduccin - 4
Historia de Unix (II)
Unix (Cont.)
V7 (1979): AT&T prohibe que se estudie su cdigo
Xenix (1980)
Microsoft
SCO
Unix System III (1982)
Unix System V (1983)
HP-UX, IBMs AIX, Suns Solaris
Introduccin - 5
Historia de Unix (III)
Introduccin - 7
Historia de Unix (IV)
Introduccin - 8
Historia de Unix (V)
Introduccin - 9
Y Aparece Linux (1991)
Hello everybody out there using minix I'm doing a (free) operating
system (just a hobby, won't be big and professional like gnu) for
386(486) AT clones. This has been brewing since april, and is starting
to get ready. I'd like any feedback on things people like/dislike
in minix, as my OS resembles it somewhat (same physical layout of
the filesystem (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to
work. This implies that I'll get something practical within a few
months, and I'd like to know what features most people would want.
Any suggestions are welcome, but I won't promise I'll implement them
:)
Linus (torva...@kruuna.helsinki.fi)
PS. Yes it's free of any minix code and it has a multi-threaded fs. It
is NOT portable (uses 386 task switching, etc), and it probably never
support anything other than AT-harddisks, as that's all I have :(.
Introduccin - 10
Y Aparece Linux (1991)
Claves xito
Unix Wars
Litigio BSD
Competencia Windows NT (enemigo comn)
Licencia GPL
Internet
???
Introduccin - 11
Y Aparece Linux (1991)
Introduccin - 12
Qu es Unix?
Introduccin - 13
Contenido
1 Historia de Unix/Linux
3 Referencias
Introduccin - 14
Diseo del Kernel
No hacer esto:
#define ARRAY_SIZE 4096
...
void my_kernel_function(...) {
char kbuf[ARRAY_SIZE];
http://elinux.org/Kernel_Small_Stacks
Introduccin - 16
Estructura Monoltica (I)
Estructura Monoltica
Todo el kernel reside en un nico espacio de direcciones
Se distinguen distintos componentes (hay una estructura, de-
pende del SO)
pero la comunicacin entre componentes es por invocacin
directa de las funciones (no hay ocultacin, con los riesgos que
eso tiene asociado)
Convencional: el bootloader carga la imagen del kernel en
memoria a partir de un nico binario
Diseo tradicional: simple y buen rendimiento
Kernels Unix tradicionales (SVR4), derivados (SunOS, AIX) y
clones (familia BSD, Linux)
DOS, Windows 9x
Introduccin - 17
Estructura Monoltica (II)
Aplicacin
Aplicacin
usuario
libc (API)
Llamadas al Sistema
kernel
Hardware
Introduccin - 18
Estructura Monoltica (III)
Return
libc Punto de entrada
Trap Llamadas al sistema
(read)
5 Copiar N en Reg
10
usuario
4 Servicios
Incrementar SP 11
Call Read 9
6 3 Push Aplicacin
fd Funciones auxiliares /
Usuario
2 Push &buffer Utilidades
1 Push nbytes
7 8
kernel
Entrada Manejador
Introduccin - 19
Microkernel / Cliente Servidor (I)
Introduccin - 20
Microkernel / Cliente Servidor (II)
Aplicacin Aplicacin
usuario
usuario
libc (API) libc (API)
Llamadas al Sistema
IPC Driver Driver
FS
VFS Aplic Term Disk
kernel
IPC/FS
Microkernel API
Scheduling / Memoria Virtual Scheduling / Dispatcher
kernel
Memoria Virtual
Dispatcher / Drivers
IPC Bsico
Hardware Hardware
Introduccin - 21
Microkernel / Cliente Servidor (III)
Potenciales Ventajas
Mayor modularidad
Potenciales ventajas asociadas: Portabilidad, Extensibilidad,
Fiabilidad
Mayor proteccin/seguridad
idealmente slo el microkernel modo supervisor
Mayor tolerancia a fallos
Si falla un servidor/driver no tiene porque fallar todo el sis-
tema
Se adaptan de forma natural a sistemas distribuidos
Comunicacin entre procesos explcita a travs de la red
Facilidad de desarrollo
Los servidores se pueden depurar
Introduccin - 22
Microkernel / Cliente Servidor (IV)
Limitaciones
Costes asociados con los mecanismos IPC limitan la aplicabili-
dad Microkernels puros
Implementaciones reales (primera generacin)
Los kernels de Windows NT y Mach (Mac OS X) utilizan dis-
eo Microkernel
En sus ltimas versiones ninguno de los servidores corren en
espacio de usuario
La comunicacin entre servidores es por invocacin directa de
funciones.
Nuevas Generaciones
Familia L4: http://en.wikipedia.org/wiki/L4_microkernel
Introduccin - 23
Contenido
1 Historia de Unix/Linux
3 Referencias
Introduccin - 24
Referencias (I)
Historia de Unix/Linux
Aspectos ms relevantes de los 40 aos de Historia de Unix en Com-
puterWorld.
Referencia clsica sobre OpenSource. Entre otros, se incluye una
extensa descripcin de los origenes y evolucin de Unix, BSD, el
proyecto GNU y Linux
Multics: The Multiplexed Information and Computing Service
Descripcin de las primeras versiones de Unix por Dennis M. Ritchie
Entrevista a Steve Bourne, creador del popular bourne shell (sh)
Entrevista a Dennis Ritchie en IEEE Spectrum
Introduccin - 25
Referencias (II)
Arquitectura del SO
Seccin 1.5 de Operating Systems Design and Implementation.
A.S. Tanenbaum y A.S. Woodhull.
Exokernel: An Operating System Architecture for Application-
Level Resource Management
The Multikernel: A new OS architecture for scalable multicore
systems
Introduccin - 26
Licencia
LIN - Introduccin
Versin 0.5
Introduccin - 27