lunes, 18 de abril de 2011

el núcleo de Windows 7

Windows 7 es el nombre seguramente provisional con el que han bautizado en Redmon como sucesor del actual Windows Vista, y el cual mostró su por ahora escaso potencial durante una charla en la Universidad de Illinois de la mano del encargado de diseño y desarrollo de los sistemas operativos Windows, Eric Traut.





El desarrollador ejecutó lo que llamó “Mini Win” formado únicamente por el kernel, sin interface gráfica y sin florituras ni añadidos. Esto es, que ahora mismo ocupa 25MB de espacio y 40MB de RAM, y tardó 20 segundos en arrancar.
En la demostración se ejecutaron tareas muy simples, pero se hizo una declaración de intenciones que no pintan nada bien. La primera es que salta a la Vista (valga la redundancia) que el actual sistema operativo de Microsoft es como una ballena con un problema de sobrepeso mórbido, y que quieren poner a dieta  el Windows 7. Esto significa que le van a quitar muchas cosas, y ahora falta saber qué le van a quitar que para todos los usuario sea prescindible. El segundo punto oscuro es que el próximo sistema operativo va a salir con toda la gama de versiones, con lo que implica el que si quieres más, paga más, con todos los riesgos que eso comporta si lo comparamos con el exitoso Windows Vista.
Windows 7 está previsto que salga a la luz en 2010; otra cosa es que se cumpla esta previsión.






comparación entre el núcleo de Linux y Windows

comparación entre el núcleo de Linux y Windows




·         las llamadas del sistema: mientras Linux tiene 320 Windows tiene más de 1000. A simple vista no se puede saber cuál es mejor, pero el hecho de que los desarrolladores no se suelan quejar de las llamadas del sistema Linux “tiene lo que necesitan”.
El tamaño en líneas de código en Windows aumenta en cada versión (actualmente 10 millones de líneas) Linux en cada versión mete soporte para mucho hardware sin que aumente el número tanto (4 millones actualmente) si incluimos los drivers los números se disparan y la diferencia también (Windows 25 millones, Linux 8).
 El tamaño resultante del kernel (sin drivers/módulos) también es exagerada: Linux 1.3 MB y Windows 4.6MB
·         numero de arquitecturas soportadas: Windows  soporta x86(los ordenadores de toda la vida), AMD64 y IA-64. Linux soporta esas y además otras 14 arquitecturas sin contar consolas
·         limitaciones para hardware: el kernel Linux soporta 1024 CPUs de 32 o 64 bits frente a las 4-32 y 4-64 de Windows.
·         Linux soporta en memoria 64 GB de RAM de 32 bits PAE o 1024 GB – 8.589.934.592 GB de RAM de 64 bits frente a Windows que se queda con 1GB/<4GB y hasta 128GB( según versiones respectivamente)

Visión General de la Arquitectura de Windows y deLinux

Visión General de la Arquitectura de Windows



Un Sistema Operativo serio, capaz de competir en el mercadocon 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. Algunas de estas son:


·         Que corra sobre múltiples arquitecturas de hardware y plataformas.



·         Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOSy Microsoft Windows 3.1
.


·         Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).




·         Reúna los requisitos del gobierno para la seguridad del Sistema Operativo.


·         Sea fácilmente adaptable al mercado global soportandocodigo Unicode.




·         Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez.


·         
Sea un Sistema Operativo de memoria virtual.






Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft 
fue el diseño y creación de un Sistema Operativo extensible, portable, fiable, adaptable, 
robusto, seguro y compatible con sus versiones anteriores (Windows NT).
Y para ello crearon la siguiente arquitectura modular:



Arquitectura de linux

Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario. A diferencia de los núcleos 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 continúa funcionando sin interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden ser prevolcados (detenidos momentáneamente por actividades más importantes) bajo ciertas condiciones. Esta habilidad fue agregada para gestionar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento simétrico.

  Directorios de Linux
/bin
/boot
/dev
/etc
/home
/lib
/mnt  /proc
/root
/sbin
/tmp
/usr
/var





¿Qué es un sistema de archivos?

Es un sistema de archivos de almacenamiento y organización de archivos y datos que estos contienen para ser más fácil la tarea de encontrarlos  y accederlos. Éste es el propósito del sistema de archivos.
un ejemplo es el ext2 que es un sistema de archivos admitido por GNU/linux.



las funciones del núcleo o kernel

Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los procesos, las entradas/salidas y
proponer un interfaz entre el espacio núcleo y los programasdel espacio del usuario. Aparte de las funcionalidades   básicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios) necesariamente no son proporcionados por un núcleo de sistema de explotación. Pueden establecerse estas funciones del sistema de explotación tanto en el espacio usuario como en el propio núcleo. Su implantación en el núcleo se hace en el único objetivo de mejorar los resultados.
En efecto, según la concepción del núcleo, la misma función llamada desde el espacio usuario o el espacio núcleo tiene un coste temporal obviamente diferente. Si esta llamada de función es frecuente, puede resultar útil integrar estas
funciones al núcleo para mejorar los resultados.



domingo, 17 de abril de 2011

Cargador de arranque en linux y GNU

LILO: es un gestor de arranque que permite elegir, entre sistemas operativos Linux y otras plataformas, con cual se ha de trabajar al momento de iniciar un equipo con más de un sistema operativo disponible.

LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o desde un disco flexible externo. LILO permite seleccionar entre 16 imágenes en el arranque. LILO puede instalarse también en el master boot record (MBR).


GRUB: En computación es un administrador o gestor de arranque múltiple, desarrollado por el proyecto GNU, que se usa comúnmente para iniciar uno de dos o más sistemas operativos instalados en un mismo equipo. Se usa principalmente en sistemas operativos GNU/Linux. El Sistema Operativo Solaris ha usado GRUB como gestor de arranque en sistemas x86. 


convenciones para nombrar los discos

Linux usa un método para nombrar particiones no tiene en cuenta el tipo de las 
mismas (a diferencias de otros UNIX) y que las nombra de acuerdo al disco en el que están ubicadas.

Nombramiento de discos:

1.     Los discos del IDE primario se denominan /dev/hda y /dev/hdb (en el orden master y slave)

2.     Los discos de la interfaz secundaria se se denominan /dev/hdc y /dev/hdd (en el orden master y slave)

3.     Si posee otras interfaces IDE los dispositivos se denominarán /dev/hde, /dev/hdf, etc.

4.     Los discos SCSI o SATA se denominan /dev/sda, /dev/sdb, etc.

5.     Los CD-ROM SCSI se denominan /dev/scd0, /dev/scd1, etc.

Nombramiento de particiones
Las particiones se nombran en base al disco en el cual se encuentran.
·         Las particiones primarias o extendidas se denominan desde: 

/dev/hdX1 a  /dev/hdX4 o /dev/sdX1 a  /dev/sdX4 o
·       

Las particiones lógicas, si existen, se denominan /dev/hdX5, /dev/hdX6, etc. o  /dev/sdX5, /dev/sdX6, etc.