This is an old revision of the document!


Curs 04 - Planificarea execuției

  • Suport curs
    • Operating System Concepts Essentials
      • Capitolul 5 - CPU Scheduling
    • Modern Operating Systems
      • Capitolul 2 - Processes and Threads
        • Secțiunea 5 - Scheduling

Demo-uri

Pentru parcurgerea demo-urilor, folosiți arhiva aferentă.

  1. Rulați comanda de mai jos și aflați numărul de schimbări de context (voluntare și nevoluntare):
    /usr/bin/time -v find /var/log
    • Schimbările de context se găsesc, respectiv, pe liniile care încep cu Voluntary context switches, respectiv Involuntary context switches.
      • Rețineți valorile obținute.
    • Rulați din nou comanda:
      /usr/bin/time -v find /var/log
      • Ce valori sunt acum afișate pentru cele două tipuri de context?
        • Observați faptul că se realizează un caching în memorie al datelor, rezultând în foarte puține operații blocante.
  2. Rulați comanda anterioară cu output-ul redirectat către /dev/null:
    /usr/bin/time -v find /var/log > /dev/null
    • Ce valori sunt acum afișate pentru cele două tipuri de schimbări de context?
      • Observați că redirectarea către '/dev/null înseamnă că nu se mai realizează copieri de buffere. Rezultă așadar un număr mai mic de schimbări de context (nevoluntare) și o durată de execuție mai mică a procesului.
  3. Intrați în directorul nice/ din arhiva cu demo-uri a cursului.
    • Parcurgeți fișierele cpu.c și start-all.
    • Compilați programul folosind comanda:
      make
    • Rulați scriptul start-all:
      start-all
      • Scriptul va porni 6 procese cu valori diferite pentru nice:
        • 2 procese vor fi prioritare (nice = -20);
        • 2 procese vor avea prioritate medie (nice = 0, implicit);
        • 2 procese vor fi subprioritare (nice = 19).
      • Pentru fiecare proces, este reținut output-ul într-un fișier.
      • Consultați timpul de rulare al fiecărui proces în fișierul rezultat, folosind comanda:
        grep -H 'Elapsed' pri*
        • Observați că procesele prioritare au avut cel mai scurt timp de rulare iar cele subprioritare cel mai lung timp. Planificatorul a ținut cont de valoarea priorității statice (nice).
so/cursuri/curs-04.1363089371.txt.gz · Last modified: 2013/03/12 13:56 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0