4
Jan
2011
Unix y Linux son sistemas operativos diferentes y no existe una derivación histórica entre ambos. Dicho de otro modo: no es trazable código de los laboratorios de AT&T en el código de Linux. Existe de todas formas una relación conceptual, funcional y de implementación del estándar POSIX. Para muchos, la historia entre el primer Unix de 1969 y el primer Linux en 1991 ya es conocida.
Voy a reseñar a continuación algunas diferencias de alto nivel entre ambos kernels:
- si bien los dos son monolíticos, Linux soporta la carga y descarga de módulos dinámicamente (mientras está en ejecución);
- Linux tiene soporte para multiprocesamiento simétrico (SMP), múltiples procesadores pueden acceder a una única memoria;
- el kernel de Linux es preemtive, puede sacar a un proceso del procesador para realizar planificación -algunas versiones de Unix tienen esta característica-;
- Linux no diferencia entre procesos y threads, los threads son tipos de procesos que comparten memoria;
- Linux provee un modelo orientado a objetos para las clases de dispositivos, eventos hot-pluggable y dispositivos de sistemas de archivos a nivel de espacio de usuario;
- Linux ignora algunas características de Unix que sus desarrolladores consideran pobremente diseñadas, como los STREAMS, o que no pueden ser implementadas de forma limpia;
- Linux es libre, con una política en la que cada agregado debe solucionar un problema real, de forma clara y con una sólida implementación.
Basado en Linux Kernel Development 3ra edición (Robert Love).