lunes, 18 de abril de 2011

Tipos de archivos admitidos: DOS, Windows 95, Windows 98, Windows XP, Windows 7, Linux, MacOS, OS/2, Sun Solaris e IBM AIX


Sistema operativo
Tipos de sistemas de archivos admitidos
Dos
FAT16
Windows 95
FAT16
Windows95 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)

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. 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.

GNU Mach

Es el micronúcleo oficial del Proyecto GNU. Como cualquier otro micronúcleo, su función principal es realizar labores mínimas de administración sobre el hardware para que el grueso del sistema operativo sea operado desde el espacio del usuario.

En la actualidad el GNU Mach sólo funciona en máquinas de arquitectura Intel de 32 bits  y su uso más popular es servir de soporte a Hurd, el proyecto que pretende reemplazar a los núcleo tipo Unix en el sistema operativo libre GNU.

Explique por qué Linux es llamado GNU/LINUX...


El nombre GNU/Linux, viene de las herramientas básicas del sistema operativo creadas por el proyecto GNU.  La contribución de GNU es la razón por la que existe controversia a la hora de utilizar Linux o GNU/Linux para referirse al sistema operativo formado por las herramientas de GNU y el núcleo Linux en su conjunto.

GNU/Linux es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a Unix denominado Linux, que es usado con herramientas de sistema GNU. Su desarrollo es uno de los ejemplos más prominentes de software libre; todo su código fuente puede ser utilizado, modificado y redistribuido librementepor cualquiera bajo los términos de la GPL (Licencia Pública General de GNU, en inglés: General Public License) y otra serie de licencias libres.



A pesar de que Linux (núcleo) es, en sentido estricto, el sistema operativo,2 parte fundamental de la interacción entre el núcleo y el usuario (o los programas de aplicación) se maneja usualmente con las herramientas delproyecto GNU o de otros proyectos como GNOME. Sin embargo, una parte significativa de la comunidad, así como muchos medios generales y especializados, prefieren utilizar el término Linux para referirse a la unión de ambos proyectos.

Cuál es la diferencia entre software libre, software gratuito y software de dominio público?



Definición de Software Libre

El Software Libre es un tipo particular de software que le permite al usuario el ejercicio de cuatro libertades básicas:

·         Ejecutarlo con cualquier propósito
·         Estudiar como funciona y adaptarlo a sus necesidades
·         Distribuir copias
·         Mejorarlo, y liberar esas mejoras al publico

Con la única restricción del copyleft (o sea, cualquiera que redistribuya el software, con o sin cambios, debe dar las mismas libertades que antes), y con el requisito de permitir el acceso al código fuente (imprescindible para ejercer las libertades 1 y 3)

Definición de Software gratuito

Es aquel software cuyo costo de adquisición es nulo, es decir, no hace falta efectuar un desembolso de dinero para poder usarlo. Software gratuito

Definición de Software de dominio publico

Es el software que no esta protegido por ningún tipo de licencia. Cualquiera puede tomarlo y luego de modificarlo, hacerlo propio.

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



    - Se acaba de descubrir una nueva vulnerabilidad de seguridad en Windows Vista que afecta a la capa de red. Este problema de seguridad en Vista puede corromper la memoria mediante un buffer overflow provocando sendos pantallazos azules.

      - Además de lo comentado anteriormente, esta vulnerabilidad podría ser usada para ejecutar código (aunque parece improbable ya que se necesitarían permisos de administrador) y lo que puede ser más peligroso aún, activar este bug de forma remota.
        
  - De momento Microsoft no tiene previsto lanzar un parche para solucionar esta vulnerabilidad, ya que ha comentado que implementará la solución a este problema de seguridad de Vista en su próximo Service Pack (Vista SP 2)

Explique la nomenclatura del kernel en Linux...

El kernel de Linux (Linux) está escrito en el disco local 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.


Lo podemos encontrar en diferentes versiones, ahora explicaremos la nomenclatura de éste.
La nomenclatura del Kernel se divide en 3 campos separados por un punto (.), estos son:

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

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



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

Explique el núcleo de Windows 7 (MinWin)


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 usuarios 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.

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


NUCLEO LINUX

El núcleo Linux es un núcleo (también denominado Kernel) de sistema operativo libre tipo Unix.3 Es uno de los principales ejemplos de software libre y código abierto. Linux está licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el mundo. El desarrollo del día a día tiene lugar en la Linux Kernel Mailing List.

El núcleo Linux fue concebido por el entonces estudiante de ciencias de la computación finlandés, Linus Torvalds, en 1991. Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros proyectos de software libre para su uso en el nuevo sistema operativo. El núcleo Linux ha recibido contribuciones de miles de programadores.

