Simulator หรือ Emulator? อะไรคือความแตกต่าง?


522

ในขณะที่ฉันเข้าใจว่าการจำลองและการเลียนแบบหมายถึงอะไรโดยทั่วไปฉันเกือบจะสับสนเกี่ยวกับพวกเขา สมมติว่าฉันสร้างซอฟต์แวร์ที่เลียนแบบฮาร์ดแวร์ / ซอฟต์แวร์ที่มีอยู่ฉันควรจะเรียกมันว่าอะไร? เครื่องจำลองหรือเครื่องจำลองหรือไม่?

ใครสามารถอธิบายความแตกต่างในแง่ของการเขียนโปรแกรมได้บ้าง

โบนัส: ความแตกต่างในภาษาอังกฤษระหว่างสองคำนี้คืออะไร? (ขออภัยฉันไม่ใช่เจ้าของภาษา :))


3
ในการพัฒนาแอพมือถือ iPhone มีตัวจำลองในขณะที่ Android มีตัวจำลอง เพิ่มเติมได้ที่นี่ - stackoverflow.com/questions/4544588/…
Vishnu Haridas

1
ฉันพบว่าวิกิพีเดียใช้ข้อมูลนี้: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico

นี่อาจเป็นประโยชน์ในการอธิบายสิ่งนี้: programmers.stackexchange.com/questions/134746/…
Hakan Fıstık

คำตอบ:


462

การจำลองเป็นกระบวนการเลียนแบบพฤติกรรมที่สังเกตได้จากภายนอกเพื่อให้ตรงกับเป้าหมายที่มีอยู่ สถานะภายในของกลไกการจำลองนั้นไม่จำเป็นต้องสะท้อนสถานะภายในของเป้าหมายที่ถูกจำลองอย่างแม่นยำ

ในทางกลับกันการจำลองสถานการณ์เกี่ยวข้องกับการสร้างแบบจำลองสถานะพื้นฐานของเป้าหมาย ผลลัพธ์สุดท้ายของการจำลองที่ดีคือแบบจำลองการจำลองจะเลียนแบบเป้าหมายซึ่งเป็นการจำลอง

เป็นการดีที่คุณควรจะสามารถดูการจำลองและสังเกตคุณสมบัติที่คุณจะดูว่าคุณมองเข้าไปในเป้าหมายเดิม ในทางปฏิบัติอาจมีทางลัดไปสู่การจำลองด้วยเหตุผลด้านประสิทธิภาพซึ่งก็คือด้านในของการจำลองอาจเป็นการจำลองแบบ

MAME เป็นตัวจำลองเกมอาร์เคด Hyperterm เป็นโปรแกรมจำลองเทอร์มินัล (ไม่ดีมาก) ไม่จำเป็นต้องสร้างแบบจำลองเครื่องอาร์เคดหรือเทอร์มินัลโดยละเอียดเพื่อให้ได้พฤติกรรมที่ต้องการ

Flight Simulator เป็นโปรแกรมจำลอง SPICE เป็นเครื่องมือจำลองทางอิเล็กทรอนิกส์ พวกเขาจำลองแบบให้มากที่สุดเท่าที่จะเป็นไปได้ทุกรายละเอียดของเป้าหมายเพื่อแสดงสิ่งที่เป้าหมายทำในความเป็นจริง

แก้ไข: การตอบสนองอื่น ๆ ได้ชี้ให้เห็นว่าเป้าหมายของการจำลองคือการสามารถแทนที่วัตถุที่มีการจำลอง นั่นเป็นจุดสำคัญ โฟกัสของการจำลองมีมากขึ้นในการสร้างแบบจำลองของสถานะภายในของเป้าหมาย - และการจำลองไม่จำเป็นต้องนำไปสู่การจำลอง โดยเฉพาะอย่างยิ่งการจำลองอาจทำงานช้ากว่าเวลาจริง ตัวอย่างเช่น SPICE ไม่สามารถทดแทนวงจรอิเล็กทรอนิกส์ที่เกิดขึ้นจริง (แม้ว่าจะสมมติว่ามีอุปกรณ์เวทมนต์บางอย่างที่เชื่อมต่อวงจรไฟฟ้ากับการจำลองแบบ SPICE) การจำลองสถานการณ์ไม่ได้นำไปสู่การจำลอง -


33
จากคำจำกัดความนี้จึงเป็นไปไม่ได้ที่จะจำลองโลกแห่งความเป็นจริงของซอฟต์แวร์หรือไม่? ฉันไม่คิดว่าเราจะสามารถแสดงสถานะพื้นฐานของโลกแห่งความจริงได้อย่างถูกต้อง - เลียนแบบคุณสมบัติที่สังเกตได้ ... ตอนนี้
Dolph

8
ฉันไม่เห็นด้วยกับโมเดล "[จำลอง] มากที่สุดเท่าที่จะเป็นไปได้ทุกรายละเอียดของเป้าหมายเพื่อแสดงสิ่งที่เป้าหมายทำในความเป็นจริง" การจำลองมีรูปแบบของระบบเป้าหมายที่มีรายละเอียดเพียงพอตามวัตถุประสงค์ของการจำลอง ตัวอย่างเช่น Flight Simulator อาจไม่ได้จำลองปลาในทะเลเพราะไร้ประโยชน์สำหรับการจำลอง
Hamdi

16
ตรงข้ามกับคำตอบตรงนี้: stackoverflow.com/questions/2174638/…
smwikipedia

3
ดูเหมือนว่าคนส่วนใหญ่ใช้คำเหล่านี้ในทางอื่นเช่นใน: การจำลองโดยทั่วไปเกิดขึ้นในระดับที่สูงกว่าการจำลอง (แม้ว่าจะใช้คำทั้งสองร่วมกันในบริบทที่กำหนด) ดูตัวอย่าง Android Emulator กับ Apple Simulator ฉันเสนอการสลับคำในคำตอบนี้เพื่อให้สอดคล้องกับคำจำกัดความส่วนใหญ่และเพื่อป้องกันความสับสนสำหรับผู้เยี่ยมชมในอนาคต
นักบิน

1
ฉันคิดว่าคำตอบนี้เปลี่ยน 2 คำ แหล่งข้อมูลอื่น ๆ ทั้งหมดอธิบายว่า: Simulation = พฤติกรรมที่ซ้ำกัน; การจำลอง = การทำงานภายในที่ซ้ำกัน ซึ่งนำไปสู่ข้อสรุปดังต่อไปนี้: พวกเขาทั้งสองข้อตกลงที่เลวทราม
metalim

