рдЬрд┐рдХреНрд░реЛрди рд╣рд╛рдЗрд▓рд╛рдЗрдЯ: vDSO (рдЖрднрд╛рд╕реА рдЧрддрд┐рд╢реАрд▓ рд╕рд╛рдЭрд╛ рд╡рд╕реНрддреБ)

рдЬрд┐рдХреНрд░реЛрди? рдпрд╣ рдХреНрдпрд╛ рд╣реИ


рдЕрдЧрд╕реНрдд 2016 рдореЗрдВ, Google рдХреА рдХрд┐рд╕реА рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд┐рдирд╛, рдирдП рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИ рдереА рдлреНрдпреВрд╢рд┐рдпрд╛ред рдпрд╣ рдУрдПрд╕ рдЬрд┐рд░рдХреЛрди рдирд╛рдордХ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрд░реНрдиреЗрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрд▓рдХреЗ (рд▓рд┐рдЯрд┐рд▓ рдХрд░реНрдиреЗрд▓) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред


рдлреБрдХрд┐рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдирд╣реАрдВ рд╣реИ

рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рдиреЛрдЯреНрд╕

рдореИрдВ рдирд╣реАрдВ рдЕрд╕рд▓реА рд╡реЗрд▓реНрдбрд░ рдореИрдВ рдЬрд┐рдХреНрд░реЛрди рдореЗрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдФрд░ / рдпрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реВрдВред рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдХрд╛ рдкрд╛рда рдЖрдВрд╢рд┐рдХ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рд╕рдВрдХрд▓рди рд╣реИ : рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЬрд┐рдХреНрд░реЛрди vDSO рдкреНрд░рд▓реЗрдЦрди рдФрд░ рд▓реЗрдЦ рдЬрд┐рд░рдХреЛрди рднрд╛рдЧ 1 рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ : @depletionmode рд╕реЗ рдиреНрдпреВрдирддрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдордЭрдирд╛ , рдЬрд╣рд╛рдВ рдереЛрдбрд╝рд╛ рдЧреИрдЧ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ (рдЬреЛ рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд▓реЗрдЦ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд░рдЪрдирд╛рддреНрдордХ рд╕реБрдЭрд╛рд╡ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИрдВред


рд▓реЗрдЦ рдореЗрдВ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА?


рдЬрд┐рдХреНрд░реЛрди рдореЗрдВ vDSO рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (syscalls) рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд╛рдзрди рд╣реИред


рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдХреЛрдб рд╕реЗ рд╕реАрдзреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ SYSENTER / SYSCALL рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ? рдирд╣реАрдВ, рдпреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ рд╕рд┐рд╕реНрдЯрдо ABI рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХреЛ рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕реАрдзреЗ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдХрджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред



рдЬрд┐рд░рдХреЛрди vDSO (рд╡рд░реНрдЪреБрдЕрд▓ рдбрд╛рдпрдирд╛рдорд┐рдХ рд╢реЗрдпрд░реНрдб рдСрдмреНрдЬреЗрдХреНрдЯ)


рд╕рдВрдХреНрд╖рд┐рдкреНрдд vDSO рдХрд╛ рдЕрд░реНрде v irtual D ynamic S hared O bject рд╣реИ:


  • рдбрд╛рдпрдиреЗрдорд┐рдХ рд╢реЗрдпрд░реНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╢рдмреНрдж рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ ELF рдкреНрд░рд╛рд░реВрдк (.so рдлрд╝рд╛рдЗрд▓реЛрдВ) рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореМрдЬреВрджрд╛ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред VDSO рдЫрд╡рд┐ рд╕реАрдзреЗ рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред

рдХрд░реНрдиреЗрд▓ рд╕рдорд░реНрдерди


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд ABI рдХреЗ рд░реВрдк рдореЗрдВ vDSO рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


  1. рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ ( VMO, рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ ) рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ред

    рдЬрдм zx_vmar_map vDSO рдХреЗ рд▓рд┐рдП ZX_VM_PERM_EXECUTE (рдФрд░ ZX_VM_PERM_EXECUTE рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдХрд░реНрдиреЗрд▓ рдХреЛ рдСрдлрд╕реЗрдЯ рдФрд░ рдЖрдХрд╛рд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп vDSO рдЦрдВрдб рд╕реЗ рд╕рдЦреНрддреА рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ (рд╕рд╣рд┐рдд) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡реАрдбреАрдПрд╕рдУ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ vDSO рдХреЗ рдкрд╣рд▓реЗ рд╕рдлрд▓ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдЕрдм рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдореЗрдВ vDSO рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕, VDSO рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд VMO рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧрд▓рдд рдСрдлрд╕реЗрдЯ рдФрд░ / рдпрд╛ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде ZX_ERR_ACCESS_DENIED рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ ZX_ERR_ACCESS_DENIED ред
    Vdso рдХреЛрдб рдХреЗ рдСрдлрд╕реЗрдЯ рдФрд░ рдЖрдХрд╛рд░ рдХреЛ ELF рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдКрдкрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕рдлрд▓ vDSO рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЗ рдмрд╛рдж, рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдЪреЗрдХреЛрдВ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкрддреЗ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИред


  2. рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

    рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рдХреЛрдб рдХрд░реНрдиреЗрд▓ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирдВрдмрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ vDSO рдФрд░ рдЬрд┐рд░рдХреЛрди рдХреЛрд░ рдХреЗ рдмреАрдЪ рдЖрдВрддрд░рд┐рдХ (рдирд┐рдЬреА) рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИрдВред рдХреБрдЫ (рдЕрдзрд┐рдХрд╛рдВрд╢) рд╕реАрдзреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдмреАрдЖрдИ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
    VDSO рдХреЛрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рд╣реИ рдЬреЛ рдпрд╣ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред VDSO рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЖрдВрддрд░рд┐рдХ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдХрд▓рди рдХреЗ рд╕рдордп, рдЗрди рд╕реНрдерд╛рдиреЛрдВ рдХреЛ vDSO рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкрддреЗ рдХреА рд╡реИрдзрддрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпреЗ рд╡рд┐рдзреЗрдп рдЖрдкрдХреЛ VDSO рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдСрдлрд╕реЗрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╡реИрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
    рдпрджрд┐ рдпрд╣ рд╡рд┐рдзреЗрдп рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдиреЗ рдПрдХ рдиреЙрдирдЯреЗрдХреНрд╕реНрдЯ рдпрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред



рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рддреЗ рд╕рдордп vDSO


рдПрдХ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд╣рд▓реЗ рдзрд╛рдЧреЗ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, zx_process_start рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ (рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ arg2 рджреЗрдЦреЗрдВ) рдирд┐рд░реНрдорд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд╣рд▓реЗ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рджреЗрддрд╛ рд╣реИред рд╕реНрд╡реАрдХреГрдд рд╕рдордЭреМрддреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЛрдбрд░ vDSO рдХреЛ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрддреЗ рд╕реНрдерд╛рди (рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЪрдпрдирд┐рдд рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдерд╛рди) рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрдирд╛рдИ рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд╣рд▓реЗ рдзрд╛рдЧреЗ рдореЗрдВ arg2 рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдореИрдкрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрддреЗ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдИрдПрд▓рдПрдл рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╣реЗрдбрд░ рдПрдбреНрд░реЗрд╕ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╛рдорд┐рдд рдХрд╛рд░реНрдп рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред


рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб (рд▓реЗрдЖрдЙрдЯ) vDSO


vDSO рдПрдХ рдирд┐рдпрдорд┐рдд рдИрдПрдлрдПрд▓ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХреА рддрд░рд╣ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди vDSO рдХреЗ рд▓рд┐рдП, рдкреВрд░реЗ рдИрдПрд▓рдПрдл рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдмрд╕реЗрдЯ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ:


  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдИрдПрд▓рдПрдл рдХреА рдореИрдкрд┐рдВрдЧ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рднреА рдЬрдЯрд┐рд▓ рд╕реАрдорд╛ рдорд╛рдорд▓реЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдИрдПрд▓рдПрдл рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  • рд╡реАрдбреАрдПрд╕рдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЧрддрд┐рд╢реАрд▓ рдИрдПрд▓рдПрдл рдмрдВрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, vDSO рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдирд╣реАрдВ рд╣реИрдВред рдХрд┐рд╕реА ELF рдлрд╝рд╛рдЗрд▓ рдХрд╛ PT_LOAD рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред
  • рд╡реАрдбреАрдПрд╕рдУ рдХреЛрдб рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдФрд░ рд░реАрдЗрдВрдЯрд░реЗрдВрдЯ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдФрд░ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдиреНрдпреВрдирддрдо рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдПрдмреАрдЖрдИ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЛ рднреА рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред

рд╕рднреА vDSO рдореЗрдореЛрд░реА рдХреЛ рджреЛ рд▓рдЧрд╛рддрд╛рд░ рдЦрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдкреВрд░реЗ рдкреГрд╖реНрда рд╕рдВрд░реЗрдЦрд┐рдд рд╣реИрдВ:


  1. рдкрд╣рд▓рд╛ рдЦрдВрдб рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдИрдПрд▓рдПрдл рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдирд┐рд░рдВрддрд░ рдбреЗрдЯрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
  2. рджреВрд╕рд░рд╛ рдЦрдВрдб рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ vDSO рдХреЛрдб рд╣реИред

рд╕рдВрдкреВрд░реНрдг vDSO рдЫрд╡рд┐ рдореЗрдВ рдХреЗрд╡рд▓ рдЗрди рджреЛ рдЦрдВрдбреЛрдВ рдХреЗ рдкреГрд╖реНрда рд╣реИрдВред рдИрдПрд▓рдПрдл рд╣реЗрдбрд░ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдХреЗрд╡рд▓ рджреЛ рдорд╛рдиреЛрдВ рдХреЛ рд╡реАрдбреАрдПрд╕рдУ рдореЗрдореЛрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред


рдУрдПрд╕ рдмреВрдЯ рд╕рдордп рдирд┐рд░рдВрддрд░ рдбреЗрдЯрд╛


рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗрд╡рд▓ рд░рд┐рдЯрд░реНрди рдорд╛рди рд╣реИрдВ рдЬреЛ рд╕реНрдерд┐рд░ рд╣реИрдВ (рдорд╛рди рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрди рдорд╛рдиреЛрдВ рдХреЛ рдпрд╛ рддреЛ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдмреВрдЯ рд╕рдордп (рдмреВрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреИрд░рд╛рдореАрдЯрд░) рдкрд░ рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: zx_system_get_version () , zx_system_get_num_cpus () рдФрд░ zx_ticks_per_second () ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рдХрд░реНрдиреЗрд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИред


рд░реБрдХреЛ, рд╕реАрдкреАрдпреВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╣реИ?

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, zx_system_get_num_cpus () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдУрдПрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд░реНрдо- рд╕реНрд╡реИрдкрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:


рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░рди рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреА рд╣реИ, рдХреЗрд╡рд▓ рдмреВрдЯ рд╕рдордп рдкрд░ред

рдпрд╣, рдХрдо рд╕реЗ рдХрдо, рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдУрдПрд╕ рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдирд╣реАрдВ рд╣реИред


рдЪреВрдБрдХрд┐ рдпреЗ рдорд╛рди рд╕реНрдерд┐рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП OS рдХрд░реНрдиреЗрд▓ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрдирдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░рд▓ C ++ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ vDSO рдирд┐рд░рдВрддрд░ рдЦрдВрдб рд╕реЗ рдкрдврд╝реЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдХреИрдкреНрдЪрд░ рдХрд┐рдП рдЧрдП рдорд╛рди (рдЬреИрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдХреЛ рдХреЗрд╡рд▓ vDSO рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдмреВрдЯ рд╕рдордп рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдХрд░реНрдиреЗрд▓ рдХреЛ рд╡реАрдбреАрдПрд╕рдУ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╢реБрд░реБрдЖрддреА-рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд░реНрдиреЗрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ VMO vDSO рдмрдирд╛рддрд╛ рд╣реИ (рдФрд░ рдЗрд╕реЗ VMO рд╡рд┐рд╡рд░рдгрдХ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ)ред рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди, vDSO рдЫрд╡рд┐ ( vdso_constants ) рд╕реЗ рдСрдлрд╕реЗрдЯ ELF рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдмреВрдЯ рд╕рдордп рдкрд░, рдХрд░реНрдиреЗрд▓ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕рд╣реА рдорд╛рдиреЛрдВ (рдореМрдЬреВрджрд╛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рд╛рде рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ vdso_constants рдлреИрд▓реЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред


рдпрд╣ рд╕рдм рд╕рд┐рд░рджрд░реНрдж рдХреНрдпреЛрдВ?


рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдордирдорд╛рдирд╛ (рд╢реЗрд▓-) рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vDSO рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд╣рд▓реА рдмрд╛рдзрд╛ рдмрдирд╛рдИ рдЧрдИ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП vDSO рдмреВрдЯ рдкрддреЗ рдХреЗ рдкреВрд░реНрд╡реЛрдХреНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдХрд░рдг рд╣реЛрдЧреАред рдФрд░ рдЪреВрдВрдХрд┐ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ vDSO рдХреЗ VMO (рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ) рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ vDSO рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрди рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЦрддрд░рдирд╛рдХ (рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ) рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдк рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдпрд╛ MMIO рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╕реЗ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдорд▓реЗ рдХреА рд╕рддрд╣ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рд╣реИред


рдиреЛрдЯ: рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХрдИ vDSO рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдЕрд╡рдзрд╛рд░рдгрд╛ vDSO рдЫрд╡рд┐ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдкреВрд░реНрдг vDSO рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреА рд╣реИред


рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреА рддрдХрдиреАрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрдХ ProcessSystemCallDisablePolicy рд╣реИ :


Win32k рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЕрдХреНрд╖рдо рдкреНрд░рддрд┐рдмрдВрдз NTUser рдФрд░ GDI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

Source: https://habr.com/ru/post/hi435482/


All Articles