Normalmente Linux se utiliza junto a un empaquetado de software, llamado distribución Linux.

NÚCLEO DE WINDOWS


El modo núcleo de la línea de Windows NT está compuesto por subsistemas capaces de pasar peticiones de E/S a los controladores apropiados usando el gestor de E/S. Dos subsistemas crean la capa del modo usuario de Windows 2000: el subsistema de Entorno (ejecuta aplicaciones escritas para distintos tipos de sistemas operativos), y el subsistema Integral (maneja funciones específicas de sistema de parte del subsistema de Entorno). El modo núcleo en Windows 2000 tiene acceso total al hardware y a los recursos del sistema de la computadora. El modo núcleo impide a los servicios del modo usuario y las aplicaciones acceder a áreas críticas del sistema operativo a las que no deberían tener acceso.

El núcleo también es responsable de la inicialización de los controladores de dispositivos al arrancar. Hay tres niveles de controladores en el modo núcleo: controladores de alto nivel, controladores intermedios y controladores de bajo nivel. El Modelo de controladores de Windows (en inglés Windows Driver Model, WDM) se encuentra en la capa intermedia y fue diseñado principalmente para mantener la compatibilidad en binario y en código fuente entre Windows 98 y Windows 2000. Los controladores de más bajo nivel también son un legado de los controladores de dispositivos de Windows NT que controlan directamente un dispositivo o puede ser un bus hardware


¿Cuál es la arquitectura de Windows y de Linux?...


Linux es un núcleo monolítico híbrido, donde sus controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo, 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 sistema operativo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones. 
Así mismo, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden detenidos momentáneamente por actividades más importantes bajo ciertas condiciones. 
Esta habilidad fue agregada para manejar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento Simétrico. 
A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos son fácilmente configurables como Loadable Kernel Modules, y se pueden cargar o descargar mientras se está corriendo el sistema
.
Arquitectura de Windows.
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. 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-DOS y Microsoft Windows 3.1.
·  Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).
·  Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo.
·  Sea fácilmente adaptable al mercado global soportando código 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:



La cual está compuesta por una serie de componentes separados donde cada cual es responsable de sus funciones y brindan servicios a otros componentes. Esta arquitectura es del tipo cliente – servidor ya que los programas de aplicación son contemplados por el sistema operativo como si fueran clientes a los que hay que servir, y para lo cual viene equipado con distintas entidades servidoras.
Ya creado este diseño las demás versiones que le sucedieron a Windows NT fueron tomando esta arquitectura como base y le fueron adicionando nuevos componentes.
Uno de las características que Windows comparte con el resto de los Sistemas Operativos avanzados es la división de tareas del Sistema Operativo en múltiples categorías, las cuales están asociadas a los modos actuales soportados por los microprocesadores. Estos modos proporcionan a los programas que corren dentro de ellos diferentes niveles de privilegios para acceder al hardware o a otros programas que están corriendo en el sistema. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario).
Uno de los objetivos fundamentales del diseño fue el tener un núcleo tan pequeño como fuera posible, en el que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que ejecutar en modo privilegiado (modo kernel). El resto de las llamadas se expulsarían del núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el núcleo resultaría una base compacta, robusta y estable.
El Modo Usuario es un modo menos privilegiado de funcionamiento, sin el acceso directo al hardware. El código que corre en este modo sólo actúa en su propio espacio de dirección. Este usa las APIs (System Application Program Interfaces) para pedir los servicios del sistema.
El Modo Kernel es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo usuario. La parte de WINDOWS que corre en el modo Kernel se llama Ejecutor de Windows, que no es más que un conjunto de servicios disponibles a todos los componentes del Sistema Operativo, donde cada grupo de servicios es manipulado por componentes que son totalmente independientes (entre ellos el Núcleo) entre sí y se comunican a través de interfaces bien definidas.
Todos los programas que no corren en Modo Kernel corren en Modo Usuario. La mayoría del código del Sistema Operativo corre en Modo Usuario, así como los subsistemas de ambiente (Win32 y POSIX que serán explicados en capítulos posteriores) y aplicaciones de usuario. Estos programas solamente acceden a su propio espacio de direcciones e interactúan con el resto del sistema a través de mensajes Cliente/Servidor.


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


·         Creación de procesos, asignación de tiempos de atención y sincronización.

·         Asignación de la atención del procesador a los procesos que lo requieren.

·         Administración de espacio en el sistema de archivos, que incluye: acceso, protección y administración de usuarios; comunicación entre usuarios y entre procesos, y manipulación de E/S y administración de periféricos.
·         Supervisión de la transmisión de datos entre la memoria principal y los dispositivos periféricos.