350

ถ้าโปรแกรมจำลองการบินสามารถขนส่งคุณจาก A ไป B ได้มันจะเป็นโปรแกรมจำลองการบิน

อีมูเลเตอร์สามารถแทนที่ต้นฉบับเพื่อการใช้งานจริง
พีซีแบบเสมือนจำลองพีซี

เครื่องจำลองเป็นตัวอย่างสำหรับการศึกษาและวิเคราะห์

โปรแกรมจำลองจะต้องทำงานใกล้เคียงกับเวลาจริงเสมอ สำหรับตัวจำลองที่ไม่ได้เป็นอย่างนั้นเสมอไป การจำลองทางธรณีวิทยาสามารถทำได้ 1,000 ปี / วินาทีหรือมากกว่านั้น


6
@Henk ตัวอย่าง "ห้องนักบิน" ของคุณนั้นยอดเยี่ยม แต่ฉันเข้าใจหลังจากที่ฉันอ่านคำตอบของ Toybuilder ขอบคุณ :)
อารักษ์

1
พีซีแบบเสมือนไม่ได้เลียนแบบมันเสมือนจริง QEMU บนมืออื่น ๆ ที่จะเลียนแบบ ในทั้งสองกรณีชื่อควรเป็นคำใบ้
Jörg W Mittag

24
ฉันคิดว่าคงจะปลอดภัยที่จะพูดว่า Virtual PC จำลองพีซี มันเลียนแบบพีซีได้อย่างไรผ่านระบบเสมือนจริง แต่นั่นเป็นรายละเอียดเพิ่มเติมเกี่ยวกับการใช้งาน คุณอาจยืนยันว่า virtualisation ของฮาร์ดแวร์นั้นเป็นตัวเลียนแบบที่สามารถให้การสนับสนุนซีพียูแบบเร่งการเข้าถึงอุปกรณ์ฮาร์ดแวร์แบบเอกสิทธิ์เฉพาะบุคคลและอื่น ๆ
Lee B

รอสักครู่พีซีเสมือนไม่ได้ให้แบบจำลอง 1: 1 ของพีซีจริง (ฉันหมายถึงการทำเวอร์ชวลไลเซชันโดยทั่วไปไม่เพียง แต่จำลองพฤติกรรมภายนอก แต่ค่อนข้างทุกซอกทุกมุมของระบบซึ่งแตกต่างจากการทำเวอร์ชวลไลเซชันของแอพพลิเคชัน
Camilo Martin

1
ฉันจะหาเครื่องจำลองการบินกล่าวได้ที่ไหน
Jerry Dodge

175

การจำลอง = เพื่อการวิเคราะห์และการศึกษา

Emulation = สำหรับการใช้งานแทน

เครื่องจำลองคือสภาพแวดล้อมที่มี แต่รุ่นของเครื่องจำลองเป็นเครื่องที่จำลองการใช้งานเหมือนอุปกรณ์หรือระบบดั้งเดิม

เครื่องมือจำลองเลียนแบบกิจกรรมของสิ่งที่กำลังจำลอง มัน "ปรากฏขึ้น" (มากสามารถไปกับสิ่งนี้ "ปรากฏขึ้น" ขึ้นอยู่กับบริบท) จะเหมือนกับสิ่งที่ถูกจำลอง ตัวอย่างเช่นโปรแกรมจำลองการบิน "ปรากฏ" เป็นเที่ยวบินจริงให้กับผู้ใช้แม้ว่ามันจะไม่ขนส่งคุณจากที่หนึ่งไปยังอีกที่หนึ่ง

ในทางกลับกันอีมูเลเตอร์ในความเป็นจริง " ทำ "สิ่งที่เลียนแบบทำและในการทำเช่นนั้นเช่นกัน " ดูเหมือนจะทำสิ่งเดียวกัน " อีมูเลเตอร์อาจใช้ชุดโปรโตคอลที่แตกต่างกันในการเลียนแบบสิ่งที่เลียนแบบ แต่ผลลัพธ์ / ผลลัพธ์มักจะเหมือนกับวัตถุต้นฉบับเสมอ ตัวอย่างเช่น EMU8086 จำลอง 8086 ไมโครโปรเซสเซอร์บนคอมพิวเตอร์ของคุณซึ่งเห็นได้ชัดว่าไม่ได้ทำงานบน 8086 (= โปรโตคอลที่แตกต่างกัน ) แต่ผลลัพธ์ที่ออกมานั้นเป็นสิ่งที่ 8086 จริงจะให้


9
คำตอบที่ชัดเจนที่สุดที่ฉันเคยเห็น สำหรับฉันสามารถปรับปรุงได้โดยไม่ต้องเพิ่มประโยคหรือรวมเข้ากับคำจำกัดความตัดกันที่ยอดเยี่ยมของคุณ :-D
doughgle

40

มันเป็นความแตกต่างในการมุ่งเน้น อีมูเลเตอร์1มุ่งเน้นที่การสร้างพฤติกรรมของระบบใหม่โดยไม่คำนึงว่าระบบทำงานอย่างไรภายใน Simulators 2มุ่งเน้นไปที่การสร้างแบบจำลองส่วนประกอบของระบบ คุณใช้อีมูเลเตอร์เมื่อคุณเป็นห่วงเกี่ยวกับสิ่งที่ระบบทำและตัวจำลองเมื่อคุณสนใจว่ามันจะทำอย่างไร

สำหรับความหมายทั่วไปของภาษาอังกฤษการจำลองคือ "ความพยายามที่จะเท่าเทียมหรือเหนือกว่าในด้านคุณภาพหรือการกระทำ " ในขณะที่การจำลองคือ "เพื่อจำลองทำซ้ำเลียนแบบพฤติกรรมลักษณะหรือคุณสมบัติของ" ไม่แตกต่างกันมาก การเลียนแบบมาจากæmulus "มุ่งมั่นแข่งขัน" และเกี่ยวข้องกับ "เลียนแบบ" และ "ภาพ" ซึ่งแสดงให้เห็นว่ามีความคล้ายคลึงกับคันโยก - พื้นผิว "Simulation" มาจากsimilis "like" เช่นเดียวกับคำว่า "คล้ายคลึงกัน" ซึ่งอาจแนะนำให้มีความสอดคล้องกันมากขึ้น

อ้างอิง:

  1. Wikipedia: โปรแกรมจำลอง
  2. Wikipedia: การจำลองด้วยคอมพิวเตอร์
  3. Wiktionary: การจำลอง
  4. Wiktionary: การจำลอง
  5. นิรุกติศาสตร์ออนไลน์: การจำลอง
  6. นิรุกติศาสตร์ออนไลน์: การจำลอง

คำตอบของคุณแตกต่างจากคนอื่น พีซีเสมือนจริงเป็นเครื่องจำลองหรือเครื่องจำลองตามที่คุณต้องการหรือไม่?
Mikaël Mayer

@ MikaëlMayer: คำตอบหลายคำต่างจากคำตอบของคนอื่น ฉันคิดว่าคำตอบของฉันเทียบเท่า (ในสิ่งนั้นจะจัดเป็นแบบเดียวกัน) กับ Toybuilder และ cdiggens และเข้ากันได้กับJörg มันตรงกันข้ามกับของ Pontus และ Aeolai เท่านั้น
outis

@ MikaëlMayer Virtual PC เป็นโปรแกรมจำลอง มันสามารถทำทุกสิ่งที่พีซีจริงสามารถทำได้
ผู้ใช้

1
@Pri ดูคำตอบของหัวข้อนี้ที่เกี่ยวข้องกับพีซีแบบเสมือนจริง มันทั้งคู่ขึ้นอยู่กับมุมมอง ตัวอย่างเช่นคุณยังคงสามารถพูดได้ว่ามันเป็นการจำลองสถานการณ์เพราะมันไม่สามารถให้ความร้อนเหมือนคอมพิวเตอร์จริง
Mikaël Mayer

ขอบคุณที่กลับมา @ MikaëlMayer แต่จริงๆแล้วบางครั้งเราไม่สามารถแยกแยะความแตกต่างได้หากระบบจำลองหรือจำลอง การถกเถียงที่ดีเริ่มขึ้น หวังว่าฉันพูดถูก! มีความแตกต่างกันเล็กน้อยตามการใช้งานความหมายในภาษาอังกฤษการใช้งานความสามารถในการจ่าย แต่เมื่อฉันใช้คำตอบทั้งหมดในกรณีศึกษาของฉันมันไม่ใช่เรื่องง่าย
ผู้ใช้

19

ฉันไม่คิดว่าสามารถเปรียบเทียบอีมูเลเตอร์และอุปกรณ์จำลองได้ ทั้งสองเลียนแบบบางอย่าง แต่ไม่ได้เป็นส่วนหนึ่งของขอบเขตของการให้เหตุผลเดียวกันพวกเขาไม่ได้ใช้ในบริบทเดียวกัน

กล่าวโดยย่อ: โปรแกรมจำลองการทำงานถูกออกแบบมาเพื่อคัดลอกคุณลักษณะบางอย่างของ orginial และสามารถแทนที่ได้ในสภาพแวดล้อมจริง เครื่องจำลองไม่ได้ถูกออกแบบมาให้คัดลอกคุณสมบัติของต้นฉบับ แต่จะปรากฏขึ้นคล้ายกับต้นฉบับกับมนุษย์ หากไม่มีคุณสมบัติของ orginal เครื่องจำลองจะไม่สามารถแทนที่ในสภาพแวดล้อมจริงได้

จำลองเป็นอุปกรณ์ที่เลียนแบบสิ่งที่ใกล้มากพอเพื่อที่จะสามารถทดแทนกับสิ่งที่จริง. เช่นคุณต้องการให้วงจรทำงานเหมือนวงจร ROM (อ่านเฉพาะหน่วยความจำ) แต่ยังต้องการปรับเนื้อหาจนกว่าจะเป็นสิ่งที่คุณต้องการ คุณจะใช้โปรแกรมจำลองการทำงาน ROM ซึ่งเป็นกล่องดำ (น่าจะใช้ CPU) พร้อมอินเทอร์เฟซทางกายภาพและทางไฟฟ้าที่เข้ากันได้กับ ROM ที่คุณต้องการเลียนแบบ อีมูเลเตอร์จะเสียบเข้ากับอุปกรณ์แทน ROM จริง เมนบอร์ดจะไม่เห็นความแตกต่างใด ๆ เมื่อทำงาน แต่คุณจะสามารถเปลี่ยนเนื้อหา emulated-ROM ได้อย่างง่ายดาย กล่าวว่ามิฉะนั้นเครื่องเลียนแบบจะทำหน้าที่เหมือนกับสิ่งที่เกิดขึ้นจริงในบริบทของเมนบอร์ด (อาจช้าลงเล็กน้อยเนื่องจากรุ่นภายในจริง) แต่จะมีฟังก์ชั่นเพิ่มเติม (เช่นการเขียนซ้ำ) ที่มองเห็นได้เฉพาะผู้ออกแบบเท่านั้น . ดังนั้นคำจำกัดความของอีมูเลเตอร์คือ: สิ่งที่เลียนแบบดั้งเดิมมีคุณสมบัติการทำงานทั้งหมดของมัน

จำลองถูกนำมาใช้ในบริบทความคิดอีกเช่นจำลองเครื่องบินจำลองรถ ฯลฯ วิธีการที่มนุษย์มีชีวิตที่จะรับรู้และควบคุมมัน. ตัวจำลองจะไม่ทำงานของของจริงและไม่สามารถค้ำจุนมันได้ เครื่องจำลองเครื่องบินจะไม่บินหรือบรรทุกใครสักคนมันไม่ใช่จุดประสงค์ของมันเลย เครื่องจำลองไม่ได้มีวัตถุประสงค์เพื่อทำงาน แต่จะปรากฏต่อนักบินอย่างใดอย่างหนึ่งเช่นสิ่งที่เกิดขึ้นจริงเพื่อวัตถุประสงค์อื่นนอกเหนือจากวัตถุปกติเช่นเพื่อให้การฝึกภาคพื้นดิน (รวมถึงในสถานการณ์ที่ผิดปกติเช่นความล้มเหลวของเครื่องยนต์ทั้งหมด) ดังนั้นคำจำกัดความของโปรแกรมจำลองจะเป็น: สิ่งที่สามารถปรากฏต่อมนุษย์ได้สำหรับบางคนที่ขยายเพิ่มขึ้นเช่นเดิม แต่ไม่สามารถแทนที่ได้สำหรับการใช้งานจริง นอกจากนี้นักบินจะรู้ว่าเครื่องจำลองเป็นเครื่องจำลอง

ฉันไม่คิดว่าเราจะเห็นโปรแกรมจำลอง ROM ใด ๆ เพราะ ROM ไม่ได้มีปฏิสัมพันธ์กับมนุษย์และเราจะไม่เห็นเครื่องบินจำลองใด ๆ เพราะเครื่องบินไม่สามารถทดแทนการทำงานในลักษณะเดียวกันในโลกแห่งความเป็นจริงได้

ในมุมมองของฉันแบบจำลองภายในตัวจำลองหรือตัวจำลองสามารถเป็นอะไรก็ได้และไม่ควรคล้ายคลึงกับแบบจำลองของต้นฉบับ ROM emulator model น่าจะเป็นซอฟต์แวร์แทนที่จะเป็นฮาร์ดแวร์ MS Flight Simulator ไม่สามารถเป็นซอฟต์แวร์มากกว่าที่เป็นอยู่

การเปรียบเทียบคำศัพท์ทั้งสองนี้จะขัดแย้งกับคำตอบที่เลือกในปัจจุบัน (จาก Toybuilder) ซึ่งสร้างความแตกต่างในแบบจำลองภายในขณะที่คำแนะนำของฉันคือความแตกต่างคือว่าของปลอมสามารถหรือไม่สามารถใช้ในการทำงานจริงในโลกที่แท้จริงได้ สำหรับบางคนที่ยอมรับก็ขยายออกไป)

