viernes, 8 de abril de 2011

DISTRIBUCION DE 512 BYTES DE UN DISCO DURO

Cómo se encuentran distribuidos los 512 bytes del sector de arranque en un disco duro ?

La estructura lógica de un disco duro está formada por:
  • El sector de arranque (Master Boot Record)
  • Espacio particionado
  • Espacio
  • Sin particionar





El sector de arranque o el bootloader,del disco duro esta constituido por:
cabeza cilindro y sector este ingresa un mini programa de master de inializacion y la tabla de particiones tiene como funcion  de mostrar el control del sector de arranque de la partición activa.

El espacio particionado es el espacio que es asignado a una partición.

El espacio no particionado: Es el espacio que no ha sido asignado a ninguna partición.

BOOTSTRAP

Que es bootstrap? :(La palabra inglesa bootstrapping)



Es el programa que lee el archivo oculto que arranca el sistema operativo.


 Es generalmente un término utilizado para describir el arranque, o proceso de inicio de cualquier ordenador. Suele referirse al programa que arranca un sistema operativo como por ejemplo GRUB, LiLo o NTLDR. Se ejecuta tras el proceso POST del BIOS. También es llamado «Bootstrap Loader» (cargador de inicialización).

EL MBR


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


MASTER BOOT RECORD (MBR)

 Master boot record (MBR):(Registro de inicio maestro).




Es un pequeño programa que es ejecutado en cada Inicio del sistema operativo y se encuentra ubicado en el primer sector absoluto ("sector cero") de un dispositivo de almacenamiento de datos, como un disco duro en una PC y que busca la Tabla de Particiones para transferirla al Sector de Arranque (Boot),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.

ESTADOS DE PROCESO


  • Ejecución: El proceso está actualmente en ejecución.
Por ejemplo cuando se esta usando la Pc en ese momento.
  • Listo: El proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga.
Por ejemplo Cuando no hay una PC para el.
  • Bloqueado O espera: El proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida.
Por ejemplo Cuando la pc se esta apagando con programas activos y se detiene ese proceso temporalmente mientras se cierran los programas activos.
  • Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.
Por ejemplo Si el Sistema Operativo se queda sin recursos
  • Terminado: Una vez finalizada la ejecución El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo,
Por ejemplo como un error de protección, aritmético, etc.

DEFINICION DE PROCESO

Un proceso:
cuando hablamos de proceso nos referimos a un concepto que se maneja dentro del ámbito de los sistemas operativos, como por ejemplo Windows, GNU/Linux, Mac OS X u otros. En este contexto, un proceso se refiere a las instrucciones que ejecutará el microprocesador 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.

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

ORGANIZACION DE UN SISTEMA OPERATIVO

Estructura de un sistema operativo
 Sistemas Operativos por su Estructura

Se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:
  • Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.
  • Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
A continuación vamos a describir las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.

Estructura monolítica O modular:
Este tipo de organización es con mucho la mas común. Es la estructura de los primeros sistemas operativos constituídos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las características fundamentales de este tipo de estructura son: Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador; buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento; carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.; y generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.
  • Estructura jerárquica:
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles. Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE, de Dijkstra, que se utilizó con fines didácticos. Se puede pensar también en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categoría.


  • Máquina virtual:
 Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes. El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario.


  • Cliente-servidor ( Microkernel):
Las funciones centrales de un SO son controladas por el núcleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell).
El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas. Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales. El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro." [Alcal92]. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware. Actualmente se está trabajando en una versión de UNIX que contempla en su diseño este paradigma.