Giter Club home page Giter Club logo

threads's Introduction

Multi-Threaded Execution Simulator

Overview

This project aims to develop a simulator for the simultaneous execution of multiple threads (processes). The simulation is not tied to the system clock, and time is abstracted into units. The processor and I/O devices operate independently, allowing for concurrent execution.

Problem Description

  • The simulation involves a processor that executes one operation per time unit.
  • I/O devices perform one operation per time unit.
  • The simulation can handle up to 26 processes, each with unique characteristics.
  • Each process is defined by a name, an alias, start time, the number of phases, and a matrix of phase details.

Process Execution

  • Each process is represented by its alias.
  • Processes start execution at a specified time and have a variable number of phases with unique behaviors.
  • Each phase consists of CPU and I/O operations repeated a certain number of times.
  • The execution of a process involves alternating between CPU and I/O operations in a cyclic manner.

Priority Queues

  • Processes are assigned to three priority queues: Q1, Q2, and Q3.
  • Processes in Q1 have the highest priority, followed by Q2 and Q3.
  • Processes are ordered alphabetically if they enter a queue simultaneously.
  • Each queue has a specified time allocation (q1, q2, q3).
  • Penalization and prioritization mechanisms based on predefined limits (PENALTY_LIMIT, AWARD_LIMIT).

I/O Queue

  • There is a single I/O queue for I/O execution.
  • Processes in this queue are processed in the order of entry.
  • A process occupies I/O until it completes the allocated time units.

Input and Output

  • Input data is read from a text file named "input".
  • Output is generated in an HTML file named "output.htm," containing both input and output details.

Note: This project involves implementing a multi-threaded execution simulator based on the specified requirements. The simulator will read input data from a file, perform the simulation, and output the results in an HTML file.

threads's People

Contributors

frostyezz avatar

Watchers

 avatar

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.