Coder Social home page Coder Social logo

ioopm_projekt's Introduction

fladdermusen

##Rapport https://www.overleaf.com/4056909wctnkn#/11860949/

##GC related tasks

###Compile and run tests Dependencies: CUnit make run_test

###Documentation Dependencies: doxygen, CUnit make doc

###LCov, visualise code coverage Dependencies: lcov, gcov, CUnit make lcov

###Valgrind, check memory leaks and misc. errors. Dependencies: valgrind, CUnit make valgrind

###Compile and run GUI, toolbox for our Heap and Garbage Collector. make test_gui


Testa kod på flera maskiner

| OBSERVERA Make-kommandon som nämns i denna sektion gäller Makefile i resources, så glöm inte att cd resources innan make whatever.


Makefilen som ligger i resources innehåller funktioner för att dels testa kod på flera maskiner samt sätta upp SSH-nycklar.

First step - Skapa nycklar

make gen

kommer att skapa ssh-nycklar, tryck enter på varenda fråga för att låta ssh-keygen köra med standard-inställningar.

Second step - Ladda upp nycklar till UU

make deploy_key

kommer att ladda upp din nyskapade publika nyckel (se ovan) till din hem-mapp på UU:s datorer samt lägga till den i auktoriserade nycklar (så att du kan använda den för att logga in utan lösenord). Detta kommando kommer även att skapa mappen fladdermusen/ i din hem-mapp Du kommer att behöva ditt A-lösenord samt inloggningsnamn, kom ihåg att svara yes när ssh frågar om du litar på servern eller inte.

### Third step - Ladda upp kod till UU

### Fourth step - Köra tester på alla maskiner

Third step - Ladda upp och testa på alla maskiner

make go

kommer att zippa alla filer i fladdermusen, ladda upp filen till din hem-mapp på UU:s datorer, radera gamla filer i mappen fladdermusen/ och unzippa de nya filerna.

Go kommer även att kompilera test-koden som valts att köras under test:, spy ut alla output till en fil enligt följande format

hostname.result.txt

Go kommer sedan att hämta hem filen ovan till din lokala maskin, en för varje test kommer att lägga sig i

resources/hostname.result.txt

TADDAAAA

### Fifth step - enjoy

Fourth step - enjoy

Så för att summera, steg 1 och steg 2 är endast för att sätta upp test-miljön. Steg 3 och 4 ska repeteras varje gång du uppdaterar koden och vill testa den.

Coding Convention

gc.c

Projektfilen. Det som inkluderas för att få tillgång till vår heap med allokering och garbage collection.

heap.c

Den filen som hantar all allokering och sånt. Formatsträngar, kollar om minnet är fullt

header

formatsträng eller vad den innehåller

[ pekare till formatsträng : bitvektor : forwarding address : kopieringsflagga ]

  1. En pekare till en formatsträng
  2. En mer kompakt representation av objektets layout
  3. En pekare till en funktion som hanterar skräpsamling av ett objekt med komplex layout (t.ex. struktar med unioner, se § 3.3.4, om detta implementeras)
  4. En forwarding-adress
  5. En flagga som anger om objektet redan är överkopierat till den passiva arean vid skräpsamling

start with formatsstring then implement bitvector later.

collector.c

Den filen som hanterar garbage collection.

Denna drar igång när minnet är fullt.

traverser.c

can be seperated into traversing heap and stack.

heap will be more

Current Tasks

Group

Strictly design connections between modules.

Carl André

Keep working on heap CUnit. DDD.

Malin Haubir

Traversing the stack

Viktor

Traversing the heap

Uncertain pointers

Heap pointers are safe because we have metadata

Stack pointers don't have metadata, so all those pointers are unsafe.

Bartlett

If something is uncertain, don't move it. That page is active.

Even if a little bit of trash is left, it's eventually going to be collected.

Sooner or later everything will be collected.

Move to active pages.

When debuggning, set whole page to 0 when it's passive. But this doesn't need to be implemented in the end. Important to zero out metaimnfo.

ioopm_projekt's People

Contributors

xeloader avatar thatvineyard avatar haubir avatar malinenglund avatar zmonn avatar andreleblanc avatar eliasc avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.