• Tasklet-ii sunt implementați cu ajutorul softirq-urilor. Timer-ele sunt implementate cu ajutorul softirq-urilor.
    1. adevărat/adevărat
    2. adevărat/fals
    3. fals/adevărat
    4. fals/fals
    • [1]
    • (1)
  • Pentru a proteja accesul la date partajate între rutina de tratare a unui timer și operația read a unui device driver se folosește:
    1. spin_lock}/spin_unlock} în rutina de tratare a timer-ului și spin_lock}/spin_unlock} în read
    2. spin_lock}/spin_unlock} în rutina de tratare a timer-ului și spin_lock_irqsave}/spin_unlock_irqrestore} în read
    3. spin_lock}/spin_unlock} în rutina de tratare a timer-ului și spin_lock_bh}/spin_unlock_bh} în read
    4. spin_lock}/spin_unlock} în rutina de tratare a timer-ului și local_bh_disable}, spin_lock}/spin_unlock}, local_bh_enable} în read
    • [4]
    • (1)
  • Coada de sarcini predefinită în kernel-ul linux se numește:
    1. x}
    2. 0}
    3. events}
    4. kthread}
    • [3]
    • (1)
  • Care din funcțiile următoare NU poate fi apelată dintr-un kernel thread?
    1. kmalloc} cu flag-ul gfp_kernel}
    2. copy_from_user}
    3. down_interruptible}
    4. wait_event_interruptible}
    • [2]
    • (1)
  • Un kernel thread:
    1. rulează ca un thread al procesului init}
    2. rulează ca un thread al unui nou proces în kernel
    3. rulează ca un thread al unui nou proces în user-space
    4. are drept nume implicit 0}
    • [1]
    • (1)
  • Un DPC rulează întotdeauna la nivelul IRQ:
    1. passive_level}
    2. apc_level}
    3. dispatch_level}
    4. diqrl}
    • [3]
    • (1)
  • Rutina de tratare a unui DPC ruleaza în context întrerupere. Toate apelurile care nu sunt permise în rutina de tratare a unei întreruperi nu sunt permise nici în rutina de tratare a unui DPC.
    1. adevărat/adevărat
    2. adevărat/fals
    3. fals/adevărat
    4. fals/fals
    • [2]
    • (1)
  • Alocarea memoriei nerezidente în DPC:
    1. este permisă
    2. nu este permisă, deoarece un DPC nu rulează în context proces
    3. nu este permisă, deoarece nivelul IRQ la care este permis apelul funcției exallocatepool} este mai mic decât nivelul IRQ la care rulează un DPC
    4. nu este permisă, deoarece nivelul IRQ la care este permis apelul funcției exallocatepool} este mai mare decât nivelul IRQ la care rulează un DPC
    • [1]
    • (1)
  • Care din următoarele funcții poate fi apelată din rutina de tratare a unui timer?
    1. exallocatepool} cu flag-ul pagedpool}
    2. kewaitforsingleobject}
    3. ioqueueworkitem}
    4. pscreatesystemthread}
    • [1]
    • (1)
  • Care din urmatoarele formule este greșită?
    1. (linux) time_in_seconds_since_last_boot = jiffies / HZ
    2. (windows) time_in_system_time_units = time_in_seconds * 107
    3. (linux) time_in_jiffies = time_in_seconds * 100
    4. (windows) 1 system time unit = 100 ns
    • [1]
    • (1)