lunes, 18 de abril de 2011

la funcion de las particiones: / (raiz), /boot y swap

Swap. Esto, que suena a tortazo bien dado, no es más que un espacio en el disco duro (una partición, aunque también puede ser un archivo) que actúa como si fuera memoria RAM, pero es bastante más lenta, claro está. También se le denomina memoria virtual, y Linux no es el único sistema operativo o, mejor dicho, núcleo, que hace uso de esta técnica. No vamos a entrar en detalles sobre su funcionamiento, pero podemos decir, a modo de ayuda para formarse una idea, que cuando el sistema necesita más memoria libre de la que tiene disponible, guarda unos cuantos datos en el espacio swap del disco y utiliza el que ocupaban en la RAM, volviendo a recuperar los datos guardados cuando los necesite, aún a costa de sustituirlos por otros. Si tuviésemos realmente muy poca memoria RAM la lentitud del sistema puede llegar a ser exasperante, o incluso algo más.


 Raíz :El directorio raíz contiene toda la jerarquía del sistema. No se puede clasificar ya que sus subdirectorios pueden,
o no, ser estáticos o compartibles.


/boot : este directorio contiene todo lo necesario para que funcione el proceso de arranque del sistema , también almacena datos antes de que el kernel comience a ejecutar programas en modo usuario.






Para los siguientes sistemas operativos cuales son los tipos de archivos admitidos: DOS, Windows 95, Windows 98, Windows XP, Windows 7, Linux, MacOS, OS/2, Sun Solaris e IBM AIX

Tipos de sistemas de archivos admitidos



Sistema operativo
Tipos de sistemas de archivos admitidos
Dos
FAT16
Windows 95
FAT16
Windows 95 OSR2
FAT16, FAT32
Windows 98
FAT16, FAT32
Windows NT4
FAT, NTFS (versión 4)
Windows 2000/XP
FAT, FAT16, FAT32, NTFS (versiones 4 y 5)
Linux
Ext2, Ext3, ReiserFS, Linux Swap (FAT16, FAT32, NTFS)
MacOS
HFS (Sistema de Archivos Jerárquico), MFS (Sistemas de Archivos Macintosh)
OS/2
HPFS (Sistema de Archivos de Alto Rendimiento)
SGI IRIX
XFS
FreeBSD, OpenBSD
UFS (Sistema de Archivos Unix)
Sun Solaris
UFS (Sistema de Archivos Unix)
IBM AIX
JFS (Sistema Diario de Archivos)


En  realidad, la elección de un sistema de archivos depende en primer lugar del sistema operativo que esté usando. Generalmente, cuanto más reciente sea el sistema operativo, mayor será el número de archivos que admita. Por esto, se necesita contar con FAT16 en DOS y en las primeras versiones de Windows 95.
Empezando por Windows 95 OSR2, usted puede elegir entre los sistemas de archivos FAT16 y FAT32. Si el tamaño de la partición es mayor a 2GB, se excluyen los sistemas de archivos FAT y usted necesitará usar el sistema FAT32 (o modificar el tamaño de la partición).
Por debajo de este límite, se recomienda FAT16 para particiones con una capacidad menor a 500Mb. De lo contrario, es preferible usar FAT32.
En el caso de Windows NT (hasta la versión 4) usted puede elegir entre el sistema FAT16 y NTFS. No se admite FAT32. Por lo general, se recomienda el sistema NTFS ya que brinda una mayor seguridad y un mejor rendimiento que el sistema FAT. Actualmente, Microsoft recomienda el uso de una partición de tipo FAT pequeña (de entre 250 y 500MB) para el sistema operativo, para poder iniciar el sistema desde un disquete DOS de arranque en caso de que ocurra una catástrofe, y el uso de una segunda partición para almacenar sus datos.
En Windows NT5, hay muchas más opciones ya que acepta particiones FAT16, FAT32 y NTFS. Nuevamente, se recomienda el sistema de archivos más reciente (NTFS 5), ya que ofrece muchas más opciones que los sistemas FAT. Por las mismas razones mencionadas anteriormente, aún puede elegir una partición del tipo FAT.

