Giter Site home page Giter Site logo

mkanyar / fairshareschedulerexercise Goto Github PK

View Code? Open in Web Editor NEW

This project forked from michaeljamesparsons/fairshareschedulerexercise

0.0 0.0 0.0 12 KB

A quick simulated implementation of a fair share scheduler for CSC 400 (Operating System Course).

Parrot 2.00% Java 98.00%

fairshareschedulerexercise's Introduction

Fair Share Scheduler

This is an implementation of the fair share scheduler for the CSC 400 Fall 2016 semester.

Disclaimer

This source code is a part of a university assignment and is to be used for academic purposes only. Students who have been assigned a similar task should not review this source code as it may be considered cheating at some institutions. The files Sim.java, Asm.java, and all assets in the /data directory were provided as part of the assignment. I do not claim ownership of those files nor do they reflect the quality of my work.

The Sim.java file has been edited to implement my scheduler. All of my edits are marked with a @todo.

Basic Usage

Learn the API

The fair share scheduler is executed through a commandline interface, which accepts 3 required arguments:

  • -w - The default weight of each process (decimal 0 < x < 1).
  • -p - The default priority of each process (int x > 0).
  • -f - A list of .pexe files (delimited by a space) to be executed, followed by their group ID. For example, if your file is comp.pexe with a group ID of 5, your -f argument would look like this: -f comp.pexe:5.

Execute the Scheduler (example)

java Sim -w .5 -p 60 -f comp.pexe:1 comp2.pexe:2 comp3.pexe:1 ...

This scheduler assumes your .pexe files are in the same directory at which you are executing the scheduler. If they are located elsewhere, you can simply prepend the relative path to the file in your arguments:

java Sim -w .5 -p 60 -f ../some/other/location/comp.pexe:1

That's It!

Upon executing the scheduler, the script will print each action executed by the scheduler (start/stop/block process) in your console.

fairshareschedulerexercise's People

Contributors

michaeljamesparsons 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.