โปรดทราบว่าเครื่องจำลองเครื่องบินจะต้องจำลองโลกดวงอาทิตย์ลม ฯลฯ ซึ่งไม่ได้เป็นส่วนหนึ่งของเครื่องบินดังนั้นเครื่องจำลองเครื่องบินจะต้องเลียนแบบบางแง่มุมของเครื่องบินรวมถึงสภาพแวดล้อมของ เครื่องบินเพราะมันไม่ได้ใช้ในสภาพแวดล้อมที่เกิดขึ้นจริงนี้ แต่ในห้องฝึกอบรม

นี่คือความแตกต่างอย่างมากกับอีมูเลเตอร์ซึ่งเลียนแบบเฉพาะจุดเริ่มต้นและจุดประสงค์ของมันคือการใช้ในสภาพแวดล้อมของต้นฉบับโดยไม่จำเป็นต้องเลียนแบบ กลับไปที่บริบทเครื่องบิน ... สิ่งที่อาจเป็นเครื่องบินจำลอง บางทีรถไฟที่จะเชื่อมต่อสนามบินทั้งสอง - จริง ๆ แล้วเป็นสองขั้นตอนของเครื่องบิน - มีผู้โดยสารด้วยพนักงานต้อนรับบนเครื่องบินด้วยการตกแต่งภายในรถยนต์ที่ดูเหมือนห้องโดยสารเครื่องบินจริงและกัปตันบอกว่า "สุภาพสตรีและสุภาพบุรุษระดับความสูงของเรา ที่ปลายทางของเราคือ 24 ° C " ประโยชน์มันยากที่จะมองเห็นครวญเพลง ...

โดยสรุปแล้วอีมูเลเตอร์เป็นของจริงที่ตั้งใจจะทำงานจำลองเป็นของปลอมที่ตั้งใจจะหลอกผู้ใช้


1
วลี "โปรแกรมจำลอง ROM" ทำให้ฉันนึกถึงเครื่องเล่นวิดีโอเกมเสมือนจริง
Joe Z.

11

คำอธิบายง่ายๆ

หากคุณต้องการแปลงพีซีของคุณ (ใช้ Windows) เป็น Mac คุณสามารถทำสิ่งใดสิ่งหนึ่งต่อไปนี้:

(1) คุณสามารถติดตั้งชุดรูปแบบ Mac บน Windows ของคุณ ดังนั้นพีซีของคุณรู้สึกเหมือน Mac แต่คุณไม่สามารถเรียกใช้โปรแกรม Mac ใด ๆ ได้(SIMULATION)

(หรือ)

(2) คุณสามารถตั้งโปรแกรม PC ให้ทำงานเหมือน Mac (ฉันไม่แน่ใจว่าเป็นไปได้หรือไม่: P) ตอนนี้คุณสามารถรันโปรแกรม Mac ได้สำเร็จและคาดว่าจะได้ผลลัพธ์เช่นเดียวกับบน Mac(EMULATION)

ในกรณีแรกคุณสามารถสัมผัสกับ Mac ได้ แต่คุณไม่สามารถคาดหวังผลลัพธ์ที่เหมือนกับบน Mac ได้
ในกรณีที่สองคุณสามารถคาดหวังผลลัพธ์เช่นเดียวกับบน Mac แต่ความจริงก็ยังคงเป็นเพียงพีซี


3
นี่คือทั้งง่ายและผิดอย่างสมบูรณ์ (2) ใกล้เคียงกับอีมูเลชัน แต่ (1) ไม่ใช่อีมูเลชันและการจำลอง
Nick Bastin

10

เพื่อให้เข้าใจถึงความแตกต่างระหว่างเครื่องจำลองและเครื่องจำลองโปรดจำไว้ว่าเครื่องจำลองพยายามเลียนแบบพฤติกรรมของอุปกรณ์จริง ตัวอย่างเช่นในกรณีของ iOS Simulator มันจำลองพฤติกรรมที่แท้จริงของอุปกรณ์ iPhone / iPad จริง อย่างไรก็ตามเครื่องมือจำลองใช้ไลบรารีต่าง ๆ ที่ติดตั้งบน Mac (เช่น QuickTime) เพื่อทำการเรนเดอร์เพื่อให้เอฟเฟกต์ดูเหมือนกับ iPhone จริง นอกจากนี้แอปพลิเคชันที่ทดสอบบนเครื่องจำลองจะถูกรวบรวมเป็นรหัส x86 ซึ่งเป็นรหัสไบต์ที่เครื่องจำลองเข้าใจได้ อุปกรณ์ iPhone จริงตรงกันข้ามใช้รหัส ARM

ในทางกลับกันอีมูเลเตอร์จำลองการทำงานของอุปกรณ์จริง แอปพลิเคชันที่ทดสอบบนอีมูเลเตอร์จะถูกรวบรวมเป็นรหัสไบต์จริงที่ใช้โดยอุปกรณ์จริง อีมูเลเตอร์ดำเนินการแอปพลิเคชันโดยการแปลรหัสไบต์เป็นรูปแบบที่สามารถดำเนินการได้โดยคอมพิวเตอร์โฮสต์ที่รันอีมูเลเตอร์

