martes, 19 de abril de 2011

NOMENCLATURA DE KERNEL EN LINUX

Explique la nomenclatura del kernel en Linux




El kernel de Linux esta escrito en C y es código abierto licenciado bajo licencia GNU/GPL (exceptuando el planificador de recursos el cual pertenece a Linux torvalds y al resto de programadores que se han ocupado de dicha parte), con la cual tenemos acceso a su código para su estudio o ya sea para modificarlo. Esta se puede mostrar en diferentes versiones.

La nomenclatura del Kernel se divide en 3 campos separados por un punto (.), estos son:

1.    Primer campo: Número de la versión, actualmente a fecha de este documento es la 2.

2.    Segundo campo: Numero de "sub-versión", por llamarlo de algún modo, es la versión dentro de la propia versión, si este número es par, la versión será estable, si por el contrario es impar, ésta será inestable.


3.    Tercer campo: Nivel de corrección el en que se encuentra





Así pues el primer paso para configurar nuestro propio Kernel será bajárnoslo, y se podrá encontrar en  ftp://ftp.kernel.org/pub/linux/kernel/.

En esta dirección de ftp se encontraran varios directorios, los que nos atañen son los del tipo v2.4 (última versión estable hasta el momento).

Después en dicho directorio podemos encontrar tanto las sources del kernel con los parches aplicados (linux-x.y.z), como las propias aplicaciones (patch-x.y.z).

NÚCLEO DE WINDOWS 7 (MIN WIN)

Explique el núcleo de Windows 7 (MinWin)

R: Resumiendo es tomar el mundo de Windows e ir suprimiendo cosas, hasta dejar lo mas funcional, o lo mas importante.


Eric Traut ejecuto lo que llamó  Min Win, formado únicamente por el Kernel, sin interface grafica y sin añadidos; el Mi Win incluía solo un núcleo central y seria algo sencillo para mostrar paginas HTML, incluyendo paginas mostradas por el mismo Min Win.

Se hizo un ejemplo de lo que seria el Min Win con 25MB de espacio en el disco duro, y con 40MB de memoria RAM lo cual tardó 20 segundos en arrancar.

NÚCLEO DE LINUX Y WINDOWS

Realice la comparación entre el núcleo de Linux y WINDOWS

NUCLEO DE LINUX
NUCLEO DE WINDOWS
El tamaño del núcleo es de 1.3MB
El tamaño del núcleo es de 4.6MB
En algunos datos sobresaltados, que son del sistema Linux tiene solo 320.
Mientras que los datos sobresaltados en Windows son mas de 1.000
GNU/Linux se refiere a la combinación del núcleo libre similar a UNIX denominado Linux.
Mientras que Windows posee núcleos monolíticos en versiones basadas en el MS/DOS y núcleo hibrido en versiones basadas en Windows NT.

También se puede decir que el núcleo Linux y las versiones de Windows basadas en el MS/DOS son monolíticos el cual contienen un núcleo grande y complejo, que engloba todos los servicios del sistema, desde la accesibilidad, planificación, sistemas de archivos, seguridad y un mejor manejo para el usuario, y cuando se desea hacer un cambio toca volver a reiniciar el equipo para poder hacer cualquier clase de cambios.


Mientras que el núcleo de Windows en versiones basadas en Windows NT simplemente cumplen con las funciones básicas como espacios de direcciones, comunicación entre procesos y planificación básica y los otros servicios como sistema de archivos se ejecutan como procesos servidores en espacio de usuario.


ARQUITECTURA DE WINDOWS Y DE LINUX

ARQUITECTURA DE LINUX


-Varios componentes trabajan en conjunto, diseñados por personas diferentes y conjuntadas en distribuciones
-Solo del exterior el núcleo Linux parece una unidad
-Linux no es un bloque monolítico
-Existe una diferencia entre el núcleo y las aplicaciones
-Es un núcleo monolítico híbrido.
-A diferencia de algunos monolíticos tradicionales, los controladores de dispositivos y las extensiones al núcleo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continua funcionando si problemas.





ARQUITECTURA DE WINDOWS


Arquitectura del Windows NT: La familia de estos sistemas operativos están constituidas por versiones como Windows vista, Windows server 2003, Windows xp, Windows 2000 y Windows NT.

Todos constan de multitarea apropiativa y han sido diseñadas para trabajar tanto en computadoras de un solo procesador como computadoras de multiprocesamiento simetrico.

La arquitectura de estos se basan de dos capas principales, las cuales son:

1.    Modo Usuario: Cuyos programas y subsistemas están limitados a los recursos del sistema a los que tienen acceso.
2.    Modo Núcleo: Tiene acceso total a la memoria del sistema y los dispositivos externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos como núcleos Híbridos, aunque hay que aclarar que este término está en discusión ya que este núcleo es esencialmente un núcleo monolítico que está estructurado al estilo de un micro núcleo. La arquitectura dentro del modo núcleo se compone de lo siguiente:
1.          Un núcleo híbrido.
2.          Una Capa de abstracción de Hardware (HAL).
3.          Controladores o drivers.
4.          Executive: Sobre el cual son implementados todos los servicios de alto nivel.


FUNCIONES DEL NÚCLEO O KERNEL

¿Cuáles son las funciones del núcleo o kernel?

R: Las funciones del núcleo o kernel son:

·         Facilita un mayor acceso al hardware
·         Es el que se encarga de decidir qué programa puede hacer uso de un dispositivo y durante cuánto tiempo.
·         Garantiza la carga y la ejecución de los procesos, las entradas/salidas y propone una interfaz entre el espacio núcleo y los programas del espacio del usuario
·         Asigna recursos para el proceso que lo necesite
·         El núcleo reside siempre en la memoria principal
·         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


Pero el núcleo de un sistema operativo contiene también un código necesario para realizar las siguientes funciones:
  •    Manejo de interrupciones.
  •   Creación y destrucción de procesos.
  •   Cambio de estado de los procesos.
  •   Despacho.
  •   Suspensión y reanudación de procesos.
  •   Sincronización de procesos.
  •  Comunicación entre procesos.
  •  Manipulación de los bloques de control de procesos.
  • Apoyo para las actividades de entrada/salida.
  • Apoyo para asignación y liberación de memoria.
  • Apoyo para el sistema de archivos.
  • Apoyo para el mecanismo de llamada y retorno de un procedimiento.
  • Apoyo para ciertas funciones de contabilidad del sistema. 




SISTEMA DE ARCHIVOS

¿Qué es un sistema de archivos?

R: Los sistemas de archivos o ficheros, estos estructuran la información guardada el la unidad de almacenamiento que tenga el equipo, normalmente el disco duro. Ellos la organizan de forma jerárquica que luego es representada en la pantalla ya sea textual o gráficamente utilizando un gestor de archivos, el cual es el que provee el acceso a los archivos facilitando realizar operaciones ya sea pegando, copiando o borrando donde el usuario lo requiera.

Cada uno de los sistemas operativos tiene diferente sistema de archivos.

En lo habitual se utilizan dispositivos de almacenamiento de datos que permite el acceso a los datos en forma de cadena, ya sea en columna de un mismo tamaño, a veces llamados sectores cada uno de 512 bytes de longitud.


CARGADORES DE ARRANQUE PARA GNU/LINUX

Cuales son los cargadores de arranque para GNU/Linux

R: Los cargadores de arranque (boot loader en inglés) para el sistema operativo GNU/Linux a la hora de instalarlo se debe configurar el sistema que lo haga, si se tiene mas de un sistema operativo saldrá un menú de elección. En el arranque el BIOS lee el sector de arranque del disco y lo ejecuta; por consiguiente GNU/Linux instala un código al sector de arranque que carga el Kernel o núcleo GNU/Linux iniciando el sistema operativo.

Existen dos gestores de arranque cada uno con sus distribuciones, que son:

  •          LILO: Que significa Linux loader (cargador de Linux)
  •          GRUB: (Grand Unified Boot Loader)


Estos dos gestores se pueden utilizar para arrancar desde disquetes o los discos duros, sus archivos de configuración se editan de la siguiente forma; para LILO es /etc/lilo.conf y para GRUB es /boot/grub/menú.lst. En el proceso se instalación de Linux se da la oportunidad de escoger uno de estos dos gestores de arranque.

También existen otros gestores de arranque para GNU/Linux. El programa o la utilidad Loadlin se utiliza para arrancar GNU/Linux desde un prompt del DOS. Una ventaja de Loadlin frente a LILO y GRUB es que el no sobre escribe el sector de boot del disco duro.

Hay otros cargadores como el syslinux que son utilizados en los arranque del disquete.

Otro que llama la atención pero que no es utilizado por ninguna distribución pero que si es bueno con sus GUIs y que también tiene un magnifico soporte para todos los sistemas operativos es el (Extended Operating System Loader) XOSL.

Todos estos gestores de arranque son para equipos de arquitectura basadas en INTEL y sus compatibles. Mientras que otras arquitecturas tiene su propio gestor de arranque. Una vez el núcleo es iniciado el proceso de arranque en las diferentes arquitecturas coinciden.