84
Lección 4 (a) Sistemas de ficheros Diseño de Sistemas Operativos Grado en Ingeniería Informática Grupo ARCOS Universidad Carlos III de Madrid

DSO-4a: Introducción a un sistema de ficheros (v4d)

Embed Size (px)

Citation preview

Page 1: DSO-4a: Introducción a un sistema de ficheros (v4d)

Lección 4 (a)Sistemas de ficheros

Diseño de Sistemas Operativos

Grado en Ingeniería Informática

Grupo ARCOS

Universidad Carlos III de Madrid

Page 2: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Objetivos

ARCOS @ UC3M2

1. Conocimiento de las abstracciones usadas en un sistema operativo.

2. Usar herramientas de monitorización, gestión y ajuste de sistemas operativos.

3. Motivación de logro de soluciones mejores.

Page 3: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Lecturas recomendadas

ARCOS @ UC3M3

1. Carretero 2007:1. Cap.9

1. Tanenbaum 2006(en):1. Cap.5

2. Stallings 2005:1. Parte tres

3. Silberschatz 2006:1. Cap. 10, 11 y 12

Base Recomendada

Page 4: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

A recordar…

ARCOS @ UC3M4

1. Estudiar la teoría asociada.� Estudiar el material asociado a la bibliografía:

las transparencias solo no son suficiente.� Pensar cuestiones con sus respuestas y justificación.

2. Repasar lo visto en clase.� Realizar el cuaderno de prácticas progresivamente.

3. Ejercitar las competencias.� Realizar las prácticas progresivamente.� Realizar todos los ejercicios posibles.

Page 5: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Contenidos

ARCOS @ UC3M5

1. Introducción

2. Abstracciones usadas

3. Software de sistema

Page 6: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Contenidos

ARCOS @ UC3M6

1. Introducción

2. Abstracciones usadas

3. Software de sistema

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Page 7: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� Un proceso de edición de fotografías (por ejemplo) tiene en memoria su código y datos.� Cada proceso trabaja con sus

datos, pudiendo generar nuevos datos.

7

Procesos

código

datos

pila

código

datos

pila

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 8: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� Un proceso de edición de fotografías (por ejemplo) tiene en memoria su código y datos.� Cada proceso trabaja con sus

datos, pudiendo generar nuevos datos.

� Puede haber varios procesos en memoria, siendo el sistema operativo el que reparte y organiza la memoria.

8

Procesos

código

datos

pila

código

datos

pila

Sistema Operativo

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 9: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� La memoria principal en los sistemas actuales es de pequeño tamaño, acceso a palabra y volátil.� Los datos almacenados no son

persistentes (sin electricidad).

� Solo se usa para guardar los datos accedidos por el procesador durante un periodo.

� Se puede acceder a cualquier palabra directamente.

� ¿Dónde guardar los datos?

9

Procesos

código

datos

pila

código

datos

pila

Sistema Operativo

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 10: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� La memoria secundaria es de mayor tamaño, acceso a bloque y no volátil.� Datos persistentes

� Al proceso que lo usa, a la lectura concurrente entre procesos.

� Permitirá guardar mayor cantidad de datos que en M.P.

� Organizada en bloques, lo que supone tener que gestionar el uso de estos bloques.

� Los datos se guardarán en M.S.: disco duro, flash, etc..

10

Procesos

código

datos

pila

código

datos

pila

Sistema Operativo

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 11: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� Parte del sistema operativo se encarga de repartir y organizar la M.S. � Sistema de ficheros.

� El sistema de ficheros ofrece servicios para almacenar y recuperar los datos de forma simple � Oculta los detalles de la

organización de la M.S. mediante abstracciones: ficheros, directorios, etc.

11

Procesos

código

datos

pila

código

datos

pila

Sistema Operativo

Res

erva

do S

.O.

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 12: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� Pero también es posible que ciertas aplicaciones organicen la M.S.:� Gestores de bases de datos.

� El sistema operativo ofrece acceso a todo el dispositivo.

� Es posible también una organización mixta � parte el sistema operativo y

parte la aplicación

12

Procesos

código

datos

pila

código

datos

