• În Linux, porturile alocate apar în:
    1. /proc/ioports
    2. /proc/interrupts
    3. /proc/iomem
    4. /proc/stat
    • [1]
    • (1)
  • Pentru a proteja accesul la date partajate între rutina de tratare a întreruperii şi operaţia write} a unui device driver se foloseşte:
    1. spin_lock}/spin_unlock} în rutina de tratare a întreruperii şi spin_lock}/spin_unlock} în write}
    2. spin_lock}/spin_unlock} în rutina de tratare a întreruperii şi spin_lock_irqsave}/spin_unlock_irqrestore} în write}
    3. spin_lock}/spin_unlock} în rutina de tratare a întreruperii şi disable_irq}/enable_irq} în write
    4. spin_lock}/spin_unlock} în rutina de tratare a întreruperii şi local_irq_disable}/local_irq_enable} în write
    • [2]
    • (1)
  • O întrerupere partajată:
    1. se înregistrează prin specificarea flag-ului irqf_shared} pentru request_irq}
    2. este tratată prin execuţia tuturor rutinelor înregistrate
    3. se înregistrează cu request_irq_my_irq_my_handler_irqf_shared_dev_name_null}
    4. trebuie să verifice registrul de stare în rutina de tratare a întreruperii pentru a determina daca întreruperea a fost generată de dispozitivul pe care îl gestionează
    • [1]
    • (1)
  • Care din următoarele variante sunt corecte?
    1. outb_value_my_baseport}
    2. outb_my_baseport_value}
    3. write_port_uchar_value_puchar_my_baseport}
    4. write_port_uchar_puchar_my_baseport_value}
    • [1]
    • (1)
  • În Linux, putem afla numărul de întreruperi generate din :
    1. /proc/ioports
    2. /proc/interrupts
    3. /proc/iomem
    4. /proc/stat
    • [2]
    • (1)
  • Pentru a proteja accesul la date partajate între rutina de a întreruperii şi operaţia write} a unui device driver se foloseşte:
    1. keacquirespinlock}/kereleasespinlock} în rutina de tratare a întreruperii şi keacquirespinlock}/kereleasespinlock} în write}
    2. keacquireinstackqueuedspinlock}/kereleaseinstackqueuedspinlock} în rutina de tratare a întreruperii şi keacquirespinlock}/kereleasespinlock} în write}
    3. accesul direct la date în rutina de tratare a întreruperii şi kesynchronizeexecution} în write
    4. kesynchronizeexecution} în rutina de tratare a întreruperii şi accesul direct la date în write
    • [1]
    • (1)
  • Pentru activarea întreruperii care apare la primirea de date pe portul serial trebuie setat:
    1. bitul 0 (Enable Received Data Available Interrupt) în registrul IER
    2. bitul 0 (Interrupt Pending) din registrul IIR
    3. bitul 0 (Enable FIFO's) din registrul FCR
    4. bitul 3 (Aux Output 2) în registrul MCR
    • [1]
    • (1)
  • În rutina de tratarea a întreruperii:
    1. trebuie dezactivate întreruperile la intrarea în funcţie
    2. se verifică registrul de stare pentru a determina dacă întreruperea a fost generată de dispozitivul pe care îl gestionează
    3. se întoarce irq_none}/false} dacă întreruperea nu a fost generată de dispozitivul pe care îl gestionează şi irq_handled}/true} în caz contrar
    4. se resetează bitul interrupt-pending pe dispozitivul fizic
    • [1]
    • (1)
  • Parametrul synchronizeirql} al funcţiei ioconnectinterrupt}:
    1. specifică valoarea IRQ-ului la care va rula rutina de tratare a înteruperii
    2. este folosit pentru sincronizare între rutina de tratare a întreruperii şi contex proces
    3. trebuie să fie valoarea maximă dintre toate întreruperile servite de o rutină de tratare a întreruperii
    4. trebuie să aibă aceeaşi valoare cu parametrul irql} al aceleiaşi funcţii
    • [1]
    • (1)
  • Care din următoarele secvenţe vor eşua la obţinerea unei întreruperi?
    1. request_irq_irq_handler2_irqf_shared_dev2_data2}
    2. request_irq_irq_handler2_irqf_shared_dev2_data2}
    3. request_irq_irq_handler2_0_dev2_data2}
    4. request_irq_irq_handler2_0_dev2_data2}
    • [1]
    • (1)