facultad de ingeniería universidad de buenos airesmaterias.fi.uba.ar/7508/slides/08-files.pdf ·...

23
Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic Adrián Muccio Archivos Archivos

Upload: others

Post on 16-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

Facultad de IngenieríaUniversidad de Buenos Aires

75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa

Lic Adrián Muccio

ArchivosArchivos

Page 2: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 2

El File System El File System

● Método para guardar y organizar archivos para computadoras y sus datos

– Provee acceso y almacenamiento a datos y programas.

– Presenta dos aspectos:● Interfaz de usuario.● Implementación.

– La interfaz exporta la noción de:● Directorios● Archivos

Page 3: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 3

FilesFiles● Una colección de datos con nombre.● Una unidad lógica de almacenamiento.

– Abstrae las propiedades físicas del dispositivo de almacenamiento.

● Provee persistencia a través de – Reinicios.– Activaciones de programas.– Fallas de energía.

Page 4: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 4

Atributos de un archivoAtributos de un archivo

● Nombre.● Ubicación.● Tamaño.● Protección.

● Tipo.– Restringe las operaciones que se

pueden realizar sobre el archivo.

● Extensiones + archivos de asociación (Registry)

● Uniform Type Identifier (UTI)● Magic o FourCC

Page 5: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 5

Atributos de un archivo (II)Atributos de un archivo (II)● Propietario● Time Stamp:

– Creación.– Modificación.– Acceso.

● ¿Donde se guarda el atributo?– Directorio.– Archivo.– Estructura

separada.

Page 6: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 6

Operaciones sobre los archivos(operaciones abstractas)

Operaciones sobre los archivos(operaciones abstractas)

●Create●Delete

●Open●Close●Read

●Write

●Append●Seek●Get attributes●Set Attributes●Rename

Page 7: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 7

Operaciones sobre Directorios(Operaciones abstractas)

Operaciones sobre Directorios(Operaciones abstractas)

● Create● Delete

● Opendir● Closedir

●Readdir●Rename●Link●Unlink

Page 8: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 8

Métodos de AccesoMétodos de Acceso

● Sequential Access– read next– write next – reset– rewrite

● Direct Access– read n– write n– position n

● read next● write next

– rewrite n

Page 9: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 9

Partición de Discos con MBRPartición de Discos con MBR

Cada partición tiene su tipo.

Page 10: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 10

Partición GUID-EFI Partición GUID-EFI

GUID -globally unique identifier

EFI - Extensible Firmware Interface

LBA - logical block addressing

GPT - GUID PartitionTable

● Hasta 128 particiones (y +).● Prticiones de mas de 2 TiB.●No precisa particiones “hidden”. (Por ejemplo service)

Page 11: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 11

FAT File System(Linked Allocation) FAT File System

(Linked Allocation)

File Allocation Table (FAT)

a.txt 1

b.txt 5

c.txt 2

Directorio(Block 0)

\

3

4

7

EOF

EOF

0

1

2

3

4

567

8

EOF

7

2

3

4

5

6

1

Storage Blocks

a.txt

a.txt

a.txt

c.txt

c.txt

b.txt

Page 12: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 12

Unix FIle System Unix FIle System

Page 13: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 13

NTFS (I)NTFS (I)

●Para ver la estructura se puede usar NTFSInfo

FSInfo>ntfsinfo.exe c:

NTFS Information Dump V1.01Copyright (C) 1997 Mark Russinovichhttp://www.sysinternals.com

Volume Size-----------Volume size : 20465 MBTotal sectors : 41913521Total clusters : 5239190Free clusters : 2462979Free space : 9621 MB (47% of drive)

Allocation Size----------------Bytes per sector : 512Bytes per cluster : 4096Bytes per MFT record : 1024Clusters per MFT record: 0

MFT Information---------------MFT size : 54 MB (0% of drive)MFT start cluster : 786432MFT zone clusters : 800448 - 1120288MFT zone size : 1249 MB (6% of drive)MFT mirror start : 2619595

Meta-Data files---------------

MFT Master File Table

● Cada Archivo tiene una entrada en la Master File table.

● La primer entrada describe a la propia MFT

● Las siguientes son opciones de log o Update Sequence Number

Page 14: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 14

NTFS (II)NTFS (II)Metafiles User Files

MFT Record for a Small File or Directory

Page 15: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 15

Transactional NTFSTransactional NTFS

● Aparece con Windows Vista al igual que el Encrypting File Systems

– Permite cumplir con una de las propiedades ACID de las bases de datos (Atomicidad).

– Es usado para soportar al Kernel Transaction Manager

● Que usa un proceso conocido como Common Log File System (no es un FS, es un service)

Page 16: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 16

Log File SystemsLog File Systems

● Las escrituras se hacen siempre en la cabeza de un log circular como transacciones.

– Se crean entonces versiones del mismo archivo.● Si éstas son accesibles, es un Versioning File System.● Si se reconstruye el archivo, se lo llama

Journaling File System– Ext3 O Ext4 son Journaling File System.– JFFS se usa en las memorias flash para compensar su

corta vida útil.

Page 17: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 17

i-node offset mount f. systemroutines

Código del

Programa

fd

Open File Table

i-node table

i-Node

dup, dup2 y fork duplican el fd

Per Process structureKernel structureDisk structure

FILE struct(opaca)

FILE *

Buffers de glibc

Buffers de glibc

Storage Blocks

Estructuras usadas en el procesamiento de Archivos

Estructuras usadas en el procesamiento de Archivos

U-File Table

i-NodeCount flags

Storage Blocks

Page 18: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 18

Archivos mapeados a memoriaArchivos mapeados a memoria

● Se ven como parte de la memoria.NAME mmap, munmap - map or unmap files or devices into memory

SYNOPSIS #include <sys/mman.h>

void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset);

int munmap(void *start, size_t length);

● Se manejan junto con la memoria virtual.● Permite compartir archivos.

Page 19: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 19

El Buffer CacheEl Buffer Cache

Buffer Cache de páginas y de archivos

Buffer Cache unificado (linux-NT)

Page 20: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 20

I/O con memoria VirtualI/O con memoria Virtual

● Una unidad como la MMU para el DMA.

● Usada primero por AGP y PCI-Express para video (GART)

● Luego adoptada por INTEL (VT-d) y AMD (HyperTransport).

Page 21: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 21

Virtual File System (I)Virtual File System (I)

● Maneja el acceso a directorios y archivos.

● Presenta una interfaz unificada independiente del file System.

– Y hay muchos

Page 22: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 22

Virtual File System (II)Virtual File System (II)● Interactúa con los File

Systems ...– que interactúan con el

buffer cache, el page-cache y los dispositivos.

● Interactúa con el usuario por medio de las System Calls.

● Provee las estructuras de datos como dcache, inodes cache y user files tables

Page 23: Facultad de Ingeniería Universidad de Buenos Airesmaterias.fi.uba.ar/7508/Slides/08-Files.pdf · 2019. 2. 17. · Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing

75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clúa

Lic Adrián MuccioFIUBA 23

Objetos - PersistenciaObjetos - Persistencia

● Característica de perdurar entre ejecución y ejecución.

● Object Data Base management Systems (ODBMS).– De empleo en aplicaciones industriales.– Usan un Object Query Language.

● Hay varias implementaciones.

Object Relational Mapping– Los atributos de un objeto se cargan desde una RDBMS

● De empleo en aplicaciones “Administrativas”.