Algoritmul pentru procesele de planificare cel mai scurt-job-primul (non-preemptiv)

Algoritmul de planificare-Shortest Job-Primul (non-preemptiv) - Secțiunea Educație, Examen întrebări la rata sistemului de operare, atunci când algoritmul considerat Fcfs Rr Și am văzut cât de importantă pentru N.







La analizarea algoritmilor FCFS și RR, am văzut cât de important este ca ei să comande procese în coada de procese gata pentru execuție. Dacă sarcinile scurte sunt situate în coada mai aproape de începutul ei, atunci performanța generală a acestor algoritmi crește semnificativ.

Dacă am fi știut timpul următorului spargere a procesorului pentru procesele în stare gata, am putea alege să nu executăm procesul de la începutul coadajului, ci procesul cu durata minimă de spargere a procesorului. Dacă există două sau mai multe astfel de procese, atunci putem folosi algoritmul deja cunoscut FCFS pentru a selecta unul dintre ele. Nu se aplică cuantizarea timpului.

Algoritmul descris a fost numit "cel mai scurt timp de lucru" sau "Shortest Job First" (SJF).

Algoritmul SJF pentru planificarea pe termen scurt poate fi fie preventiv, fie non-preemptiv.

Cu programare non-preemptivă SJF, procesorul este furnizat procesului selectat pentru tot timpul necesar, indiferent de evenimentele care apar în sistemul de calcul.

Să luăm în considerare un exemplu de funcționare a algoritmului non-relief SJF. Fie ca patru procese să fie gata în stare pregătită, p0, p1, p2 și p3, pentru care se cunoaște ora următoarei explozii a procesorului. Aceste vremuri sunt prezentate în tabel.

Algoritmul pentru procesele de planificare cel mai scurt-job-primul (non-preemptiv)

Ca și înainte, presupunem că întreaga activitate a proceselor se limitează la utilizarea unui singur interval de procesare a procesorului, procesele care nu efectuează operații I / O și că timpul de comutare a contextului poate fi neglijat

Dacă utilizați algoritmul SJF non-preemptiv, procesul p3 cu cea mai mică durată a următoarei explozii a procesorului va fi selectat mai întâi pentru execuție. După finalizarea sa, procesul p1 este selectat pentru execuție, apoi p0 și în cele din urmă p2.

După cum se poate observa, timpul mediu de așteptare pentru algoritmul SJF este

(4 + 1 + 9 + 0) / 4 = 3,5 unități de timp.

Pentru algoritmul FCFS pentru ordinea proceselor p0, p1, p2, p3, timpul mediu de așteptare va fi egal cu

(0 + 5 + 8 + 15) / 4 = 7 unități de timp,

adică va fi de două ori mai mare decât algoritmul SJF.

Se poate arăta că pentru un anumit set de procese (dacă procesele noi nu apar în coada de așteptare), algoritmul SJF este optim din punct de vedere al minimizării timpului mediu de așteptare în rândul clasei de algoritmi care nu eliberează

Principala dificultate în implementarea algoritmului SJF este incapacitatea de a cunoaște cu precizie durata următoarei explozii a procesorului pentru procesele care rulează.

În sistemele lot, cantitatea de timp a procesorului cerută de sarcina de efectuat este indicată de utilizator atunci când creați lucrarea. Putem lua această valoare pentru planificarea SJF pe termen lung.

Dacă utilizatorul specifică mai mult timp decât are nevoie, va aștepta rezultatul mai mult decât ar putea, deoarece sarcina va fi descărcată ulterior în sistem.

Dacă specifică mai puțin timp, sarcina nu poate fi numărată până la sfârșit.

Astfel, în sistemele de loturi, sarcina de estimare a timpului de utilizare a procesorului este deplasată la umerii utilizatorului.

Cu o planificare pe termen scurt, putem face doar o predicție a duratei următoarei explozii a procesorului, bazată pe istoricul procesului

Toate subiectele din această secțiune:

Investigarea obiectului ca sistem, semne ale complexității sistemului
Obiectul cunoașterii este o parte a lumii reale, care se evidențiază și este percepută ca un singur întreg pentru o lungă perioadă de timp. Un obiect poate fi material sau abstract, naturi

Factor subsisteme de sisteme complexe, principii de abordare sistem.
Sistemele complexe pot fi împărțite în următoarele subsisteme factoriale: 1) decisive, care ia decizii globale în interacțiunea cu mediul extern și distribuie sarcinile locale

Arhitectura procesorului din punctul de vedere al programatorului
Pentru un programator, orice procesor constă dintr-un set de registre de memorie pentru diferite scopuri care sunt legate într-un anumit mod și procesate conform unui sistem de drepturi

Principalele etape ale evoluției sistemelor de calcul
Există o clasificare diferită a soarelui. Cel mai adesea ele sunt clasificate în funcție de baza elementelor. Conform acestei clasificări, în evoluția forțelor armate se disting 4 etape: 1. Prima perioadă (1945

Organizarea utilizării eficiente a resurselor informatice. Facilitarea funcționării hardware și software a sistemului informatic






Printre principalele resurse ale sistemului modern de operare se numără procesoare, memorii RAM, cronometre, seturi de date, discuri, unități de bandă, imprimante, dispozitive de rețea etc. Resursele trebuie distribuite

Oportunități pentru dezvoltarea sistemului de operare, cerințe de sistem de operare, suport hardware pentru OS
Nevoia de dezvoltare se datorează următoarelor motive: ¾ actualizarea și apariția de noi tipuri de hardware ¾ apariția de noi servicii (pentru satisfacție

Principiile de bază ale dezvoltării arhitecturii OS
Arhitectura - este organizarea de bază a unui sistem încorporat în componentele sale, relațiile între ele și cu mediul înconjurător, precum și principiile care guvernează proiectarea și dezvoltarea sistemului [IEE [1471].

Monolithic OS architecture
În arhitectura monolitică a OS, există deja o anumită structură, care este determinată de un set de proceduri. Aici, fiecare procedură are o interfață bine definită și poate provoca

Arhitectură OS pe mai multe niveluri
Arhitectura pe mai multe niveluri a apărut ca răspuns la limitările arhitecturii monolitice în ceea ce privește extensibilitatea, portabilitatea și compatibilitatea. Ideea sa principală este următoarea: 1. П

Conceptul de proces, starea procesului, model de proces
Procesul este un concept fundamental care reflectă funcționarea OS. În esența sa, acesta este un obiect dinamic, asupra căruia sistemul de operare realizează anumite acțiuni. Luați în considerare modelele de procesoare

Planificarea proceselor. Niveluri de planificare
Procese - funcționarea OS. Unul dintre procesele constitutive este resursele. Sunt limitate. Deoarece există multe procese, este necesar să se organizeze coordonarea utilizării acestora. În plus, procesele -

Criterii de planificare și cerințe pentru algoritmi
Este clar că pot exista alți algoritmi de planificare. Și aș vrea ca ei să fie universali, dar acest lucru nu se întâmplă cu adevărat. Cel mai adesea, acest sau acel algoritm se apropie definitiv

Opțiuni de planificare
Când planificați sistemul de operare, acesta se bazează pe două clase de parametri de obiect. Prima clasă reflectă parametrii statistici, al doilea - dinamic. Parametrii statistici nu se modifică în timpul funcționării

Planificare preventivă și non-preemptivă
Procesul de planificare este realizat de o parte a sistemului de operare, numit programator. El poate lua decizii cu privire la alegerea executării unui nou proces dintre cei care se află într-o stare de pregătire în următorii 4 ani

Algoritm pentru programarea primului venit, primul serviciu (FCFS)
De fapt, există mulți algoritmi de planificare diferite. Fiecare dintre ele este eficient pentru o anumită clasă de sarcini. Există algoritmi care pot fi aplicați la diferite niveluri

Algoritmul pentru procesele de planificare Round Robin (RR)
Deficiențele notate sunt eliminate în următorul algoritm: Round Robin (RR). În general, este similar cu algoritmul anterior, dar în plus este introdus un mecanism de planificare preemptivă.

Algoritmul proceselor de planificare Shortest-Job-First (preemptiv)
La înlocuirea planificării SJF, procesele noi din coadă sunt pregătite pentru a fi executate (de la cei nou-născuți sau deblocați) în timpul procesului selectat.

Fluxuri. Programe multiprogramare pe niveluri
Pentru a suporta multiprogramarea (multitasking), sistemul de operare trebuie să definească și să elaboreze pentru sine acele unități interne de lucru între care procesorul și alte resurse de computer vor fi partajate

Caracteristicile generale ale relației dintre procese
* direcția de comunicare. Conexiunea poate fi unidirecțională (simplex) și bidirecțională (jumătate duplex pentru transmisia de date alternativă și duplex cu transmisie simultană da

Semaphore, mutexuri. Utilizarea semaforilor pentru sincronizarea proceselor
Generalizarea variabilelor de blocare este așa-numitele semaphore Dijkstra. În locul variabilelor binare, Dijkstra a sugerat utilizarea unor variabile care pot lua întregi

Funcțiile OS pentru gestionarea memoriei
Sub memoria (memorie), în acest caz se înțelege memoria operațională (principală) a computerului. În sistemele de operare cu un singur program, memoria principală este împărțită în două părți. O parte - pentru op

Memoria virtuală
Cantitatea de memorie RAM afectează în mod semnificativ natura fluxului procesului de calcul, deoarece limitează numărul de programe care rulează simultan, adică nivelul

Suport software pentru mecanisme de memorie virtuală
52. Caracteristicile generale ale dispozitivelor de intrare / ieșire Dispozitivele externe care efectuează operații I / O pot fi împărțite în trei grupe: • dispozitive care lucrează cu

Scopul și sarcinile subsistemului I / O
Schimbul de date între utilizatori, aplicații și dispozitive periferice ale computerului este realizat de un subsistem special al OS - subsistemul intrare-ieșire. De fapt, pentru a îndeplini această sarcină și a fost

I / O Drivers
Inițial, termenul "șofer" a fost folosit într-un sens destul de restrâns; un driver este un modul software care: · face parte din nucleul sistemului de operare, funcționând într-un mod privilegiat;

Model multistrat al subsistemului intrare-ieșire
Cu o mare varietate de dispozitive de intrare-ieșire cu caracteristici semnificativ diferite, structura ierarhică a subsistemului intrări-ieșiri ajută la echilibrarea celor două contradicții

Arhitectura sistemului de fișiere
O schemă clasică pentru organizarea software-ului sistemului de fișiere este prezentată în Fig.

Organizarea logică a fișierelor
Logică I / O oferă acces la înregistrări pentru aplicații și utilizatori. Metoda de acces Nivelul sistemului de fișiere cel mai apropiat de utilizator. Acesta oferă un standard

Sisteme de catalogare
Legătura dintre sistemul de gestionare a fișierelor și un set de fișiere este un director de fișiere. Cea mai simplă formă a sistemului de catalogare este aceea că există un singur director conținând toate f

Organizarea fizică a sistemului de fișiere
Structura de informații a discurilor magnetice Reprezentarea utilizatorilor despre sistemul de fișiere ca un set de blocuri de informații organizate ierarhic nu are prea multe în comun cu ordinea xp

S este numărul sectorului
Pe fiecare parte a fiecărei plăci sunt marcate inele subțiri concentrice (piste) pe care sunt stocate datele. Numerotarea pieselor începe de la 0 de la marginea exterioară la

Organizarea fizică FAT
Pentru a asigura accesul fișierelor la aplicații, sistemul de operare cu sistemul de fișiere FAT folosește următoarele structuri: · Sectoare de bootare ale partițiilor principale și suplimentare

Principalele caracteristici ale sistemului de fișiere NTFS 5 în comparație cu sistemele Microsoft de fișiere anterioare.
Sistemul de fișiere NTFS a fost complet reproiectat și destul de complex. Fiecare volum NTFS (adică o partiție de disc) conține fișiere, directoare, bitmap-uri și alte structuri de date. Fiecare volum

Un set de API-uri pentru Win32.
Acest set de interfețe de programare a aplicațiilor vă permite să efectuați criptarea fișierelor, decriptarea și recuperarea fișierelor criptate, precum și importul și exportul acestora (fără un deshi preliminar

Doriți să primiți ultimele știri prin e-mail?






Articole similare

Trimiteți-le prietenilor: