Require: , driver_state, ACT, TRUST_KERNEL, DRIVER_RUN
(1)   produce  WRITE_CAPTURE_PREPARE()
(2)   for   from 0 to   do
(3)    Set to read-only;
(4)   end for
(5)
(6)   produce  WRITE_CAPTURE_JUDGE(addr, rip)
(7)   if  rip∈ TRUST_KERNEL  then
(8)    Open the write permission of addr;
(9)   else
(10) if  addr    ACT  then
(11)  Open the write permission of addr;
(12) else
(13)  goto  DRIVER_FAULT;
(14) end if
(15) end if
(16)
(17) produce  WRITE_CAPTURE_RESET(addr)
(18)   if  driver_state == DRIVER_RUN  then
(19)    set addr to read-only;
(20)   end if
Algorithm 1: Traditional algorithm of the driver’s write operation capture (DWC).