Basiscursus Informatica, 98-99 College 8, H 8 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 8, File Structures Brookshear H8 Richard.

Slides:



Advertisements
Verwante presentaties
De gemiddelde leerling
Advertisements

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
Doublet deel 1 – de basis.
Differentie vergelijkingen differentie vergelijkingen
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Figuur 5.1 Organisatieschema Figuur 5.2 Steile en platte organisatie.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
Riolering Hoograven fase III
Electronic Resource Management (ERM) Els Schaerlaekens Anet Gebruikersdag 15 juni 2011.
Basiscursus Informatica SWI Theoriegedeelte Overzicht en H0 Richard Benjamins.
Weddeschalen & Weddebijslagen
Ronde (Sport & Spel) Quiz Night !
Natuurlijke Werkloosheid en de Phillipscurve
Basiscursus Informatica, College 7, H 7 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 7, Data Structures Brookshear H7 Richard.
prNBN D addendum 1 Deel 2: PLT
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
Klassieke AO Leseenheid1
Datastructuren Analyse van Algoritmen en O
Goed onderwijs maken we samen!
Nooit meer onnodig groen? Luuk Misdom, IT&T
Passie - Verrijzenis Arcabas
Internationale hogeschool Breda Wiskunde bij het ontwerpen en evalueren van verkeerslichtenregelingen Wachten voor een verkeerslicht duurt altijd te lang…..
Elke 7 seconden een nieuw getal
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
 Ongeveer auto’s in Nederland  Query: zoek op kenteken  Aannames ◦ Een tuple (record) kost ongeveer 400 bytes ◦ Een disk block bevat 8.
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
Onderwijsconferentie
Optuigen van datastructuren
Werken aan Intergenerationele Samenwerking en Expertise.
Breuken-Vereenvoudigen
Elektriciteit 1 Basisteksten
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
aanvallen moeten ten allen tijden worden weerstaan
Inleiding Informatica, College 6, H 6 – sheet nr. 117 October :27 Basiscursus Informatica 98/991 Inleiding Informatica College 7, Brookshear.
Inleiding Informatica, College 9, H 8, sheetnr. 113 March, 2001 Basiscursus Informatica 98/991 Inleiding Informatica College 9, Brookshear hoofdstuk.
Basiscursus Informatica, College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob.
Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen van.
1 Controleplan 2005 Raadgevend comité Hotel President – donderdag 21 april 2005.
ZijActief Koningslust 10 jaar Truusje Trap
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
Hoofdstuk 5 Vijfkaart hoog, eerste verkenning 1e9 NdF-h1 NdF-h5 1 1.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Basiscursus Informatica, College 9, H 9 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 9, Database Structures Brookshear H9 Richard.
De financiële functie: Integrale bedrijfsanalyse©
Inhoud college Lijnbalancering Comsoal Random Sequence Generation
Oefeningen Workshop RIE Gemeenten
Van papier naar digitaal Casus Digital born materiaal
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Facet De beveiligde site en de beheerder Facet.
ZijActief Koningslust
H51PHOTOSHOP 1 Les 4 Hagar: Vullen. audiovisueel centrum meise 2 Overzicht Elementaire handelingen  Vullen  Patronen.
© imec 2000 © imec 2001 MAX+PLUS II Installatieprocedure.
Cegeka & TenForce Ronde tafel 17/06/2014 Doelstellingenmanagement VO.
Transcript van de presentatie:

Basiscursus Informatica, College 8, H 8 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 8, File Structures Brookshear H8 Richard Benjamins

Basiscursus Informatica, College 8, H 8 2 Basiscursus Informatica 98/992 Overzicht college 8 n Sequentiele files n Text files (sequentieel) n Indexed files n Hashed files n Rol van besturingsysteem n Gebruiker denkt in conceptuele data structuren n Implementatie in massa opslag (disk) n Waarom massaopslag? ä ruimte ä permanent ä backups

Basiscursus Informatica, College 8, H 8 3 Basiscursus Informatica 98/993 Sequential files, opbouw n Stel: studenten-administratie-systeem ä studiesituatie van alle studenten bepalen ä loop een voor een af en reken studiepunten uit ä sequentiele file n File = Record1, Record2,..., Recordn, EOF ä Andersen, Benjamins, Brouwer,... n Record = Field1, Field2,..., Fieldn ä Achternaam, adres, collegekrtno, studiepunten

Basiscursus Informatica, College 8, H 8 4 Basiscursus Informatica 98/994 Sequentiele files n Conceptueel ä toegang tot informatie in file is sequentieel n Fysiek ä records kunnen verspreid over disk zijn Rec #1 Rec #2 Rec #3 Rec #4 EOF disk sector 1: rec#1, #2 sector 2: rec#3, #4 FILE INFO 1-2 sector1 3-4 sector

Basiscursus Informatica, College 8, H 8 5 Basiscursus Informatica 98/995 Sequentiele files: bewerken n Studenten-adm. updaten: ä zoek student in de file ä werk gegevens bij ä zoek volgende student n Niet erg efficient ä elke keer opnieuw zoeken vanaf scratch n Beter: bij te werken gegevens in zelfde volgorde als records in sequentiele file

Basiscursus Informatica, College 8, H 8 6 Basiscursus Informatica 98/996 Keyfield n Sequentiele files zijn geordend volgens een keyfield ä alphabetisch ä numeriek (bv. collegekrtno) n Sorteer bij te werken gegevens volgens zelfde keyfield ä Gegevens bijgewerkt zonder telkens te zoeken ä maar een voor een in juiste volgorde

Basiscursus Informatica, College 8, H 8 7 Basiscursus Informatica 98/997 Toegang sequentiele files n Elke programmeertaal komt met primitieven voor sequentiele files ä Pascal: read(File, Record), write(File, Record) n Lokatieinformatie is impliciet ä record dat gelezen wordt, is het volgende record n eof(File) is “true” als: Rec #1 Rec #2 Rec #3 Rec #4 EOF

Basiscursus Informatica, College 8, H 8 8 Basiscursus Informatica 98/998 Merging van seq. files n Gegeven: studenten file (master file), sorted sorted nieuwe studenten (transaction file) Keyfield: collegekrtno n Gevraagd: nieuwe studenten-file merge eof eof eof mastertransaction

Basiscursus Informatica, College 8, H 8 9 Basiscursus Informatica 98/999 Overzicht college 8 n Sequentiele files n Text files (sequentieel) n Indexed files n Hashed files n Rol van besturingsysteem

Basiscursus Informatica, College 8, H 8 10 Basiscursus Informatica 98/9910 Text files n Sequent. file met max lengte record van 1 byte n Record = 1 Field = 1 Byte ä 1 byte = 1 symbool of 1 controle teken (^m) n Alternatieve conceptualisatie: 1 record=1 regel (eol) A B C ….. eol

Basiscursus Informatica, College 8, H 8 11 Basiscursus Informatica 98/9911 Manupulatie van text files n In massa-opslag: tekstfile verdeeld in multiple-byte eenheden die fysieke records vormen n Manipulatie (read/write) door software dmv buffer in centrale geheugen ä read van bytes: -retrieve aantal fysieke records -stop in buffer ä write van text file: -verzamel bytes in buffer - als fysiek record gevuld - schrijf weg naar disk

Basiscursus Informatica, College 8, H 8 12 Basiscursus Informatica 98/9912 Buffer disk read write programma buffer File Info..... sector sector Wat gebeurt er als we om een character vragen en - zit al in buffer? - zit niet in buffer? Wat gebeurt er als er meedere pagina’s worden gevraagd op de monitor?

Basiscursus Informatica, College 8, H 8 13 Basiscursus Informatica 98/9913 Overzicht college 8 n Sequentiele files n Text files (sequentieel) n Indexed files n Hashed files n Rol van besturingsysteem

Basiscursus Informatica, College 8, H 8 14 Basiscursus Informatica 98/9914 Geindexeerde files n Als je een willekeurig record wilt, is het erg kostbaar om records een voor een af te lopen ä voor elke retrieval, sequential search: traag ä interactieve systemen (resultaat bepaald student) n Idee geindexeerde files: n Aanname: keyfield waarde is altijd bekend key lokatie record op disk

Basiscursus Informatica, College 8, H 8 15 Basiscursus Informatica 98/9915 (Multiple) index disk key: collegekrtno File met twee indexen: inverted file secondary key: naam Andersen Brouwer Colijn Fortuin..... primary

Basiscursus Informatica, College 8, H 8 16 Basiscursus Informatica 98/9916 Andere kant medaille n Geindexeerde files hebben directe (en sequentiele) toegang, maar... n Als records toegevoegd en verwijderd worden ä updaten index, kost tijd ä multiple indexes kost nog meer tijd n Merk op: directory structuur in OS is ook index

Basiscursus Informatica, College 8, H 8 17 Basiscursus Informatica 98/9917 Index organisatie n Index komt in centraal geheugen (vanaf disk) n Moet niet te groot zijn, anders past er niet in n Als te grote index ä partial index –keyfield wijs naar segment met aantal records ipv naar 1 record ä hierarchische index –keyfield verwijst naar andere index (vgl directory stucture in OS)

Basiscursus Informatica, College 8, H 8 18 Basiscursus Informatica 98/9918 Partial index Waarom gebruik je de grootste key om een segment te repre- senteren? Index keysegment locatie File opgedeeld in segmenten

