@@ -0,0 +1,1276 @@
+package os;%0A%0Aimport readinstruction.ReadInstruction;%0Aimport scheduler.Scheduler;%0Aimport utils.Clock;%0Aimport utils.Observer;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.Queue;%0A%0A/**%0A * Created by Karol on 2017-04-20.%0A */%0Apublic class OperatingSystemImpl implements OperatingSystem, Observer %7B%0A    private Clock systemClock;%0A    private Scheduler systemScheduler;%0A    private Queue%3CReadInstruction%3E readQueue;%0A    private boolean consoleFlag;%0A    private ArrayList%3CReadInstruction%3E readResults;%0A%0A    public OperatingSystemImpl(%0A            Clock systemClock,%0A            Scheduler systemScheduler,%0A            Queue%3CReadInstruction%3E processQueue,%0A            boolean consoleFlag)%7B%0A        this.systemClock = systemClock;%0A        this.systemScheduler = systemScheduler;%0A        this.readQueue = processQueue;%0A        this.consoleFlag = consoleFlag;%0A        this.readResults = new ArrayList%3C%3E();%0A        this.systemClock.addObserver(this);%0A        this.systemClock.addObserver(systemScheduler);%0A        this.systemScheduler.setOs(this);%0A    %7D%0A%0A    @Override%0A    public void run() %7B%0A%0A    %7D%0A%0A    @Override%0A    public void push(ReadInstruction instruction) %7B%0A%0A    %7D%0A%0A    @Override%0A    public void generateReport() %7B%0A%0A    %7D%0A%0A    @Override%0A    public void update(int time) %7B%0A%0A    %7D%0A%7D%0A

Implement OperatingSystemImpl concrete class