--- title: ระบบปฏิบัติการและเทคโนโลยีแพลตฟอร์ม (ปี1) subtitle: date: วันอังคารที่ 5 ตุลาคม 2564 เวลา 13.11 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) เรื่องของหน่วยความจำนะครับ (อาจารย์พิเชนทร์) เรื่องของหน้าที่หนึ่ง เรื่องของระบบปฏิบัติการนะครับ ก็คือเรื่องของการจัดการกับหน่วยความจำนะครับ ในทางคอมพิวเตอร์เรานะครับ เราถือว่าหน่วยความจำ ก็มีความสำคัญกับระบบคอมพิวเตอร์เราอย่างมาก ถ้าเราจะดูว่าคอมพิวเตอร์เครื่องไหนมีขีดความสามารถมากกว่ากัน ดูที่หน่วยความจำนะครับ ถ้าเครื่องไหนความจำเยอะ ก็นั่นแสดงว่าเครื่องนั้นมีประสิทธิภาพสูงนะครับ ซึ่งตัวของหน่วยความจำนั้นหรือ OS นะครับ ที่ทำหน้าที่ในการจัดสรรนะครับ จะจัดสรรอย่างไรนะครับ ถ้าเกิดเรามีหน่วยความจำเยอะนะครับ คอมพิวเตอร์ก็ไม่สามารถทำงานได้เต็มขีดความสามารถนะครับ ยกตัวอย่าง เช่น เราซื้อคอมพิวเตอร์มาเครื่องรุ่นเดียวกัน สเปกเดียวกันนะครับ แต่ถ้าเราใช้ตัวของระบบปฏิบัติการที่ไม่เหมือนกัน การทำงานของคอมพิวเตอร์ก็จะมีขีดความสามารถที่แตกต่างกันไปด้วยนะครับ เช่น เครื่องแรก เครื่องที่ 1 ใช้ Windows Windows MeRAM 16 Mb อีกเครื่องหนึ่งสเปกเท่ากัน แต่ใช้ Windows 10 2 เครื่องนี้นะครับ เวลาทำงานจริง จะสู้ Windows 10 ไม่ได้ Windows 10 จะจัดการกับหน่วยความจำที่มีขนาดเยอะกว่าได้นะครับ ดังนั้น เราก็มาดูว่าระบบปฏิบัติการนั้นจะมีวิธีการจัดสรรหน่วยความจำอย่างไรนะครับ ซึ่งการจัดสรรหน่วยความจำนั้นนะครับ จะมีอยู่ 3 อย่าง 3 ประการ ก็มีเฟตซ์, วาง, แทนที่นะครับ คราวนี้เรามาดูว่าทำไมตัวของระบบปฏิบัติการถึงต้องมาจัดสรรหน่วยความจำนะครับ นะครับ จะมากจะน้อยก็ขึ้นอยู่กับว่าโปรแกรมนั้นต้องการมใช้เท่าไร ดังนั้นนะครับ ตัวของ OS จึงต้องมีการจัดสรรหน่วยความจำ เมื่อโปรแกรมจะเข้ามาจัดการกับหน่วยความจำคอมพิวเตอร์ มีหน่วยความจำเพียงพอหรือไม่นะครับ เราเรียกตรงนี้ว่า "การจัดสรรหน่วยความจำ" ซึ่งเป็นหน้าที่หลักของระบบปฏิบัติการ ซึ่งการจัดสรรหน่วยความจำนั้น สามารถแบ่งย่อยออกเป็น 2 ประเภทนะครับ แบบต่อเนื่องและแบบไม่ต่อเนื่องนะครับ มาดูหัวข้อที่ 1 การจัดสรรหน่วยความจำแบบต่อเนื่องนะครับ คำว่า "การจัดสรรหน่วยความจำแบบต่อเนื่องนั้นนะครับ หมายความว่า เมื่อโปรแกรมจะเข้ามาทำงาน ในระบบคอมพิวเตอร์นั้น จะต้องมีพื้นที่หน่วนความจำว่างเพียงพอกับ... และภาพนั้นจะต้องเป็นภาพที่ติดต่อกัน... การแข่งขัด การต่อเนื่อง ส่วนการจัดสรรหน่วยความจำแบบไม่ต่อเนื่องนะครับ ก็คือความจำจะถูกแบ่งย่อยทุกส่วน เป็นหน่วยย่อย ๆ แต่ต้อง... แต่ไม่ต้องต่อเนื่องแบบเมื่อกี้ถ้า... ถ้า...ถ้าก็ถ้ามี... ก็ได้เป็นลักษณะนะครับ ซึ่งในการจัดสรรรูปแบบของโปรแกรมเดี่ยว ก็จะมีลักษณะหน่วยความจำเป็น 2 ส่วน ก็คือ 1. ส่วนของ OS ส่วนของก็คือเปิดเครื่องขึ้นมา ก็จะเห็นว่าส่วนของหน่วยความจำอย่างสุดท้ายเป็นส่วนระบบปฏิบัติการ ส่วนของระบบปฏิบัติการนั้นจะต้องเป็นการจัดสรรแบบต่อเนื่องนะครับ นั่นก็คือหมายความว่า... หรือหน่วยความจำจะต้องต่อเนื่องกันเป็นผืนเดียวกันนะครับ เห็นไหมครับ นี่คือส่วนของหน่วยความจำ ที่เราต้องจากพื้นที่ว่างติดต่อกันนะครับ ส่วนที่เหลือก็จะกลายเป็นส่วนของผู้ใช้ นี่คือในลักษณะของการวิเคราะห์การหน่วยความจำ ส่วนที่เหลือ... ซึ่งเราจะเห็นว่าในส่วนของผู้ใช้ ดูรูปนี้นะครับ ในส่วนของผู้ใช้ OS กั้นไว้นะครับ กั้นให้รู้ว่านี่คือ OS นะ นะครับ นี่คือผู้ใช้ ห้ามมาเกี่ยวกัน ลักษณะการแบ่งเขาจะใช้วิธีการที่เรียกกันว่า Register Com นะครับ ใน CPU เมื่อสร้างเข้ามา พื้นที่ของผู้ใช้กับพื้นที่ของผู้ให้บริการ แยกออกจากกันครับ หลายคนอาจจะสงสัยว่าทำไมต้องแยกออกจากกันนะครับ ดูรูปนี้นะครับนี่คือส่วนของ OS นี่คือส่วนของผู้ใช้ ตรงนี้คือ... นะครับ คอมพิวเตอร์... ตรงนี้นะครับ แบ่งไว้ กั้นไว้ระหว่าง OS กับผู้ใช้ ถ้าเป็นส่วนผู้ใช้ไปวุ่นวายกับ OOS ก็จะทำให้ OS ทำงานไม่ได้ เมื่อ OS ทำงานไม่ได้ ก็ไม่สามารถทำงานได้นะครับ ในสมัยเมื่ออาจารย์พ่อเรียนเมื่อสัก 20 กว่าปีที่แล้ว เวลาที่เราเขียนโปรแกรมคอมพิวเตอร์นั้น เราเขียนโปรแกรมเพื่อทำไมต้อง... OS นะครับ เราเข้าไปวุ่นวายกับ OS ปุ๊บ ไปแก้ไข... ระบบปฏิบัติการแล้วนะครับ มันจะเกี่ยวกับข้อมูลของเรา เรานะครัมันก็จะไม่คืนข้อมูลให้เรา ดังนั้นเวลาเราใช้คอมพิวเตอร์นั้นนะครับ ถ้าเราไปใช้งานคอมพิวเตอร์ในที่สาธารณะ หรือในห้องแล็บ เราจะต้องมีวิธีการป้องกันไวรัสคอมพิวเตอร์ไว้ด้วย คราวนี้มาดูในระบบหลายโปรแกรมนะครับ เมื่อกี้โปรแกรมเดี่ยวนะครับ ในการจัดสรรหน่วยความจำ จะมีขบวนการที่ยุ่งยากและซับซ้อนมากขึ้น ก็คือมันจะทำการแบ่ง Partition นะครับ ซึ่งในระบบหลายโปรแกรมนั้น เรามักจะเรียกว่า Multiprogramming นะครับ เคยได้ยินไหม ระบบหลายโปรแกรมนั่นก็คือหมายความว่าในเวลาเดียวกันนั้น เราสามารถใช้โปรแกรมได้มากกว่า 1 โปรแกรม แต่ปัจจุบันนี้นะครับ เราก็ใช้ระบบ Multiproframming เช่น ในขณะที่อาจารย์พ่อก็ต้องเปิดกล้อง เปิดไมค์ บางคนก็นั่งฟังอาจารย์พ่ออยู่ ก็ดููหนังด้วย ฟังเพลงด้วย เล่น LINE นี่ล่ะครับ คือ ระบบ Multiprogramming หรือระบบหลายโปรแกรม ซึ่งหลักการของระบบหลายโปรแกรมนั้น ก็จะมีการแบ่งการทำงานของหน่วยความจำ เรียกว่า Partition นะครับ ซึ่งเราก็ยังสามารถจัดประเภทออกอีกเป็น 2 ประเภทย่อยดังนี้นะครับ 1. ระบบหลายโปรแกรมแบบแบ่งหน่วยความจำนะครับ ในระบบโปรแกรมหน่วยความจำนั้น ก็ยังแบ่งย่อยออกเป็น 2 ประเภท ก็คือแบ่งหน่วยความจำแบบคงที่ และแบ่งหน่วยความจำแบบไม่คงที่ และระบบหลายโปรแกรมแบบแบ่งหน่วยความจำแบบที่ 2 คือ แบบที่หลายโแบบที่ 2 คือ ระบบแบ่งหน่วยความจำนะครับ นั่นก็คือมีหลายระบบ มีระบบแบบแบ่งแบบสลับหน่อยความจำ แบ่งหน่วยความจำนั้น ก็ยังแบ่งย่อยได้ 2 ประเภท คือ คงที่กับไม่คงที่นะครับ คราวนี้มาดูตัวที่ 1 นะครับ แบบแบางหน่วยความจำขนาดคงที่ เป็นอย่างไรนะครับ มาดูนะครับ วิธีการนี้นะครับ การแบ่งหน่วยความจำขนาดคงที่นั้นนะครับ ก็จะมีการแบ่งขนาดของหน่วยความจำออกเป็นส่วน ๆ เท่า ๆ กันนะครับ ดูรูป เห็นไหมครับ ส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3 นะครับ 3 ส่วนนี้จะถูกแบ่งออกเป็นส่วน ๆ และมีขนาดเท่า ๆ กันนะครับ เราเรียกว่าระบบหลายโปรแกรมแบบแบ่งหน่วยความจำขนาดคงที่นะครับ ซึ่งระบบหลายโปรแกรมแบ่งขนาดคงที่นั้นนะครับ เมื่อเราจะนำโปรแกรมใหม่เข้ามาใช้นะครับ ในยุคแรก ๆ จะมีการแปลงค่าเสียก่อนนะครับ ก่อนที่จะเข้ามาในหน่วยความจำนั้น ซึ่งเราสามารถแบ่งออกเป็น 2 แบบนะครับ ก็คือแบบที่ ๅ การแปลงและโหลดด้วยค่าสัมบูรณ์ แต่การแบ่งและโหลดด้วยค่าสมบูรณ์โปรแกรมหรืองานนั้น ผู้ใช้จะถูกแบ่งเป็นภาษาเครื่องด้วยค่าแอดเดรซสมบูรณ์จำได้ไหมครับ ค่าสมบูรณ์คืออะไรนะครับถามอะไรนะ ดร. วิ นะครับ เราเรียนเทอมนี้ใช่ไหม ลักษณะการแปลงและโหลดด้วยค่าสัมบูรณ์ ดูภาพประกอบนะครับ ก็คือหมายความว่า ก็คือ โปรแกรมที่จะรอเข้าไปใช้งานของ OS นั้นนะครับ จะถูกแบ่งเป็นส่วน ๆ โดยชัดเจน เห็นไหมครับ ส่วนที่ 1, ส่วนที่ 2, ส่วนที่ 3 ยกตัวอย่างเช่นนะครับ โปรแกรมส่วนที่ 1 ก็จะเข้าไปที่ส่วนที่ 1 เท่านั้น ส่วนที่ 2 ก็จะเข้าไปส่วนที่ 2 เท่านั้น ส่วนที่ 3 ก็เข้าไปส่วนที่ 3 ยกตัวอย่างเช่น สมมติว่า โปรแกรม ต้องการเนื้อที่ของหน่วยความจำนะครับ 5K 5 กิโลไบต์นะ ในส่วนที่ 1 ต้องการ 5K ปุ๊บ เข้ามาคิวที่ 1 แล้วก็รอเข้าในส่วนที่ 1 ยกตัวอย่างเช่น โปรแกรมที่ 2 ก็มาอีก ต้องการเนื้อที่หน่วยความคำ 2 K.2K นะไม่เกิน 5K นะครับ พอไม่เกิน 5K ก็อะไรเอ่ย ส่วนที่ 1 เหมือนเดิม ตัวอย่างนะ เช่น 5K อันนี้ 10 อันนี้ 15 พอโปรแกรมที่ 3 มาอีก ต้องการ 1 K ไม่เกิน 5 K เข้าไหน เท่าหนึ่งอีกนะครับ นี่คือลักษณะของ หน่วยความจำคงที่ แปลงและโหลดด้วยค่าสมบูรณ์ ถ้าแปลงเสร็จแล้วมีค่า 6 เท่านี้ครับ 6 7 8 9 10 เข้าที่ 2 พอ 11 เข้านี่นะครับ นี่คือลักษณะของการแบ่งหน่วยความจำขนาดคงที่ และแปลงด้วยค่าสัมบูรณ์ ซึ่งลักษณะการทำงานแบบนี้ จะทำให้การทำงานค่อนข้างช้านะครับ ข้อเสียนะครับ ทำให้หน่วยความจำส่วนอื่น ยกตัวอย่างเช่น เมื่อกี้นะครับ ถ้าโปรแกรมต้องการเข้าไม่เกิน 5K สัก 10 โปรแกรม มันจะไม่เข้าคิวอื่น ทำให้ส่วนที่ 2 ส่วนที่ 3 ไม่ได้ใช้ประโยชน์นะครับ นี่คือข้อเสียของการแปลง และโหลดด้วยค่าสัมบูรณ์ เห็นไหมครับ ตัวอย่างนี้ มันไปเข้าคิวเดียวเลย ถ้าค่าไม่เกิน 5K นะครับ และบรรยายยกตัวอย่างไปเมื่อกี้นะครับ ไอ้นี้ว่างนะครับ ว่าง ของการโหลดและแปลงค่าสมบูรณ์จึงเกิดวิธีการที่ 2 ขึ้น การแปรงแล้วค่าสัมภัทร์นะครับ นะครับ ของการแปลง และโหลดด้วยค่าสัมบูรณ์ ทำอย่างไรครับ วิธีการนี้ ให้ดูรูปง่าย ๆ เลยนะครับ ไม่มีคิวที่เท่าไร มาคิวเดียวนะครับ มาคิวเดียวเลย เช่น คิวที่ 1 บอก บอกฉันต้องการใช้ 1K วิ่งเข้าไปเลยครับ ส่วนที่ 1 อันที่ 2 บอกฉันต้องการใช้ 2 K จากเดิม ถ้า 2 Kb. ต้องเข้าที่ 1 ใช่ไหมครับ แต่การแปลงที่โหลดค่าสัมพันธ์2 ทำอย่างไรถึงจะเข้าส่วนที่ 2 ได้ ไปบวกครับ บวกเท่าไรน่ะ ถ้าบวกเสร็จแล้ว ก็เข้าไปส่วนที่ 2 คิวที่ 3 +8 เข้า 1 ไม่ได้ เข้า 2 ไม่ได้ บวกเข้าไปอีก เพื่อให้เข้า 3 ได้นะครับ นี่คือลักษณะของการแปลงและโหลดด้วยค่าสัมพันธ์ จะมีแค่คิวเดียวเลย ข้อเสียของแบบที่ 1 นะครับ คราวนี้ในการป้องกันนะครับ ระบบปฏิบัติการในระบบหลายโปรแกรม ก็จะมีวิธีการนิยม เพราะจะมีการใช้ Register ขอบเขตหลาย ๆ ตัวแบ่งกันกั้นนะครับ เราเรียก "Register ขอบเขตบนและขอบเขตล่างนะครับ แต่ถ้าเป็นระบบโปรแกรมเดี่ยว ระบบ Register ีรีจิสเตอร์ขอบเขตเฉย ๆ นะครับ หลายโปรแกรมเราเรียกว่า "Register ขอบเขตบนและขอบเขตล่าง เอาไว้ทำอะไร เอาไว้เพื่อไม่ให้ส่วนของโปรแกรมขึ้นไปวุ่ยวายกับ OS นะครับ ดูรูป เห็นไหมครับ นี่คือ Register ขอบเขตล่าง พอมีล่างก็จะมีบน นี่ล่าง นี่บน ถ้ามีส่วนที่ 4 ก็จะมีล่างเป็นบนไปเรื่อย ๆ นะครับ นี่คือลักษณะของการป้องกันระหว่าง OS นะครับ นะครับ เขาบอกว่าในการแบ่งพื้นที่นะครับ ของหน่วยความจำ ไม่ว่าจะเป็นวิธีการใดก็แล้วแต่จะต้องเกิดพื้นที่ที่ไม่ถูกใช้งาน เรียกว่า "เกิดการแตกกระจาย" นะครับ ถ้าเขาถามว่าการแตกกระจายหมายถึง การแบ่งกระจายหมายถึง หมายถึงพื้นที่นะครับ พื้นที่ของหน่วยความจำที่ไม่ถูกใช้งานนะครับ ในระบบหลายโปรแกรมนะครับ ซึ่งการหน่วยความจำขนาดคงที่นั้นนะครับ การแตกกระจายแบ่งออกเป็น 2 ประเภท หรือเกิดขึ้นได้ 2 กรณี คือ กรณที่ 1 การแตกกระจายภายนอก และกรณีที่ 2 คือการแตกกระจายภายใน เป็นอย่างไร ดูรูปประกอบเลยนะครับ เห็นไหมครับ ส่วนที่ 1 ว่าง เขาบอกว่านี่ เกิดแล้วการแตกกระจายภายนอก หมายถึงอะไรครับ การแตกกระจายภายนอกหมายถึงพื้นที่ของหน่วยความจำนะครับ ที่ไม่ถูกใช้งาน ในระบบหลายโปรแกรมแบบแบ่งหน่วยความจำขนาดคงที่ เราเรียกมันว่า "การแตกกระจายภายนอก" ส่วนที่ 2, ส่วนที่ 3 เห็นไหมครับ ถูกใช้งานครับ แต่ยังว่างอยู่ แบบนี้เราถือว่าเป็นการแตกกระจายภายในนะครับ ความหมาย ก็คือหมายถึง การแตกกระจายภายใน หมายถึงส่วนพื้นที่ว่างของหน่วยความจำความจำที่ถูกใช้นะครับ ในระบบหลายโปรแกรมแบบแบ่งหน่วยความจำขนาดคงที่ แต่ใช้ไม่หมด นี่ นะครับ เราเรียกว่าการแตกกระจายภายในนะครับ นะครับ คราวนี้มาดูการแบ่งขนาดไม่คงที่นะครับ เมื่อกี้แบบคงที่นะครับ แบบคงที่ แบบไม่คงที่ก็คือการแบ่งขนาดหน่ยความจำไม่เท่ากันนะครับ ดูรูปตัวอย่างนะครับ เห็นไหมครับ OS นี่ OS เท่ากันหมดนะครับ เขาบอกผู้ใช้ A ต้องการใช้ 10k เข้ามาเลยครับ 10 K สักพักหนึ่ง ผู้ใช้ B บอก ต้องการใช้ 5K ผู้ใช้ B ขนาดมันไม่เท่ากันครับ สักพักหนึ่ง ผู้ใช้ C ต้องการ 15 K มาแล้ว 15 K นะครับ ผู้ใช้ D 30 k นะครับ นี่คือลักษณะของแบ่งหน่วยความจำขนาดไม่คงที่นะครับ เห็นไหมครับ ขนาดไม่เท่ากันเลยครับ 10, 5, 15, 30 แล้วก็ว่างนะครับ ในการแบ่งเนื้อที่หน่วยความจำขนาดไม่คงที่เอง ก็จะเกิดที่ไม่ถูกใช้งานเช่นเดียวกัน ก็คือพื้นที่ว่างนะครับ ถ้าในระบบหลายโปรแกรมขนาดแบ่งหน่วยความจำขนาดไม่คงที่ เราจะเรียกว่า "ช่องโหว่" นะครับ หรือวงนะครับ แต่ถ้าพื้นที่หน่วยความจำที่ไม่ถูกใช้งานในระบบหลายโปรแกรมเราจะเรียกว่าการแตกกระจายนะครับ ต่างกันนะครับ นี่ตัวอย่างนะครับ โปรแกรม A B C D นี่เห็นไหมครับ เกิดช่องโหว่แล้วเกิด Hole แล้ว สักพักหนึ่ง โปรแกรม B ถูกใช้งาน แล้วจบ จบเสร็จปุ๊บ คืนความทรงจำให้ระบบ นี่เกิดอีกแล้ว เกิดช่องโหว่อีกแล้ว นะครับ สักพักหนึ่ง โปรแกรม D จบอีก เกิดโฮลอีกแล้ว เกิดพื้นที่ช่องโหว่อีกแล้ว เกิดพื้นที่ช่องโหว่อีกแล้ว นี่คือพื้นที่ที่ไม่ถูกใช้งานในระบบหลายโปรแกรมที่มีความจำไม่คงที่นะครับ คราวนี้เมื่อมันเกิดช่องโหว่หรือโฮลขึ้น เราจะนำโปรแกรมใหม่มาวางอย่างไร อย่างนี้เกิดช่องโหว่ขึ้นนี่ พอเราจะเอาโปรแกรมใหม่มาวาง เราจะทำอย่างไร มันจะมีอยู่วิธีการหนึ่ง ก็คือยุทธวิธีการวาง ซึ่งมีอยู่ 3 ประเภท 1. เจอก่อนพบก่อนวางเลยนะครับ ก็คือเลือกโฮลที่พบก่อน ซึ่งตัวของ OS ตัวโปรแกรมที่จะเปิดใหม่นั้น หรือโปรแกรมที่จะวางใหม่นั้นนะครับ นี่คือยุทธวิธีการอันที่ 1 นะครับ ยุทธวิธีการวางอันที่ 2 ก็คือเรื่อง Ho ที่เกิดขึ้นหมายความว่าเมื่อ OS ตรวจสอบแล้ว เมื่อมีโฮล4-5 จุด หรือ 10 จุด ก็ต้องดูว่าเมื่อวางโปรแกรมใหม่เข้าไปแล้ว จะเกิดโฮลขนาดเล็กที่สุด เราเรียกวิธีการนี้ว่าเป็นวิธีการที่เหมาะสมที่สุด 3. ยุทธวิธีการที่ใหญ่ที่สุด ตรงข้ามกับแบบที่ 2 เลยครับ ก็คือตรงไหนว่างเยอะที่สุด Ho ตรงไหนว่างที่สุด นะครับ เห็นไหมครับ ถ้าเจอก่อนพบก่อน โปรแกรมใหม่ต้องการ 13K มาดูด้านซ้ายมือ ว่างไหม ว่าง 14 K ว่างไหม ว่าง 5k ว่างไหม ว่าง 30K ว่างไหม เขาบอกว่า อันที่ 1 พบก่อนเจอก่อน แต่ต้องมีเนื้อที่ว่างที่ต้องการเข้าไปคือ 13 K ต้องดูว่าเข้าได้ ก็จะวิ่งเข้าไปที่ 16 kโอเควางเข้าไปใหม่ ยุทธวิธีการที่พบก่อนวางก่อน ข้อแม้ว่าพื้นที่ Hole จะต้องมีพื้นที่ว่างเพียงพอกับโปรแกรมใหม่ต้องการนะครับ ส่วนยุทธวิการวางแบบที่ 2 ก็คือเลือกโฮลที่เหมาะสมที่สุด ก็คือหมายความว่าวางโปรแกรมใหม่เข้าไปแล้ว เหลือโฮลน้อยที่สุด เราก็มาดูครับ ว่าโปรแกรมใหม่ต้องการ 13K ได้ครับ แต่ถ้าวาง 16 แล้วจะเหลือ Hole อยู่ 3 14k วางได้ไหม วางได้ เหลือ Ho 1 5 K ได้ไหม ไม่พอกับ 13 นะครับ ส่วน 30 วางได้ครับ เหลืออยู่ 17 เขาบอกว่า Hole ที่เหมาะสมที่สุด ก็คือหมายความว่าเอา Hole ใหม่ เอา Hole ไปวางแล้ว เกิดโฮลใหม่น้อยที่สุด เข้าที่ 1 เหลือ 3 เข้า 14k เหลือ 1 นั่นแสดงว่าเหมาะสมที่สุด ก็คือ 14k นะครับ นี่คือยุทธวิธีการทำงานแบบที่ 2 อันที่ 2 ตรงข้าม ใหญ่ที่สุด เรามองแล้ว 16 14 5 30 ใหญ่กว่าชาวบ้านจับเข้าไปวางเลยนะครับ นี่คือยุทธวิธีการวางทั้ง 3 แบบนะครับ คราวนี้เมื่อมีช่องโหว่หรือ Hole มากที่สุด 1 Hole นะครับ และอยู่ติดกัน และอยู่ติดกันนะนะครับ ตัวของระบบปฏิบัติการจะต้องมีขีดความสามารถที่จะรวม Hole เข้าไปด้วยกัน เราเรียกว่า "การรวม Hole" นะครับ ดูรูปนี้นะ Ho ต้องว่างติดกันนะครับ เช่น ตัวนี้ต้องติดกัน หรือติดกัน 3 ตัวก็ได้นะครับ มันถึงจะรวมโฮลได้นะครับ วิธีการหนึ่งในการที่จะรวม Hole ในกรณีที่ไม่ว่าง ทำอย่างไรนะครับ เขาจะใช้วิธีการอัดหน่วยความจำนะครับ แต่ถ้าการรวม HO รวมเลยนะครับ ซึ่งต้องเป็นความสามารถของระบบปฏิบัติการนะครับ ส่วนที่ 2 ถ้าไม่ติดกัน เราเรียกว่า "การอัดหน่วยความจำ" หรือบางทีเขาเรียกว่า การรวบรวมขยะ แต่ก็มีข้อเสียนะครับ ข้อเสียคือจะทำให้เกิดการเสียเวลา เพราะเวลามันอัดหน่วยความจำนั้นมันจะต้องหยุดการทำงานอย่างดี ทำให้พื้นที่ว่างของหน่วยความจำมากขึ้นนะครับ ดูรูป เห็นไหมครับ ว่างช่องนี้ ว่างช่องนี้ มันว่างไม่ติดกันนะครับ เราจะทำอย่างไรให้มันมารวมอยู่ตรงนี้ เราใช้วิธีการที่เรียกว่า "การอัดหน่วยความจำ" นะครับ มันก็จะเกิดเนื้อที่ใหญ่ขึ้นนะครับ นี่คือลักษณะของการรวม Ho เข้าด้วยกัน มีการรวม มีการรวมแบบที่ 1 แล้วก็การอัดหน่วยความจำ ถ้าใครนึกภาพไม่ออกก็คือหมายโปรแกรม Defragement นะครับ จัดเรียงข้อมูลใน Windows ของเรา เดี๋ยวเราเข้าห้องแล็บก็จะทำให้ดู แต่บางกลุ่มนะครับ อาทิตย์ก่อนนู้นนะครับ คราวนี้มาดูระบบหลายโปรแกรมแบบสลับหน่วยความจำ เมื่อกี้ที่กล่าวไปเมื่อกี้ ก็คือเป็นระบบแบบแบ่งหน่วยความจำขนาดคงที่และไม่คงที่นะครับ แล้วก็มีโปรแกรมแบบสลับหน่วยความจำ ชื่อก็บอกนะครับ สลับ ก็คือหมายความว่า OS จะนำโปรแกรมจากหน่วยความจำสลับออกแล้ว OS นำโปรแกรมใหม่เข้าไปนะครับ สลับเข้าสลับออกนะครับ เขาบอกว่าในการสลับออกนั้น OS เอาไปเก็บไว่ที่ไหน เอาโปรแกรมไปเก็บไว้ที่ไหนนะครับ เขาบอกเอาไปเก็บไว้ในหน่วยความจำชั่วคราวนะครับ ซึ่งมันจะสลับเข้าสลับออกนั้น เกิดเหตุการณ์ 3 กรณีนี้นะครับ คือ 1. โปรแกรมจบ เช่นโปรแกรมที่ 1 สลับ นะครับ กรณีที่ 1 กรณีที่ 2 โปรแกรมไปใช้งานอินพุตเอาต์พุต เช่น โปรแกรมที่ 1 เข้าไปแล้ว จะต้องไปติดต่อกับเครื่องพิมพ์ โปรแกรมก็จะถสลับออกนะครับ แล้วก็เอาโปรแกรมใหม่เข้าไปแทน เหตุการณ์ที่ 3 คือ หมดเวลา โปรแกรมแต่ละโปรแกรมนั้น เข้าไปทำงานหน่วยความจำได้ไม่เกินกี่นาที นั่นแสดงว่าหน่วนความจำไหนเข้าไป 5 วินาทีแล้ว จะต้องออกมาเพื่อให้โปรแกรมอื่นเข้าไปแทนที่ ก็คือสลับเข้า แล้วก็สลับออกนะครับ คราวนี้มาดูหัวข้อสุดท้าย ก็คือการทำ Overlay นั้นนะครับ เป็นหลักกการที่บอกว่า การทำให้โปรแกรมที่มีขนาดใหญ่กว่าหน่วยความจำ สามารถเข้าไปใช้หน่วยความจำได้นะครับ ซึ่งเราจะแบ่งเป็นลักษณะโปรแกรมย่อย ๆ ดูรูปนะครับ ไม่มีรูปให้ดูด้วย ลักษณะก็คือนะครับ เราจะทำการแบ่งนะครับ แบ่งเนื้อที่หน่วยความจำเป็นส่วนย่อย ๆ นะครับ ไม่มีรูปให้ดูด้วยนะครับ เดี๋ยวแป๊บหนึ่งนะครับ เวลาที่เราเขียนโปรแกรม เดี๋ยวยกตัวอย่างให้ดูแล้วกันนะครับ เวลาที่เราเขียนโปรแกมในลักษณะของโปรแกรม เกี่ยวกับฐานข้อมูลนะ เช่น โปรแกรมฐฐานข้อมูลตัวนี้เรายังไม่ได้เรียนนะ เดี๋ยวเทอมหน้าเราจะได้เรียนนะครับ ก็คือลักษณะของฐานข้อมูล ก็จะมีการเพิ่มข้อมูล, ลบข้อมูล การค้นหาข้อมูล การรายงานข้อมูลประมาณนี้นะครับ พอเราเขียนโปรแกรมปุ๊บ ถ้าเขียนโปรแกรมสมัยก่อน เขียนโปรแกรมทีเดียวเลยนะครับ เพิ่ม ลบ แก้ไข ค้นหาข้อความ 100 บรรทัด เราคีย์โปรแกรม 100 บรรทัด แต่ถ้าลักษณะของการทำ Overlay แบบเมื่อกี้ จะถูกแบ่งย่อยนะครับ จะถูกแบ่งย่อยไป โปรแกรมเพิ่มข้อมูลเป็นอีก 1 โปรแกรม โปรแกรมลบข้อมูลก็เป็นอีก 1 โปรแกรม โปรแกรมค้นหาก็ 1 โปรแกรม โปรแกรมรายงาน ก็คือแบ่งย่อยออกไปนะครับ Flow การทำงานจะเร็วขึ้น ซึ่งลักษณะแบบนี้ พอเราไปเรียนในเทอมต่อ ๆ ไปเราจะเห็นวิธีการทำ Overlay อย่างนี้นี่เองนะครับ ซึ่งจะมีความแตกต่างกันนะครับ ครับ นี่คือการจัดการหน่วยความำก็เป็นหน้าที่ที่สำคัญอีกอันหนึ่งของระบบปฏิบัติการซึ่งเราจะเห็นว่าเวลาที่เราทำงานนั้นนะครับ ในการทำคอมพิวเตอร์เราของหน่วยความจำนั้นนะครับ ที่... ที่ เดี๋ยวให้ดูนะครับ นี่ ในคอมพิวเตอร์เรานะครับ จะเห็นว่า Memory เห็นนะครับ พี่การ์ตูนเห็นอยู่นะหน้าจอ (ล่าม 1) เห็นค่ะ (อาจารย์พิเชนทร์)นี่ โปรแกรมที่เราทำงาน มันมีหน่วยความจำ หน่วยความจำ อันนี้บอก Google Chrom นะครับ เห็นว่าทุกโปรแกรมจะใช้หน่วยความจำตลอดเวลา นั่นแสดงว่าจากหน้าจอนี้ Task Manager คอมพิวเตอร์เครื่องนี้ เครื่องของพ่อนี่ มีการใช้งานหน่วยความจำอยู่ 78 เปอร์เซ็นต์นะครับ มีโปรแกรมอะไรบ้าง เช่น โปรแกรมไมโครซอฟท์ มี LINE อาจารย์พ่อเปิด LINE ด้วยนะครับ Task Manager นะครับ พอเราเปิดโปรแกรมแต่ละโปรแกรมขึ้นมานะครับ นะครับ หน้าจอนี้เพื่อน ๆ ที่เข้ามาห้องแล็บคงคงคุ้นเคยนะ เพราะวันนั้นอาจารย์พ่อพาไปปรับให้เครื่องในห้องแล็บเราทำงานเร็วขึ้น เข้ามาเรียนในห้องแล็บแล้ว อาจารย์พ่อจะสอนครับ ว่าจะปรับ Windows ให้มันเร็วอย่างไร แต่งอย่างไร ลงโปรแกรม Windows ลงอย่างไร ลง 2 Windows 3 Windows ทำอย่างไร เดี๋ยวเราพาลุยปฏิบัติกันนะครับ เพราะว่าพ่อเองก็ขี้เกียจบรรยายนะครับ แต่ชอบปฏิบัติ ปฏิบัติมันสนุกสนานมากกว่านะครับ วิชาเราอย่างที่อาจารย์พ่อบอกว่า นะครับ เหมือนเมื่อเช้า อาจารย์แม่บอกพิมพ์ไวได้เปรียบครับ เวลาที่เราไปเขียนโปรแกรมนี่ เราพิมพ์ไวได้เปรียบ ไปไวนะครับ ถ้าจบไปแล้วหางานทำไม่ได้ รับจ๊อบพิมพ์งานได้ มันง่ายกว่าในเครื่องพิมพ์ดีดเยอะนะครับ ฝากพวกเราไว้ว่าให้พวกเราฝึกนะครับ ก็ขอเน้นย้ำว่า วิชาทางคอมพิวเตอร์นะครับ ต้องฝึกปฏิบัติ เราจะไม่มานั่งมโนเอานะครับ ไม่ได้ คิดเองไม่ได้ และที่สำคัญ อย่าเป็นกองเชียร์นะครับ นะครับ รู้จักกองเชียร์ไหมเอ่ย กองเชียร์ก็คือไม่ทำครับ เพื่อนทำ เป็นกองเชียร์นั่งอยู่ข้าง ๆ นะครับ ไม่ยอมทำ เราต้องทำเอง ปฏิบัติเอง ถ้าใครไม่ลองฝึกพิมพ์ดีดเลย เราก็จะพิมพ์ไม่ได้นะครับ ใครที่ไม่ยอมใช้คอมพิวเตอร์ คุณก็จะใช้ไม่เป็นนะครับ เพราะตอนนี้เราเข้าใจตัวเองนะครับ ว่าตอนนี้เราเป็นนักศึกษาไม่ใช่นักเรียนแล้วนะครับ บังเอิญว่าเรามาเจอสถานการณ์ COVID เข้า ในเทอมที่ 1 เราก็ปรับเปลี่ยนกันไปนะครับ จะเห็นว่าวิชาของอาจารย์พ่อเอง อาจารย์แม่เอง ก็จะยังไม่ใส่เต็ม 100 นะครับ ก็ยังสอนแค่ประมาณสัก 30-40 เปอร์เซ็นต์ เพื่อให้พวกเราได้ปรับตัวในการเรียนในระดับมหาวิทยาลัยนะครับ พอเรามาเจอกันในมหาวิทยาลัยแล้วเราค่อยเรียนกันเป็นสูบเลยนะครับ คราวนี้ ซึ่งเทอมต่อ ๆ ไป และเทอมหน้าเจอกันอีกหลายวิชาครับ เราก็คงใช้บริการพี่ล่ามนะครับ พี่อี๊ดกับพี่การ์ตูนเหมือนเดิม เราคงจะอยู่ด้วยกันจนกว่าเราจะรียนจบ ก็เทอมหน้ามีมีหลายวิชานะครับ หลายวิชา แฝดเปิดกล้อง แฝดมีอะไรจะถามไหมครับ เห็นเปิดกล้องมา เพิ่งเข้า แฝดเพิ่งเข้ามา แฝดเพิ่งเข้ามา ไปไหนมาลูก ค่ะ (ล่าม1) น้องเข้ราเรียนนานไม่ได้ดู อาจารย์พ่อไม่ได้ดู ก็ตั้งใจ ๆ ฝึกนะครับ เดี่ยวเทอมหน้าก็เรียนเพิ่ม เดี๋ยวมีอาจารย์ใหม่ ๆ มาสอนพวกเราเพิ่มเติมนะครับ เดี๋ยวเทอมหน้านะครับ อาจารย์พ่อกับอาจารย์แม่วางแผนไว้แล้วนะครับ วิชาคอมพิวเตอร์พื้นฐาน ได้ใช้งานโปรแกรม Windows ให้ชำนาญนะครับ โปรแกรม Microsoft Office ต้องเป็น ต้องพิมพ์เอกสารเป็น ต้องนำเสนอได้ ต้องคำนวณได้ โดย Excel จะเป็นชื่อใครสอนก็แล้วแต่นะครับ เดี๋ยวอาจารย์พ่สอนเพิมเติมนะครับ เพื่อให้พวกเราได้มีทักษะนะครับ ในการใช้เพิ่มมากขึ้น เดี๋ยวเราจะมีห้องแล็บ ไม่ว่าจะเป็นห้องที่มีเครื่อง PC All in one เครื่อง Macintoch ของเรานะครับ มีใครจะถามอะไรเพิ่มเติมไหมครับ มีไหมเอ่ย เพราะสัปดาห์นี้เป็นสัปดาห์สุดท้ายนะครับ ที่เราจะออนไลน์กัน เดี๋ยวจะติดต่อสื่อสารกับพวกเราในช่องทาง LINE จะให้ทำอะไรนะครับ จะทวงงานใครอย่างนี้ (นักศึกษาชาย) น่าจะไม่มีแล้วครับอาจารย์พ่อ (อาจารย์) ไม่มีแล้วหรือ วันก่อน (นักศึกษาชาย) วันไหนครับ (สันติภาพ) ไปหลายที่ครับ (อาจารย์พิเชนทร์) ไปหลายที่หรือ (สันติภาพ) วันอาทิตย์ก็ไปเล่นที่ตึกตรงข้ามกับตึก 13 ตึกตรงข้ามกับตึก 13 ครับ (อาจารย์) เห็นว่ามาจากไหนนะ เดี๋ยวเทอมหน้านะครับ เดี๋ยวอาจารย์พ่อจะพาออกนอกพื้นที่นะครับ เดี๋ยวพาไปดูมหาวิทยาลัยใกล้เคียงหน่อย เรียนกันอย่างไรนะครับ ม.เกษตร ม. นครพนมนะครับ ว่าเขาเป็นอย่างไร เดี๋ยวเทอมหน้า (ล่าม 1) อาจาย์คะ น่ะค่ะ เดี๋ยวถามก่อน (อาจารย์พิเชนทร์) จะถามอะไรครับ (ล่าม 1) เดี๋ยวนะคะ แป๊บหนึ่งนะคะ (ล่าม 2) สัปดาห์หน้าหรือ (ล่าม 1) อาจารย์ขา คือสัปดาห์หน้า หยุดหรือว่าเรียน แต่อาจารย์บอกเรียนทาง LINE หรือคะ (อาจารย์พิเชนทร์) เดี๋ยวจะนัดหมายทางไลน์นะครับ คือ ไม่ได้เรียนแล้วล่ะนะครับ แต่จะนัดหมาย อาจจะทวงงาน อาจจะมีอะไรให้ทำนะครับ (ล่าม 2) ค่ะ บอกน้องไปแล้ว ว่าใครทำอะไรไม่ส่งตรงไหน แต่ไม่ได้ใช้บริการล่ามทางไกลนะคะ (อาจารย์พิเชนทร์) ครับ ก็คงหมดเทอมแล้วครับ แล้วตามปฏิทิน ตามปฏิทิน อุ้ยก็ได้ ถามอุ้ย ก็ได้ (ล่าม2) ค่ะ เมื่อกี้แจ้งน้องว่าใช้บริการล่ามทางไกลใหม่ค่ะ //บอกน้องด้วยนะครับ ว่าใช้ ต้องใช้นะครับ ส่วนน้อง ๆ จะคุยกับอาจารย์พ่ออาจารย์แม่ ก็ใช้บริการผ่านล่ามทางไกลไก็ไม่ได้ว่า วันนี้แฝดคุยประจำนั่นล่ะ ก็ติดต่อมาได้ ก็ฝากทุกคนด้วย ยอกจากพี่แฝดนะครับ ก็ใช้บริการล่ามออนไลน์ได้นะครับ นอกเวลาเรียนก็ได้นะครับ ใช้แอปพลิเคชันของเราที่มีอยู่นะครับ โอเค คนอื่นมีไหมครับ คนอื่นมีอะไรจะถามไหม (ล่าม 1) แฝดบอกอีกนิดหนึ่งครับ (ล่าม 2) ผมได้ข่าวมาว่าจะเปิดวันที่ 1 พฤศจิกายน ใช่แบบนี้ไหมครับ (อาจารย์พิเชนทร์) ก็ข่าวมาแบบนั้นล่ะลูก แต่เราต้องดูอีกทีหนึ่งว่ามันจะใช่ไหมนะครับ เดี๋ยวอย่างไรก็จะแจ้งให้ทราบทางไลน์นะครับ เราจะต้องรอดูประกาศของมหาวิทยาลัย บางทีก็มีข่าวรือข้าวลวง (ล่าม 2) ค่ะ บอกไปแล้ว บอกว่าอาจารย์จะแจ้งทาง ศค่ะ (อาจารย์พิเชนทร์) โอเค คนอื่นมีไหมครับ (ล่าม 1) แฝดบอกไม่มีแล้วครับ (ล่าม2) แฝดบอกไม่มีแล้วครับ (อาจารย์พิเชนทร์) มุกอยู่ไหมมุก มุกอยู่หรือเปล่า มุก (นักศึกษาหญิง) ใช่ค่ะ ยังอยู่หอค่ะ ก็เดี๋ยวถ้าว่าง ๆ ก็จะนัดสมาชิกของเราเหมือนเดิมนั่นล่ะ มาเข้าห้องแล็บเด้อ มาหัดพิมพ์ดีด หัดดูอะไรให้มันคุ้นเคย เพื่อน ๆ เรา 7-8 คนนี่ล่ะ ครับ ถ้าไม่มีอะไรแล้วก็สัปดาห์นี้ก็พอแค่นี้นะครับ แล้วก็ขอขอบคุณพี่ล่ามด้วย ทีมงาน CG ของเราด้วยนะครับ ก็เจอกันภาคการศึกษาหน้านะครับ ก็ประมาณเดือนหน้านะครับ ก็ผมก็ได้จัดตารางไว้แล้วนะครับ เดี๋ยวจะส่งไปให้อีกทีหนึ่ง คาดว่า เทอมหน้าน่าจะใช้ประมาณนี้นะครับ ประมาณ 3 วันนะครับต่อสัปดาห์ ส่วนอาจารย์ท่านไหน ที่เราเคยให้บริการแล้ว เขาไม่ยอมใช้ ตัวผมเองก็พิจารณาไม่ให้ใช้แล้วนะครับ แล้วก็อาจจะต้องพิจารณาต่อว่าไม่ให้มาสอนด้วย ก็คงต้องว่ากันอีกทีหนึ่ง เพราะว่าเหตุผลที่เราต้องใช้ล่ามทางไกล เนื่องจากว่าน้อง ๆ นะครับ ที่เรียนกับเรานี่ ยังมีพื้นฐานภาษามือที่ค่อนข้างแตกต่างกัน มาจากหลายที่นะครับ สังเกตของผม ไม่ได้เก่งภาษามือ แต่สังเกตเห็นว่าภาษามือแต่ละที่ไม่เหมือนกันนะครับ ดังนั้น เราจึงจำเป็นต้องใช้พี่ล่ามทางไกลนะครับ เพื่อที่จะทำให้เรา เหมือนเราไปเรียนภาษากลาง ตอนนี้แฝดมาจากอุดร หรือกลุ่มที่มาจากมุกดาหารก็จะเป็นภาษามือจากมุกดาหาร อะไรประมาณนี้ พอมาเรียนกับพี่ล่ามแล้ว พี่อีฟ พี่การ์ตูนก็เป็นภาษามือภาคกลางนะครับ ก็จะทำให้เราเรียนรู้ รับโทรศัพท์ให้หน่อย ก็จะได้คุ้นเคยนะครับ จะได้เข้าใจว่า การเรียนมันจะเหมือนกันนะครับ ครับ ถ้าไม่มีอะไรแล้วนะครับ เราก็จะเจอกันในปีการศึกษาหน้าเลยนะครับ พูดเหมือนไกลนะ เดือนหน้าหรือเดือน ส่วนหลังจากสัปดาห์นี้เป็นต้นไปนะครับ ก็ไม่ใช่ว่าเราหายไปนะ อาจารย์พ่อก็จะติดต่อกับพวกเราใน LINE เหมือนเดิม จะแจ้งข่าวพวกเราเป็นระยะ ๆ นะครับ อย่าฟังข่าวลือนะครับ กับมหาวิทยาลัยอาจารย์พ่อจะโพสต์ขึ้นให้ในไลน์กลุ่มนะครับ เอาใน LINE กลุ่มเท่านั้นนะครับ อย่าไปฟังคนอื่น บางทีพวกโกหกก็ฝากพวกเราด้วย ครับผม ก็โอเคครับ สัปดาห์นี้ก็พอเท่านี้นะครับ สวัสดีครับ (ล่าม2) สวัสดีค่ะ ขอบคุณค่ะ (ล่าม 1) สวัสดีค่ะ ขอบคุณค่ะ