Basiscursus Informatica, College 8, H 8 19 Basiscursus Informatica 98/9919 Hierarchische index K U Z key subindex File opgedeeld in segmenten D G K O R U X Y Z key subindex Index B C D E F G H I J K L M N O

Basiscursus Informatica, College 8, H 8 20 Basiscursus Informatica 98/9920 Overzicht college 8 n Sequentiele files n Text files (sequentieel) n Indexed files n Hashed files n Rol van besturingsysteem

Basiscursus Informatica, College 8, H 8 21 Basiscursus Informatica 98/9921 Hashed files n Sequential files hebben sequentiele toegang n Indexed files hebben zowel directe (random) als sequentiele toegang ä overhead van bijhouden index n Hashed files hebben alleen directe toegang (random access) ä zonder overhead van index ä mbv hash algoritme

Basiscursus Informatica, College 8, H 8 22 Basiscursus Informatica 98/9922 Hash techniek n Deel de te gebruiken massa opslag op in secties, “buckets” n Kies keyfield n Verdeel keys over buckets n Basisidee: Key Hash algoritme {0,..., n} bucket#0 bucket#1 bucket#n.....

Basiscursus Informatica, College 8, H 8 23 Basiscursus Informatica 98/9923 Hashing systeem: key/40 Keys : 14, 54, 93, 94, 133, /40= /40= /40= /40= /40= /40= 8+15 remainders = buckets #12#13#14#15# hash algoritme

Basiscursus Informatica, College 8, H 8 24 Basiscursus Informatica 98/9924 Vb. hashing een student Key field waarde:9801 ASCII: Equivalent in 10-basis: > 2 29 ~ Remainder na /40: 32 Bucket nummer:32

Basiscursus Informatica, College 8, H 8 25 Basiscursus Informatica 98/9925 Distributie-problemen n Als keys een bepaald patroon vertonen: ä bv. 5, 10, 20,... n En ze hebben een factor gemeenschappelijk met het aantal buckets ä bv. 5 n Dan worden alleen bepaalde buckets gevuld ä bucket 0 n Keys clusteren in bepaalde buckets ä retrieval binnen bucket is sequentieel

Basiscursus Informatica, College 8, H 8 26 Basiscursus Informatica 98/9926 Vb. distributie-probleem Keys : 14, 54, 93, 94, 133, /40= /40= /40= /40= /40= /40= 8+15 remainders = buckets #12#13#14#15# hash algoritme

Basiscursus Informatica, College 8, H 8 27 Basiscursus Informatica 98/9927 Clusteren n Voorkomen: neem aantal buckets met minimaal aantal factoren: priemgetal ä deelbaar door zichzelf en 1 n Clusteren kan wel verminderd worden, maar niet voorkomen ä 41 buckets kans op 1 key per bucket: (41/41)(40/41)(39/40)...(34/41) =.482 ä dus: kans op twee keys in zelfde bucket is al groter dan 0.5 bij 8 keys ä twee keys naar zelfde bucket: collision

Basiscursus Informatica, College 8, H 8 28 Basiscursus Informatica 98/9928 Section overflow n Grote kans op collisions ä dus altijd rekening houden met clustering ä maatregelen voor mogelijke problemen n Overflow: ä bucket is vol, maar er wordt nog een key bij gehashed n Oplossing: overflow sectie gelinked aan bucket n Nadeel: efficiente gaat naar beneden ä sequentiele toegang in overflow sectie

Basiscursus Informatica, College 8, H 8 29 Basiscursus Informatica 98/9929 Overflow #0 #1 #2 #3 #4 NIL Overflow opslaggebied Overflow pointers Opslag buckets

Basiscursus Informatica, College 8, H 8 30 Basiscursus Informatica 98/9930 Overzicht college 8 n Sequentiele files n Text files (sequentieel) n Indexed files n Hashed files n Rol van besturingsysteem

Basiscursus Informatica, College 8, H 8 31 Basiscursus Informatica 98/9931 Besturingsysteem n Voor gebruiker zijn details van file niet nodig ä standaard procedures, commando’s n OS communiceert met proc. en moet weten waar het overgaat ä structuur van file, keyfield, huidige positie, soort toegang (read, write), etc. n File descriptor ä bevat alle info nodig voor het verwerken van een file ä manipuleerbaar en toegankelijk voor standaard procedures

Basiscursus Informatica, College 8, H 8 32 Basiscursus Informatica 98/9932 Vanuit PL, vb. open(unit=10, file=‘filename’, status=old, access=sequential) vraagt aan OS om file descriptor te maken voor de file ‘filename’ om iets met de file te doen close(unit=10) file ‘10’ is bijgewerkt en wordt afgesloten Verschil interne en externe file naam: unit=10 versus filename Komt door verschillende syntax programmeertalen en OS