เพื่อให้เข้าใจถึงความแตกต่างเล็กน้อยระหว่างการจำลองและการจำลองลองจินตนาการว่าคุณกำลังพยายามโน้มน้าวให้เด็กที่เล่นด้วยมีดเป็นสิ่งที่อันตราย เพื่อจำลองสถานการณ์นี้คุณแกล้งตัดตัวเองด้วยมีดและเสียงครวญครางด้วยความเจ็บปวด เพื่อเลียนแบบสิ่งนี้คุณต้องตัดตัวเอง


7
อย่าลองทำที่บ้านสำหรับเด็ก: D
Gearoid Murphy

9

ตัวจำลองเป็นแบบจำลองของระบบซึ่งจะยอมรับอินพุตที่ถูกต้องใด ๆ ที่ระบบจำลองจะยอมรับและสร้างผลลัพธ์หรือผลลัพธ์เดียวกัน ดังนั้นซอฟต์แวร์ของคุณจึงเป็นอีมูเลเตอร์เฉพาะเมื่อมันจำลองพฤติกรรมของระบบที่จำลองขึ้นอย่างแม่นยำ


ขอบคุณ ฉันคิดว่านี่เป็นนิยามที่แม่นยำมากของ Emulation ตัวอย่างเช่น Wine เป็นตัวจำลองเนื่องจากไม่จำเป็นต้องให้ผลลัพธ์ที่แม่นยำเหมือนกันใน Windows
AraK

6
ระมัดระวังเกี่ยวกับการพยายามช้อนรองเท้าไวน์ลงใน / หรือจำลองหรือจำลอง WINE เป็นเลเยอร์ที่ใช้งานร่วมกันได้ซึ่งทำให้ไบนารีจากระบบหนึ่งรันบนเลเยอร์ API API ของระบบอื่น คุณอาจเรียกมันว่าอะแดปเตอร์ ฉันคิดว่า simulator กับเขาไม่ใช่วิธีที่ดีที่จะเข้าใจมัน แต่มันก็ไม่ได้ใกล้เคียงกับอีมูเลเตอร์มากนัก
Lee B

ไวน์คือการเลียนแบบในสเปกตรัมนี้ มันมีลักษณะภายนอกของการเชื่อมโยงไบนารี Windows แต่ถ้าคุณมองไปที่ internals คุณจะไม่ได้เรียนรู้อะไรเกี่ยวกับ Windows
Nick Bastin

9

หลายปีที่ผ่านมาฉันมีคำกล่าวสั้น ๆ ว่าฉันเชื่อว่ารวบรวมสาระสำคัญของความแตกต่างค่อนข้างดี:

เครื่องจำลองเป็นเครื่องจำลองในภารกิจ

โดยที่ฉันหมายความว่าคุณใช้โปรแกรมจำลองเมื่อคุณไม่สามารถใช้สิ่งที่จริงและคุณใช้จำลองเมื่อคุณไม่สามารถใช้สิ่งที่จริงและคุณต้องการที่จะหาบางสิ่งบางอย่างเกี่ยวกับมัน


8

ในสำนวนปกติมากขึ้นหรือน้อยลง: หากซอฟต์แวร์ของคุณสามารถทำทุกอย่างที่ระบบเลียนแบบสามารถทำได้ก็เป็นโปรแกรมจำลอง ถ้ามันใกล้เคียงกับผลลัพธ์ของระบบ (ไอทีหรืออย่างอื่น) มันเป็นตัวจำลอง


5

เครื่องมือจำลอง:มันคล้ายกับล่าม นั่นคือมันเรียกใช้งานโค้ดจริงในแต่ละบรรทัดเพื่อเลียนแบบพฤติกรรม

จำลอง:มันเป็นปฏิบัติการที่คล้ายกัน เช่นจะใช้รหัสรวบรวมและรันมัน


4

อีมูเลเตอร์เป็นทางเลือกให้กับระบบจริง แต่ตัวจำลองใช้เพื่อปรับให้เหมาะสมทำความเข้าใจและประเมินระบบจริง


3

การบิดเบือนระหว่างคำสองคำนี้ค่อนข้างคลุมเครือ มาจากโลกที่ "อีมูเลเตอร์" เป็นชิ้นส่วนของฮาร์ดแวร์ที่ให้คุณดีบักระบบฝังตัว และจำไว้ว่าผลิตภัณฑ์ที่อนุญาตให้คุณมีความสามารถของ ICE (In Circuit Emulation) เพื่อดีบักแพลตฟอร์มพีซีฉันพบว่าการใช้คำว่า "Emulation" นั้นเป็นสิ่งที่เรียกว่าซอร์ฟแวร์ที่เลียนแบบพฤติกรรมของฮาร์ดแวร์

เหตุผลของฉันสำหรับการใช้งานในปัจจุบันของคำว่า Emulation คือมันอาจจะ "เพิ่ม" ฟังก์ชั่นและเพียงเกี่ยวข้องกับการประมาณ "เหมาะสม" ของพฤติกรรมของระบบ

ICE: (In Circuit Emulation) ชิ้นส่วนของฮาร์ดแวร์ที่เสียบเข้ากับบอร์ดแทนโปรเซสเซอร์จริง ช่วยให้คุณเรียกใช้ระบบราวกับว่ามีโปรเซสเซอร์จริงอยู่ โดยทั่วไปแล้วสิ่งเหล่านี้มีตัวประมวลผลที่แตกต่างกันเพื่อให้สามารถใช้งานซอฟต์แวร์ได้จริงด้วยกาวลอจิกเพื่อให้ผู้ใช้สามารถหยุดการทำงานและขั้นตอนเดียวภายใต้การควบคุมฮาร์ดแวร์ บางคนก็ให้ความสามารถในการบันทึก ระบบการพัฒนาตัวประมวลผลที่ทันสมัยส่วนใหญ่ได้แทนที่การจำลองประเภท ICE ด้วย JTAG Emulation ซึ่ง JTAG เพิ่งพูดคุยกับตัวประมวลผลผ่านลิงก์อนุกรมวัตถุประสงค์พิเศษและการดำเนินการทั้งหมดจะดำเนินการโดยโปรเซสเซอร์ที่ติดตั้งบนกระดาน

