kernel de los sistemas operativos

8
KERNEL DE LOS SISTEMAS OPERATIVOS (WINDOWS, LINUX Y MAC) Diana Tigrero, Andrea Vargas, Wilson Mazzini, Alex Acosta. Facultad de Sistemas y Telecomunicaciones Universidad Estatal Península de Santa Elena La Libertad Ecuador SISTEMAS OPERATIVOS Resumen El objetivo de este trabajo es elaborar un documento que nos permitirá conocer la función del Kernel enfocado en tres sistemas operativos como Windows, Linux y Mac en esto se mostrara las diferencias que el Kernel ejecuta en diversos sistemas.

Upload: alex-acosta

Post on 14-Apr-2017

1.206 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Kernel de los  sistemas operativos

KERNEL DE LOS SISTEMAS OPERATIVOS

(WINDOWS, LINUX Y MAC)

Diana Tigrero, Andrea Vargas, Wilson Mazzini, Alex Acosta.

Facultad de Sistemas y Telecomunicaciones

Universidad Estatal Península de Santa Elena

La Libertad – Ecuador

SISTEMAS OPERATIVOS

Resumen

El objetivo de este trabajo es elaborar un documento que nos permitirá conocer

la función del Kernel enfocado en tres sistemas operativos como Windows,

Linux y Mac en esto se mostrara las diferencias que el Kernel ejecuta en

diversos sistemas.

Page 2: Kernel de los  sistemas operativos

INTRODUCCION

El Kernel puede verse como el núcleo

del sistema operativo, este reside en

la memoria RAM cuando se enciende

el ordenador y permanece en

funcionamiento hasta que este se

apaga. Tiene principalmente dos

responsabilidades:

1. Servir a los requerimientos de

programación a bajo nivel, por

ejemplo tratando las

interrupciones hardware

(teclados, discos duros, tarjetas

de video, etc...).

2. Proveer un entorno a los

procesos, que son las

instancias en ejecución de los

programas o threads.

No necesariamente se necesita un

núcleo para usar una computadora.

Los programas pueden cargarse y

ejecutarse directamente en una

computadora vacía, siempre que sus

autores quieran desarrollarlos sin usar

ninguna abstracción del hardware ni

ninguna ayuda del sistema operativo.

Ésta era la forma normal de usar

muchas de las primeras

computadoras: para usar distintos

programas se tenía que reiniciar y

reconfigurar la computadora cada vez.

Con el tiempo, se empezó a dejar en

memoria (aún entre distintas

ejecuciones) pequeños programas

auxiliares, como el cargador y el

depurador, o se cargaban desde

memoria de sólo lectura. A medida que

se fueron desarrollando, se

convirtieron en los fundamentos de lo

que llegarían a ser los primeros

núcleos de sistema operativo.

(ECURED) En su página web nos

muestra y define cuatro tipos de

núcleos o kernels:

Los núcleos monolíticos:

facilitan abstracciones del

hardware subyacente realmente

potentes y variadas.

Los micronúcleos:

proporcionan un pequeño

conjunto de abstracciones

simples del hardware, y usan

las aplicaciones llamadas

servidores para ofrecer mayor

funcionalidad.

Los núcleos híbridos: son

muy parecidos a los

micronúcleos puros, excepto

porque incluyen código

adicional en el espacio de

núcleo para que se ejecute más

rápidamente.

Page 3: Kernel de los  sistemas operativos

Los exonúcleos: no facilitan

ninguna abstracción, pero

permiten el uso de bibliotecas

que proporcionan mayor

funcionalidad gracias al acceso

directo o casi directo al

hardware.

Funciones del Kernel

Administración de la memoria

para todos los programas y

procesos en ejecución.

Administración del tiempo de

procesador que los programas y

procesos en ejecución utilizan.

La comunicación entre los

programas que solicitan

recursos y el hardware.

Gestión de los distintos

programas informáticos (tareas)

