Giter VIP home page Giter VIP logo

veltzer / demos-linux Goto Github PK

View Code? Open in Web Editor NEW
88.0 15.0 42.0 36.72 MB

demos-linux is a project to demo and explore the Linux user space C/C++ API

Home Page: http://veltzer.github.io/demos-linux/

License: GNU General Public License v3.0

Makefile 3.68% Python 0.87% C++ 71.88% Shell 0.16% C 23.21% HTML 0.01% Mako 0.19% GDB 0.01% sed 0.01% Ruby 0.01%
linux c-plus-plus c kernel api demos examples samples userspace

demos-linux's Introduction

demos-linux

version: 0.0.1

description: demos-linux is a project to demo and explore the Linux user space C/C++ API

website: https://veltzer.github.io/demos-linux

Build

build

demos-linux is a project to demo and explore the Linux user space C/C++ API

Contact

chat with me at gitter

This project is a source code repository for instructors or expert programmers who want to explore the Linux C/C++ API.

Number of examples and their selection

Currently there are 958 examples in this repo. These are the examples I found are useful in explaining the Linux API. The idea is to provide a good coverage of all major features and to resolve disputes about exactly how a certain API works.

Topics covered by the examples

  • Multi-threading
  • Multi-processing
  • Locking
  • Calling system calls without C
  • Performance
  • Coding in assembly
  • Various compiler directives
  • Many more...

Platforms supported

Only ia64 is supported. I used to support i386 but I don't have a 32 bit machine anymore. Other platforms will be supported if someone is willing to do the work and submit the patches.

Contributing

This project needs help. fork, commit and request me to pull. Just open a github account, modify and add examples, commit and ask me to pull... A lot of the code is documented but some of it is not. More documentation would be welcome. I would give attribution to whomever contributes.

License

Code is licensed GPL3 and I hold the copyright unless explicity stolen as attributed in the source code. I encourage people to use this source code as aid for instructing courses. Please give me some credit if you do wind up using this package and consider dropping me a note about the fact that you did use the package so I could feel good...

Similar projects

Using it

  • you need python on your machine: try: python --version if python is missing then: for deb based distributions (debian, ubuntu, ...) do: sudo apt-get install python for rpm based distributions (fedora, redhat, centos,...) do: sudo yum install python
  • clone the examples: git clone https://github.com/veltzer/demos-linux.git
  • cd into it: cd demos-linux
  • install the missing packages and headers needed to compile and run this project ./scripts/ubuntu_install.py Mind you this only works for 15.10 and will install a ton of stuff. If you don't want this ton of installations and only want to checkout specific examples compile the individual examples as described below. if you are on a different Linux distribution try to get as much of these for your platform as you can. If you really into contributing I would love a redhat_install.py or some such... then use make
  • compiling a specific example make src/examples/performance/cache_misser.elf the name of the elf binary is the same as the example source code with .elf instead of .[c|cc]. You must be at the root of the project to issue the make command.
  • the most important part: tweak the examples, try to prove me (my comments) wrong, have fun!

Mark Veltzer, Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024

demos-linux's People

Contributors

razk avatar veltzer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

demos-linux's Issues

Error building demos-linux

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libsigc++-2.0-0v5
E: Couldn't find any package by regex 'libsigc++-2.0-0v5'
E: Unable to locate package libboost1.58-dev
E: Couldn't find any package by regex 'libboost1.58-dev'
E: Unable to locate package libboost-thread1.58.0
E: Couldn't find any package by regex 'libboost-thread1.58.0'
E: Unable to locate package libpapi5.4.1
E: Couldn't find any package by regex 'libpapi5.4.1'
E: Unable to locate package templar
E: Unable to locate package linux-image-3.19.0-33-generic-dbgsym
E: Couldn't find any package by regex 'linux-image-3.19.0-33-generic-dbgsym'
E: Unable to locate package linux-image-3.19.0-33-lowlatency-dbgsym
E: Couldn't find any package by regex 'linux-image-3.19.0-33-lowlatency-dbgsym'

I have tried to build project as you suggested in docs. Would you look into this please and update any documentation accordingly. I am using ubuntu version 15.04 (x86_64)

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.