ความแตกต่างระหว่างการบัฟเฟอร์และการแคชในระบบปฏิบัติการ

ผู้เขียน: Laura McKinney
วันที่สร้าง: 2 เมษายน 2021
วันที่อัปเดต: 11 พฤษภาคม 2024
Anonim
CppCon 2019: Samy Al Bahra, Paul Khuong “Abusing Your Memory Model for Fun and Profit”
วิดีโอ: CppCon 2019: Samy Al Bahra, Paul Khuong “Abusing Your Memory Model for Fun and Profit”

เนื้อหา


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

เนื้อหา: บัฟเฟอร์การแคช Vs

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

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


ความหมายของการบัฟเฟอร์

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

การบัฟเฟอร์ยังช่วย เมื่อ er และผู้รับมีขนาดการถ่ายโอนข้อมูลที่แตกต่างกันในระบบเครือข่ายคอมพิวเตอร์จะใช้บัฟเฟอร์ การกระจายตัวของ และ reassembly ของข้อมูล ที่ด้านเอ้อข้อมูลขนาดใหญ่จะกระจัดกระจายเป็นแพ็กเก็ตขนาดเล็กและอยู่บนเครือข่าย ที่ด้านผู้รับบัฟเฟอร์จะถูกสร้างขึ้นซึ่งรวบรวมแพ็คเก็ตข้อมูลทั้งหมดและประกอบใหม่เพื่อสร้างข้อมูลขนาดใหญ่อีกครั้ง

บัฟเฟอร์ยังรองรับ คัดลอกซีแมนทิกส์สำหรับแอปพลิเคชัน I / O. ความหมายของการทำสำเนาสามารถอธิบายได้ด้วยตัวอย่างสมมติว่าแอปพลิเคชันมีบัฟเฟอร์ของข้อมูลที่จะเขียนลงในฮาร์ดดิสก์ สำหรับสิ่งนั้นแอ็พพลิเคชันจะเรียกใช้การเรียกของระบบ write () ตอนนี้สมมติว่าแอปพลิเคชันเปลี่ยนข้อมูลบัฟเฟอร์ก่อนที่การเรียกระบบจะกลับมา ในกรณีนี้ความหมายของการคัดลอกจะให้ข้อมูลเป็นเวอร์ชันในเวลาที่ระบบโทร


บัฟเฟอร์ถูกนำมาใช้ในสามขีดความสามารถ

ความจุศูนย์: นี่ขนาดหน่วยความจำบัฟเฟอร์สูงสุดคือศูนย์ มันไม่สามารถมีข้อมูลใด ๆ ดังนั้นจะต้องถูกปิดกั้นเอ้อจนกว่าผู้รับจะได้รับข้อมูล

ขีด จำกัด ของความจุ: ที่นี่ขนาดหน่วยความจำบัฟเฟอร์ จำกัด ที่สูงสุดเอ้อสามารถ n บล็อกของข้อมูล หากหน่วยความจำบัฟเฟอร์เต็ม er จะถูกบล็อกจนกว่าจะมีพื้นที่ว่างในหน่วยความจำ

ความจุไม่ จำกัด : ที่นี่หน่วยความจำบัฟเฟอร์อาจไม่มีที่สิ้นสุด สามารถส่งบล็อคข้อมูลจำนวนเท่าใดก็ได้ เอ้อไม่เคยถูกบล็อก

คำจำกัดความของการแคช

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

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

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

  1. ความแตกต่างที่สำคัญระหว่างบัฟเฟอร์และแคชคือหน่วยความจำบัฟเฟอร์ใช้เพื่อรับมือกับความเร็วที่แตกต่างกันระหว่าง er และตัวรับสัญญาณของกระแสข้อมูลในขณะที่แคชเป็นหน่วยความจำที่เก็บข้อมูลเพื่อให้ความเร็วในการเข้าถึงข้อมูลที่ใช้ซ้ำ ๆ .
  2. บัฟเฟอร์มักจะพกพา ข้อมูลต้นฉบับ ที่จะส่งไปยังผู้รับ อย่างไรก็ตามแคชดำเนินการ สำเนาของข้อมูลต้นฉบับ.
  3. มีการนำบัฟเฟอร์ไปใช้ใน หน่วยความจำหลัก (RAM) แต่สามารถใช้งานแคชได้ แกะ เช่นเดียวกับใน ดิสก์.

สรุป:

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