linux
Capítulo 11
Estudio de casos: Linux
Contenido
•
•
•
•
•
•
Historia de Linux
Características y estructura de Linux
Gestión de procesos
Gestión de memoria
Entrada/salida
Sistema de archivos
Sistemas operativos: una visión aplicada
1
© J. Carretero, F. García, P. de Miguel, F. Pérez
Historia de Linux (1/2)
• Linux estábasado en MINIX de A. S. Tanenbaum
• Características de MINIX
– S.O. de carácter pedagógico
– Estructura basada en microkernel
– Interfaz basada en UNIX Versión 7
– Tamaño pequeño (1ª versión 12.000 líneas aprox.)
– Utilizable en equipos con pocos recursos HW
• Limitaciones:
– Gestión de memoria primitiva (sin memoria virtual)
– Partes del S.O. no concurrentes (p. ej. sistema de archivos)
•En 1990 un estudiante finlandés, Linus Torvalds, anunció que
estaba desarrollando un nuevo S.O. tomando como base MINIX
Sistemas operativos: una visión aplicada
2
© J. Carretero, F. García, P. de Miguel, F. Pérez
Historia de Linux (2/2)
• Primera versión de Linux (0.01) a mediados de 1991
• A pesar de herencia MINIX, Linux es muy diferente:
– Resuelve limitaciones (m. virtual,concurrencia, ...)
– Tiene una estructura monolítica
• Desde su nacimiento ha evolucionado rápidamente
– Ha incorporado nuevas características
– Se ha transportado a otros procesadores no Intel
• Con Internet, en su desarrollo colabora gente de todo el mumdo
• Convenio de numeración de versiones (versión X.Y)
– X núm. primario (cambio sólo si modificaciones importantes)
– Y núm. secundario (siimpar, versión “inestable”)
Sistemas operativos: una visión aplicada
3
© J. Carretero, F. García, P. de Miguel, F. Pérez
Características de Linux
•
•
•
•
•
•
•
Multiusuario y multitarea
Interfaz POSIX
Gran parte del código independiente del procesador
Utilizable en máquinas de muy diversas prestaciones
Inclusión dinámica de módulos dentro del propio S.O.
Soporte de granvariedad de tipos de sistemas de archivos
Soporte para multiprocesadores:
– Evolución progresiva de Linux para mejor aprovechamiento
Sistemas operativos: una visión aplicada
4
© J. Carretero, F. García, P. de Miguel, F. Pérez
Estructura de Linux
• Monolítica
• Núcleo no estático: Inclusión de módulos en t. de ejecución
– Similar a bib. dinámicas pero para el propio S.O.
• Módulospueden corresponder con:
– Nuevos tipos de sistemas de archivos
– Manejadores de dispositivos
– Gestores de nuevos formatos de ejecutables
• Además del núcleo, Linux incluye programas y bibliotecas
• Distribución Linux (Red Hat, Slackware, Debian, Suse, ...):
– Núcleo, programas y biblioteca del sistema
– Herramientas de instalación y configuración
Sistemas operativos: una visión aplicada5
© J. Carretero, F. García, P. de Miguel, F. Pérez
Gestión de procesos
• Similar a cualquier otro UNIX
• Inclusión de nueva llamada clone como extensión de fork
– Puede servir para implemementar threads
• Sincronización dentro del núcleo: Sigue “tradición” UNIX
– No se permiten llamadas concurrentes activas dentro del S.O.
– Si ocurre evento que implica cambio de proceso mientrasllamada al sistema
• Se difiere cambio hasta que la llamada termina o se bloquea
– Condiciones de carrera entre llamada e interrupción:
• Se prohíben interrupciones en pequeñas zonas del S.O.
Sistemas operativos: una visión aplicada
6
© J. Carretero, F. García, P. de Miguel, F. Pérez
Tratamiento de interrupciones
• Trabajo asociado a una interrup. puede dividirse en 2“mitades”:
– Mitad superior:
• Operaciones urgentes
• Ejecutadas por propia rutina de interrupción
– Mitad inferior:
• Operaciones menos urgentes
• Ejecutadas por rutina con menor prioridad que int. de disp.
• M. superior marca como activa la m. inferior correspondiente
• S.O. antes de retornar a modo usuario:
– Si hay m. inferiores activas las ejecuta (con int. permitidas)
Sistemas...
Regístrate para leer el documento completo.