Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Visión general del Kernel




Enviado por Pablo Turmero



Partes: 1, 2


    Monografias.com

    1
    Visión general e introducción al …
    Objetivos:
    Revisar conceptos relacionados con sistemas operativos
    Dar una visión general de UNIX, destacando algunos aspectos del kernel
    Dar una visión general de Linux, destacando algunos aspectos del kernel

    Monografias.com

    2
    Revisión de conceptos
    Clasificación del software
    Software de aplicación
    Programas que realizan las tareas en las que el usuario está realmente interesado
    Software de sistema
    Programas y librerías de soporte para el software de aplicación, por ejemplo el sistema operativo

    Monografias.com

    3
    Revisión de conceptos
    Objetivos de un sistema operativo
    Abstracción de los recursos hardware
    Almacenamiento heterogeneo ? Sistema de archivos
    Memoria física + memoria secundaria ? Memoria virtual
    Variedad de dispositivos de E/S ? E/S estándar
    Reparto de recursos ? CPU, memoría física, espacio de disco, comunicaciones, etc.
    Servicios de sistema al software de aplicación
    Semáforos
    Memoria compartida
    Señales
    Temporización, etc.

    Monografias.com

    4
    Revisión de conceptos
    Características generales de un sistema operativo
    Monotarea o multitarea ? Multitarea expulsiva (preemptive), protección entre tareas, protección del hardware
    Monousuario o multiusuario
    Monoplataforma o multiplataforma
    Monoprocesador o multiprocesador
    Interactivo o batch
    Tiempo compartido, pudiendo procesar trabajos batch
    Kernel monolítico o microkernel (o exokernel)
    Sistemas operativos de tiempo real

    Monografias.com

    5
    Revisión de conceptos
    Características generales de un sistema operativo
    Procesos
    Niveles de protección
    Las instrucciones no pueden ejecutar cualquier instrucción potencialmente peligrosa
    Modo usuario y modo kernel (o supervisor)
    Procesos ? Programa en ejecución y con su contexto
    Descriptor de procesos (PCB ? Process Control Block) ? struct task_struct (elemento de struct thread_info)
    Contexto de nivel de usuario
    Contexto de nivel de sistema (kernel)
    Contexto de registros

    Monografias.com

    6
    Revisión de conceptos
    Características generales de un sistema operativo
    Planificación y conmutación de procesos
    Estados de un proceso ? Listo, En ejecución, Parado, …
    Jerarquía de procesos ? Relación padre-hijo
    Threads (hilos). Threads del kernel
    Tipos de planificación ? quantum (timeslice), prioridad, …
    El algoritmo de planificación del kernel de Linux ? O(1)
    Procesos interumpibles por el kernel (preemptive)
    Llamadas al sistema ? Interfaz entre un proceso y el sistema operativo
    Invocada por el proceso
    Causada por una interrupción software (señal)

    Monografias.com

    7
    Revisión de conceptos
    Relación entre aplicaciones, el kernel y el hardware

    Monografias.com

    8
    Revisión de conceptos
    Sistemas monolíticos versus microkernel
    Enfoque monolítico
    Kernels implementados como un gran proceso único ejecutándose en un único espacio de direcciones ? kernels en disco como un archivo binario
    Todos los servicios del kernel existen y se ejecutan en el gran espacio de direcciones del kernel
    Comunicación con el kernel es trivial, ya que todo se ejecuta en modo kernel en el mismo espacio de direccines
    El kernel puede llamar directamente a funciones, como si fuesen aplicaciones en modo usuario
    Sencillo y buen rendimiento ? Mayoria de los sistemas UNIX son monolíticos en diseño

    Monografias.com

    9
    Revisión de conceptos
    Sistemas monolíticos versus microkernel
    Enfoque microkernel
    Núcleo con funcionalidad mínima
    Servicios provistos por servidores que son procesos
    El kernel sólo gestiona la comunicación con los servidores
    Las distintas partes del S.O. se comunican mediante paso de mensajes
    Chorus, QNX, Mach (GNU Hurd), WNT 3.51

    Monografias.com

    10
    Revisión de conceptos
    Sistemas monolíticos versus microkernel
    Enfoque monolítico
    + Eficiente ? Pocos cambios de contexto
    – Depuración
    – Ampliación (modularidad)
    – Dependencias
    Enfoque microkernel
    + Fácil implementación y depuración
    + Portabilidad
    + La separación de varios servidores ? previene la caida de servidores
    – Eficiente ? sobrecarga de comunicaciones

    Monografias.com

    11
    Revisión de conceptos
    Linux
    Estructura
    Monolítico con módulos cargables
    Threaded
    Dinámico (añadir y quitar módulos) e interrumpible
    Mayor modularidad que un sistema monolítico puro ? mayor rendimiento que un sistema microkernel
    Portabilidad
    Escrito casi íntegramente en C estándar, con partes en ensamblador dependientes de la arquitectura (/arch)
    Nuevamente el equilibrio entre la sencillez y eficiencia gana ? Linux gana

    Monografias.com

    12
    Revisión de conceptos
    Linux
    Características principales
    S.O. estilo UNIX, compatible POSIX
    Multitarea expulsiva, Multiusuario y Multiplataforma
    Protección de memoria y memoria virtual, kernel threading, interrumpible (preemptive)
    SMP, Clustering
    Variantes para Tiempo Real y CPUs sin MMU
    Múltiples sistemas de archivos y protocolos de red
    Con modelo de dispositivos orientado a objetos
    Razonable soporte hardware
    Casi todo escrito en C y depuración en tiempo de ejecución
    Módulos cargables en tiempo de ejecución (dinámico)

    Monografias.com

    13
    Revisión de conceptos
    UNIX/Linux
    Algo de historia
    1969: UNIX, Thompson & Ritchie (AT&T Bell Labs) ? proyecto MULTICS
    1978: BSD, Berkeley Software Distribution ? Distribuidores comerciales: Sun, HP, IBM, SGI, DEC, Digital, SCO
    1984: GNU: Richard Stallman (FSF)
    1986: POSIX (Portable Operating System Interface) ? La norma POSIX.1 ha uniformado las operaciones de manipulación basándose fundamentalmente en las funcionalidades existentes en System V
    1987: MINIX, Andrew Tanenbaum
    1989: SVR4, AT&T
    1991: 'Nacimiento' de Linux

    Monografias.com

    14
    Revisión de conceptos
    Linux
    Algo de historia
    Evolución de MINIX para 8086 (A.S. Tannenbaum, 12000 líneas de código abierto)
    En 1991 Linus Torvalds pone un mensaje en USENET diciendo que está escribiendo un S.O. como hobby, y deja los fuentes disponibles. (0.01)
    Poco después publica la versión 0.02 y pide colaboraciones a los interesados ? En menos de un año más de 100 colaboradores
    Aparecen múltiples distribuciones comerciales y no comerciales (Slackware, Red Hat, Suse, Mandrake, Caldera, Debian, etc.)
    Soporte por parte de grandes empresas (Intel, IBM, Sun, Oracle, HP, Informix, etc.) y para múltiples plataformas, no sólo i386

    Monografias.com

    15
    Revisión de conceptos
    Linux
    Algo de historia
    Linux 1.0 aparece en 1994 en forma de distribución (i386)
    Linux 1.2 en 1994 ? Soporta diferentes arquitecturas (Sparc, Alpha, MIPS)
    Linux 2.0 en 1996 ? competitivo con sist. UNIXs comerciales
    Linux 2.2 (Enero 1999), con muchas mejoras y soporte hardware
    Linux 2.4 (Enero 2001), más hardware soportado (ISA PnP, USB) y modificaciones arquitecturales
    Linux 2.6 (Diciembre 2003), características avanzadas, enterprise, muchas mejoras en la arquitectura
    Ultima versión estable 2.6.22 (X.Y.Z X = versión mayor, Y = versión (par = estable, impar = desarrollo), Z = revisión)

    Monografias.com

    16
    Revisión de conceptos
    Linux
    Modelo de desarrollo de Linux
    Modelo Open Source
    Licencia GPL
    Motivaciones ? resolver problemas (compartir soluciones), educación, reconocimiento, anti-monopolio, seguridad
    Autogestión del proyecto ? objetivos y motivación voluntarios, filosofía y herramientas comunes, desarrollos en paralelo con poda de ramas fallidas, distribución frecuente y pruebas masivas, depuración masiva por ser Open Source
    Resultados de gran calidad

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter