Giter Site home page Giter Site logo

processes-planner's Introduction

	*****************************************
        *               README                  *
        *                                       *
        *       Nume proiect: Tema 1 Sd         *
        *       Autor: Diana Cretu              *
        *       Grupa: 312 CC                   *
        *       Deadline: Duminica, 2.03.2017   *
        *                                       *
        *                                       *
        *****************************************

1. Ierarhia proiectului

Codul sursa este structurat intr-un fisier header (Proces.h)(fisier in care 
sunt definite functiile si structurile folosite), fisierul cu codul sursa 
(planificator.c) (unde sunt implementate functiile) si un Makefile care 
construieste proiectul.

Structura proiect:

proiect
├── planificator.c
├── Proces.h
└── Makefile

2. Descrierea aplicatiei

Aceasta aplicatie exemplifica modul de lucru al calculatorului cu procesele. 
Arata faptul ca nu poate rula decat un proces o data (running fiind o lista 
cu un singur nod). Pentru ca pentru a selecta ce proces va fi pe procesor
presupune mai multe criterii ce pot fi contradictorii, am folosit diferite 
functii (FCFS, SJF, RR, PP).

Structura de data folosita in implementare este lista (ca si caz particular de 
lista, am folosit coada).

3. Functii folosite

init -> initializeaza o lista

enqueue -> initializeaza un proces cu numele, timpul si prioritatea data prin 
parametri si il adauga la finalul listei

dequeue -> scoate primul proces din lista si elibereaza memoria aferenta

show -> afiseaza lista

tick -> marcheaza trecerea timpului si odata ce timpul procesului din running 
ajunge la 0, este dat afara si inlocuit cu primul proces din ready

tick2 -> la terminarea timpului procesului din running, este inlocuit cu 
procesul cu timpul cel mai scurt

tick3 -> atunci cand timpul petrecut in running de un proces ajunge sa fie egal
cu cuanta, este returnat in ready, iar primul proces din ready ii ia locul

tick4 -> se intalnesc caracteristicile de la tick2 si tick3, dar, in plus, este
selectat primul proces ce apare in ready cu prioritatea cea mai mare

max_prioritate -> returneaza prioritatea maxima ce apare in lista ready

nod_maxim -> returneaza primul nod din ready ce are campul prioritate egal 
cu valoare functiei max_prioritate

tick5 -> este adaugata conditia pentru modificare prioritatii

multipleadd -> adaugarea proceselor primite din comanda in ready

add -> adaugarea procesului primit in ready

wait -> trimiterea din running in wait

wait5 -> trimiterea din running in wait, si in plus modificare prioritatii 
dinamice unde este cazul

4. Folosirea aplicatiei
Dupa dezarhivare, trebuie folosit make pentru a crea proiectul si ./planificator input output pentru a-l rula.

 	*****************************************
        *               END README              *
        *                                       *
        *       Nume proiect: Tema 1 Sd         *
        *       Autor: Diana Cretu      	*
        *       Grupa: 312 CC                   *
        *       Deadline: Duminica, 02.04.2017	*
        *                                       *
        *                                       *
        *****************************************




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.