Prof.Dr.FranzShweiggert InstitutfürAngewandteInformationsverarbeitung 27.Januar2009
MatthiasRöhm Blatt12
A
Allgemeine Informatik III / Systemnahe
Software I (WS 2008)
Abgabetermin:03.02.2008
1 Aufgabe 1
• ErklärenSiedenAufbaudesUnixFileSystems.
• WiewerdenVerzeihnisseundreguläreDateieninUFSrepräsentiert?Worinuntershei- densihreguläreDateienvonVerzeihnissen?
• InwelhenStrukturenverwaltetdasUnix-BetriebssytemallegeönetenDateien?Welhe AufgabehabendieeinzelnenStrukturen?
2 Aufgabe 2
ImplementierenSieeinProgrammf ind,dasdieDateieneinesVerzeihnissesrekursiv durh- suht.Das ProgrammsolldieOptionen-v(Startverzeihnis), -f(Dateiname)und-s(String)
verarbeitenkönnen.DieOption-vmussimmerangegebenwerden.DieOptionen-fund-ssind
optional.Es kannnureinederbeiden Optionen-foder -sangegeben werden!Wirdauÿer-v
keinParameterangegeben,werdenalleDateienausgegeben.WerdenkeineDateiengefunden,
wirdnihtsausgegeben.
• find -v verzeihnis
GibtalleDateieninverzeichnisunddessenUnterverzeihnissenaus.
• find -v verzeihnis -f dateiname
SuhtinverzeichnisunddessenUnterverzeihnissennahDateien,mitdemangegebenen Namendateiname.
• find -v verzeihnis -s string
Suht in verzeichnis unddessen Unterverzeihnissen in allenDateien nahdem Text
string.WennstringineinerDateigefundenwird,wirdderenNameangezeigt.
EinträgeineinemVerzeihnis
geönetwerden.DazudientdieFunktionopendir.ÜbergibtmandieserFunktiondenNamen
einesVerzeihnisses,dannliefertsieeinenZeigeraufeineDatenstrukturvomTypDIRzurük.
Übergibtmandiesen ZeigerandieFunktionreaddir, soerhältmanbeijedemAufruf einen
ZeigeraufeineStrukturvomTypstruct dirent.DieseStrukturenthältimFeldnamedenNa-
mendesjeweilsnähstenVerzeihniseintrags.AmEndesolltedasVerzeihnismitderFunktion
closedirwiedergeshlossenwerden.
LesenausDateien
EineDateimusszunähstgeönetwerden.DazudientdieFunktionopen.DerersteParameter
ist derName der zuönenden Datei.Derzweite Parameter enthält dieof lags, diedieArt
der I/O-Verbindung undihreEigenshaften spezizieren. DerdritteParameter vonopen ist
nurrelevant,wenn eineDateigeönetwerdensoll,dienohnihtexistiert,daherwirddieser
hiernihtbenötigt.EineerfolgreiheAusführungdesSystemaufrufslieferteinenFiledeskriptor
zurük, mitdem, mittelsread, aus der Dateigelesenwerdenkann. ZumShluss sollte eine
geöneteDateimitclosewiedergeshlossenwerden.
VielErfolg!