File System - File Concept
29 belangrijke vragen over File System - File Concept
Waaruit bestaat respectievelijk een tekst file, source file, een object file en een executable file?
Een text file is een verzameling karakters verdeeld in regels en eventueel pagina's
Een source file is een verzameling van subroutines en functies, die op hun beurt bestaan uit declaraties en instructies.
Een object file is een aaneenschakeling van bytes die zijn ondergebracht in blocks die gelezen kunnen worden door de linker.
Een executable file is een serie codesecties die door de loader in het geheugen geladen en uitgevoerd kunnen worden.
Noem zeven gebruikelijke attributen van files.
- Name.
- Identifier. Identificeert de file binnen het filesysteem.
- Type.
- Location. Een pointer naar de device en locatie binnen de device.
- Size.
- Protection. Geeft aan wie welke toegangsrechten heeft.
- Time, date en user identification.
Noem de zes basic file-operaties die op een file uitgevoerd moeten kunnen worden.
- Creating a file.
- Writing a file.
- Reading a file.
- Repositioning within a file. De lees- of schrijfpointer wordt binnen de file op een andere positie gezet.
- Deleting a file, inclusief het verwijderen van de filegegevens uit de directory.
- Truncating a file. De inhoud van een file verwijderen zonder de file te verwijderen.
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Wat is de functie van de open-file table?
De open-file table bevat informatie over de files die op dat moment zijn geopend. Op die manier hoeft niet voor elke uit te voeren operatie op een file opnieuw naar de file te worden gezocht. Bij het openen van een file krijgt een proces een referentie naar de file in de open-file table. Zo'n referentie wordt een file handle, file descriptor of file control block genoemd.
Welke vier soorten informatie bevat de open-file table doorgaans over een file?
- File pointer. De huidige positie binnen de file. Deze informatie is procesafhankelijk.
- File-open count. Het aantal geopende instanties van de file.
- Disk location of the file.
- Access rights. De toegangsmodus van de file. Deze informatie is procesafhankelijk.
Wat is het essentiële verschil tussen mandatory file-locking en advisory file-locking?
Mandatory file-locking wordt afgedwongen door het besturingssysteem, terwijl advisory file-locking door de software wordt afgedwongen.
In welk opzicht is het nadelig als een besturingssysteem veel verschillende filestructuren ondersteunt?
Voor elk van de te ondersteunen filestructuren moeten operaties gedefinieerd worden, waardoor de omvang van het besturingssysteem toeneemt.
Welke zes file-eigenschappen worden buiten de file zelf vastgelegd en waar worden die eigenschappen bewaard?
- De naam van de file
- De plaats van de file (device en positie)
- Het type file
- De grootte van de file
- De beschermingsgegevens (gebruikers en toegangsrechten)
- Datum- en tijdgegevens
Deze gegevens worden meestal op hetzelfde achtergrondgeheugen vastgelegd als waar de files staan
Hoeveel geheugenruimte is gemiddeld per file nodig voor het vastleggen van die eigenschappen?
Per file is tot circa 1000 byte (1 kb) nodig om deze informatie vast te leggen.
Welke eigenschappen van files zijn (ook) in de file zelf vastgelegd?
- De file-inhoud
- De filestructuur
- Soms ook: filetype
- De lengte van de file (impliciet)
Worden opdrachten die gebruikers geven om bewerkingen op hun eigen files uit te voeren, direct uitgevoerd?
Nee, die opdrachten worden niet direct uitgevoerd maar omgezet in system calls voor het besturingssysteem. Na controles voert het besturingssysteem de gegeven opdracht uit of meldt, met argumenten, dat het de gevraagde actie niet uitvoert.
Wat is de bedoeling van de 'open'-bewerking op een file en hoe wordt die bewerking geïnitieerd?
Een door een proces te gebruiken file is tijdens de uitvoering meestal vaker nodig. Om die file niet steeds weer te moeten benaderen via de directorystructuur, worden de relevant filegegevens bij het openen van de file opgenomen in de sneller toegankelijke open-file table van het systeem, een tabel waarin vaak ook de lees/schrijfpositie in de file wordt bijgehouden. De opname in die tabel gaat bij sommige systemen automatisch na de eerste referentie, bij andere gebeurt dat pas na een expliciete open-opdracht.
Hoe wordt de open-file table gebruikt?
De filegegevens van een geopende file staan in de open-filetabel. Elke geopende file heeft ene eigen referentie, meestal een nummer, naar zijn index in de open-filetabel. Die referentie heet een file handle (Windows), file descriptor (UNIX) of file control block. Bij verwijzingen naar een file wordt steeds die referentie gebruikt.
Hoe wordt in een multi-useromgeving een open-file table gerealiseerd?
In een Multi-useromgeving wordt vaak zowel een open-filetabel per proces als een open-filetabel voor het gehele systeem gebruikt. Algemene informatie over de file (bijvoorbeeld de plaats van de file op de schijf) staat in de open-filetabel van het systeem. Processpecifieke informatie (bijvoorbeeld de toegangsrechten en de plaats van de lees/schrijfpointer) staat in de open-filetabel van het proces.
Wat zijn de effecten van een close-bewerking op een file?
Een close-bewerking zorgt ervoor dat de file uit de met het proces verbonden open-filetabel verwijderd wordt en niet meer toegankelijk is voor dat proces. Als die file ook niet meer door andere processen gebruikt wordt, verdwijnt de file ook uit de open-filetabel van het systeem. De dan aanwezige filebuffers in het geheugen worden verwijderd, eventueel na een zekerstelling dat aangebrachte wijzigingen alsnog in de fileversie op de schijf overgenomen worden.
Waarom worden files naar hun type onderscheiden en wat is de gangbare wijze om dat te doen?
Files worden naar type onderscheiden opdat het besturingssysteem weet welke bewerkingen het met de file kan doen en weet welke programma's bewerkingen op die file kunnen uitvoeren.
Bij veel besturingssystemen wordt het filetype aangegeven in een speciaal deel van de filenaam: de extensie.
Noem een aantal filetypen binnen Windows/DOS
Binnen Windows/DOS onderscheiden we onder andere:
- Uitvoerbare files (exe, com)
- Commandofiles (bat)
- Files met broncode van een bepaalde programmeertaal (java, pas, cc, c, cpp)
- Platte tekstfiles (txt)
- Tekstfiles voor een bepaalde tekstverwerker (doc, odt)
- Bibliotheekfiles (dll)
- Excel-, Powerpoint- en Accessfiles (xls, ppt, mdb)
- Zipfiles (zip)
Welk filetype moet elk besturingssysteem kunnen onderscheiden?
Elk besturingssysteem moet een uitvoerbare file kunnen onderscheiden van andere filetypes.
Geef zowel voor- als nadelen om binnen een systeem veel verschillende filetypen te onderscheiden
Een besturingssysteem dat geen onderscheid maakt tussen files, executeerbare files uitgezonderd, is zeer flexibel maar biedt weinig ondersteuning aan programmeurs en gebruikers.
Een besturingssysteem data vele filetypes kan onderscheiden biedt die ondersteuning wel. Zo kan bij het aanklikken van een file via de file-extensie het bijbebehorende programma worden herkend en vervolgens automatisch opgestart worden. Dat mechanisme zal vastlopen als de file-extensie onjuist is aangegeven.
Kleine files nemen op een schijf vaak relatief veel meer ruimte in dan hun echte omvang. Verklaar dit.
Files worden op de schijf in blokken van vaste grootte geplaatst. Het ruimtebeslag op de schijf is dus minimaal de standaard blokgrootte, ook als een file (veel) kleiner is dan die standaard blokgrootte.
Hoe worden grote files op een schijf geplaatst? Waarom wordt het laatste blok vrijwel altijd niet volledig gebruikt?
Files die groter zijn dan de standaard blokgrootte worden in een aantal blokken weggeschreven. De eerste blokken zullen volledig worden, het laatste blok niet, omdat daar de rest van de file in komt.
Bij grote files wordt het laatste blok vrijwel altijd niet volledig gebruikt. Wanneer worden ook de andere blokken onvolledig gebruikt?
Als files een specifieke structuur hebben, bijvoorbeeld opgebouwd zijn met records van een vaste grootte, wordt er vaak per blok een geheel aantal specifieke onderdelen geplaatst. Elk blok wordt dan slechts deels benut.
Waarom is er bij de opslag van files op schijf bijna altijd interne fragmentatie?
Er is vrijwel altijd interne fragmentatie, omdat het laatste blok vrijwel nooit volledig wordt gebruikt.
Wat is de functie van de current-file-position pointer?
De current-file-position pointer geeft de huidige locatie binnen een file aan voor een fileoperatie. Deze pointer kan voor zowel leesoperaties als schrijfoperaties gebruikt worden.
Welke twee soorten van open-file tables worden onderscheiden?
Onderscheid kan gemaakt worden tussen een per-process table en een system-wide table. In de per-process table wordt procesafhankelijke informatie opgeslagen, zoals de huidige positie binnen de file en de toegangsrechten. In de system-wide table wordt procesonafhankelijke informatie opgeslagen, zoals de locatie van de file en de grootte van de file.
Er zijn twee typen file locks: een shared lock en een exclusive lock. Wat is het verschil?
Een shared lock kan door meerdere processen tegelijk verkregen worden (zoals een reader lock), terwijl een exclusive lock maar door een proces tegelijk verkregen kan worden (zoals een writer lock).
Noem twee manieren waarop het besturingssysteem kan weten met welke applicatie een file geopend moet worden.
- Via de extensie in de bestandsnaam
- Door de naam van de applicatie waarmee de file is gecreëerd in de fileattributen op te nemen
Welk nadeel treedt op als een besturingssysteem maar een beperkt aantal filetypen ondersteunt?
De interpretatie van de niet ondersteunde filetypen wordt overgelaten aan de applicaties en vergt voor de applicatieprogrammeur dus extra programmeerwerk.
Bij packing worden de logische records van een file omgezet in fysieke disk blocks. Waarom is dit nodig?
De logical record size komt niet altijd overeen met de physical block size. Alle basale I/O-functies gaan uit van de physical block size.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden