Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Windows mailslots for the Linux kernel

License

NotificationsYou must be signed in to change notification settings

rikyoz/LinuxMailslotsModule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows mailslots for the Linux kernel

GitHub releaseMSVC versionArchitecturesLicense

FeaturesBuildingUsageLicense

This project provides a simple and easy to use Linux kernel module implementing a service similar to Windows mailslots, i.e. a driver for special device files accessible according to FIFO policy.

Developed for the course ofAdvanced Operating Systems and Virtualization (AOSV) taken in the A.Y. 2016/2017 for theMaster Degree in Engineering in Computer Science (MSE-CS) atSapienza University of Rome.The original project specification can be foundhere.

Features

The module is a Linux driver for special device files supporting the following features:

  • FIFO (FirstInFirstOut) access policy semantic (viaopen/close/read/write services).
  • Atomic message read/write, i.e. any segment read from or written to the file stream is seen as an independent data unit, a message, and it is posted/delivered atomically (all or nothing).
  • Support tomultiple instances accessible concurrently by active processes/threads.
  • Blocking/Non-Blocking runtime behaviour of I/O sessions (tunable viaopen orioctl commands)
  • Runtime configuration (via ioctl) of the following parameters:
    • Maximum message size (configurable up to an absolute upper limit).
    • Maximum mailslot storage size which is dynamically reserved to any individual mailslot.
  • Compile-time configuration of the following parameters:
    • Range of device file minor numbers supported by the driver (default: [0-255]).
    • Number of mailslot instances (default: 256).

Building

The project provides a Makefile and can be compiled using themake command line utility.

Usage

Once built, the module can be manually installed using theinsmod mailslot.ko command (or via theinstall.sh utility shell script, which installs the module and creates also 3 mailslots files in the/dev/ directory).Mailslot files can be created using themknod command (for example usages, please see theinstall.sh script),

In order to uninstall the module, thermmod mailslot command must be used, as well as mailslot files can be removed using therm command (if the installation script was used, the module can also be uninstalled using the provideduninstall.sh shell script, which removes also the 3 mailslots files created during the installation).

License (GPL v2)

This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public License alongwith this program; if not, write to the Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Copyright © 2017 - 2018 Riccardo Ostani (@rikyoz)

About

Windows mailslots for the Linux kernel

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp