martes, 19 de abril de 2011

CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS.

Con el paso de los años, los SO se fueron clasificando de diferentes formas, dependiendo del uso o de la aplicación que se les daba. A continuación mostraremos diferente tipos de SO, con algunas de su caracteristicas:

1) Sitemas Operativos de multiprogramación: Es el modo de funcionamiento disponible en algunos SO, mediante el cual una computadora procesa varias tareas al mismo tiempo. Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento se encuentre siempre ejecutando una tarea, aprovechando asi al máximo su utilización.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea.

Las características de un Sistema Operativo de multiprogramación o multitarea son las siguientes:
  • Mejora productividad del sistema y utilización de recursos.
  • Multiplexa recursos entre varios programas.
  • Generalmente soportan múltiples usuarios.
  • Proporcionan facilidades para mantener el entorno de usuarios individuales.
  • Requieren validación de usuario para seguridad y protección.
  • Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
  • Multitarea sin soporte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo real.
  • Sistemas multiprocesadores son sistemas multitareas por definición ya que soportan la ejecución simultánea de múltiples tareas sobre diferentes procesadores.
  • En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.
  •  
     2)  Sistema Operativo Monotareas: Los SO monotareas son más primitivos, es decir, solo pueden manejar un proceso en cada momento o solp puede ejecutar las tareas de una en una.

    3) Sistema Operativo Monousuario: Son aquellos sistemas operativos que nada más pueden atender a un solo usuario, gracias a la limitaciones creadas por el hardware, el tipo de plicación que se este ejecutando o los programas. Este tipo de sistema es muy simple, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se este ultilizando, lo que quiere decir que las instrucciones que se dan, son procesadas de inmediato; yaque existe un solo usuario.

    4) Sistema Operativo Multiusuario: En esta Categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten los mismos recursos; son empleados especialmente en redes.

    5) Sistemas Operativos por lotes: Este tipo de SO, procesan una gran cantidad de trabjos con poca o ninguna interacción entre usuarios y los programas en ejecución. Se agrupan todos los trabajos comunes para realizarlos al mismo tiempo, de este modo evitando la espera de dos o más trabajos. Son sistemas tradicionales y antiguos, fueron introducidos alrededor de 1956.

    Algunas de las caracteristicas de este sistema son: 
    •  Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de lote.
    • Permiten poca o ninguna interacción usuario/programa en ejecución.
    • Mayor potencial de utilización de recursos que procesamiento serial simple en sistemas multiusuarios.
    • No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración fuera de línea.
    • Conveniente para programas de largos tiempos de ejecución (ej, análisis estadísticos, nóminas de personal, etc.).
    • Se encuentra en muchos computadores personales combinados con procesamiento serial.
    • Planificación del procesador sencilla, típicamente procesados en orden de llegada.
    • Planificación de memoria sencilla, generalmente se divide en dos: parte residente del S.O. y programas transitorios.
    • No requieren gestión crítica de dispositivos en el tiempo.
    • Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca protección y ningún control de concurrencia para el acceso. 

    6) Sistemas operativos en tiempo real: Son aquellos en los cuales no importa el usuario, si no el proceso. Por lo general, están subutilizados  sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran. Son utilizados en entornos donde son procesados un gran número de sucesos o eventos. Muchos SO de tiempo real son elaborados para aplicaciones especificascomo: control de tráfico aéreo, bolsas de valores, control de refinerías etc.

    Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes características:
    • Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayoría externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.
    • Se utilizan en control industrial, conmutación telefónica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc.
    • Objetivo es proporcionar rápidos tiempos de respuesta.
    • Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.
    • Proceso se activa tras ocurrencia de suceso, mediante interrupción.
    • Proceso de mayor prioridad expropia recursos.
    • Por tanto generalmente se utiliza planificación expropiativa basada en prioridades.
    • Gestión de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria.
    • Población de procesos estática en gran medida.
    • Poco movimiento de programas entre almacenamiento secundario y memoria.
    • Gestión de archivos se orienta más a velocidad de acceso que a utilización eficiente del recurso. 

    7) Sistemas Operativos de tiempo compartido:  Estos permiten la simulación de que e sistea y sus recursos son todos para cada uno de los usuarios. El usuario hace una petición a la computadora, esta la procesa tan pronto como le sea posible, la respuesta aparecerá en la terminal del usuario.

    Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.
      Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.

      Características de los Sistemas Operativos de tiempo compartido:
      • Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de diseño asistido por computador, procesamiento de texto, etc.
      • Dan la ilusión de que cada usuario tiene una máquina para sí.
      • Mayoría utilizan algoritmo de reparto circular.
      • Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio.
      • Evitan monopolización del sistema asignando tiempos de procesador (time slot).
      • Gestión de memoria proporciona protección a programas residentes.
      • Gestión de archivo debe proporcionar protección y control de acceso debido a que pueden existir múltiples usuarios accesando un mismo archivos.

      8) Sistemas Operativos distribuidos: Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
      Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
      Características de los Sistemas Operativos distribuidos:
      • Colección de sistemas autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software .
      • Gobierna operación de un S.C. y proporciona abstracción de máquina virtual a los usuarios.
      • Objetivo clave es la transparencia.
      • Generalmente proporcionan medios para la compartición global de recursos.
      • Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para distribución de cálculos (a través de comunicación de procesos internodos, llamadas a procedimientos remotos, etc.).

      9) Sistemas Operativos de red: Son aquellos sistemas que mantienen a dos o más computadoras unidas através de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.

      Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.


      10) Sistemas Operativos paralelos: En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.
      En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). Así, en lugar de esperar a que el proceso termine de ejecutarse (como lo haría normalmente), regresa a atender al usuario inmediatamente después de haber creado el proceso.

      Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM

      ORGANIZACIÓN DE UN SISTEAMA OPERATIVO.

       Un Sistema Operativo se encuentra organizadoen niveles, generalmente de la siguiente manera:
      •  En el primer nivel y el más bajo se encuentra el núcleo [Kernel], el cual es el que tiene contacto directo con los circuitos electrónicos.
      • En el segundo se loalizan las rutinas que implementan los servicios que ofrece el SO, como por ejemplo el manejo de los disco, el monitor, el teclado y la gestión de procesos.
      • En el tercero podemos hallar el gestor de la memoria y de archivos.
      • En el cuerto, están los procesos que permiten la comunicacón del usuario con el SO: el caparazón [Shell] y las órdenes propias del SO.  La comunicación unicamente es posible entre los niveles inmediatamente superior e inferior.
      .

      PROCESO.

       Un proceso es un programa que se encuentra en ejecución. Los procesos son gestionados por el Sistema Operativo y están conformados 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 CPU para dicho programa
      • Su memoria de trabajo, es decir, la memoria que ha reservado y lo que contiene.
      • Otra información que permite al sistema operativo su planificación.
      Esta definición puede variar en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo y la información de la planificación. Cada hilo consta de instrucciones y estado de ejecución.

      Los prcesos son creados y destruidos por el sistema operativo, así como tambien este se debe hacer cargo de la comunicación entre los procesos, claro está que lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso de denomina bifurcación. Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio dememoria.

      ESTADOS DE UN PROCESO.

      A medida que un proceso se ejecuta cambia de estado. Cada proceso puede estaren uno de los siguientes estados:
      • Nuevo (new): El proceso se está creando.
      • Ejecución (running): El proceso se encuentra en la CPUejecutando istruciones.
      • Bloqueado ( waiting, en espera): El proceso esta esperando a que ocurra un suceso.
      • Preaparado (ready, listo): Esperando a que se le asigne a un procesador.
      • Terminado (terminated): Finalizó su ejecución, por tanto no ejecuta màs instrucciones y el SO le retirará los recursos que consume.

      .

      MASTER BOOT RECORD

       Un  master boot record (MBR) es el primer sector ("sector cero") de un dispositivo de almacenamiento de datos, como por ejemplo un disco duro. En ocasiones, es empleado para el arranque del sistemaoperativocon bootstrap, otras veces es usado para almacenar una tabla de perticiones, en ocasiones, se usa sólo para identificar un dispositivo de disco individual, aunque en algunas máquinas esto último no se usa y es ignorado.

      COMPOSICIÓN DEL MBR

      El MBR esta compuesto por un código ajecutable 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

      BOOTSTRAP

       Bootstrap es un término utilizado para describir el arranque, o proceso de inicio de cualquier ordenador. Suele referirse al programa que arranca un sistama operativo , Una vez el PC arranca, comienza a ejecutarse el código que se encuentra en la dirección F000:FFF0, que pertenece al ROM-BIOS y es el encargado de realizar una serie de inicializaciones y pruebas. Esta rutina es llamado POST.  Una vez que el BIOS termina con sus tests e inicializaciones carga el primer sector (cilindro 0, cabeza 0, sector 1) en la dir. 0000:7C00 (7C00 lineal), comprueba que contenga código válido (comprueba que esté firmado con 0x55 y 0xAA en los bytes 511 y 512 respectivamente) y salta a esa dirección (CS:IP apuntan a esa dirección).

      DISTRIBUICIÓN DE LOS 512 Bytes DEL SECTOR DE ARRANQUE DE UN DISCO DURO


      De  los sectores de una unidad de disco, el primero de la primera cabeza del primer cilindro, 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.  Por esta razón se denomina sector de arranque MBR.

      Los 512 Bytes estan distribuidos de la siguiente manera

      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. 
      Y los 2 Bytes restantes estan dictaminados para la Revisión de validación del MBR.


      tribucion de los 512 Bytes del sector de arranque en un disco duro


      De todos los sectores de una unidad de disco, el primero de la primera cabeza del primer cilindro, 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.  Por esta razón se denomina sector de arranque MBR.

      Los 512 Bytes estan distribuidos de la siguiente manera

      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.
      Y los 2 Bytes restantes estan dictaminados para la Revisión de validación del MBR.

      NÚCLEO.

       Un núcleo es un software que actúa de sistema operativo. Es el principal responsable de facilitar a los distintos programas de acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a trvés de servicios de llamada al sistema.Tambien se encarga de decidir  qué programa podrá hacer uso de un dispositivode hardware y durante cuánto tiempo, lo que es conocido como muliplexado. Los Núcleos suelen una serie de abstracciones del hardware. Lo que permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

      Los núcleos Tienen como funciones básicas  grarantizar la carga y la ejecución de los procesos, las entradas/salidas y proponer una interfaz entre el espacio núcleo y los espacios del usuario.

      Además  de las funciones básicas, el conjunto de las funciones de los puntos siguientes  necesariamente no son suministrados por un núcleo de sistema de explotación. Pueden establecerse estas funciones del sistema de explotación tanto en la zona de 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.

      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, siempre que sus autores quieran desarrollarlos sin usar ninguna abstracción del hardware ni ninguna ayuda del sistema operativo. Hay cuatro grandes tipos de núcleos:


      Micronúcleos:

       

      http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Kernel-microkernel.svg/250px-Kernel-microkernel.svg.png
      El enfoque micronúcleo consiste en definir una abstracción muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema operativo mínimos, como la gestión de hilos, el espacio de direccionamiento y la comunicación entre procesos.
      El objetivo principal es la separación de la implementación de los servicios básicos y de la política de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutándose encima del micronúcleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseño del núcleo. Si falla uno de estos servidores, no se colgará el sistema entero, y se podrá reiniciar este módulo independientemente del resto. Sin embargo, la existencia de diferentes módulos independientes origina retardos en la comunicación debido a la copia de variables que se realiza en la comunicación entre módulos.
      Algunos ejemplos de micronúcleos:
      §  BeOS
      §  Minix
      §  MorphOS
      §  QNX
      §  RadiOS


       

      Núcleos monolíticos en contraposición a micronúcleos

      Frecuentemente se prefieren los núcleos monolíticos frente a los micronúcleos debido al menor nivel de complejidad que comporta el tratar con todo el código de control del sistema en un solo espacio de direccionamiento.
      Los núcleos monolíticos suelen ser más fáciles de diseñar correctamente, y por lo tanto pueden crecer más rápidamente que un sistema basado en micronúcleo, pero hay casos de éxito en ambos bandos. Los micronúcleos suelen usarse en robótica embebida o computadoras médicas, ya que la mayoría de los componentes del sistema operativo residen en su propio espacio de memoria privado y protegido. Esto no sería posible con los núcleos monolíticos, ni siquiera con los modernos que permiten cargar módulos del núcleo.


       

      Núcleos híbridos (micronúcleos modificados)

      Los núcleos híbridos fundamentalmente son micronúcleos que tienen algo de código “ no esencial” en espacio de núcleo para que éste se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario. La mayoría de sistemas operativos modernos pertenecen a esta categoría, siendo el más popular Microsoft Windows. XNU, el núcleo de Mac OS X, también es un micronúcleo modificado, debido a la inclusión de código del núcleo de FreeBSD en el núcleo basado en Mach. DragonFlyBSD es el primer sistema BSD que adopta una arquitectura de núcleo híbrido sin basarse en Mach.
      Algunos ejemplos de núcleos híbridos:
      §  Microsoft Windows NT, usado en todos los sistemas que usan el código base de Windows NT
      §  DragonFlyBSD
      §  ReacOS


       

      Exonúcleos

      http://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Kernel-exo.svg/200px-Kernel-exo.svg.png
      http://bits.wikimedia.org/skins-1.17/common/images/magnify-clip.png
      Los exonúcleos, también conocidos como sistemas operativos verticalmente estructurados, representan una aproximación radicalmente nueva al diseño de sistemas operativos.
      La idea subyacente es permitir que el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Los exonúcleos son extremadamente pequeños, ya que limitan expresamente su funcionalidad a la protección y el multiplexado de los recursos. Se llaman así porque toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en bibliotecas dinámicas.
      La finalidad de un exonúcleo es permitir a una aplicación que solicite una región específica de la memoria, un bloque de disco concreto, etc., y simplemente asegurarse que los recursos pedidos están disponibles, y que el programa tiene derecho a acceder a ellos.
      Debido a que el exonúcleo sólo proporciona una interfaz al hardware de muy bajo nivel, careciendo de todas las funcionalidades de alto nivel de otros sistemas operativos, éste es complementado por una «biblioteca de sistema operativo». Esta biblioteca se comunica con el exonúcleo subyacente, y facilita a los programadores de aplicaciones las funcionalidades que son comunes en otros sistemas operativos.

      KERNEL



      Es un software que opera en el sistema operativo. Responsable de facilitar a los diferentes programas de acceso seguro al hardware del computador a la vez es el encargado de gestionar recursos, a través de servicios de llamada al sistema. El acceso al hardware es limitado, también decide qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware.

      CONVENCIONES PARA NOMBRAR LOS DISCOS LINUX



      Se usan métodos para nombrar las particiones, y eso es de acuerdo al disco en el que están ubicadas:
      ·         Los discos IDE primario se denominan /dev/hda y /dev/hdb. Eso es Master y Slave.
      ·         Los Discos de la Interfaz secundaria se denominan /dev/hdc y /dev/hdd. Eso es Master y Slave.
      ·         Si posee Otras Interfaces IDE se denominan /dev/hde, /dev/hdf, etc..
      ·         Los discos SCSI o SATA se denominan /dev/sda, /dev/sdb, etc..
      ·         Los CD-ROM SCSI se denominan /dev/scd, /dev/scd1, etc…

      CARGADORES DE ARRANQUE GNU/Linux


      GRUB
      Tiene tres etapas:
      ·         El cargador lee la BIOS desde el MBR y carga el resto del gestor de arranque..
      ·         Carga una fase intermedia de 1.5 y contiene un código y este  permite que los cilindros por encima de 1024 LBA pueda leerse y guardarse en la partición de arranque.
      ·         El gestor de arranque ejecuta y muestra el menú de inicio del GRUB, permite al cliente modificar y examinar los parámetros y seleccionar un sistema operativo.

      LOADING
      La forma de cargar LINUX es con DOS o WINDOWS, donde el núcleo de Linux reemplaza completamente la copia de funcionamiento de los SO. Este puede ser útil en el Hardware, que necesita ser conectado a través del software y la configuración de estos programas solo esta disponible para DOS y para Linux.





      LILO
      Es un gestor de inicio de Linux, no depende de un sistema de archivos especifico y puede ejecutar un SO desde los discos duras o D. Flexibles. Este es el más antiguo, ha sido remplazado por el GRUB, y son muy parecidos en su proceso, excepto que no tiene el interfaz de línea de comandos. Entonces los cambios en su configuración deben ser escritos en MBR y después reiniciar el sistema. Si se produce un error en la configuración podría quedar el Disco inservible para el arranque hasta el grado, que sea indispensable usar otros mecanismos que tengan un programa para corregir el error.


      SISTEMA DE ARCHIVOS

       

      Los sistemas de archivos organizan la información guardada en el Disco Duro que luego se representa ya sea textual o gráficamente utilizando un getor de archivos. 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 llamados sectores de 512 byes. El software del sistema de archivos es responsable de la organización de estos sectores de la información que hay y cuáles no han sido utilizados, también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red.

      Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear, enlaces adicionales a un directorio o archivo. El acceso seguro a sistemas de archivos básicos puede estar basado en los esquemas de lista de control de acceso o capacidades.

      FUNCIONES DEL NUCLEO O KERNEL

      Tiene tres funciones básicas:
      1.       Administrar la memoria para todos los programas y procesos en ejecución.
      2.       Administrar el tiempo del procesador para todos los programas y procesos.
      3.       Se encarga de acceder a los periféricos del computador.
      En el hardware, la manipulación se realiza por medio de los controladores que conocen la forma de comunicarse directamente al hardware. El software se comunica con el KERNEL por medio de llamadas al sistema, que indican al Kernel la tarea que debe realizar, como abrir y escribir un archivo, ejecutar, un programa y finalizar un proceso también la hora y la fecha del sistema.

      ARQUITECTURA DE WINDOWS Y LINUX



      ARQUITECTURA LINUX

      Para Linux podemos encontrar unas características muy comunes como son:

      Que los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado llamado anillo 0. También posee un núcleo monolítico, también los controladores de dispositivos  y las extensiones al núcleo se pueden cargar y descargar fácilmente como módulos para así poder continuar el proceso sin interrupciones.


      ARQUITECTURA WINDOWS

      En Windows la arquitectura se caracteriza porque es compatible con las aplicaciones hechas en plataformas anteriores,  balancea los procesos de forma paralela en varios procesadores a la vez.
      Algo que ha marcado a Windows, es su novedoso diseño y creación de un sistema operativos extensible y compatible con las versiones anteriores.


      COMPARACION ENTRE LINUX Y WINDOWS



      ·         Windows es el sistema operativo más importante bajo una licencia propietaria de software, mientras que Linux es el sistema operativo más importante bajo una licencia libre de software. 
      ·         El tamaño resultante del kernel, también es exageradamente, Linux ocupa 1.3 MB  frente a Windows 4.6 MB.
      ·         Linux Kernel soporta 1024 CPUs de 32 o 64 bits frente a Windows  4-32 y 4-64.

      WINDOWS 7 (MinWin)

      QUE ES MINWIN?


      Es tomar Windows y quitar elementos antes de que deje de funcionar, se consolida en el diseño del SO (Sistema Operativo), este tiene una capacidad la cual ocupa de 24 MB A 40 MB, frente a , 4 GB de vista.

      WINDOWS 7

      Es el que actualmente conocemos, pero la parte del core a ido cambiando, así que MINWIN no es un nuevo kernel. Conserva la compatibilidad  con el sistema anterior, pero todas las llamadas se realizan de la misma manera en el que el núcleo funciona.

      NOMENCLATURA DE KERNEL EN LINUX


      Está escrito en C y es un código abierto licenciado bajo licencia, con el cual tenemos acceso al código para su estudio y modificación. La nomenclatura del KERNEL se divide en tres partes o campos separados por un punto (.), los cuales son:

      1.       Primer Campo: Numero de la versión.
      2.       Segundo Campo: Numero de la sub-versión, si este número es par, la versión será estable, si por el contrario es impar, es inestable.
      3.       Tercer Campo: Nivel de corrección en el que se encuentra.

      VULNERABILIDAD DE WINDOWS VISTA

             
































      Puede ser vulnerable en el momento en que ocurra un desbordamiento del buffer, lo cual colapsará el sistema, todo esto, o la vulnerabilidad está en la red. La cual se debe a un error en el sistema de red al procesar la función CreateIp Forward Entry2 API. Para poder explotar el problema es necesario que el atacante cuente con privilegios de administrador, sin embargo, hay posibilidades de que el fallo pueda explotarse remotamente.

      DIFERENCIAS ENTRE SOFTWARE




      Hay varios tipos de software que son:

      ·         SOFTWARE LIBRE

      Respeta la libertad de los usuarios, sobre el producto que adquiere, es decir que puede copiar, ejecutar, distribuir, modificar el software y a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.


      ·         SOFTWARE GRATUITO

      Como su mismo nombre lo indica es gratuito, es decir, gratis pero no puede hacer nada de lo que se puede con el software libre es decir, no se puede modificar, no hay acceso al código, si no que pertenece a su creador.


      ·         SOFTWARE DE DOMINIO PUBLICO

      No está protegido por la leyes de derecho de autor y puede ser copiado por cualquier sin costo alguno, a la vez sus programadores cran un programa y lo dan al público para que pueda ser utilizado. Eso es que no puede ser copiado, distribuido ni modificado. Existe un software gratis protegidos por leyes de derechos de autor que permite al usuario publicar versiones modificadas como si fueran propiedad de este último.

      LINUX ES LLAMADO GNU/LINUX




      Se deriva de herramientas básicas creadas por GNU en el SO (Sistema Operativo), este aparece para referirse a la combinación de Linux y las herramientas del sistema GNU. Este puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL.

      DIFERENCIA ENTRE GNU Hurd y GNU Mach




      GNU Hurd

      Supera los tipos UNIX en cuanto a funcionalidad, seguridad y estabilidad, aun manteniéndose compatible con ellos.
      Implementa la especificación POSIX, pero eliminando las restricciones arbitrarias a los usuarios.
      Conjunto de programas servidores que simulan un núcleo UNIX que estable la base del SO GNU.


      GNU Mach

      Funciona en maquinas de arquitectura Intel de 32 bits y su uso más popular es servir de soporte a Hurd.
      Pretende reemplazar a los núcleos tipo UNIX en el SO libre GNU.
      Es el micro núcleo oficial de GNU, su función es realizar labores mínimas de administración sobre el hardware para que el SO sea operado desde el espacio de usuario.



      TIPOS DE ARCHIVOS EN LOS SISTEMAS OPERATIVOS


      Estos son los Sistemas Operativos:
      • DOS: FAT 16

      • WINDOWS 95: FAT 16.

      • WINDOWS 98: FAT16, FAT32.

      • WINDOWS XP: FAT, FAT 16, FAT32, NTFS( versión 4 y 5)

      • WINDOWS 7: NTFS (Nueva Tecnología De Sistemas Operativos)

      • LINUX: Ext2, Ext3, ReiserFS, Linux Swap (FAT16, FAT32, NTFS)

      • MacOS: Sistema De Archivos Jerarquicos

      • OS/2: HPFS (Sistema De Archivos De Alto Rendimiento)

      • Sun Solaris: UFS (Sistema De Archivo UNIX)
      • IBM AIX: JFS (Sistema Diarios De Archivos)







      FUNCIÓN DE LAS PARTICIONES EN LINUX

      PARTICION /BOOT
      Esta es una partición de arranque, el cual va al núcleo del sistema, cada núcleo ocupa unos 10MB a 20MB con lo que, en el principio, no es necesario destinar mas allá de 100 MB, en total. Esta partición es incompatible con Ext4, sino que se configura con Ext3.



      PARTICION SWAP
      Soporta una memoria virtual, los datos se escriben en la partición swap cuando no hay suficiente memoria RAM para almacenar los datos que el sistema está procesando.


      PARTICION / (Raíz)
      Aquí se instala  todo el sistema, con lo cual es conveniente que la capacidad de la memoria no sea inferior a 5 o 10 GB.