Coder Social home page Coder Social logo

liuxw7's Projects

uniq icon uniq

A lock-free (multi reader / multi writer) circular buffered queue.

userland_slab icon userland_slab

Small implementation in C of a slab allocator in user space

webserver icon webserver

High-performance multi-threaded tcp network server in c++11

word2vec-1 icon word2vec-1

word2vec++ is a Distributed Representations of Words (word2vec) library and tools implementation, written in C++11 from the scratch

xinu-os-project---asynchronous-ipc-with-callback-function-and-memory-garbage-collection icon xinu-os-project---asynchronous-ipc-with-callback-function-and-memory-garbage-collection

The objectives of this lab are two-fold: first, implement asynchronous IPC with callback function that preserves isolation/protection and, second, implement memory garbage collection so that when a process terminates any memory not freed by the process is returned to the kernel. This problem concerns implementation of asynchronous IPC with callback function in XINU as discussed in class. A process registers a user callback function with the kernel requesting that it be executed on behalf of the process when a 1-word message arrives. The callback function contains code written by the app programmer. Although XINU does not implement isolation/protection, we will adopt a design compatible for implementation in modern operating systems such as Linux and Windows that must ensure isolation/protection is preserved when a kernel provides this service. For example, in the traditional system call trap in Linux and Windows using the software interrupt int (what we used in lab2), the instruction iret which returns from a system call switches a process from kernel mode back to user mode. In XINU where system calls are regular C function calls, the instruction ret is used to return to the caller from kernel mode to kernel mode since XINU processes perpetually run in kernel mode. Modify the ROP-based run-time context manipulation technique from Problem 4, lab4, to affect execution of the callback function in the process's context (back in user mode in Linux and Windows in case of iret) that registered the callback function before ultimately returning to synchronous user code (i.e., user code not asynchronously through callback functions) so that the app process can continue where it left off. The callback function takes on the role of quietmalware() in Problem 4.3, lab4.

yail icon yail

An IPC library that implements publish/subscribe (PUBSUB) and remote procedure call (RPC) functionality.

zltoolkit icon zltoolkit

一个基于C++11的轻量级网络框架,基于线程池技术可以实现大并发网络IO

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.