de una máquina.

Gestión del hardware (memoria,

procesador, periférico.

El Kernel de Windows

“Windows es un sistema

operativo serio, capaz de competir en

el mercado con otros como Unix que

ya tienen una posición privilegiada, en

cuanto a resultados, debe tener una

serie de características que le

permitan ganarse ese lugar”

(ECURED).

Modo Kernel

Capa de Abstracción de

Hardware (HAL).

Conocido por sus siglas en inglés HAL

(Hardware AbstractionLayer) es una

interfaz entre el hardware y el resto del

Sistema Operativo, está implementada

como una biblioteca de enlace

dinámico (dll) y es responsable de

proteger el resto del sistema de las

especificaciones del hardware, tales

como controladores de interrupción e

interfaces de entrada/salida. Esta

abstracción hace al sistema más

portable ya que el resto del sistema no

tiene que preocuparse sobre que

plataforma está corriendo.

MicroKernel

Es el responsable de todas las

acciones que se realizan sobre le

sistema y casi todas las funciones del

sistema pasan a través de él. El

microkernel está situado en el corazón

de Windows, trabaja muy

estrechamente con el HAL (Nivel de

Abstracción de Hardware), este

planifica la ejecución de hilos y

manipula las interrupciones y

excepciones de procesos. El papel de

este es mantener a los procesadores

Page 4: Kernel de los  sistemas operativos

lo más ocupado posible. En sentido

general este se encarga de las

funciones más básicas de todo el SO,

como son:

Ejecución de subprocesos.

Sincronización multiprocesador.

Manejo de las interrupciones de

hardware.

El Ejecutor de Windows

Se encarga de las tareas importantes,

las que son de vital importancia para el

sistema completo, ya que el

microkernel está casi siempre

demasiado ocupado para dirigirse

directamente. El Administrador de

Objetos.

El Administrador de Objetos

(Object Manager)

Es usado para crear, modificar y

eliminar objetos (tipos de datos

abstractos que son usados para

representar recursos del Sistema

Operativo) usados por todos los

sistemas que conforman el Ejecutor de

Windows. Este también proporciona

información sobre el estado de los

objetos a todo el Sistema Operativo.

El Administrador de Procesos

El Administrador de Procesos (Process

Manager) es el responsable de crear,

quitar y modificar los estados de todos

los procesos e hilos. Este también

proporciona información sobre el

estado de procesos e hilos al resto del

sistema. El Administrador de Memoria

Virtual.

Servicios de Llamadas a

Procedimientos Locales

(Local Procedure Call Facility o LPC)

Se integran al diseño cliente/servidor

de Windows. Este es la interfaz entre

todos los procesos clientes y

servidores que corren localmente en el

sistema. El Monitor de Seguridad. El

Monitor de Seguridad (Security

Reference Monitor o SRM) es el lecho

de toda la seguridad dentro del

sistema WINDOWS y es el

responsable de hacer cumplir todas las

políticas de seguridad en la

computadora local.

El Administrador de Entrada-Salida:

El Administrador de Entrada-Salida

(I/O Manager) es responsable de

gestionar la comunicación entre los

distintos drivers de dispositivo, para lo

cual implementa una interfaz bien

Page 5: Kernel de los  sistemas operativos

definida que permite el tratamiento de

todos los drivers de una manera

homogénea, sin que intervenga el

cómo funciona específicamente cada

uno.

El Subsistema Win32

Este subsistema actúa como un

servidor para todos los otros

subsistemas de ambiente soportados

en WINDOWS, los que actúan como

clientes y traducen sus

llamadas API hacia las API apropiadas

de Win32. El subsistema Win32 es

responsable de toda la entrada y

salida. Este posee el control de la

pantalla, el teclado, y el ratón. Cuando

otros subsistemas, como OS/2 o

POSIX, necesitan beneficiarse de

estos dispositivos, ellos piden los

servicios al subsistema de Win32.

Algunos de los objetivos que se

trazaron para mantener la

compatibilidad con las aplicaciones

hechas en versiones anteriores fueron:

Permitir que los programas hechos

sobre DOS pudieran correr sin

modificación.

Suministrar la capacidad para ejecutar

la mayoría de las aplicaciones

Windows de 16 bits sin modificación.

Proteger al sistema y otras

aplicaciones de 32 bits de la

interferencia de las aplicaciones de 16

bits y DOS.

Permitir a las plataformas RISC

(Reduced Instruction set Computer,

microprocesador cuyo número de

instrucciones es reducido para lograr

una frecuencia más alta de trabajo)

ejecutar aplicaciones Windows de 16

bits y DOS.

El Subsistema POSIX.Microsoft prestó

mucha atención a los diferentes

estándares de sistemas abiertos

cuando Windows NT estaba en vía de

desarrollo. Ellos reconocieron el valor

de soportar sistemas abiertos como un

método para ganar aceptación de su

nuevo sistema operativo avanzado

dentro del mercado.

Uno de los estándares más

frecuentemente citados soportados por

Windows es el POSIX (Interfaz de

Sistema operativo Portable Basado en

Unix), el cual representa la interfaz del

Sistema Operativo portable y fue

desarrollado por el IEEE (Instituto

de Ingenieros en

Electricidad y Electrónica) como un

método de proporcionar portabilidad a

las aplicaciones hechas sobre

plataformas UNIX.

Page 6: Kernel de los  sistemas operativos

No obstante, POSIX se ha integrado

en muchos sistemas no UNIX. El

Subsistema OS/2. El Subsistema OS/2

igual que el subsistema POSIX

proporciona un entorno para

aplicaciones UNIX, este subsistema da

soporte a las aplicaciones OS/2.

Proporciona la interfaz gráfica y las

llamadas al sistema; las llamadas son

servidas con ayuda del Ejecutor de

Windows.

Un núcleo no es magia, pero es

completamente esencial para cualquier

equipo que ejecute correctamente. El

kernel de Linux es diferente a OS X y

Windows, ya que incluye los

controladores nivel del núcleo y hace

muchas cosas más.

EL KERNEL DE LINUX

El kernel o núcleo de Linux se puede

definir como el corazón de este

sistema operativo.

Las funciones más importantes del

mismo, aunque no las únicas, son:

Administración de la memoria

para todos los programas y

procesos en ejecución.

Administración del tiempo de

procesador que los programas y

procesos en ejecución utilizan.

Es el encargado de que

podamos acceder a los

periféricos/elementos de

nuestra computadora de una

manera cómoda.

Hasta que empezó el desarrollo de la

serie 2.6 del núcleo, existieron dos

tipos de versiones del núcleo:

Versión de producción: La versión

de producción, era la versión estable

hasta el momento. Esta versión era el

resultado final de las versiones de

desarrollo o experimentales. Cuando el

equipo de desarrollo del núcleo

experimental, decidía que tenía un

núcleo estable y con la suficiente

calidad, se lanzaba una nueva versión

de producción o estable. Esta versión

era la que se debía utilizar para un uso

normal del sistema, ya que eran las

versiones consideradas más estables

y libres de fallos en el momento de su

lanzamiento.

Versión de desarrollo: Esta versión

era experimental y era la que

utilizaban los desarrolladores para

programar, comprobar y verificar

nuevas características, correcciones,

etc. Estos núcleos solían ser

inestables y no se debían usar sin

saber lo que se hacía.

Page 7: Kernel de los  sistemas operativos

Arquitectura del Kernel Linux

“Debido a que el kernel de Linux es

monolítico, tiene más complejidad que

en los otros tipos de kernels. Esta fue

una característica de diseño que

estaba bajo un poco de debate en los

primeros días de Linux y aún tiene

algunos de los defectos de diseño que

los núcleos monolíticos son inherentes

a tener” (ECURED).

Una cosa que los desarrolladores del

kernel de Linux hicieron para

conseguir solucionar estas fallas es

hacer módulos del kernel que pueden

ser cargados y descargados en tiempo

de ejecución, lo que significa que

puede agregar o quitar características

de su núcleo en el momento. Esto

puede ir más allá de la adición de la

funcionalidad de hardware para el

núcleo, mediante la inclusión de

módulos que ejecutan los procesos del

servidor, como la virtualización de bajo

nivel, pero también puede permitir que

el núcleo pueda ser del todo

reemplazado sin necesidad de reiniciar

el equipo en algunos casos.

Módulos del Kernel

Los módulos del kernel, también

conocido como un módulo del kernel

cargables (LKM), son esenciales para

mantener el funcionamiento del núcleo

con todo el hardware sin consumir

toda la memoria disponible.

Kernel Mac OS X

“Darwin es el kernel del sistema

operativo Mac OS, está basado en los

kernels de los sistemas operativos

Mach y FreeBSD, pero también incluye

parte de MkLinux, NetBSD, OpenBSD

y otras tecnologías de Mach, y sobre el

que se centran las más importantes

interacciones del software con el

hardware” (Delgado A).

También (Delgado A) menciona que el

trabajo del Mach 3.0 es dotar al

procesador y la memoria de la

capacidad de abstracción del resto de

los componentes del equipo. Se

encargará de gestionar los tiempos de

trabajo del procesador, así como de

facilitar la protección de memoria entre

las distintas aplicaciones e se estén

ejecutando en un momento dentro del

ordenador. Todo ello sin olvidar la

gestión de todos los mecanismos de

entrada y salida de que dispongamos

para un proceso en ejecución. El

Sistema Operativo Mac usa un kernel

de tipo híbrido.

CONCLUSIONES

El kernel es muy importante y

además permite que el S.O se

comunique con el Hardware

Page 8: Kernel de los  sistemas operativos

dando mayor funcionamiento y

rendimiento a todo el sistema.

El Micro Kernel, es aquel que lo

puedes configurar a tu gusto

ampliando módulos para que

vaya adquiriendo más

funcionalidades y capacidades,

En el monolítico se encuentran

todas las capacidades reunidas

en un solo kernel, si lo ves

como programación, el primero

es como un programa (sin

hacerlo ejecutable) en el cual

añades librerías (conio, math,

etc.) para ir obteniendo más

funciones y el segundo no es

ejecutable no puedes modificar,

pero contiene todo lo que sea

necesario, pero aunque tenga

cosas que ni siquiera necesitas.

RECOMENDACIONES

Actualizar de vez en cuando el

kernel, sobre todo cuando se

corrigen fallos de seguridad o

cuando los cambios en el nuevo

núcleo afectan a características,

funciones, hardware que

utilicemos.

Bibliografía Delgado A, F. (s.f.). Sistema Operativo MAC.

Recuperado el 21 de Octubre de 2015,

de Diseño de Sistemas Operativos:

http://lsi.ugr.es/jagomez/disisoparchi

vos/trabajosDSO/Presenta2/MacOS.p

df

ECURED. (s.f.). Conocimientos con todos y para

todos. Recuperado el 21 de Octubre

de 21, de

http://www.ecured.cu/index.php/Ker

nel#El_Kernel_de_Windows

SINGH. (Diciembre de 2003). MAC OS X

INTERNALS. Recuperado el 21 de

Octubre de 2015, de

http://osxbook.com/book/bonus/anci

ent/whatismacosx/arch_xnu.html

UNIVERSIDAD DE LA RIOJA. (24 de Abril de

2006). CAMPUS DE EXCELENCIA

INTERNACIONAL. Recuperado el 21 de

Octubre de 2015, de

https://www.unirioja.es/cu/jearansa/

1112/ficheros/Tema_3IN.pdf