TSL (проверка и установка блокировки)

224
user218987

Я хочу спросить, что всякий раз, когда язык высокого уровня преобразуется в язык низкого уровня, он будет соответствовать друг другу? Например, если я собираюсь конвертировать следующий язык высокого уровня

while(LOCK!=0); LOCK=1 \\Critical Section LOCK=0 

на следующий язык ассемблера

Load LOCK,R0 Store #1,LOCK Compare R0,#0 Jump step 1 \\Critical Section Store #0,LOCK 

вместо

Load LOCK,R0 Compare R0,#0 Jump step 1 Store #1,LOCK \\Critical Section Store #0,LOCK 

Это было бы неправильно? Поскольку оператор while состоит из загрузки, сравнения и перехода инструкций вместе. Но, как вы видели, я должен применить TSL (Test and Set Lock) для синхронизации процессов. Вот почему я задаю этот вопрос.

0

0 ответов на вопрос

Похожие вопросы