Created
January 24, 2016 22:18
Revisions
-
Sven Marquardt created this gist
Jan 24, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,29 @@ Implementierung eines Dynamischen Speicher Getting started =========================================================== Dieses Projekt ist eine Implementierung eines dynamischen Speichers. Es soll zeigen wie ein dynamischer Speicher in seinen grundzügen funktioniert. ## Projekt Der Code wird als Visual Studio Projekt bereit gestellt. Eine version von **Visual Studio 2013** oder höher wird unterstützt. Um es in die Entwicklungsumgebung einzupflegen muss nur die ```memory.suo``` Datei in Visual Studio geöffnet werden. Die Datei ```main.c``` ist dabei der einstiegspunkt in das Programm. Die eigentliche Logik des Programms befindet sich in ```core.c```. Fertig erstellte ```.exe``` zum ausführen finden sich unter dem **DEBUG** bzw **RELEASE** Ordner. Getestet auf **Windows 10**. - ```core.c``` Eigentlicher ablauf des Programms - ```memory.c``` Allokieren, Freigeben von Speicher kompaktierung - ```process_queue.c``` Wartende Prozesse - ```log.c``` Log ausgaben des Programms - ```loader.c``` Laden der Prozesse - ```bs_types.h``` Typen des das Betriebssystem - ```globals.h``` Globale Variablen ### Starten des Programms Um das programm von Visual Studio aus zu starten, müssen sich alle ```.h``` dateien und ```.c``` dateien im selben Ordner befinden. Zusätzlich sollte sich eine ```Processes.txt``` im selben Ordner wie die der Source-Dateien enthalten sein. Diese muss wie folgt gegliedert werden, hierzu ein Beispiel. ``` #OwnerId start duration size type 00 00 1000 100 os 01 00 900 300 batch 02 00 300 150 background 03 00 800 300 interactive 04 100 400 200 foreground ``` Die unterstützen Prozessarten stehen hierfür in der ```bs_types.h``` als ``` ProcessType_t ```. Leerzeichen müssen zwischen den einzelnen werten stehen. Um das Programm mit einer ```.exe``` zu öffnen, muss es von einer Kommandozeile geöffnet werden und eine ``Processes.txt`` sich im gleichen Ordner befinden oder ein Fester Pfad wird angegeben. Das Programm schreibt in den Standardoutput es kann also bei Bedarf umgelenkt werden. Um es von der Kommandozeile zu öffnen: ```C:\Ordner\der\ memory.exe Pfad\zur\Processes.txt```