| ถาม | การจัดการหน่วยความจำหลักแบบ Single-user contiguous memory allocation มีลักษณะอย่างไร | 
| ตอบ | ไม่แบ่งพื้นที่ในหน่วยความจำหลัก สามารถใช้งานได้เต็มที่คนเดียว | 
| ถาม | การจัดการหน่วยความจำหลักแบบ Fixed Partitions มีลักษณะอย่างไร | 
| ตอบ | แบ่งพื้นที่ออกเป็นส่วน และถูกกำหนดขนาดไว้ตายตัว | 
| ถาม | การจัดการหน่วยความจำหลักแบบ Dynamic Partitions มีลักษณะอย่างไร | 
| ตอบ | จองพื้นที่ในหน่วยความจำหลักที่ติดกัน และโหลดเข้าไปในขนาดที่ต้องใช้งาน | 
| ถาม | การจัดการหน่วยความจำหลักแบบ Relocationable Dynamic Partitons  มีลักษณะอย่างไร | 
| ตอบ | มี memory manager ทำให้มีการจัดการหน่วยความจำหลักตลอดเวลา และมีพื้นที่ว่างเพียงพื้นที่เดียว | 
| ถาม | หลักการของ Overlay จะใช้กับการจองพื้นที่หน่วยความจำหลักแบบใด | 
| ตอบ | แบบ Single-user contiguous memory allocation ซึ่งกำหนดว่าพื้นที่ใดเป็นพื้นที่เริ่มต้นทำงาน และโหลดมาเขียนทับ เมื่อเริ่มงานใหม่ | 
| ถาม | First-Fit มีการทำงานแบบใด | 
| ตอบ | เลือกพื้นที่แรกที่ว่าง และพื้นที่กว้างมากพอ | 
| ถาม | Best-Fit มีการทำงานแบบใด | 
| ตอบ | เลือกพื้นที่ที่เล็กที่สุด และพื้นที่กว้างมากพอ | 
| ถาม | Worst-Fit มีการทำงานแบบใด | 
| ตอบ | เลือกพื้นที่ที่ขนาดใหญ่ที่สุด และพื้นที่กว้างมากพอ | 
| ถาม | Bound register คืออะไร | 
| ตอบ | การเก็บตำแหน่งหน่วยความจำที่เก็บตำแหน่งสูงสุด หรือต่ำสุดที่มีการใช้งานหน่วยความจำหลัก | 
| ถาม | Relocation register คืออะไร | 
| ตอบ | การเก็บตำแหน่งงานว่างานถูกเปลี่ยนไปจากตำแหน่งเดิมเท่าใด | 
| ถาม | Internal Fragmentation คืออะไร | 
| ตอบ | พื้นที่ที่เหลือว่าง หลังงานใหญ่ลดขนาดการใช้พื้นที่หน่วยความจำลง จึงเกิดพื้นที่ว่าง | 
| ถาม | External Fragmentation คืออะไร | 
| ตอบ | พื้นที่ที่เหลือว่าง หลังงานนั้นสิ้นสุดลง จึงเกิดพื้นที่ว่าง | 
| ถาม | หน่วยความจำเสมือน คืออะไร | 
| ตอบ | Virtual Memory คือหน่วยความจำที่จำลองขึ้นมา เสริมให้ระบบมีหน่วยความจำหลักเพิ่มขึ้น แต่ไม่ใช่หน่วยความจำหลักจริง | 
| ถาม | ประเภทการอ้างอิงหน่วยความจำเสมือนมีกี่แบบ อะไรบ้าง | 
| ตอบ | แบ่งมี 2 แบบ 1. Virtual Address คือ ตำแหน่งให้โปรเซสอ้างอิงนำไปใช้งาน
 2. Real Address หรือ Physical Address คือ ตำแหน่งที่อยู่จริงบนหน่วยความจำหลัก
 | 
| ถาม | การทำ Overlay โดยโปรแกรมเมอร์คืออะไร | 
| ตอบ | โปรแกรมเมอร์ที่ต้องการใช้หน่วยความจำเกินกว่าที่มีอยู่ จะแบ่งงานเป็นส่วน แล้วนำไปแทนที่หน่วยความจำหลักเมื่อต้องการเรียกใช้ | 
| ถาม | ระบบปฏิบัติการจะใช้งานหน่วยความจำหลัก และหน่วยความจำเสมือนอย่างไร | 
| ตอบ | ระบบปฏิบัติการจะมีกลไกควบคุมการทำงานร่วมกัน เรียกว่า Dynamic Address Translation (DAT)คือ กลไกการเปลี่ยน Virtual Address เป็น Real Address ซึ่งโปรแกรมเมอร์ไม่จำเป็นต้องรู้ เพราะทั้งหมดบริการโดย DAT | 
| ถาม | การจองพื้นที่หน่วยความจำเสมือนมีกี่แบบ อะไรบ้าง | 
| ตอบ | มี 4 แบบ 1. Paged Memory Allocation แบ่งงานออกเป็นเพจ ๆ ละเท่ากัน และวางเพจสลับกันในหน่วยความจำหลักไม่จำเป็นต้องเรียงต่อกันได้ วิธีนี้ไม่ทำให้เกิดปัญหา External Fragmenttation เพราะขนาดที่ว่างเท่ากัน ทำให้เพจสามารถเข้าใช้พื้นที่ว่างได้ทันที
 2. Demand Paging คล้าย Paged Memory Allocation แต่เพจจะเก็บในหน่วยความจำสำรองก่อน ไม่ถูกโหลดเข้าหน่วยความจำหลัก จนกว่าจะมีการเรียกใช้ หลักการนี้ทำให้มีจำนวนงานในหน่วยความจำหลักได้มากกว่าแบบแรก
 3. Segmented Memory Allocation แบ่งงานออกเป็นเซกเมนต์ แต่ละเซกเมนต์ไม่จำเป็นต้องเท่ากัน เวลาแบ่งอาจแบ่งตามกลุ่มของโค้ดโปรแกรม หรือซับรูทีนได้ วิธีนี้ทำให้เกิดปัญหา External Fragmenttation เพราะขนาดที่ว่างจะไม่เท่ากัน
 4. Segmented/Demand Paged Memory Allocation เป็นการรวมข้อดีของ Paged Memory Allocation และ Segmented Memory Allocation เข้าด้วยกัน โดยเริ่มต้นจากการแบ่งงานเป็น Segment จากนั้นนำ Segment มาแบ่งเป็น Page ที่มีขนาดเท่ากัน
 | 
| ถาม | อัลกอริทึมการแทนที่เพจ มีกี่แบบ อะไรบ้าง | 
| ตอบ | มี 3 อัลกอริทึม 1. Optimal Algorithm (Optimal Algorithm) มองไปในอนาคตว่าเพจไหน เพจไหนจะไม่ถูกใช้นานที่สุด ก็จะออกไป ให้เพจอื่นมาแทนที่
 2. First In First Out (FIFO Algorithm) มองว่าเข้าก่อน ก็ออกก่อน
 3. Least Recently Used (LRU Algorithm) มองว่าเพจใดอยู่ในหน่วยความจำนานที่สุด ให้ออกไป
 | 
| ถาม | Page Fault คืออะไร ในอัลกอริทึมการแทนที่เพจ | 
| ตอบ | ปรากฎการณ์ที่มีการเรียก เพจ แต่ไม่พบเพจในหน่วยความจำ ก็จะต้องย้ายเพจออกจากหน่วยความจำหลัก ไปเข้าคิวใหม่ เกิดปัญหาที่เรียกว่า Thrashing คือ หน่วยความจำหลักถูกจองจนเต็ม แต่มีเพจรอประมวลผลอยู่มาก ทำให้มีการดึงเพจระหว่างหน่วยความจำหลัก และหน่วยความจำสำรองบ่อยเกินไป | 
| ถาม | อัลกอริทึมการสับเปลี่ยนหน้า (Page replacement algorithms) มีกี่แบบ อะไรบ้าง | 
| ตอบ | มี 6 แบบ 1. วิธีสับเปลี่ยนแบบมาก่อน-ออกก่อน (FIFO : First in first out algorithm)
 2. วิธีสับเปลี่ยนแบบให้โอกาสครั้งที่สอง (Second change page replacement algorithm)
 3. วิธีสับเปลี่ยนแบบวงรอบนาฬิกา (Clock page replacement algorithm)
 4. วิธีสับเปลี่ยนแบบที่ดี่สุด (Optimal page replacement algorithm)
 5. การสับเปลี่ยนแบบที่ไม่ได้ใช้งานออกก่อน (NRU : Not recently used)
 6. การสับเปลี่ยนแบบใช้งานน้อยที่สุดออกก่อน (LRU : Least recently used) ใช้ข้อมูลในอดีตประมาณการณ์อนาคต
 |