¿Qué es un sistema de archivos?...



El sistema de archivos es un conjunto de programas que se encargan de realizar todas las operaciones relacionadas con el almacenamiento y manipulación de los archivos. Son las funciones que tratan con los dispositivos físicos de almacenamiento del computador, como el disco duro, funciones como escribir, leer, borrar.

Cuales son los cargadores de arranque para GNU/Linux...


      Un cargador de arranque (boot loader en inglés) es un programa diseñado exclusivamente para cargar un sistema operativo en memoria. La etapa del cargador de arranque es diferente de una plataforma a otra. 

Como en la mayoría de arquitecturas, este programa se encuentra en el MBR, el cual es de 512 bytes, no es suficiente para cargar en su totalidad un sistema operativo. Por eso, el cargador de arranque consta de varias etapas. 

Para las plataformas x86, el BIOS carga la primera etapa del cargador de arranque (típicamente una parte de LILO o GRUB). El código de esta primera etapa se encuentra en el sector de arranque (o MBR). La primera etapa del cargador de arranque carga el resto del cargador de arranque. 

Los cargadores de arranque modernos típicamente preguntan al usuario cual sistema operativo (o tipo de sesión) desea inicializar. 

GRUB 

GRUB se carga y se ejecuta en 4 etapas: 

  
La primera etapa del cargador la lee el BIOS desde el MBR

      - La primera etapa carga el resto del cargador (segunda etapa). Si la segunda etapa está en un dispositivo grande, se carga una etapa intermedia (llamada etapa 1.5), la cual contiene código extra que permite leer cilindros mayores que 1024 o dispositivos tipo LBA. 

      -  La segunda etapa ejecuta el cargador y muestra el menú de inicio de GRUB. Aquí se permite elegir un sistema operativo junto con parámetros del sistema. 

      - Cuando se elige un sistema operativo, se carga en memoria y se pasa el control. 
GRUB soporta métodos de arranque directo, arranque chain-loading, LBA, ext2 y hasta "un pre-sistema operativo totalmente basado en comandos". Tiene tres interfaces: un menú de selección, un editor de configuración y una consola de línea de comandos. 

Dado que GRUB entiende los sistemas de archivos ext2 y ext3 y además provee una interfaz de línea de comandos, es más fácil rectificar o modificar cuando se malconfigura o se corrompe. La nueva versión 2 de GRUB, soporta sistema de archivos ext4. 

LILO 

LILO es más antiguo, es casi idéntico a GRUB en su proceso, excepto que no contiene una interfaz de línea de comandos. Por lo tanto todos los cambios en su configuración deben ser escritos en el MBR, y reiniciar el sistema. Un error en la configuración puede arruinar el proceso de arranque a tal grado de que sea necesario usar otro dispositivo que contenga un programa que sea capaz de arreglar ese defecto. 

De forma adicional, LILO no entiende sistema de archivos, por lo tanto no hay archivos y todo se almacena en el MBR directamente. 

Cuando el usuario selecciona una opción del menú de carga de LILO, dependiendo de la respuesta, carga los 512 bytes del MBR para sistemas como Microsoft Windows, o la imagen del kernel Linux. 

Loadlin 

Otra forma de cargar GNU/Linux es desde DOS o Windows 9x, dado que ambos sistemas permiten ser reemplazados, se puede reemplazar por el kernel Linux sobre el sistema operativo ya cargado. Esto puede ser útil en el caso en que el hardware está solo disponible para DOS y no para GNU/Linux, dado a cuestiones de secretos industriales y código propietario. Sin embargo, esta tediosa forma de arranque ya no es necesaria en la actualidad ya que GNU/Linux tiene drivers para multitud de dispositivos hardware, aun así, esto fue muy útil en el pasado. 

Otro caso es cuando GNU/Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para el arranque. Entonces, DOS o Windows pueden cargar el driver apropiado para dicho dispositivo superando dicha limitación del BIOS, y a partir de entonces cargar el núcleo Linux. 

En linux cuales son las convenciones para nombrar los discos...


*      Los dispositivos IDE maestro y esclavo primarios, ya sean discos rígidos, unidades de CD-ROM o cualquier otro se denominan /dev/hda y /dev/hdb respectivamente

*       En la interfaz secundaria, se denominan /dev/hdc y /dev/hdd para el maestro y el esclavo respectivamente; si su computadora contiene otras interfaces IDE (por ejemplo, la interfaz IDE presente en algunas tarjetas SoundBlaster), los dispositivos se denominarán /dev/hde, /dev/hdf, etc.
*       Los discos SCSI se denominan /dev/sda, /dev/sdb, etc. en el orden en que aparezcan en la cadena SCSI (dependiendo de los ID incrementalmente). Los CD-ROM SCSI se denominan /dev/scd0, /dev/scd1, siempre en el orden de aparición de los mismos en la cadena SCSI

