{"guid":"import-c0178e70704dfcfe97","title":"OpenSolaris/Solaris: DTrace","subtitle":null,"slug":"mrmcd111b-2716-de-opensolaris_solaris-dtrace","link":"https://mrmcd.net/schedule/mrmcd111b/events/2716.en.html","description":"OpenSolaris/Solaris: Dtrace\n---------------------------------------------\n\nBei Sun Microsystems wurde beschlossen, Solaris in\nden OpenSource überzuführen. Dieser Prozess wurde im Juni\n2005 angefangen.\nHeute befindet man sich in der Situation, dass es von Sun\nnoch alte Distributionen von Solaris gibt, die nicht im\nOpenSource sind (Solaris ..., 8, 9 und 10) sowie die neuen\nDistributionen (OpenSolaris ) die schon OpenSource sind.\n\nAlle diese Distributionen lassen sich kostenfrei herunterladen\nund benutzen.\n\nFür die Solaris Distributionen ist voller Support und\nOpenSolaris 2008.05 ist eingeschränkter Support verfügbar.\n\nDer Support für OpenSolaris wird schrittweise ausgebaut werden.\nDer Nachfolger von Solaris 10 wird auf OpenSolaris basieren,\nder Source und voller Support wird verfügbar sein.\n\n(10 Min + 5 Min Diskussion)\n\n\nDtrace - Dynamic Tracing\n-------------------------------------------------------------------\nDtrace ist ein Beispiel für die neuen Projekte im OpenSolaris,\ndie schon Eingang in andere Betriebssysteme gefunden haben.\n\nMit Dtrace wird die Sichtweise auf den Kernel bzw. auf die\nArbeitsweise von Programmen verändert. Statt einzelne Prozesse\nbis zum Systemcall zu untersuchen ist mit Dtrace der gesamte Ablauf\nauch im Kernel beobachtbar. Dazu ist ein generelles System zum\nBeobachten von Kernel-Modulen erstellt worden, das zusätzlich immer\nauch den Kontext des rufenden User-Programms kennt.\n\nDaher sind einzelne Programme, zusammenarbeitende Programme oder\nauch der Ablauf im Kernel beobachtbar.\n\nUm solche Beobachtungen effizient zu ermöglichen wurden verschiedene\nDesign-Entscheidungen getroffen:\n - Messungen dürfen keine Locks im Kernel nutzen\n - Daten müssen effizient verarbeitet werden\n - Der Overhead ohne Messungen muss minimal sein\n\nRealisiert wird Dtrace durch eine Bibliothek libdtrace,\ndie die dtrace Kernel-Möglichkeiten verschiedenen\nAnwendungsprogrammen - auch eigenen - zur Verfügung stellt.\nDas Userland-Programm dtrace nutzt ebenfalls die libdtrace.\n\n\nWie funktioniert dtrace?\n\nMit einem D-Programm wird eine Anfrage gestartet.\nDie Sprache D ist C-artig und ist ähnlich wie die Sprache\nAWK limitiert.\nEin D-Programm besteht aus Klauseln, die Datenwerte an spezifizierten\nMesspunkten im Kernel oder im Userprogramm nutzen können.\nOb die Daten verarbeitet werden lässt sich mit Bedingungen pro\nMesspunkt einschränken.\nAus den Daten kann man dann einfache Ausgaben, formatierte Ausgaben\noder Statistiken erstellen, wobei die Statistikfunktionen Bestandteil\nvon dtrace sind.\n\nDie Implementierung nutzt an jedem potentiellen Messpunkt eine\nListe von Callback-Funktionen. Solange diese Liste leer ist ist der\nOverhead extrem klein.\nWenn ein Messpunkt benutzt wird, dann wird eine Callback-Funktion\naddiert, die lediglich die Bedingung prüft und dann gegebenenfalls die\nbenötigten Daten in einen zirkulären gesharten Puffer schreibt;\ndas Schreiben erfolgt unsynchronisiert und daher sehr effizient\nDas Anwendungsprogramm liest regelmässig (1x pro Sekunde) die \naufgelaufenen Daten aus dem gesharten Puffer.\nGerade wenn viel gemessen wird, ist das Verhältnis von Lesevorgängen\nzu Daten sehr effizient.  Ist weniger los, dann ist die Bearbeitung\nzwar weniger effizient, allerdings ist das nicht negativ zu bewerten,\nweil dann ja noch genug Ressourcen da sind.\n\n(20 Min + 10 Min Vorführung und Diskussion)\n\n\n","original_language":"eng","persons":["Ulrich Gräf"],"tags":["mrmcd111b"," IT-Security"],"view_count":42,"promoted":false,"date":"2008-09-06T02:00:00.000+02:00","release_date":"2009-09-28T02:00:00.000+02:00","updated_at":"2024-12-12T09:45:02.858+01:00","length":3197,"duration":3197,"thumb_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd111b/mrmcd111b-2716-de-opensolaris_solaris-dtrace.jpg","poster_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd111b/mrmcd111b-2716-de-opensolaris_solaris-dtrace_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd111b/import-c0178e70704dfcfe97-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd111b/import-c0178e70704dfcfe97-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/mrmcd111b-2716-de-opensolaris_solaris-dtrace","url":"https://api.media.ccc.de/public/events/import-c0178e70704dfcfe97","conference_title":"MRMCD 111b","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd111b","related":[{"event_id":246,"event_guid":"import-0f35544f8d26cef5e1","weight":1},{"event_id":462,"event_guid":"import-614c0d8f50a33ecdd5","weight":1},{"event_id":553,"event_guid":"import-1642ac54dd91815d89","weight":1},{"event_id":1839,"event_guid":"tnCge6rYmFPy9O0KjvtBAQ","weight":1},{"event_id":2071,"event_guid":"UgXvpZ_TwnZ-DtJ8nhCRZw","weight":1},{"event_id":2981,"event_guid":"125a0b2d-34de-4ba7-8b22-00a163df20a2","weight":1},{"event_id":4546,"event_guid":"57545943-4844-2020-2020-202020202020","weight":1},{"event_id":5233,"event_guid":"4a433356-4456-2020-2020-202020202020","weight":1},{"event_id":6155,"event_guid":"39b543c8-45c0-e22d-8276-7c2c9637f199","weight":1},{"event_id":6540,"event_guid":"0a1a58a4-7700-502b-b8f2-405f3e42c1bc","weight":1},{"event_id":6580,"event_guid":"093eca9c-c084-462a-8ed2-b95954782b06","weight":1}],"recordings":[{"size":null,"length":3197,"mime_type":"audio/mpeg","language":"eng","filename":"mrmcd111b-2716-de-opensolaris-solaris_dtrace.mp3","state":"downloaded","folder":"mrmcd-audio","high_quality":true,"width":null,"height":null,"updated_at":"2014-06-29T00:22:37.117+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd111b/mrmcd-audio/mrmcd111b-2716-de-opensolaris-solaris_dtrace.mp3","url":"https://api.media.ccc.de/public/recordings/4072","event_url":"https://api.media.ccc.de/public/events/import-c0178e70704dfcfe97","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd111b"},{"size":null,"length":3214,"mime_type":"video/mp4","language":"eng","filename":"mrmcd111b-2716-de-opensolaris_solaris-dtrace.mp4","state":"downloaded","folder":"mp4","high_quality":true,"width":320,"height":240,"updated_at":"2016-01-27T11:02:56.026+01:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd111b/mp4/mrmcd111b-2716-de-opensolaris_solaris-dtrace.mp4","url":"https://api.media.ccc.de/public/recordings/4047","event_url":"https://api.media.ccc.de/public/events/import-c0178e70704dfcfe97","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd111b"}]}