[問題] 請教critical section 問題

看板C_and_CPP (C/C++)作者 (小動)時間16年前 (2010/04/16 10:03), 編輯推噓0(0010)
留言10則, 3人參與, 最新討論串1/1
有關幾個CS的問題,一直困擾著我 (1)CS有分成application level和kernel level(wiki上說的) 有什麼不同嗎? 是指system call和hardware interrupt的差異嗎? (2)如果我宣告一個布林變數flag,請問下面這行是atomic的嗎? flag = true; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.45.37

04/16 10:11, , 1F
1. 防止 Application 間互相插隊 / 防止 Kernel 內插隊
04/16 10:11, 1F

04/16 10:11, , 2F
2. 要看 Complier 如何編譯、提供怎樣的指令
04/16 10:11, 2F

04/16 10:44, , 3F
感謝大大的解說~所以第二點是指是否包含兩個以上的指令囉?
04/16 10:44, 3F

04/16 10:45, , 4F
應該說CPU有沒有指令能讓flag=true;能不被中斷的做完
04/16 10:45, 4F

04/16 10:46, , 5F
而compiler是否有使用了那樣的指令
04/16 10:46, 5F

04/16 10:47, , 6F
哦哦 了解 感恩
04/16 10:47, 6F

04/16 13:03, , 7F
這東西其實教科書沒有寫得很完備,漏洞一堆,但大家都想說
04/16 13:03, 7F

04/16 13:04, , 8F
只是講觀念而已就無視缺陷。這東西不太禁得起深入探討。
04/16 13:04, 8F

04/16 13:05, , 9F
畢竟寫書的人本身感覺就沒在認真寫書,還有跟他說寫錯
04/16 13:05, 9F

04/16 13:05, , 10F
打死不承認,卻在下一版偷改回來的案例。
04/16 13:05, 10F
文章代碼(AID): #1BnyLdc4 (C_and_CPP)
文章代碼(AID): #1BnyLdc4 (C_and_CPP)