Giter VIP home page Giter VIP logo

operatingsystemscheduling's Introduction

Operating System Scheduling

This is Operating Systems project. The project idea is to generate a randomly uniform stream of jobs as the first stage. Then in the second stage, we will pick a scheduling algorithm out of the most 6 commonly used algorithms. after this, we will make a comparison of which algorithm performed better on which data.

as a Bonus part, we designed an interactive user interface so the project can be used later for educational uses.

in the UI the progress of each job and the progress of the whole system can be seen.

The implemented algorithms:

  • First-Come, First-Served FCFS Scheduling
  • Shortest-Job-First SJF Scheduling
  • Shortest Remaining Time
  • Priority Scheduling
  • Round Robin - RR Scheduling
  • Exponential Average SRJF

Features

  • The student can visualize the job queue, device queue, and ready queue.
  • The visualizing of the queue is done time unit by time unit so he/she can catch everything.
  • There's a log window which shows all the changes in every time unit.
  • There's also changes window which logs up all the changes in a job burst.
  • There are mainly three options in tracking an algorithm:
    1. Next Step: moves to the next time unit.
    2. Next Change: moves to the next change (a change in any queue).
    3. Animation: which is adjusted by a speed bar.
  • The student can visualize the status of CPU utilization, throughput, Turnaround time and Waiting time of all process at any time unit.
  • also, he can check the Waiting and Turnaround times for a specific job at any time unit.
  • For the stream of job generation, the user can choose all the variables he/she want. like :
    1. The number of jobs.
    2. The degree of multi-programming.
    3. The number of bursts for a job.
    4. CPU and IO bursts ranges.
    5. Priority.
    6. Arrival time range.
    7. The context switch.
    8. Tau and Alpha. (if needed)
  • There are two progress bars, one for the current burst of the job in the running state. and the other for the total progress of this job.

Screenshots

Initial screen

Alt text

Jobs uniform generation

Alt text

Picking an algorithm

Alt text

Animation mode

Alt text

Authors

  • Ahmad Yahya. ( @AhmadYahya97 )
  • Hamed Hijazi. ( @hamed3 )

Special thanks

  • For prof. Adnan Yahya on his amazing efforts during this course!.
  • Jfoenix library for its flexible and stylish tools.

operatingsystemscheduling's People

Contributors

ahmadyahya97 avatar hamed3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

operatingsystemscheduling's Issues

Running the application of Eclipse

Hello, I downloaded the code of this application and I'm trying to run it on eclipse, i downloaded as well javafx and included the libraries that they are missing and in the vm arguments i wrote the below:
--module-path /Users/CHAMIEH/Downloads/openjfx-20.0.1_windows-x64_bin-sdk\javafx-sdk-20.0.1/lib --add-modules javafx.controls,javafx.fxml

and still getting these errors:

javafx.fxml.LoadException:
/C:/Users/CHAMIEH/eclipse-workspace/ooss/bin/application/FXMLfile.fxml:31

at [email protected]/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2722)
at [email protected]/javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1024)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:759)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2853)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2649)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3376)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3332)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3300)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3272)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3248)
at [email protected]/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3241)
at application.Main.start(Main.java:15)
at [email protected]/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at [email protected]/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at [email protected]/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at [email protected]/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
at java.base/java.lang.Thread.run(Thread.java:833)

Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at [email protected]/javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1022)
... 20 more
Caused by: java.lang.NoClassDefFoundError: com/sun/javafx/css/StyleConverterImpl
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at com.jfoenix.controls.JFXTextArea$StyleableProperties.(JFXTextArea.java:240)
at com.jfoenix.controls.JFXTextArea.(JFXTextArea.java:164)
... 26 more
Caused by: java.lang.ClassNotFoundException: com.sun.javafx.css.StyleConverterImpl
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 37 more

any idea what i did wrong or what i missed

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.