Topic: "process-synchronization"
alexandreLamarre/dlock
Reliable & scalable distributed locking, scheduling and process synchronization
Language: Go - Size: 413 KB - Last synced at: 17 days ago - Pushed at: 18 days ago - Stars: 5 - Forks: 0
rohanrao619/Operating_System_Algorithms
Implementation of OS Process and Disk Scheduling Algorithms in C.
Language: C - Size: 8.79 KB - Last synced at: 6 months ago - Pushed at: over 5 years ago - Stars: 4 - Forks: 4
Dare-marvel/Operating-Systems--OS--
💻 Welcome to the Operating Systems Repository! 📚✨ Immerse yourself in a meticulously curated knowledge reservoir on Operating Systems. 🌐💡 Explore the intricacies of system management, processes, and kernel architecture. 🚀🔍 Master the art of efficient operating system navigation in this dynamic space! 👨💻🌐
Language: C - Size: 298 MB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 3 - Forks: 0
minhngt62/os-dining-philosopher
A simulation of dining philosophers problem and its solutions
Language: Python - Size: 2.4 MB - Last synced at: 23 days ago - Pushed at: over 2 years ago - Stars: 3 - Forks: 0
gustavooquinteiro/operating-system
Implementing known synchronization problems in Python
Language: Python - Size: 18.6 KB - Last synced at: over 2 years ago - Pushed at: over 6 years ago - Stars: 3 - Forks: 0
Cheejyg/CZ2005-Operating-Systems-Experiment-2-Process-Synchronization
We have two exercises in this experiment. 1. In this exercise, we will conduct the following steps to understand race condition problem in Nachos. 1) Change your working directory to lab2 by typing cd ~/nachos-3.4/lab2 2) Read the Nachos thread test program threadtest.cc carefully. There is a shared variable named value (initially zero). There are two functions, namely void Inc(_int which) and void Dec(_int which), where increases and decreases value by one, respectively. In this exercise, you need to consider different interleaving executions of Inc and Dec so that the shared variable value is equal to a predefined value after threads complete. 3) You need to implement the following three functions. When all the threads (two Inc_v1 threads and two Dec_v1 threads) complete in TestValueOne(), value=1. void Inc_v1(_int which) void Dec_v1(_int which) void TestValueOne() In Inc_v1 and Dec_v1, you need to use Yield primitive in Nachos to induce context switch. Inc_v1 and Dec_v1 should have the same logic as Inc and Dec, respectively. You are only allowed to add Yield into those two functions. You need to implement ThreadValueOne() by creating two threads with Inc_v1 and two threads with Dec_v1. The current thread should wait for all those threads to complete. At the end of TestValueOne(), a checking is performed on whether the value is 1. If the checking is passed, you should get the message "congratulations! passed.". Otherwise, an error message is printed. 4) After you finish implementing the above-mentioned functions, you can demonstrate the result of TestValueOne(), by commenting other test functions in ThreadTest() like below. //for exercise 1. TestValueOne(); //TestValueMinusOne(); //for exercise 2. //TestConsistency(); 5) Compile Nachos by typing make. If you see "ln -sf arch/intel-i386-linux/bin/nachos nachos” at the end of the compiling output, your compilation is successful. If you encounter any anomalies, type make clean to remove all object and executable files and then type make again for a clean compilation. 6) Test this program by typing ./nachos. If you see “congratulations! passed.” at the end of the debugging messages, your program is successful. Otherwise, “failed.” will be displayed. 7) Repeat Steps 3)—6), and implement the following three functions. When all the threads (two Inc_v2 threads and two Dec_v2 threads) complete in TestValueMinusOne(), value=-1. At Step 4), you need to test TestValueMinusOne(). void Inc_v2(_int which) void Dec_v2(_int which) void TestValueMinusOne() 2. In this exercise, we will conduct the following steps to understand process synchronization problem in Nachos. 1) Change your working directory to lab2 by typing cd ~/nachos-3.4/lab2 2) You need to implement the following three functions. When all the four threads (two Inc_Consistent threads and two Dec_Consistent threads) complete in TestConsistency(), value=0. You need to achieve consistent result (value=0), regardless of different interleaving execution orders in Inc_Consistent and Dec_Consistent as well as different thread fork orders in TestConsistency(). void Inc_Consistent (_int which) void Dec_Consistent (_int which) void TestConsistency () In Inc_Consistent and Dec_Consistent, you use Yield interface in Nachos to induce context switch. You need to implement TestConsistency() by creating two threads with Inc_Consistent and two threads with Dec_Consistent. The current thread should wait for all those threads to complete. At the end of TestConsistency(), a checking is performed on whether the value is 0. If the checking is passed, you should get the message "congratulations! passed.". Otherwise, an error message is printed.3) After you finish implementing the above-mentioned functions, you can demonstrate the result of TestConsistency(), by commenting other test functions in ThreadTest() like below. //for exercise 1. //TestValueOne(); //TestValueMinusOne(); //for exercise 2. TestConsistency(); 4) Compile Nachos by typing make. If you see "ln -sf arch/intel-i386-linux/bin/nachos nachos” at the end of the compiling output, your compilation is successful. If you encounter any anomalies, type make clean to remove all object and executable files and then type make again for a clean compilation. 5) Test this program by typing ./nachos. If you see “congratulations! passed.” at the end of the debugging messages, your program is successful. Otherwise, “failed.” will be displayed. In the oral exam, you need to demonstrate your testing with different interleaving execution orders in Inc_Consistent and Dec_Consistent as well as different thread fork orders in TestConsistency().
Language: C++ - Size: 11.7 KB - Last synced at: about 1 month ago - Pushed at: over 7 years ago - Stars: 3 - Forks: 2
EStog/PathEx
Declarative task synchronization in Python inspired by Path Expressions
Language: Python - Size: 6.13 MB - Last synced at: over 2 years ago - Pushed at: almost 3 years ago - Stars: 2 - Forks: 0
SamFu1113/Process-synchronization-using-semaphores
Practice for process synchronization
Language: C - Size: 184 KB - Last synced at: over 2 years ago - Pushed at: over 3 years ago - Stars: 2 - Forks: 0
nikita9604/Dekker-s-Algorithm
Dekker's Algorithm using Scilab
Language: Scilab - Size: 2.93 KB - Last synced at: about 2 years ago - Pushed at: over 5 years ago - Stars: 2 - Forks: 0
JoyM268/sdmcet-os
Repository of all the programs taught in Operating Systems class at SDMCET, 2023 - 24
Language: C - Size: 1.74 MB - Last synced at: about 2 years ago - Pushed at: about 2 years ago - Stars: 1 - Forks: 0
wyuzh/Appointment_Organizer_Project
An Appointment Organizer (APO) Project in C
Language: C - Size: 1.46 MB - Last synced at: 5 months ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 1
iamgideonidoko/boat-passenger-c-solution
C solution to the Boat Passenger Problem in operating system.
Language: C - Size: 4.88 KB - Last synced at: 8 months ago - Pushed at: about 3 years ago - Stars: 1 - Forks: 0
00xryu/System-Programming 📦
Language: C - Size: 274 KB - Last synced at: 13 days ago - Pushed at: almost 4 years ago - Stars: 1 - Forks: 0
eduschadesoares/sistemasOperacionais2
Sistemas Operacionais (4º Ano)
Language: Java - Size: 394 KB - Last synced at: over 2 years ago - Pushed at: over 6 years ago - Stars: 1 - Forks: 0
abickham1/Part-2-StudyRoomStarter
operating systems project (Project 3)
Language: Java - Size: 12.7 KB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 0 - Forks: 0
ryphus/BRACU_CSE321
Language: C - Size: 140 MB - Last synced at: 15 days ago - Pushed at: 17 days ago - Stars: 0 - Forks: 0
devbyhimans/Operating_System
💻 Hands-on C/C++ implementations of core Operating System concepts: system calls, IPC, threads, signals & synchronization with practical examples.
Language: C++ - Size: 7.85 MB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 0 - Forks: 0
marianoOca/os_exercises
Operative Systems exercises
Language: C++ - Size: 1.44 MB - Last synced at: 5 months ago - Pushed at: 5 months ago - Stars: 0 - Forks: 0
sroman0/PSR
PSR - Network Systems Programming is a project developed during the "Programmazione di Sistemi in Rete" (Network Systems Programming) course at Università degli Studi del Sannio. This repository provides practical implementations focused on web systems programming, with a particular emphasis on using UDP and TCP sockets in both C and Java.
Language: Java - Size: 287 KB - Last synced at: 8 months ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0
VijeshVS/OS-Programs
Repo containing Operating System programs
Language: C - Size: 17.6 KB - Last synced at: 8 months ago - Pushed at: 10 months ago - Stars: 0 - Forks: 0
SirAlabar/Philosophers
A C implementation of the dining philosophers problem using threads and mutexes (mandatory part) and processes with semaphores (bonus part).
Language: C - Size: 87.9 KB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 0 - Forks: 0
Tamoziit/OS-assignments
OS-Linux
Language: C - Size: 34.2 KB - Last synced at: 8 months ago - Pushed at: 12 months ago - Stars: 0 - Forks: 0
vaghred/C-Readers-Writers
My implementation of a starvation-free solution to the famous process concurrency problem.
Language: C - Size: 3.07 MB - Last synced at: 8 months ago - Pushed at: about 1 year ago - Stars: 0 - Forks: 0
anurye/dining-philosophers
Language: C - Size: 11.7 KB - Last synced at: about 1 year ago - Pushed at: about 1 year ago - Stars: 0 - Forks: 0
jm55/CSOPESY
Github Repository for CSOPESY
Language: Java - Size: 390 KB - Last synced at: almost 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0
mstrlc/ios-project-2
FIT VUT – IOS – bulding H2O problem with semaphores
Language: C - Size: 74.2 KB - Last synced at: 8 months ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0
utkarsh512/ec60012
Advanced Operating Systems Design
Language: C - Size: 17.6 KB - Last synced at: over 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0
Barb02/SO_Restaurant
Simulation of a dinner between friends, using semaphores.
Language: C - Size: 771 KB - Last synced at: over 1 year ago - Pushed at: almost 3 years ago - Stars: 0 - Forks: 0
definitelyliz/Process-Synchronization
A simulation of process synchronization.
Language: Python - Size: 196 KB - Last synced at: over 2 years ago - Pushed at: over 3 years ago - Stars: 0 - Forks: 0
saad0510/road-intersection-problem
A process synchronization problem.
Language: C - Size: 243 KB - Last synced at: over 1 year ago - Pushed at: over 3 years ago - Stars: 0 - Forks: 0
logos914/TUI_UNGS_-_09_-_Sor_1_-_TP_1_Sistemas_Operativos_TULA_-_Com2_S1_2019
Trabajo Práctico 1 de Sistemas Operativos y Redes. Bash, C, Hilos, Sincronización, Fork, Noción de paralelismo
Language: C - Size: 3.11 MB - Last synced at: over 2 years ago - Pushed at: almost 4 years ago - Stars: 0 - Forks: 0
tahaShm/multithreading
This is an operating system project intended to simulate a transportation system using multi-threading, semaphores, and process synchronization methods.
Language: C++ - Size: 379 KB - Last synced at: over 2 years ago - Pushed at: about 4 years ago - Stars: 0 - Forks: 0
Aayushraj1/Operating-System-Questions
All important questions considering every chapters of operating system and some programs.
Size: 411 KB - Last synced at: 4 months ago - Pushed at: over 4 years ago - Stars: 0 - Forks: 0
ayushgupta138/Starvation-free-Readers-Writers-Problem
Solution to starvation free reader writers problem using FIFO semaphores
Language: C++ - Size: 2.93 KB - Last synced at: over 2 years ago - Pushed at: over 4 years ago - Stars: 0 - Forks: 0
tibetteixeira/operating-system
Repository for the Operating Systems discipline at the Federal University of Ceará.
Language: Jupyter Notebook - Size: 579 KB - Last synced at: about 1 month ago - Pushed at: over 4 years ago - Stars: 0 - Forks: 2
hveini/mod_serializer
Apache web server module to make parallel requests serial.
Language: C - Size: 29.3 KB - Last synced at: 4 months ago - Pushed at: over 4 years ago - Stars: 0 - Forks: 0
nepiskopos/linux-process-synchronization
Linux Process Synchronization and Communication using Semaphores and Shared Memory Segments.
Language: C - Size: 70.3 KB - Last synced at: about 2 years ago - Pushed at: almost 5 years ago - Stars: 0 - Forks: 0
robkle/minishell
Simple Unix command interpreter with builtins.
Language: C - Size: 453 KB - Last synced at: almost 2 years ago - Pushed at: about 5 years ago - Stars: 0 - Forks: 0
Hariharan-SV/Producer_Consumer
Visualizing Producer-Consumer problem as a photocopy centre where clients are producers and printers are consumers
Language: C - Size: 133 KB - Last synced at: over 1 year ago - Pushed at: about 5 years ago - Stars: 0 - Forks: 0
PalAditya/OSLab
Codes for Operating Systems Lab in 5th Semester
Language: C - Size: 32.2 KB - Last synced at: 8 months ago - Pushed at: almost 7 years ago - Stars: 0 - Forks: 0