Ինչպես է QEMU-ն կատարում օտար կոդը. ուսումնասիրում ենք Tiny Code Generator-ը ներսից

YADRO ընկերության կողմից Habr-ում հրապարակված այս հոդվածը մանրամասնորեն քննարկում է QEMU-ի ներքին կառուցվածքը, մասնավորապես՝ Tiny Code Generator-ի (TCG) աշխատանքը: QEMU-ն հայտնի է տարբեր պրոցեսորային ճարտարապետություններ էմուլացնելու իր ունակությամբ, ինչը թույլ է տալիս մեկ հարթակի համար կոմպիլյացված ծրագրերը գործարկել բոլորովին այլ համակարգչի վրա: Հոդվածի հեղինակը մանրամասն վերլուծում է JIT-կոմպիլյացիայի գործընթացը՝ RISC-V ճարտարապետության օրինակով ցույց տալով, թե ինչպես են մեքենայական հրահանգները վերափոխվում միջանկյալ ներկայացման, իսկ այնուհետև՝ թիրախային կոդի: Նյութում բացահայտվում են տրանսլյացիայի բլոկների ձևավորման մեխանիզմները, բլոկների շղթայման դերը և longjmp-ի կիրառումը անցումների օպտիմալացման համար: Այս տեխնիկական վերլուծությունը օգտակար կլինի ցածր մակարդակի ծրագրավորմամբ, էմուլյացիայով և վիրտուալիզացիայի համակարգերի սկզբունքներով հետաքրքրվող մշակողների համար:
This is a summary. Read the full article at the original source:
HabrԿապակցված
Հոլմս, 993 կանչ անհետացել է, և ավելի լավ չի դառնում. Rust IPC-ի երեք թակարդները Tauri 2-ում
Հոդվածի հեղինակը կիսվում է Tauri 2-ի վրա հիմնված հավելվածի արտադրողականության կարգաբերման իր փորձով: Օպտիմալացումից հետո, որի ընթացքում հեռացվել էր 99…
IETF-ը վերջերս ներկայացրեց HTTP QUERY մեթոդը RFC 10008-ի միջոցով, որը նախատեսված է թույլ տալու անվտանգ, իդեմպոտենտ և քեշավորվող ընթերցման հարցումներ՝…
Արհեստական բանականությունն արդեն ավելի լավ է կոդավորում, քան ծրագրավորողների մեծ մասը
Dev.to-ում հրապարակված հոդվածում ծրագրային ապահովման ինժեներ Սիլվիա Լասկովսկան պնդում է, որ թեև արհեստական բանականությունը (ԱԲ) գերազանցում է կոդ գրել…