ซอฟต์แวร์อีมูเลเตอร์: อีมูเลเตอร์ 0x86 นั้นเกี่ยวข้องกับความสามารถในการเรียกใช้ภาษาแอสเซมบลี 0x86 เท่านั้นไม่ได้ให้วงจรที่แม่นยำต่อรูปแบบพฤติกรรมของรอบของโปรเซสเซอร์เฉพาะ 0x86 Bochs เป็นตัวอย่างของสิ่งนี้ QEMU ทำสิ่งนี้ แต่ยังอนุญาตให้ "virtualization" โดยใช้โมดูลเคอร์เนลพิเศษ

SIMULATOR: Texas Instruments มอบโมเดลพฤติกรรมที่ถูกต้องของวงจรประมวลผลสำหรับการพัฒนาซอฟต์แวร์ที่มีวัตถุประสงค์เพื่อการจำลองพฤติกรรมของตัวประมวลผลเฉพาะแกนที่ถูกต้องสำหรับนักพัฒนาที่จะใช้งานก่อนที่จะมีฮาร์ดแวร์ที่ใช้งานได้

ซอฟต์แวร์เพิ่มประสิทธิภาพการทำงานของ EMULATOR: BLEEM ไม่เพียง แต่อนุญาตให้คุณเรียกใช้ Playstation Software แต่ยังอนุญาตให้แสดงผลด้วยความละเอียดสูงกว่า Playstation ที่สามารถให้ได้และยังใช้ประโยชน์จากความสามารถขั้นสูงของ GPU ที่ใช้ได้ (เช่นการผสมที่ดีขึ้นและการทำให้พื้นผิวเรียบขึ้น)


3

ทั้งคู่เป็นแบบจำลองของวัตถุที่คุณมีวิธีการควบคุมอินพุตและสังเกตผลจาก

ความแตกต่างที่สำคัญคือ:

  • ด้วยอีมูเลเตอร์คุณต้องการให้ผลลัพธ์ที่ตรงกับสิ่งที่คุณต้องการจำลอง
  • ด้วยตัวจำลองคุณต้องการให้คุณสมบัติบางอย่างของผลลัพธ์ของคุณคล้ายกับวัตถุที่จะสร้าง

ให้ฉันยกตัวอย่าง - สมมติว่าคุณต้องการทำการทดสอบระบบเพื่อดูว่าการเพิ่มเซ็นเซอร์ใหม่ (เช่นเทอร์โมมิเตอร์) ลงในระบบจะส่งผลกระทบต่อระบบอย่างไร คุณรู้ว่าเทอร์โมมิเตอร์ส่งข้อความ 8 ครั้งต่อวินาทีที่มีการวัด

การจำลองสถานการณ์ - หากคุณยังไม่มีเทอร์โมมิเตอร์ แต่คุณต้องการทดสอบว่าอัตราข้อความนี้จะไม่ทำให้ระบบคุณทำงานหนักเกินไปคุณสามารถจำลองเซ็นเซอร์โดยติดหน่วยที่ส่งหมายเลขสุ่ม 8 ครั้งต่อวินาที คุณสามารถเรียกใช้การทดสอบใด ๆ ที่ไม่ขึ้นอยู่กับค่าจริงที่เซ็นเซอร์ส่ง

การจำลอง - สมมติว่าคุณมีเทอร์โมมิเตอร์ราคาแพงมาก ๆ ที่วัดได้ถึง 0.001 C และคุณต้องการดูว่าคุณสามารถใช้เทอร์โมมิเตอร์ราคาถูกกว่าซึ่งวัดได้เพียง 0.5 ซีที่ใกล้ที่สุดคุณสามารถเลียนแบบเทอร์โมมิเตอร์ราคาถูกกว่าโดยใช้เทอร์โมมิเตอร์ราคาแพงและ จากนั้นปัดเศษการอ่านไปที่ 0.5 C ที่ใกล้ที่สุดและการทดสอบการทำงานที่ต้องอาศัยค่าอุณหภูมิ

โปรดทราบว่าการจำลองสามารถใช้ในการพยากรณ์หรือทำนายพฤติกรรมได้ การจำลองการวิเคราะห์องค์ประกอบไฟไนต์ถูกนำมาใช้ในหลาย ๆ แอพพลิเคชั่นรวมถึงการพยากรณ์อากาศและอุโมงค์ลมเสมือน

คำจำกัดความของคำศัพท์:

  • การจำลอง - เกินหรือตรงทั้งหมด
  • จำลอง - เลียนแบบในลักษณะหรือตัวละคร

หมายเหตุ - คล้ายกับคำตอบของคำถามที่ถูกทำเครื่องหมายว่าเป็นคำถามซ้ำของคำถามนี้ ( stackoverflow.com/questions/2174638/… ) ฉันเพิ่มข้อกำหนดของคำศัพท์ (ถามในคำถาม แต่ยังไม่ได้ตอบ) และยังเพิ่มข้อมูลบางอย่างเกี่ยวกับการใช้สำหรับการจำลอง (การวิเคราะห์องค์ประกอบ จำกัด ) สำหรับสิ่งที่มากกว่าการเลียนแบบอุปกรณ์
Jay Elston

2

คำถามนี้อาจตอบได้ดีที่สุดโดยดูที่การปฏิบัติทางประวัติศาสตร์

ในอดีตฉันเคยเห็นเครื่องเล่นเกมคอนโซลจำลองบนพีซีสำหรับ PlayStation & SEGA

เครื่องจำลองเป็นเรื่องธรรมดาเมื่อกล่าวถึงซอฟต์แวร์ที่พยายามเลียนแบบการกระทำในชีวิตจริงเช่นการขับรถหรือการบิน Gran Turismo และ Microsoft Flight Simulator เป็นตัวอย่างที่ดีของเครื่องจำลอง

สำหรับความแตกต่างทางด้านภาษาการลอกเลียนแบบมักจะหมายถึงการกระทำของการคัดลอกลักษณะหรือพฤติกรรมที่น่าสรรเสริญของใครบางคน (หรือบางอย่าง) การเลียนแบบแตกต่างจากการเลียนแบบซึ่งบุคคลถูกคัดลอกเพื่อวัตถุประสงค์ในการเยาะเย้ย

ความหมายทางภาษาของคำกริยา 'การจำลอง' นั้นใช้เพื่อแกล้งหรือเลียนแบบใครบางคนหรือบางอย่าง