*       Las particiones se nombran en base al disco en el cual se encuentran, de la siguiente manera (en el ejemplo, usamos el caso de particiones en un disco IDE maestro primario):

*       Las particiones primarias (o extendidas) se denominan /dev/hda1 a /dev/hda4 cuando están presentes;
*       Las particiones lógicas, si existen, se denominan /dev/hda5, /dev/hda6, etc. en el orden de aparición de las mismas en la tabla de particiones lógicas.

3 Tipos de Núcleo...


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 (informatica) 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 s monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.

 1. Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.
2.  Los núcleos híbridos (micronúcleos modificados) 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.
3. 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.

Qué es el núcleo y cual es la función?...


Es la parte más importante de un sistema operativo. Es el software encargado de gestionar el hardware (microprocesador, memoria  RAM, etc.) del ordenador y los periféricos conectados a él, de proveer al resto de los programas acceso al hardware y de gestionar la ejecución de todos los programas. En resumen, se encarga de comunicar el software con el hardware, además de controlarlos.

Distribución de los 512 bytes del sector de arranque en un disco duro...

GRUB

En computación, el GRand Unified Bootloader (GRUB); en español: Gran Gestor de Arranque Unificado, es un gestor de arranque múltiple que se usa comúnmente para iniciar dos o más sistemas operativos instalados en un mismo ordenador.Técnicamente, un gestor multiarranque es aquel que puede cargar cualquier archivo ejecutable y que contiene un archivo de cabecera multiarranque en los primeros 8 KB del archivo. 

Proceso de inicio de GRUB

  1. El MBR contiene la fase 1 de GRUB. Como el MBR es pequeño (512 bytes), la fase 1 sólo carga la siguiente fase del GRUB (ubicado físicamente en cualquier parte del disco duro). La fase 1 puede cargar ya sea la fase 1.5 o directamente la 2

Que es bootstrap...


El bootstrap o estimación de Monte Carlo es un método de remuestreo no paramétrico propuesto por Bradley Efron en 1979. La idea central de este método es simple; dada una muestra aleatoria con n observaciones dicha muestra es tratada como si fuera toda la población de las cuál extraeremos B muestras con reemplazamiento.

Para cada remuestreo se calculará el valor del estimador bootstrap que se utilizará para estimar la variabilidad muestral. Tal y como los estudios teóricos han demostrado, este enfoque proporciona una buena aproximación de la distribución de los estimadores, lo cual permitirá describir algunas de sus propiedades muestrales, así como el cálculo de intervalos de confianza y la realización de contrastes de hipótesis.
El procedimiento bootstrap es útil para:
- Valorar el sesgo y el error muestral de un estadístico calculado a partir de una muestra.
- Establecer un intervalo de confianza para un parámetro estimado.
- Realizar una prueba de hipótesis respecto a uno o más parámetros poblacionales.

Adicionalmente, el bootstrapping tiene varios métodos para estimar intervalos de confianza:

• Percentile Bootstrap
• Standard Bootstrap
• Bootstrap-t (“Pivotal Bootstrap”)
• Bias-corrected (BCa) Bootstrap

De que esta compuesto el MBR?...


El MBR está compuesto por código ejecutable y las entradas de la Tabla de Particiones.  

Estructura del Master Boot Record
Offset
Naturaleza
size
+00h
Código ejecutable
varía
+1BEh
1a entrada de tabla de particiones
16 bytes
+1CEh
2a entrada de tabla de particiones
16 bytes
+1DEh
3a entrada de tabla de particiones
16 bytes
+1EEh
4a entrada de tabla de particiones
16 bytes
+1FEh
Marcador ejecutable (AA55h)
2 bytes




Los virus que infectan al Master Boot Record, por lo general lo reemplazan con su código viral e inutilizan en forma lógica de disco duro y el usuario afectado tendrá que formatear y cargar nuevamente su Sistema Operativo y los demás programas. A menos que se cuente con un diskette de Emergencia.
En los sistemas operativos D.O.S. y Windows, se puede crear el MBR con el comando de FDISK. Debido a que el MBR se ejecuta cada vez se inicia el sistema, este clase de virus son de extremadamente peligrosidad. Los virus de MBR pueden incorporar un sistema a través de un diskette que esté instalada en la unidad A: al momento del Inicio, e inclusive si el diskette no es uno de "arranque" también puede infectar el MBR.