Articulo de referencia

Etiqueta de disco BSD

En los sistemas operativos derivados de BSD (incluidos NetBSD , OpenBSD , FreeBSD y DragonFly BSD ) y en sistemas operativos relacionados como SunOS , una etiqueta de disco es u...

En los sistemas operativos derivados de BSD (incluidos NetBSD , OpenBSD , FreeBSD y DragonFly BSD ) y en sistemas operativos relacionados como SunOS , una etiqueta de disco es un registro almacenado en un dispositivo de almacenamiento de datos , como un disco duro , que contiene información sobre la ubicación de las particiones en el disco. Las etiquetas de disco se introdujeron en la versión 4.3BSD -Tahoe. [ 1 ] Las etiquetas de disco se editan normalmente mediante la utilidad disklabel . En versiones posteriores de FreeBSD, esta utilidad se renombró como bsdlabel y finalmente se dejó de usar a partir de la versión 15.0. [ 1 ] [ 2 ]

Historia

En las versiones históricas de Bell Labs y BSD Unix, el particionamiento del disco era fijo y se compilaba en cada controlador de dispositivo al mismo tiempo que el núcleo. Las particiones fijas se superponían, lo que permitía usar el disco con diferentes diseños mediante la selección cuidadosa de un subconjunto de particiones que no se superpusieran. Inicialmente, esto no se consideró un problema porque cada controlador solo admitía un número reducido de unidades de disco y Unix solo funcionaba en hardware de un único fabricante. [ 3 ]

La introducción de interfaces de disco estandarizadas —SMD , ESDI y SCSI— y un mercado sustancial de controladores y unidades de terceros generaron inconvenientes significativos, ya que los operadores de un sistema Unix debían recompilar el núcleo para agregar un diseño de partición adecuado para cada disco diferente que conectaran al sistema. Esto también representó un problema para los proveedores de Unix con licencia comercial, ya que los ingenieros de soporte debían recompilar el núcleo antes de instalar actualizaciones en la máquina de un cliente. Para la versión 4.3-Tahoe, que admitía una plataforma que no era de Digital Equipment Corporation , la CCI Power 6/32 , Berkeley implementó un nuevo esquema de particionamiento basado en una estructura de datos en disco y el comando disklabel (8). (Estos mapas de partición en disco ya eran bien conocidos en otros sistemas operativos, y Berkeley solo inventó el formato específico, no el hecho de las etiquetas de partición en general). [ 3 ]

FreeBSD decidió dejar de usar la herramienta disklabel a partir de la versión 15.

Dónde se almacenan las etiquetas de disco

Tradicionalmente, la etiqueta del disco estaba integrada en el cargador de arranque de primera etapa , en el primer sector o pista del disco, donde el firmware del ordenador esperaba que estuviera un cargador de arranque. Tener la etiqueta integrada en el cargador de arranque significaba que el cargador no necesitaba contener código para localizar y leer la etiqueta del disco. [ 3 ] Sin embargo, este sistema solo funciona cuando el firmware del ordenador simplemente carga y ejecuta el cargador de arranque sin intentar determinar si es válido. En el mundo de los compatibles con IBM PC , los discos suelen particionarse utilizando el esquema de tabla de particiones del registro de arranque maestro (MBR) de la BIOS del PC , y el esquema de particionamiento BSD está anidado dentro de una única partición MBR primaria (al igual que el esquema de particionamiento "extendido" está anidado dentro de una única partición primaria con registros de arranque extendidos ). [ 4 ] A veces (particularmente en FreeBSD), las particiones MBR primarias se denominan slices y las subdivisiones de una partición MBR primaria (para el esquema de particionamiento BSD anidado) que se describen mediante su disklabel se denominan particiones . La etiqueta de disco BSD está contenida en el registro de arranque del volumen de su partición MBR primaria.

Los identificadores de partición MBR para particiones primarias que se subdividen usando etiquetas de disco BSD son A5h (386BSD y FreeBSD), A6h (OpenBSD), A9h (NetBSD) y 6Ch (DragonFly BSD). [ 5 ]

Este formato tiene un objetivo similar al de las particiones extendidas y el sistema de particiones lógicas utilizado por MS-DOS, Windows y Linux.

El mismo disco duro de un PC puede tener particiones BSD y particiones lógicas de tipo MS-DOS en particiones primarias separadas. FreeBSD y otros sistemas operativos BSD pueden acceder tanto a la partición subdividida BSD como a las particiones lógicas/extendidas de tipo MS-DOS.

El contenido de las etiquetas de discos

Las etiquetas de disco BSD tradicionalmente contienen 8 entradas para describir las particiones. Por convención, estas se etiquetan alfabéticamente, de la 'a' a la 'h'. Algunas variantes de BSD han aumentado este número a 16 particiones, etiquetadas de la 'a' a la 'p'.

Asimismo, por convención, las particiones 'a', 'b' y 'c' tienen significados fijos:

  • La partición 'a' es la partición "raíz", el volumen desde el cual se inicia el sistema operativo . El código de arranque en el Registro de arranque de volumen que contiene la etiqueta del disco se simplifica, ya que solo necesita buscar en una ubicación fija para encontrar la ubicación del volumen de arranque;
  • La partición 'b' es la partición de " intercambio ";
  • La partición 'c' se superpone a todas las demás particiones y abarca todo el disco. Su inicio y longitud son fijos. En sistemas donde la etiqueta del disco coexiste con otro esquema de particionamiento (como en el hardware de PC), la partición 'c' puede extenderse únicamente a un área del disco asignada al sistema operativo BSD, mientras que la partición 'd' se utiliza para cubrir todo el disco físico.

Véase también

Referencias

  • "disklabel" . Páginas del manual de OpenBSD, sección 5 .
  • "Usando etiqueta de disco" . Preguntas frecuentes sobre OpenBSD .
  1. 1 2 "disklabel(5)" . Manual del programador de 4.4BSD . Archivado del original el 24-12-2013 . Recuperado el 28-02-2008 .
  2. "Notas de la versión FreeBSD/i386 5.1-RELEASE" . Consultado el 9 de mayo de 2017 .
  3. 1 2 3 McKusick, Marshall Kirk ; Bostic, Keith ; Karels, Michael J .; Quarterman, John S. (1996). El diseño e implementación del sistema operativo 4.4BSD . Reading, Massachusetts: Addison-Wesley. págs. 199–200 . ISBN  0-201-54979-4.
  4. McKusick, Marshall Kirk ; Neville-Neil, George V.; Watson, Robert NM (2015). El diseño e implementación del sistema operativo FreeBSD (2.ª ed.). Upper Saddle River, Nueva Jersey: Addison-Wesley. pág. 377. ISBN   978-0-321-96897-5.
  5. DragonFly BSD commit 794d80a: Cambia el tipo de partición MBR heredada de 0xA5 a 0x6C

Lecturas adicionales

  • Michael W. Lucas. "Comprendiendo las etiquetas de disco de FreeBSD" . Archivado del original el 23 de junio de 2017.