2

ในวิทยาการคอมพิวเตอร์ทั้งการจำลองและการจำลองสร้างผลลัพธ์เดียวกันจากอินพุตเดียวกันที่ระบบดั้งเดิมทำ อย่างไรก็ตามการแข่งขันยังใช้กระบวนการเดียวกันเพื่อให้บรรลุมันและทำออกมาจากวัสดุเดียวกัน การจำลองใช้กระบวนการที่แตกต่างจากระบบดั้งเดิม ที่น่าสังเกตก็คือคำศัพท์การจำลองแบบซึ่งเป็นสื่อกลางของทั้งสอง - ใช้กระบวนการเดียวกัน แต่ทำจากวัสดุที่แตกต่างกัน

ดังนั้นถ้าฉันต้องการรันเกม Super Mario Bros เก่าของฉันบนพีซีของฉันฉันใช้ตัวจำลอง SNES เพราะมันใช้รหัสคอมพิวเตอร์ (กระบวนการ) ที่เหมือนกันหรือคล้ายกันเพื่อเรียกใช้เกมและใช้วัสดุเดียวกันหรือคล้ายกัน (ชิปซิลิคอน) . อย่างไรก็ตามหากฉันต้องการบินเครื่องบินโบอิ้ง 747 บนพีซีของฉันฉันใช้โปรแกรมจำลองการบินเพราะมันใช้กระบวนการที่แตกต่างไปจากเดิมอย่างสิ้นเชิง (ไม่มีปีกจริงยกหรือเคลื่อนไหวเกี่ยวกับอากาศพลศาสตร์เลย!)

นี่คือคำจำกัดความที่แน่นอนที่นำมาจากอภิธานศัพท์วิทยาศาสตร์คอมพิวเตอร์:

การจำลองเป็นแบบจำลองของระบบที่รวบรวมการเชื่อมต่อการทำงานระหว่างอินพุตและเอาต์พุตของระบบ แต่ไม่จำเป็นต้องขึ้นอยู่กับกระบวนการที่เหมือนกับหรือคล้ายกับของระบบเอง

การจำลองแบบเป็นแบบจำลองของระบบที่จับการเชื่อมต่อการทำงานระหว่างอินพุตและเอาต์พุตของระบบและขึ้นอยู่กับกระบวนการที่เหมือนกับหรือคล้ายกับของระบบเอง

การจำลองเป็นแบบจำลองของระบบบางอย่างที่จับการเชื่อมต่อการทำงานระหว่างอินพุตและเอาต์พุตของระบบโดยยึดตามกระบวนการที่เหมือนกับหรือคล้ายกับของระบบนั้นและสร้างจากวัสดุเดียวกันกับระบบนั้น .

การอ้างอิง: Open University, M366 อภิธานศัพท์ 1.1, 2007


2

การจำลองเป็นระบบที่ทำงานคล้ายกับอย่างอื่น แต่ถูกนำไปใช้ในวิธีที่ต่างออกไปโดยสิ้นเชิง มันแสดงพฤติกรรมพื้นฐานของระบบ แต่อาจไม่จำเป็นต้องปฏิบัติตามกฎทั้งหมดของระบบที่กำลังจำลอง มันอยู่ที่นั่นเพื่อให้คุณมีความคิดเกี่ยวกับสิ่งที่ทำงาน

จำลองเป็นระบบที่ทำงานว่าเหมือนสิ่งอื่นและปฏิบัติตามกฎทั้งหมดของระบบที่ได้รับการเทิดทูน เป็นการจำลองแบบสมบูรณ์ของระบบอื่นได้อย่างมีประสิทธิภาพลงไปสู่ระบบฐานสองที่เข้ากันได้กับอินพุตและเอาต์พุตของระบบที่จำลองไว้ กฎได้รับการแก้ไขแล้วและไม่สามารถเปลี่ยนแปลงได้หรือระบบล้มเหลว


2

คำจำกัดความของคำอธิบายความแตกต่างที่ดีที่สุด การค้นหา google ให้คำจำกัดความของการจำลองและการจำลองดังต่อไปนี้:

จำลอง เลียนแบบลักษณะหรือลักษณะของ

เลียนแบบการ แข่งขันหรือเกิน (บุคคลหรือความสำเร็จ) โดยทั่วไปโดยการเลียนแบบ

การจำลองเลียนแบบระบบ อีมูเลชันจำลองระบบเพื่อให้สามารถแทนที่ได้หรืออาจเหนือกว่าระบบ

ในการคำนวณการจำลองจะเป็นการแทนที่สำหรับระบบที่กำลังเลียนแบบ บ่อยครั้งที่มันจะมีประสิทธิภาพสูงกว่าระบบที่เลียนแบบ ตัวอย่างเช่นตัวเลียนแบบคอนโซลเกมมักจะทำการปรับปรุงเช่นความเข้ากันได้ของฮาร์ดแวร์ที่มากขึ้นประสิทธิภาพที่ดีขึ้นและคุณภาพเสียง / วิดีโอที่ได้รับการปรับปรุง

ในทางกลับกันการจำลองสถานการณ์ถูก จำกัด โดยพวกเขาเป็นแบบจำลอง พวกเขาเป็นความพยายามที่ดีที่สุดในการเลียนแบบระบบ แต่ไม่ใช่การแทนที่มัน มีตัวจำลองฮาร์ดแวร์เนื่องจากฮาร์ดแวร์สามารถเลียนแบบได้และมันก็ยากที่จะบอกความแตกต่าง ไม่มีการจำลองการทำฟาร์มเพราะไม่มีการจำลองที่สามารถแทนที่การทำฟาร์มจริงได้ เราสามารถจำลองรูปแบบการทำฟาร์มเพื่อให้ได้ข้อมูลเชิงลึกเกี่ยวกับวิธีการทำฟาร์มให้ดีขึ้น


1

เครื่องคอมพิวเตอร์เสมือนพยายามที่จะเลียนแบบคอมพิวเตอร์, จากมุมมองของโปรแกรมเมอร์แต่ในขณะเดียวกันก็มีการเลียนแบบคอมพิวเตอร์จากมุมมองของวิศวกรไฟฟ้า


0

Emulator:

พิจารณาสถานการณ์ที่คุณรู้เพียงภาษาอังกฤษและคุณอยู่ในประเทศจีน ในการโต้ตอบกับคนจีนคุณต้องมีนักแปล ตอนนี้บทบาทของนักแปลคือมันจะค้นหาข้อมูลจากคุณเป็นภาษาอังกฤษและแปลงเป็นภาษาจีนและให้ข้อมูลนั้นกับคนจีนและได้รับการตอบสนองจากคนจีนและเปลี่ยนเป็นภาษาอังกฤษและให้ผลลัพธ์เป็นภาษาอังกฤษ ตอนนี้นักแปลและคนจีนเป็นผู้เลียนแบบ ทั้งสองอย่างรวมกันจะให้ฟังก์ชั่นที่คล้ายกันราวกับว่าคุณกำลังสื่อสารกับคนอังกฤษ ดังนั้นฮาร์ดแวร์อาจแตกต่างกัน แต่ฟังก์ชั่นจะเหมือนกัน

Simulator:

ฉันไม่สามารถยกตัวอย่างที่ดีกว่า SPICE หรือโปรแกรมจำลองการบินได้ ทั้งสองจะแทนที่พฤติกรรมส่วนประกอบฮาร์ดแวร์ด้วยซอฟต์แวร์หรือแบบจำลองทางคณิตศาสตร์ซึ่งจะทำงานคล้ายกับฮาร์ดแวร์

ในท้ายที่สุดมันก็ขึ้นอยู่กับบริบทที่โซลูชันเหมาะสมกับความต้องการของโครงการมากขึ้น


0

Simulatorเป็นบางสิ่งที่กว้างกว่าEmulatorและดูเหมือนว่าความเป็นคู่ของเงื่อนไขนี้มีความสำคัญมากกว่าในบทความด้านบน

ผู้เอาอย่าง

ผู้คนตัดสินใจที่จะใช้การจำลองคำใหม่ใน "โลกคอมพิวเตอร์" เมื่อพวกเขาเริ่มแทนที่ส่วนฮาร์ดแวร์บางส่วนของระบบที่มีอยู่ในลักษณะที่ตรงไปตรงมา - เลียนแบบพฤติกรรมของพวกเขาและพึ่งพาธรรมชาติของการคำนวณเพื่อให้แน่ใจว่าจะไม่ทำลายบางอย่าง สถานะเทียบเท่า ดังนั้นเราจึงจำลองชิ้นส่วนนี้! (และทั้งหมดยังคงทำงานเหมือนเดิม)

ตัวเลียนแบบมักจะใช้ในความหมายแคบ ๆ ในพื้นที่ดิจิตอลเพื่อทดแทนและการจำลองเสมือน - นำเสนอในรูปแบบดิจิตอลเป็นชิ้นส่วนของซอฟต์แวร์ - ของสิ่งที่รู้จักและมีอยู่ก่อน (ชิปเสมือน, แผงวงจร, อุปกรณ์อิเล็กทรอนิกส์) ดังนั้นเมื่อโลกกลายเป็นดิจิตอลมากขึ้นและนำคำว่าอีมูเลเตอร์มาสู่มวลชนมวลชนจึงเพิ่มความไม่แน่นอน (หรือเหตุผลเพิ่มเติม)

จำลอง

ก่อนอื่นฉันเห็นความคิดเห็นมากมายเกี่ยวกับอีมูเลเตอร์ทำหรือแทนที่ของจริง

แต่เครื่องจำลองการบินใช้สำหรับของจริง - ฝึกนักบินให้ทักษะและความรู้และแทนที่เครื่องบินจริงที่มีราคาแพงและประหยัดเงินได้มาก และเราไม่สามารถพูดได้เพียงเครื่องจำลองเครื่องบินเพราะเรามีความรู้สึกภายในว่านี่เป็นอะไรที่มากกว่านั้นดังนั้นเราจึงเรียกมันว่าจำลอง :) เครื่องจำลองเครื่องบินอาจมีเรดาร์เรดาร์หรือทรานสปอนเดอร์ที่เป็นจริง

คำแถลงการณ์ที่เครื่องจำลองใช้สำหรับการวิเคราะห์และการศึกษา (และเครื่องเลียนแบบสำหรับของจริง) แต่การวิเคราะห์และการศึกษานั้นไม่ได้เป็นเรื่องจริงมากกว่าบอร์ด GSM ที่จำลอง (มากขึ้นในยุคข้อมูลที่เราอาศัยอยู่) การวิเคราะห์เพิ่มมูลค่าให้กับธุรกิจลดต้นทุนหรือชี้ให้เห็นถึงผลกำไรไม่น้อยกว่าฮาร์ดแวร์ที่ถูกแทนที่ (จำลอง)

เครื่องมือจำลองนั้นคล้ายคลึงกับแบบจำลองของสิ่งที่เราไม่สามารถหาได้ด้วยเหตุผลบางอย่าง (ราคาเทคโนโลยีความเป็นไปไม่ได้ทางกายภาพ) มันมักจะจำลองสิ่งใหม่หรือไม่มีตัวตนหรือซับซ้อนหรือไม่รู้จักเราอย่างเช่นตลาดสภาพอากาศการเผาไหม้ผู้ใช้ ดังนั้นนี่คือเที่ยวบินหลุมดำตลาดหลักทรัพย์การจำลอง

ดังนั้นในที่สุด:

  1. จำลองกว้างกว่า Emulator
  2. เครื่องจำลองมีแนวโน้มที่จะเลียนแบบ / จำลองกระบวนการ / สิ่งต่าง ๆ ทั่วโลกโดยทั่วไปด้วยความสามารถในการ จำกัด การเลียนแบบ (เช่นตัวจำลองของตัวเก็บประจุที่มีสถานีที่ตั้งไว้ล่วงหน้าซึ่งเป็นตัวแทนของรุ่นที่รู้จักกัน)
  3. Emulator มีแนวโน้มที่จะเลียนแบบอุปกรณ์ฮาร์ดแวร์บางอย่างที่มีคุณสมบัติเฉพาะคุณสมบัติและคุณสมบัติที่รู้จัก (เช่น SNES emulator, Intel 8087 หรือ Roland TB-303)

สำหรับคำกำเนิด

ทั้งหมดมาจากภาษาละตินและหมายถึง:

  • เลียนแบบคือ "จะเท่ากัน" (ดูเหมือนก้าวร้าวและตรงไปตรงมา - การแข่งขัน)
  • จำลองคือ "ให้เหมือน" (ดูเหมือนเจ้าเล่ห์และเล่ห์เหลี่ยม - เลียนแบบ)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.