diferencia entre GNU Hurd y GNU Mach

GNU Hurd es un conjunto de programas servidores que simulan un núcleo Unix que establece la base del sistema operativo GNU. El Proyecto GNU lo ha estado desarrollando desde 1990 como software libre, distribuyéndolo bajo la licencia GPL.
Hurd intenta superar los núcleos tipo Unix en cuanto a funcionalidad, seguridad y estabilidad, aun manteniéndose compatible con ellos. Esto se logra gracias a que Hurd implementa la especificación POSIX (entre otras), pero eliminando las restricciones arbitrarias a los usuarios.


Explique por qué Linux es llamado GNU/LINUX

La FSF argumenta el uso del término GNU/Linux porque GNU fue un proyecto de larga trayectoria para desarrollar un sistema operativo libre, del cual el núcleo solo fue una pieza. Los defensores del término Linux argumentan que los usuarios y los desarrolladores que han escogido de forma notable mantener este nombre se debe a que es más corto, aunque reconocen que GNU es el más grande contribuyente.
Un sistema operativo basado en GNU/Linux tiene muchos componentes, incluyendo el núcleo Linux y los programas desarrollados por el proyecto GNU, también cantidades substanciales de software como X Window System hecho por terceros.


la diferencia entre software libre, software gratuito y software de dominio público

El software libre
 es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado y redistribuido libremente. Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.



software gratuito
se le puede llamar software gratuito a aquel que podemos acceder gratuitamente, sin previo pago.

Al mismo tiempo esta  protegido por leyes de derechos de autor que permite al usuario publicar versiones modificadas como si fueran propiedad de este último.






El software de dominio público :

no está protegido por las leyes de derechos de autor y puede ser copiado por cualquiera sin costo alguno. Algunas veces los programadores crean un programa y lo donan para su utilización por parte del público en general. Lo anterior no quiere decir que en algún momento un usuario lo pueda copiar, modificar y distribuir como si fuera software propietario. 







Cuál es la vulnerabilidad del núcleo de Windows vista

La vulnerabilidad se encuentra en el sistema de red cuando se envían solicitudes a la API “iphlpapi.dll”. El error está comprobado en VistaUltimate y Enterprise y según los investigadores “es muy probable que afecte al resto de versiones de 32 y 64 bits”. Windows Xp no está afectado, según explican.


El exploit puede ser usado para apagar la computadora o provocar la pérdida de conectividad de la Red usando ataques de denegación de servicio (DoS). Aunque se necesitan permisos de administrador para aprovechar la vulnerabilidad, la misma podría ser explotada mediante envío de paquetes DHCP sin permisos de administración, según explican desde el grupo de seguridad austriaco, que informó que llevaban trabajando desde el mes pasado con responsables del “Microsoft Security Response Center” para “ubicar, clasificar y corregir la vulnerabilidad”.


Una solución que en principio no llegará hasta la publicación del segundo paquete de servicio de Windows Vista, aunque no se conoce que lavulnerabilidad haya sido explotada.

nomenclatura del kernel en Linux

Originalmente Linux era monolítico, es decir, como ya hemos comentado, todas las funcionalidades estaban incluidas en el código del núcleo y era necesario recompilarlo para soportar un nuevo dispositivo, etc. Sin embargo, esta idea no encaja con la enorme diversidad de componentes hardware que existen. Raro es que todo el mundo posea los mismos componentes en su ordenador y Linux, como buen sistema operativo Unix pretende obtener todo el partido de la máquina en la que se está ejecutando. Debido a todo esto, el diseño fue migrando paulatinamente a un modelo basado en módulos. Se procura así que el núcleo sea lo más ligero posible y cuando sea necesario añadir una nueva funcionalidad como soportar una nueva tarjeta de sonido, sólo haya que compilar el módulo y añadirlo al núcleo.


El kernel de Linux (Linux) está escrito en C y es código abierto licenciado bajo licencia GNU/GPL (excepto el planificador de recursos, el cual pertenece a Linus Torvalds y al resto de programadores que se han ocupado de dicha parte), con lo cual tenemos acceso al código para su estudio y/o modificación.



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.