You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Eggert Jung 4ee45e27c2 wip aufg 3 5 months ago
arch fix hw issue 6 months ago
boot Handout 7 months ago
compiler Handout 7 months ago
debug foo 6 months ago
device move reboot call to handlerscc 6 months ago
interrupt wip aufg 3 5 months ago
object removed done todos 6 months ago
sync fix ) 5 months ago
thread Handout 7 months ago
tools feedback 6 months ago
user rename lock 6 months ago
utils remove unneccessary bullshit 6 months ago
.gitignore mini changes 6 months ago
CPPLINT.cfg Handout 7 months ago
LICENSE Handout 7 months ago
Makefile Handout 7 months ago
README.md Handout 7 months ago
compile_flags.txt foo 6 months ago
main.cc wip aufg 3 5 months ago
nix-develop.sh Handout 7 months ago
types.h Handout 7 months ago

README.md

MPStuBS - Multiprozessor Studenten Betriebssystem

Coding Guidelines

Similar to Google C++ Style Guide but with following exceptions:

  • No license boilerplate
  • Tabs instead of Spaces
  • Line length of 120 characters
  • #pragma once instead of #include guards

The code should be self-documenting, don't state the obvious! However, this does not make comments superfluous: Since good naming is sometimes not enough, more advanced parts need to be documented, so any operating system developer should be able to easily understand your code.

Naming Convention

  • Variables: lowercase with underscore

    char* variable_name;
    
  • Constants (and enum values): uppercase with underscore

    const int CONST_VALUE = 42;
    
  • Type Names (class/struct/namespace/enum): Capital letter, camel case

    class SomeClassName;
    
  • Methods/Functions (C++): start with lowercase letter, then camel case

    void someFunctionName();
    
  • extern "C" Functions: lowercase with underscore (like variables).

    void interrupt_handler(int vector);
    
  • File Names: lowercase, main type name, underscores only if is a sub type

    folder/classname.cc