Skip to content

Kthread is a user level multithreading library in C for UNIX-like operating systems. It can be used to achieve concurrency in program. It provides one-one, many-one, many-many threading models.

License

Notifications You must be signed in to change notification settings

KunalC-1/Kthread

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A user level multi-threading library

Report a Bug · Request a Feature . Ask a Question

License: MIT

made-with-C Version

Contributions welcome Made with heart by Kunal and Kartik

Table of Contents

ℹ️ About

Kthread is a user level multithreading library in C for UNIX-like operating systems.
It can be used to achieve concurrency in program and it also provide locks to achieve synchronization.

User level threads are supported above the kernel in user space and are managed without kernel support.

Key features of User Level Threads:

  • Threads managed entirely by the run-time system (user-level library like Kthread).
  • Can be implemented on an OS that does not suport kernel-level threads.
  • Fast and efficient: switching threads not much more expensive than a function call.

Kthead supports three models of mapping user threads to kernel threads.

1.One-One :

Every user level thread executes on separate kernel thread.

one-one

2.Many-One :

All user level thread execute on one kernel level thread.Only one thread executes at one time and then timer based preemption occurs so that other thead can execute

many-one

3.Many-Many :

In this multiple user level threads executes on multiple kernel level threads

many-many

⚒️ Built With

✨ Getting Started

🚀 Usage

1.Clone repository on your local unix machine and change current directory .

git clone git@github.com:KunalC-1/Kthread.git
cd Kthread

2.Run test cases

make runtest

🤝 Contributors

👤 Kunal Chaudhari

👤 Kartik Mandhan

📝 License

Copyright © 2022 Kunal Chaudhari & Kartik Mandhan
This project is MIT licensed.

About

Kthread is a user level multithreading library in C for UNIX-like operating systems. It can be used to achieve concurrency in program. It provides one-one, many-one, many-many threading models.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages