domingo, 17 de abril de 2011

TIPOS DE NÚCLEOS


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.
Hay cuatro grandes tipos de núcleos:
  • Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.
  • 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.
  • Los núcleos híbridos (micro núcleos modificados) son muy parecidos a los micro núcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente. Son los que reciben o dan salida a señales analógicas que son procesadas digitalmente. Esto puede realizarse gracias a los convertidores analógicos/digitales que, como su nombre indica, convierte señales analógicas a digitales.
  • 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.

SISTEMAS OPERATIVOS EN LA ACTUALIDAD


El más utilizado de los sistemas operativos es el windows. El Windows XP es muy utilizado por muchos usuarios debido a su compatibilidad con prácticamente todos los programas existentes y el Windows Vista es el sistema operativo con el que vienen las computadoras nuevas (todas las computadoras de apartir de como el 2006 vienen con el vista) y algunas de estas PC se les tiene que dejar siempre de sistema operativo el Windows Vista debido a los Drivers que requieren y también tiene compatibilidad con muchísimos programas (aunque el sistema operativo Vista es mucho más pesado que el XP).

Tambien podemos encontrar :



Windows xp

Windows vista

Windows 2000

linux

Mac OS X

Simbian OS

PROGRAMAS DEL SISTEMA OPERATIVOS


Los programas que constituyen el sistema operativo son desarrollados generalmente por los fabricantes de computadoras y proporcionados a los compradores. Están diseñados para hacer el mejor uso de los componentes de cada sistema de computación.Pueden existir diferentes sistemas operativos incluso en los sistemas de un solo fabricante.

El conjunto de programas de control del sistema operativo trabaja en forma conjunta y está diseñado para maximizar la eficacia total del sistema de cómputo.

Este sistema supervisa todas las actividades, recabando programas especiales de sistema cuando sea necesario, asignando recursos del sistema y programando los trabajo de tareas para la operación continua del sistema.

FUNCIONES DEL SISTEMA OPERATIVO

ADMINISTRACION DE TRABAJOS

Cuando existen varios programas en espera de ser procesados, el sistema operativo debe decidir el orden de procesamiento de ellos, así como asignar los recursos necesarios para su proceso.



ADMINISTRACION DE RECURSOS

Mediante está función el sistema operativo esta en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos están disponibles y cuales están siendo utilizados, por cuanto tiempo y por quien, etc.



CONTROL DE OPERACIONES DE ENTRADA Y SALIDA

Mediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante cuánto tiempo y en que momento.



ADMINISTRACION DE LA MEMORIA

Supervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria asignará a un proceso y en que momento, además libera la memoria cuando ya no es requerida para el proceso.



RECUPERACION DE ERRORES

El sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de información hacia y desde los dispositivos de entrada / salida.



PROGRAMAS DE PROCESO

El sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de los trabajos, se conocen también como utilerías y se pueden clasificar en tres tipos:



A) UTILERIAS DEL SISTEMA

Se ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos usados por el sistema. Son de uso interno.



B) UTILERIAS PARA ARCHIVOS

Manejan información de los archivos tales como imprimir, clasificar, copiar, etc.



C) UTILERIAS INDEPENDIENTES

Realizar funciones que se relacionan con la iniciación de dispositivos de Entrada/Salida, carga del sistema operativo, etc.

CLASIFICACION DE LOS SISTEMAS OPERATIVOS

 




Sistemas  operativos  monotarea: 


Sólo   pueden  manejar  un  proceso,  es  decir ,las  tareas deben  ejecutarse  una  tras  otra.  Por  ejemplo,  el  sistema   DOS  es   monotarea, al   no   poder  ejecutar  varias   aplicaciones  simultáneamente,   aunque   existieron  varios intentos  de  añadirle esta capacidad.

Sistemas operativos monousuario:

Sólo  pueden  atender  a  un único usuario, que es el que haya iniciado sesión en el sistema. Esto ocurre en el sistema operativo DOS e incluso  en  el actual Windows XP y sus predecesores.  

Sistemas operativos multiusuario:

Pueden  atender  simultáneamente  las  peticiones de dos más  usuarios,  que  comparten  los recursos  del  sistema  informático  al  que  se  conectan.

Este  tipo  de  sistemas  se  emplean  especialmente  en  redes,  ya  que  cada  usuario  necesita de  un terminal  independiente  para  conectarse  con  el  equipo  que  tiene  instalado  el  sistema.Esto ocurre con Linux o la familia Windows 2003 y predecesores.

ORGANIZACION DE UN SISTEMA OPERATIVO


Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar.

PROCESO (INFORMATICO)





Un proceso es un programa en ejecución, los procesos son gestionados por el sistema operativo y están formados por:



  • Las instrucciones de un programa destinadas a ser ejecutadas por el Microprocesador.




  • Su estado de ejecución en un momento dado, esto es, los valores de los registros de la  CPUpara dicho programa.



  • Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.



  • Otra información que permite al sistema operativo su planificación.


  •  Proceso referido a las instrucciones que ejecutará el mircroprocesador mientras lee un programa determinado. Esto también implica a la memoria reservada y a sus contenidos, el estado de ejecución en determinado momento, y la información que permite al sistema operativo planificar.

    ESTADOS DE PROCESO: EJECUCION, LISTO, ESPERA, NUEVO Y TERMINADO

    ESTADOS DE PROCESO



    En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas  que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.

    El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo.


    MODELO DE CINCO ESTADOS :

    El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede suceder que no se encuentren listos, o que se deba esperar algún suceso antes de continuar, como una operacion de Entrada/Salida. Es por esto que se necesita un estado donde los procesos permanezcan bloqueados esperando hasta que puedan proseguir. Se divide entonces al estado No ejecución en dos estados: Listo y Bloqueado. Se agregan además un estado Nuevo y otro Terminado.

    El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución.
    De esta explicación se desprende que es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria. Además los procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.

    MASTER BOOT RECORD (MBR)



     


    El registro principal de arranque o registro de arranque maestro como también se conoce (del inglés Master boot record cuyo acrónimo es MBR), es un sector de 512 bytes al principio del disco duro que contine una secuencia de comandos necesarios para cargar un sistema operativo. Es decir, es el primer registro del disco duro, el cual contiene un programa ejecutable y una tabla donde están definidas las particiones del disco duro.



    ¿ DE QUE ESTA FORMADO EL MBR ?


    EL MBR ESTA FORMADO POR :






    Esta compuesto por un código ejecutable y las entradas de la tabla de particiones.
    El MBR es ejecutado a cada inicio del sistema operativo y esta situado en el primer sector absoluto  (Track 0, sector 1, head 0 ) del disco duro en un PC y rastrea la tabla de particiones para transmitir al sector de arranque (BOOT).

    Cuando un dispositivo de almacenamiento de datos se ha particionado con Tabla de Particiones GUID, el Master Boot Record no contiene la tabla de particiones (aunque contiene modelos de estructuras de datos, una protección del MBR frente a programas que sólo entienden el esquema de la Tabla de Particiones del MBR para que no creen particiones en el disco) y se usa poco debido a lo que puede afectar al particionado de disco

    BOOTSTRAP



    El protocolo nos accede los ordenadores sin disco  para obtener una direccion IP antes de cargar un sistema operativo avanzado.
    En informática, el bootstrapping hace referencia al proceso donde un sistema simple activa otro sistema más complejo para servir al mismo propósito.

    El término suele aplicarse especialmente al proceso de inicio de una computadora (buteo), en donde un mecanismo es necesario para ejecutar el programa que es responsable de ejecutar los programas de software (el sistema operativo).
    BOOTSTRAP


    Suele referirse al programa de arranque de un sistema operativo o proceso de inicio de cualquier ordenador y originalmente esta definido en el RFC 951. Se ejecutan  tras el porceso  de POST de la BIOS .Tambien llamado cargador  de inicializaciono bootstrap loader. 

    DISTRIBUCION DE LOS 515 BYTES DEL SECTOR DE ARRANQUE DEL DISCO DURO

    SECTOR DE ARRANQUE DEL DISCO DURO


    De todos los sectores de una unidad de disco, el primero de la primera cabeza del primer cilincro (CHS  0,0,1), tiene una importancia y significado especial.  Es el sitio al que se dirige la BIOS cuando busca si existe en el sistema un dispositivo cargable (4.3).  Por esta razón se denomina sector de arranque MBR ("Master boot record") o bloque maestro de carga ("Master boot block").  Sus 512 bytes contienen tres bloques con información sobre la arquitectura física y lógica del disco: el  Código maestro de carga  la  Tabla de particiones , y la Firma






    446 Bytes van para la Información primaria del boot loader.



    64 Bytes van distribuidos para la Información de la tabla de partición en los siguientes
    .
     2 Bytes restantes estan dictaminados para la Revisión de validación del MBR.


    EN INFORMATICA. ¿ QUE ES EL NÚCLEO Y CUAL ES SU FUNCION ?

    NÚCLEO Y SU FUNCION


    En informática, el núcleo es la parte principal de un sistema operativo. Es el software es el encargado se facilitar a los distintos programas el acceso seguro al hardware del ordenador o en forma básica es el encargado de gestionar recursos, a travéz de servicios de llamada al sistema.
    como el acceso al harwared  es limitado por lo que hay muchos programas, por eso elnucleo se encarga de decidir a que pograma pued acceder y durante cuanto tiempo. También permite esconder la complejidad y proporcionar un interfaz limpia y uniforme a hardware lo que facilita su uso para el programa.



    FUNCIÓN :


    Cuando arrancas un ordenador con cualquier sistema operativo, el Kernel se carga en memoria y permanece allí hasta que apagas el equipo, realizando funciones básicas como pueden ser:

    • Comunicación entre procesos
    • Control de periféricos
    • Manejo de memoria
    • control de interrupcion

    KERNEL

    El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
    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 ejecucion utilizan.
    • Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador 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 produccion: La version de produccion, era la version estable hasta el momento. Esta version era el resultado final de las versiones de desarrollo o experimentales.
      Cuando el equipo de desarrollo del núcleo experimental, decidia que tenia un núclo estable y con la suficiente calidad, se lanzaba una nueva versión de producción ó estable. Esta versión era la que se debia 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 solian ser inestables y no se debian usar sin saber lo que se hacia.

    CONVENCIONES PARA NOMBRAR LOS DISCOS EN LINUX

    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:
    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.
      .
        
      Dispositivo
      Para el sistema
      Para Windows®
      Para GNU/Linux®
      Formato o tipo


      /dev/hda1

      Primera partición primaria del disco duro



      C:


      /mnt/windows/ 1


      vfat (Windows®)


      /dev/hda5


      Primera partición logica en el disco duro    





      Invisible e inaccesible




              /boot/



      ext2 (Linux®)


      /dev/hda6

      Segunda partición logica en el disco duro



      Invisible e inaccesible



                  /


      ext2 (Linux®)



      /dev/hda7

      Tercera partición logica en el disco duro




      Invisible e inaccesible



          swap
        

         swap (Linux®)


      /dev/hdc > /dev/cdrom

      CDROM como unidad IDE secundaria maestra


             D:



      /mnt/cdrom/



      iso9660


      /dev/hdd4 2

      Zip Drive como unidad IDE primaria esclava

              


              E:



       /mnt/zipdrive/



      vfat (Windows®)

      /dev/fd0 > /dev/floppy

      Unidad de floppy de 3╫ pulgadas

              

               A:


         /mnt/floppy/
         

        auto (vfat/ext2)
      1Desde GNU/Linux® la partición correspondiente para Windows® puede montarse en cualquier punto de montaje deseado.

      2Las unidades Zip Drive IDE/ATAPI siempre utilizan la cuarta partición del dispositivo.

    EL CARGADOR DE ARRANQUE GNU/LINUX

    Para arrancar un sistema Solaris o Linux se pueden emplear diversos medios: instalar un cargador de arranque en el disco duro o en un disco flexible, arrancar desde otro sistema operativo, etc.

    En el caso que nos ocupa hablaremos sólo de los sistemas de arranque que se instalan en disco duro, comentando brevemente sus diferencias y sus características de seguridad.
    Sólo hablaremos de los sistemas de arranque empleados en los PC y de estos sólo entraremos en detalles en los que se emplean con sistemas Linux, el que esté interesado en conocer como funciona el sistema de arranque incluido en la versión de Solaris para Intel tiene un buen documento de referencia en:




    SISTEMA DE ARCHIVOS

    Estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos.
    La mayoría de los sistemas operativos manejan su propio sistema de archivo.Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud.

     El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados.

    FUNCIONES DEL NÚCLEO O KERNEL

    El kernel o núcleo de Linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware del computador puedan trabajen juntos. Las funciones del Kernel se simplifican en:

    1. Administración de la memoria, para todos los programas en ejecución.
    2. Administración del tiempo de procesador, que estos programas en ejecución utilizan.
    3. Acceder a los periféricos/elementos y hardware de entrada y salida de una forma practica y cómoda.
    El usuario de Linux puede adaptar el Kernel a sus necesidades configurando y compilando un nuevo Kernel o simplemente parchando y compilando el Kernel existente.




    ARQUITECTURA DE WINDOWS Y DE LINUX

    ARQUITECTURA DE LINUX: 
          ©      Linux no es un bloque monolítico
    ©      Varios componentes trabajan en conjunto, diseñados por personas diferentes y conjuntados en distribuciones
    ©      Solo del exterior el núcleo Linux parece una unidad
    ©      Existe una diferencia entre el núcleo y las aplicaciones


    odos llevan nucleo. El nucleo de un sistema operativo tiene principalmente 1 funcion: Hacer funcionar la maquina, y particularmente es el encargado principalmente de 4 cosas: Gestion de procesos, gestion de memoria, gestion de acceso al hardware y gestion del sistema de archivos. Ahora centrandonos en este ultimo (que es el de tu duda): Con gestion del sistema de archivos se refiere a como controla el nucleo el acceso a cada uno de los sectores fisicos del disco, es decir, como se accede a cierto sector físico de X cabezal, de Y cilindro, de Z sector, y como los archivos ocupan lógicamente las particiones y bloques lógicos, y ademas el cómo se estructura de manera lógica la información.


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