pila

Sistema Operativo

Res

erva

do

BB

DD

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 13: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Resumen

� Tenemos ambas posibilidades en ilustración que propone la SNIA:� Storage Networking

Industry Association

� http://www.snia.org

� Las aplicaciones acceden a los datos almacenados en los dispositivos de almacenamiento usando BBDD y/o Sistemas de Fich.

13

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Sistemas Operativos - ARCOS

ARCOS @ UC3MSNIA: Storage Networking Industry Association (http://www.snia.org/)

Page 14: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Contenidos

ARCOS @ UC3M14

1. Introducción

2. Abstracciones usadas

3. Software de sistema

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Aplicaciones

Page 15: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� ficheros, directorios, sistema de ficheros, volúmenes y dispositivos

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Visión físicaVisión lógica

Vis

ión

lógi

caV

isió

n fís

ica

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 16: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Introducción

� Cuidado con el término “sistema de ficheros” que es usado para nombrar tanto al software gestor como para las estructuras de datos en disco

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 17: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Dispositivos

17

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 18: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Dispositivos

� Disco duro

� SSD (estado sólido)

� Sistemas ópticos

� Etc.

ARCOS @ UC3M18

Dispositivo

Particiones/volúmenes

Sistema de ficheros

Directorios

Fichero…

Page 19: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Dispositivos

� Listar los dispositivos PCI:

� Listar los dispositivos USB:

19

acaldero@arcos:~/infodso/$ lspci00:00.0 Host bridge: Intel Corporation 82Q35 Express DRAM Controller (rev 02)00:01.0 PCI bridge: Intel Corporation 82Q35 Express PCI Express Root Port (rev 02)00:03.0 Communication controller: Intel Corporation 8 2Q35 Express MEI Controller (rev 02)

00:03.2 IDE interface: Intel Corporation 82Q35 Expre ss PT IDER Controller (rev 02)00:03.3 Serial controller: Intel Corporation 82Q35 E xpress Serial KT Controller (rev 02)...

acaldero@arcos:~/infodso/$ lsusbBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub...

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 003 Device 002: ID 1241:1166 Belkin MI-2150 Trust MouseBus 005 Device 002: ID 0c45:600d Microdia TwinkleCam U SB camera

ARCOS @ UC3M

Page 20: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Discos

� Listado de discos/particiones:

� Listado de dispositivos por bloques (discos/particiones):

20

acaldero@arcos:~/infodso/$ cat /proc/partitionsmajor minor #blocks name

8 0 2930266584 sda8 1 19998720 sda18 2 512000000 sda2

...

ARCOS @ UC3M

acaldero@arcos:~/infodso/$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 2,7T 0 disk ├─sda1 8:1 0 19,1G 0 part├─sda2 8:2 0 488,3G 0 part /├─sda3 8:3 0 2T 0 part /mnt/sda3└─sda4 8:4 0 196,7G 0 part

Page 21: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Dispositivosservicios ampliados

� Dispositivo loopback

� Fichero como dispositivo de bloques

� Ejemplo de sesión de trabajo:1. [1] Crear un fichero inicial vacío (~128 MB):

dd if=/dev/zero of= /tmp/sf-01 bs=1M count=128

2. Asociar el fichero al dispositivo de loopback:sudo losetup /dev/loop1 /tmp/sf-01

3. Trabajar con el dispositivo… /dev/loop1

4. Desasociar el dispositivo:losetup –d /dev/loop1

ARCOS @ UC3M21

Dispositivo

Particiones/volúmenes

Sistema de ficheros

Directorios

Fichero…

Page 22: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Dispositivosservicios ampliados

� Dispositivo md

� Dispositivo de dispositivos

� Ejemplo de sesión de trabajo:1. [1] Crear el dispositivo md espejo:

mdadm --create --verbose /dev/md5 --level=1--raid-devices=2 /dev/loop1 /dev/loop2

2. Trabajar con el dispositivo:… /dev/md5

3. Parar el dispositivo md:mdadm --stop /dev/md5

4. Arrancar el dispositivo md:mdadm --assemble /dev/md5 /dev/loop1 /dev/loop2

ARCOS @ UC3M22

Disp.

Particiones/volúmenes

Sistema de ficheros

Directorios

Fichero…

Disp.

Page 23: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Particiones/volúmenes

23

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 24: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

� Una partición es una porción de un disco a la que se la dota de una

identidad propia y que puede ser manipulada por el sistema operativo

como una entidad lógica independiente.

� Un contenedor de un sistema de ficheros (o sistema gestor de datos).

Particiones/volúmenes

24

Tab

la d

e pa

rtic

ione

s

Partición primaria 1(activa)

Partición primaria 2(no activa)

Primer sector Último sector

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 25: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Particiones/volúmenes: atributos

� Atributos típicos de una partición:� Tipo: primaria, secundaria, unidad lógica, con arranque, etc..

� Tamaño: inicio y fin de partición.

� Sistema albergado: linux, linux swap, vfat, etc.

� Identificación: número de partición (orden o UUID).

25

Tabla de particiones Partición Partición

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 26: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Particiones/volúmenes

� Listado de discos/particiones:

26 ARCOS @ UC3M

acaldero@arcos:~/infodso/$ parted -l

Modelo: ATA ST3000DM001-1CH1 (scsi)Disco /dev/sda: 3001GBTamaño de sector (lógico/físico): 512B/4096BTabla de particiones. gpt

Numero Inicio Fin Tamaño Sistema de archivos Nombre Banderas1 1049kB 20,5GB 20,5GB bios_grub2 20,5GB 545GB 524GB ext43 545GB 2789GB 2245GB ntfs4 2789GB 3001GB 211GB ntfs msftdata

acaldero@arcos:~/infodso/$ blkid

/dev/sda4: LABEL="w10" UUID="0A568AE42B85AEDC" TYPE="ntfs" /dev/sda2: UUID="8de35b39-e3e8-43d8-a5b1-91cf76ca2e89" TYPE="ext4" /dev/sda3: UUID="2CB158D64D7CC0DD" TYPE="ntfs" …

Page 27: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Particiones/volúmenes particionado tradicional en PC

� Sector de arranque contiene la tabla de particiones

� Partición primaria o secundaria (con unidades lógicas)

� Antiguo y limitado: � 4 particiones en total (primarias + secundarias)

� No es posible cambiar el tamaño sin perder los datos

27

Primer sector

Sec

tor

de

arra

nque Partición

primaria 1 (activa)

Partición primaria 2

Esp

acio

sin

pa

rtic

iona

r

Último sector

Partición extendida

Partición lógica 1

Partición lógica 2

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 28: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Particiones/volúmenes sistema basado en volúmenes

� Volúmenes lógicos (~antiguas particiones)sobre grupo de volúmenes compuestos de volúmenes físicos.

� Moderno y flexible: � Sin límite, cambio dinámico, uso de múltiples discos, etc.

28

http://www.howtoforge.com/linux_lvm

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 29: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Particiones/volúmenes sistema basado en volúmenes

� Crear un volumen físico, un grupo de volúmenes y uno lógico:1. # pvcreate /dev/sdb1

2. # vgcreate vol_infoso /dev/sdb1

3. # lvcreate –L100M –nweb vol_infoso

4. … /dev/vol_infoso/web

29

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 30: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficherosEstructuras de datos en memoria y disco

30

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 31: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sectores

� El dispositivo de almacenamiento se divide en sectores, pistas y cilindros.

31

Primer sector

Últimosector

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 32: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Bloques

� Bloque: agrupación lógica de sectores de disco (2n sectores)

� Es la unidad de transferencia mínima usado por el S.O.

� Optimizar la eficiencia de la entrada/salida de los dispositivos.

� Los usuarios pueden definir el tamaño de bloque al crear el sistema de ficheros, o usar el ofrecido por defecto en el S.O.

32

Primer bloque Último bloque

Primer sector

Últimosector

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 33: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Bloques

� Bloque: agrupación lógica de sectores de disco (2n sectores)

� Es la unidad de transferencia mínima usado por el S.O.

� Optimizar la eficiencia de la entrada/salida de los dispositivos.

� Los usuarios pueden definir el tamaño de bloque al crear el sistema de ficheros, o usar el ofrecido por defecto en el S.O.

33

Primer bloque Último bloque

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 34: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Tamaño de bloque

� La elección del tamaño del bloque es importante para balancear:� Ancho de banda: mayor número de sectores inicialmente, mejor ancho de banda

� Uso del disco: menor número de sectores, menos fragmentación interna

34

Tamaño de Bloque

ancho de banda

uso del disco

Anc

ho d

e B

anda

(K

byte

s/se

c)

Uso

del

Esp

acio

de

Dis

co

0

50

100

500

800

256 512 1K 2K 4K 8K 16K 32K

0

100 %

25

50

75

Sistemas operativos: una visión aplicada

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 35: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros

� El sistema de archivos permite organizar la información dentro de los dispositivos de almacenamiento en un formato inteligible para el sistema operativo:� Es un conjunto coherente de metainformación y datos.

35

Primer bloque Último bloque

Metadatos Datos

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 36: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros: atributos típicos

� Gestión de espacio usado: número de bloques totales gestionados, tamaño de bloque, número de entradas gestionadas, tamaño de la zona de metadatos…

� Gestión de espacio libre: identificación de qué bloque está libre.

� Gestión de entradas: para cada entrada (fichero o directorio) se reserva un espacio para los metadatos que la describe:� Atributos generales: fechas, permisos, identificación de usuario, etc.

� Atributos para la gestión de ocupado: bloques usados por esta entrada.

� Referencia a la entrada del directorio raíz.

36

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Metadatos

Blo

que

de

arra

nque

Sup

er-

bloq

ue

Asi

gnac

ión

de r

ecur

sos 00

0

001

002

003

004

i-nodos

Datos

Page 37: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros

� Ver metadatos:

37 ARCOS @ UC3M

acaldero@arcos:~/infodso/$ dumpe2fs /dev/sda2

dumpe2fs 1.42.9 (4-Feb-2014)Filesystem volume name: <none>Last mounted on: /Filesystem UUID: 8de35b39-e3e8-43d8-a5b1-91cf76ca2e89Filesystem magic number: 0xEF53Filesystem revision #: 1 (dynamic)Filesystem features: has_journal ext_attr resize_inode dir_index filetypeneeds_recovery extent flex_bg sparse_super large_file huge_file uninit_bgdir_nlink extra_isizeFilesystem flags: signed_directory_hashDefault mount options: user_xattr aclFilesystem state: cleanErrors behavior: ContinueFilesystem OS type: LinuxInode count: 32006144Block count: 128000000Reserved block count: 6400000Free blocks: 100051682…

Page 38: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros: operaciones

� Operaciones con sistemas de ficheros:� Crear

� Montar

� Desmontar

38

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Tab

la d

e pa

rtic

ione

s

Met

adat

os

(sw

ap)

Primer sector Último sector

Datos (swap) Metadatos(ext2)

Datos (ext2)

� Creación de las estructuras de datos en disco para llevar la gestión:� # mkswap -c /dev/hda1 20800

� # mkfs.ext2 -c /dev/hda2 -b 8196 123100

Page 39: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros: operaciones

� Operaciones con sistemas de ficheros:� Crear

� Montar

� Desmontar

39

umount /usr

/

/lib /bin /usr

/

/d1 /d2 /d3

/d3/f2/d3/f1

/

/lib /bin /usr

/usr/d1 /usr/d3

/usr/d3/f2/usr/d3/f1

Volumen raiz(/dev/hd0)

Volumen sin montar(/dev/hd1)

mount /dev/hd1 /usr

Volumen montado

Sistemas operativos: una visión aplicada

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 40: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros

� Gran cantidad de sistemas de ficheros.

40http://en.wikipedia.org/wiki/List_of_file_systems

� Para dispositivos de almacenamiento:

– minix (Minix)– ext2 (Linux)– ext3 (Linux)– ufs (BSD)– fat (DOS)– vfat (win 95)– hpfs (OS/2)– hfs (Mac OS)– ntfs (win

NT/2K/XP)– ...

� Especiales:– procfs (/proc)– devFS (/dev)– umsdos

(Unix sobre DOS)

– …

� En red:– NFS – CODA– SMBFS – NCPFS (Novell)– …

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 41: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistema de ficheros + volúmenes

41

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 42: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistemas alternativossistema integrado zfs (antigua Sun)

� Simplificación en el uso de dispositivo, volúmenes y sistemas de ficheros mediante la integración de los mismos:� zpool create arcos /home/ocean/disk1

� zfs create arcos/alex

ARCOS @ UC3M42

Page 43: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Sistemas alternativosThe Birth of ZFS by Jeff Bonwick

ARCOS @ UC3M43 https://www.youtube.com/watch?v=dcV2PaMTAJ4

Page 44: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ejemplo: volúmenes + sistema de fichero

� Simular un disco con un fichero:1. dd if=/dev/zero of=/tmp/disk1 bs=1G count=1

2. losetup /dev/loop2 /tmp/disk1

� Crear un volumen físico, un grupo de volúmenes y uno lógico:1. pvcreate /dev/loop2

2. vgcreate vol_dso /dev/loop2

3. lvcreate –L100M –ntest vol_dso

� Crear un sistema de ficheros y montar en un directorio:1. mkfs –t ext3 /dev/vol_dso/test

2. mount /dev/vol_dso/test /mnt

3. df –mh

44

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 45: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ejemplo: volúmenes + sistema de fichero

� Cambiar de tamaño el sistema de ficheros:1. umount /mnt

2. fsck –f /dev/vol_dso/test

3. resize2fs /dev/vol_dso/test 50M

� Cambiar el tamaño del volumen:1. lvreduce -L -50m /dev/vol_dso/test

2. mount /dev/vol_dso/test /mnt

3. df –mh

45

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 46: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ejemplo: sistema integrado btrfs

� Simular discos con un ficheros:1. dd if=/dev/zero of=/tmp/disk3 bs=1G count=1

2. losetup /dev/loop3 /tmp/disk3

3. dd if=/dev/zero of=/tmp/disk3 bs=1G count=1

4. losetup /dev/loop4 /tmp/disk3

� Crear un volumen/sistema btrfs y montarlo:1. mkfs.btrfs /dev/loop3

2. mount /dev/loop3 /btrfs

3. btrfs filesystem show /dev/loop3

46

Sistemas Operativos - ARCOS

ARCOS @ UC3Mhttp://www.slideshare.net/anu-bhaskar/introducing-btrfs

Page 47: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ejemplo: sistema integrado btrfs

� Cambiar de tamaño:1. btrfs filesystem resize -10m /btrfs/

2. btrfs filesystem show /dev/loop3

� Añadir un dispositivo:1. btrfs device add /dev/loop4 /btrfs

2. btrfs filesystem balance /btrfs/

3. btrfs filesystem show /dev/loop3

� Crear volumen (~directorio que puede ser montado como raíz):1. cd /btrfs/

2. btrfs subvolume create vol_infodso

3. btrfs subvolume list /btrfs/

47

Sistemas Operativos - ARCOS

ARCOS @ UC3Mhttp://www.funtoo.org/BTRFS_Fun

Page 48: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Fichero o archivo

48

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 49: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ficheros (archivos)

� Conjunto de información relacionada que ha sido definida por su creador.

� Diferentes tipos de información:

ARCOS @ UC3M49

Page 50: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ficheros (archivos)

� Habitualmente el contenido es representado poruna secuencia o tira de bytes:

ARCOS @ UC3M50

posición L/E

Page 51: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ficheros (archivos)

� Traducción a binario y almacenamiento como una secuencia o tira de bytes:

ARCOS @ UC3M51

posición L/E

Page 52: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ficheros (archivos): interfaz

� Interfaz genérico para acceder a la información:� descriptor ← open (nombre, flags, modo)

� close (descriptor)

� read (descriptor, puntero, tamaño)

� write (descriptor, puntero, tamaño)

� lseek (descriptor, desplazamiento, origen)

� ioctl (descriptor, operación, puntero_a_parámetros)

ARCOS @ UC3M52

posición L/E

Page 53: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Ficheros (archivos): interfaz POSIX

53

#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <fcntl.h>

int main ( int argc, char *argv[] ){int fd1 ;char str1[10] ;int nb ;

fd1 = open ("/tmp/txt1",O_CREAT|O_RDWR, S_IRWXU);

if ( -1 == fd1) {perror("open:"); exit(-1);

}

strcpy(str1,"hola");nb = write (fd1,str1,strlen(str1));printf(" bytes escritos = %d\n",nb);

close (fd1);return (0) ;

}

escritura#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <fcntl.h>

int main ( int argc, char *argv[] ){int fd1 ;char str1[10] ;int nb, i ;

fd1 = open ("/tmp/txt1", O_RDONLY);if ( -1 == fd1) {

perror("open:"); exit(-1);

}

i=0;do {

nb = read (fd1,&(str1[i]),1); i++;} while (nb != 0) ;str1[i] = '\0';printf(“%s\n",str1);

close (fd1);return (0);

}

lectura

ARCOS @ UC3M

Page 54: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

� Información de un archivo:

Ficheros (archivos)

ARCOS @ UC3M54

� Datos� Información

que almacena el archivo.

� Metadatos� Información

sobre el archivo.

� Distintos atributos

Page 55: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

� Información de un archivo:

Ficheros (archivos)

ARCOS @ UC3M55

� Datos� Información

que almacena el archivo.

� Metadatos� Información

sobre el archivo.

� Distintos atributos

Page 56: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

� Información de un archivo:

Ficheros (archivos)

ARCOS @ UC3M56

� Datos� Información

que almacena el archivo.

� Metadatos� Información

sobre el archivo.

� Distintos atributos:� Nombre y tipo

� Localización y tamaño

� Protección

� Fechas (creación, …)

� Etc.

Page 57: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios

57

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Aplicaciones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 58: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios

� Estructura de datos que permite agrupar un conjunto de ficheros según el criterio del usuario.

ARCOS @ UC3M58

Page 59: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios

� Organizan y proporcionan información sobre la estructuración de los sistemas de archivos:

59

/

foto.jpg x.exe nota.txt

alex ana

/

boot lib home

alex ana

/

boot lib home users

� De un nivel� 1 dir con n ficheros

� 1 fichero con 1 dir.

� Jerárquico (árbol)� 1 dir con n entradas

� 1 entrada con 1 dir.

� Árbol a-cíclico� 1 dir. con n entradas

� 1 entrada con n dir.

pic.jpg x.exe

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 60: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios

� Organizan y proporcionan información sobre la estructuración de los sistemas de archivos:

60

/

foto.jpg x.exe nota.txt

alex ana

/

boot lib home

alex ana

/

boot lib home users

� De un nivel� 1 dir con n ficheros

� 1 fichero con 1 dir.

� Jerárquico (árbol)� 1 dir con n entradas

� 1 entrada con 1 dir.

� Árbol a-cíclico� 1 dir. con n entradas

� 1 entrada con n dir.

pic.jpg x.exe

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Necesario llevar la pista del número de referencias (por el borrado):• Lista de punteros en cadena• Contador de referencias

Page 61: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios

� Nombres jerárquicos para la identificación.

� Tipo de nombrado de directorio:� Nombre absoluto: especificación del nombre respecto a la raíz

(/ en LINUX, \ en Windows)

� Nombre relativo: especificación del nombre respecto a un directorio distinto del raíz.� Ejemplo: (estando en /users/) alex/correo.txt

� Relativos al directorio de trabajo o actual: basado en el directorio en el que se encuentre el usuario (directorio de trabajo)

� Directorios especiales:

� Directorio actual o directorio de trabajo: .

� Directorio padre: ..

� Directorio base del usuario: $HOME

ARCOS @ UC3M61

alex ana

/

boot lib home users

Page 62: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios: interfaz

� Interfaz genérica para gestión de directorios:� mkdir (nombre,modo)

� rmdir (nombre)

� chdir (nombre)

� getcwd (nombre, tamaño_nombre)

� descriptor ← opendir (nombre)

� closedir (descriptor)

� estructura ← readdir (descriptor)

� rewindir (descriptor)

� unlink (nombre)

� rename (antiguo_nombre, nuevo_nombre)

62

Sistemas Operativos - ARCOS

alex ana

/

boot lib home users

ARCOS @ UC3M

Page 63: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Directorios: interfaz POSIX

63

#include <unistd.h>#include <sys/types.h>#include <dirent.h>#include <stdio.h>

int main ( int argc, char *argv[] ){DIR *dir1 ;struct dirent *dp ;char nombre[256] ; int ret ;

ret = chdir ("/tmp/") ;if (ret < 0) exit(-1) ;

getcwd (nombre, 256);printf("%s\n",nombre);

dir1 = opendir (nombre);if (NULL == dir1) exit(-1) ;while ( (dp = readdir (dir1)) != NULL) {

printf(“%/%s\n",nombre,dp->d_name);}closedir (dir1);

return (0) ;}

lectura de /tmp Sistemas Operativos - ARCOS

Cambiar de directorio de trabajo

Imprimir el directorio actual de trabajo

Abrir un directorio para trabajar con él

Leer entradas del directorio e imprimir el nombre de cada entrada

Cerrar el directorio de trabajo

ARCOS @ UC3M

Page 64: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

� Información de un directorio:

� Datos� “fichero especial” que contiene un listado de entradas.

� Metadatos� Información sobre el directorio.

� Distintos atributos sobre el directorio

Directorios

ARCOS @ UC3M64

fichero | directorio

Page 65: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

� Información de un directorio:

� Datos� “fichero especial” que contiene un listado de entradas.

� Metadatos� Información sobre el directorio.

� Distintos atributos sobre el directorio

Directorios

ARCOS @ UC3M65

fichero | directorio

o Nombre

o Localización y tamaño

o Protección

o Fechas (creación, …)

o Etc.

Page 66: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Contenidos

ARCOS @ UC3M66

1. Introducción

2. Abstracciones usadas

3. Software de sistema

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Aplicaciones

Benchmarks

Consistencia

Fiabilidad

Page 67: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Software de sistema

67 ARCOS @ UC3M

Alejandro Calderón Mateos

Sistema de ficheros

Basede datos

Dispositivos de almacenamiento

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Aplicaciones

Benchmarks

Consistencia

Fiabilidad

Page 68: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Medición de prestaciones

� Necesario conocer el sistema de ficheros más adecuado para una cierta labor (con una carga de trabajo más específica).

� Solución:� Uso de software (benchmarks) que permiten medir las prestaciones

del sistema de ficheros.� Diseñados para medir diversos aspectos: latencia, ancho de banda,

número de ficheros procesados por unidad de tiempo, etc.

� Dos aspectos a evaluar:

� Gestión de metadatos.

� Gestión de los datos.

ARCOS @ UC3M68

Page 69: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Medición de prestacionesDatos

69 http://www.phoronix.com/scan.php?page=article&item=ubuntu_1204_fs&num=1 ARCOS @ UC3M

� Ejemplos:� iozone, postmark, etc.

Page 70: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Medición de prestacionesMetadatos

70 ARCOS @ UC3M

� Ejemplos:� fdtree, mdtest, etc.

http://linuxgazette.net/122/piszcz.html

http://www.linux-mag.com/id/7682/

Page 71: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Mejora de prestaciones

� Defragmentador:� Defragmentación de bloques de un fichero, reorganización

según el órden de carga en memoria, etc.

� Ej.: defrag en Windows� Ej.: defragfs en Linux

71 ARCOS @ UC3M

Page 72: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Consistencia del sistema de archivos

� Fallos en software pueden que la información (y metadatos) quede inconsistente.

� Solución:� Disponer de herramientas que revisen el sistema de archivos y

permita reparar los errores encontrados.

� Dos aspectos importantes a revisar:

� Comprobar que la estructura física del sistema de archivos es coherente.

� Verificar que la estructura lógica del sistema de archivos es correcta.

ARCOS @ UC3M72

Page 73: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Consistencia del sistema de archivosestructura física

� Lógica del controlador: � Se realizan pruebas

del estado del disco-controlador � Ej.: S.M.A.R.T.

73

� Superficie del disco:� Se lee/escribe los bloques de disco

uno a uno para comprobar problemas en la superficie de parte del disco.

� Ej.: si lo leído es diferente a lo escrito

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 74: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Consistencia del sistema de archivosestructura lógica

� Estructuras en disco: � Comprobar que los metadatos en disco son coherentes

para la partición, directorios y archivos almacenados� Ej.: fsck en Linux o scandisk en Windows

74

Sistemas Operativos - ARCOS

ARCOS @ UC3M

Page 75: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Fiabilidad en sistema de archivos

� Fallos hardware y software pueden provocar fallos en unvolumen (posible pérdida de información).

� Soluciones:

� Detección:� Controladores que tratan con sectores con fallos

� Redundancia:� Discos con información redundante (RAID)

� Backups (copias de respaldo)� Backup completo, incremental o diferencial� En discos, cinta o remoto

ARCOS @ UC3M75

Page 76: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Fiabilidad en sistema de archivos

� Fallos hardware y software pueden provocar fallos en unvolumen (posible pérdida de información).

� Soluciones:

� Detección:� Controladores que tratan con sectores con fallos

� Redundancia:� Discos con información redundante (RAID)

� Backups (copias de respaldo)� Backup completo, incremental o diferencial� En discos, cinta o remoto

ARCOS @ UC3M76

Page 77: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Redundancia con replicación

ARCOS @ UC3M77 Sistemas operativos: una visión aplicada

A

B

B

A

Page 78: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Redundancia con paridad

ARCOS @ UC3M78 Sistemas operativos: una visión aplicada

b0Paridad 012b1 b2

Disco 0 Disco 1 Disco 2 Disco 3

b3 …

Page 79: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Fiabilidad en sistema de archivos

� Fallos hardware y software pueden provocar fallos en unvolumen (posible pérdida de información).

� Soluciones:

� Detección:� Controladores que tratan con sectores con fallos

� Redundancia:� Discos con información redundante (RAID)

� Backups (copias de respaldo)� Backup completo, incremental o diferencial� En discos, cinta o remoto

ARCOS @ UC3M79

Page 80: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Backup (copia de seguridad)¿Dónde?

� Lugar:� Distante del sistema principal

� Protegido del agua, fuego, etc.� Armarios ignífugos

� Medio:� Disco duro

� V: capacidad y precio, I: delicado

� Cinta � V: capacidad y precio, I: lentitud

ARCOS @ UC3M80

Page 81: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Backup (copia de seguridad)¿Cómo?

� Completo (full backup): copiar todo el contenido del sistema de ficheros.

� Diferencial (differential backup):contiene todos los ficheros que han sido modificados desde la última copia de seguridad completa.

� Incremental (incremental backup): contiene todos los ficheros que han sido modificados desde la última copia de seguridad, ya sea completa o diferencial

ARCOS @ UC3M81

Page 82: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Backup (copia de seguridad)¿Cuándo?

� En parada (Off-line)� La copia de seguridad se realiza en los periodos de tiempo

en los que no se utilizan los datos del sistema.

� En línea (On-line):� La copia de seguridad se realiza mientras se utiliza el sistema

� Uso de técnicas que eviten problemas de consistencia:� Snapshots

copia solo lectura del estado del sistema de ficheros� Copy-on-write

escrituras después de snapshot se realizan en copias

ARCOS @ UC3M82

Page 83: DSO-4a: Introducción a un sistema de ficheros (v4d)

Alejandro Calderón Mateos

Backup (copia de seguridad)MacOS: Time Machine

ARCOS @ UC3M83

http://www.reghardware.com/2007/11/08/review_leopard_pt2/page2.html

http://www.genbeta.com/sistemas-operativos/primeras-imagenes-de-history-vault-el-time-machine-de-windows-8

Page 84: DSO-4a: Introducción a un sistema de ficheros (v4d)

Lección 4 (a)Sistemas de ficheros

Diseño de Sistemas Operativos

Grado en Ingeniería Informática

Grupo ARCOS

Universidad Carlos III de Madrid