เราพูดถึง GPS บทนี้เราก็จะพูดถึงการจัดการหน่วยความจำ เตือนความจำก็เป็น อุปกรณ์ตัวหนึ่ง ที่มีส่วนสำคัญในคอมพิวเตอร์ของเรานะคะ เราจะรู้ว่าเครื่องคอมพิวเตอร์เครื่องไหน มีกี่ความสามารถมากกว่ากัน เราก็อาจจะดูได้จากหน่วยความจำนะครับ แต่ทั้งนี้ทั้งนั้นนะครับ ไม่ได้ให้เสมอว่าหน่วยที่ เสื้อที่มีหน่วยความจำมาก ทำงานได้ดีกว่านะครับ ในการจัดการหน่วยความจำนั้นก็เป็นขีดความสามารถอันหนึ่งของระบบปฏิบัติการของเราด้วยนะครับ ระบบปฏิบัติการของเรา จัดการหน่วยความจำไม่ดีนะครับ สิทธิภาพในการใช้งานก็จะน้อยลงนะคะ ที่นี้เรามาดูว่า มาจากการอย่างไรนะครับ ราชการหน่วยความจำมีอยู่ 3 แบบ มีอยู่ 3 เฟซวางแผนที่นะครับหรือ 3 ลักษณะ เรามาดูว่าทำอย่างไรนะครับ วันนี้มาดูการจัดสรรหน่วยความจำนะครับโปรแกรมทุกโปรแกรมที่เราใช้งานในคอมพิวเตอร์ของเรานั้น จำเป็นต้องใช้หน่วยความจำนะครับ จะมากจะน้อยก็แล้วแต่โปรแกรมนะครับ โปรแกรม เกม อาจจะใช้เยอะ โปรแกรมพิมพ์งานอาจจะใช้น้อยอะไรประมาณนี้นะครับ ที่นี้เรามาดูว่าถ้าเกิด ในการจัดสรรหน่วยความจำนะครับจะมีสามารถแบ่งออกเป็น 2 ประเภท ก็คือ บ้านจัดสรรแบบ ต่อเนื่อง แล้วก็แบบไม่ต่อเนื่องนะครับ การจัดสรรหน่วยความจำแบบ ต่อเนื่องก็คือหมายความว่า หน่วยความจำจะต้องว่างต่อกัน นะครับพื้นที่ว่าง ต่อเนื่องกัน ค่ะช่วงอะไรไม่ได้นะครับ แล้วก็ต้องมีขนาดใหญ่พอนะครับ ถึงจะ สามารถ เข้าไปทำงานได้นะครับ ส่วนไม่ต่อเนื่องนะครับ ก็คือ เข้าไปครอบครองหรือความจำแล้วเดี๋ยวคนจะมาจะอยู่คนละที่ อยู่คนละแบบ อยู่คนละที่นะครับ แต่ก็ต้องมีเนื้อที่ เพียงพอนะครับ ที่โปรแกรมจะใช้งานนะครับ คราวนี้มาดูในระบบ โปรแกรมเดียวโปรแกรมเดี่ยว Single Program ก็คือ คอมพิวเตอร์ มีผู้ใช้งานแค่โปรแกรมเดียว การจัดสรรหน่วยความจำจะไม่ยุ่งยาก ครับ ซึ่งเราสามารถแบ่งพื้นที่ ของหน่วยความจำออกเป็น 2 ส่วนนะครับ ก็คือส่วนแรก ในส่วนของระบบปฏิบัติการนะครับ และ ส่วนที่จำเป็นจะต้อง มีพื้นที่ว่าง ยาวติดต่อกัน ผืนใหญ่ผืนเดียวเลย ครับ นี่ OS นะครับ ก็มีพื้นที่หน่วยความจำของมันด้วย แล้วต้องเป็นพื้นที่ยาวต่อเนื่องกันนะครับ 2 ส่วนของผู้ใช้ นะครับ ก็คือเหลือจาก OS กลายเป็นส่วนของผู้ใช้นะครับ ในระบบโปรแกรมเดียว เมื่อหน่วยความจำถูกแบ่งเป็น 2 ส่วน 2 ส่วน ตัวของระบบปฏิบัติการ Android จะต้องป้องกัน ให้ตัวมันเองโดนรุกล้ำเข้ามา วิธีการป้องกันก็คือ การใช้ register ขอบเขต นะครับ ขอบเขตคืออะไรก็คือส่วนที่ป้องกัน ระหว่าง ระหว่างอะไรครับ OS นะครับ เสื้อของผู้ใช้ ไม่ให้เข้ามา ยุ่งเกี่ยวกันนะครับ ดังนั้น การเขียนโปรแกรม ไวรัสคอมพิวเตอร์ วันหนึ่งก็คือเจาะ register ขอบเขตจะเข้าไป นี่นะครับ ถ้ามีการรุกล้ำ register ขอบเขต ว่าจะแจ้งเตือนนะครับ คราวนี้มาดูระบบหลายโปรแกรม การทำงานของระบบหลายโปรแกรมนั้นส่วนมาก ส่วนมากจะเกิดขึ้นก็คือ การไปทำงาน input output คือการไป อธิบายไม่ได้เข้าไปครอบครอง CPU ไม่ได้เข้าไปครอบครองหน่วยความจำ แล้วเรียกระบบนี้ว่าระบบ Multi programming ระบบ programming นี้นะครับก็คือการทำงานที่ มีโปรแกรมมากกว่าหนึ่งโปรแกรม ทำงานในเวลาเดียวกัน 2 3 4 5 การทำงานของระบบไหลโปรแกรมนั้นก็จะแบ่ง partition ของ หน่วยความจำ Vision ของหน่วยความจำ ไปสวน เป็นส่วนส่วน ซึ่งการแบ่งหน่วยความจำระบบ Line Program แบ่งหน่วยความจำ ก็ยังสามารถ แบ่งได้เป็น 2 ประเภทนะครับ ก็คือระบบ Line โปรแกรมแบบ แบ่งหน่วยความจำ แบบคงที่ แล้วก็ไม่คงที่ ในระบบหลายโปรแกรมแบบ สลับหน่วยความจำ นะครับ แบนเนอร์ความจำนะครับแล้วก็สลับหน่วยความจำ คราวนี้เรามาดูประเภทที่ 1 นะครับ การแบ่งหน่วยความจำ ขนาดคงที่นะครับ เห็นไหมครับ โปรแกรมส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3 ขนาดที่เท่ากัน ที่เท่ากัน และการแบ่งหน่วยความจำแบบคงที่ก็ยังสามารถแบ่งได้ 2 ประเภท คือ 2 แบบ ได้แก่ การแปลงและโหลดด้วยค่าสมบูรณ์ ดูรูปนี้ประกอบนะครับ โปรแกรมส่วนที่ 1 เห็นไหมครับส่วนที่ 1 ส่วนที่ 1 ชุดที่ 2 เข้าส่วนที่ 3 ส่วนที่ 1 ที่ 2 ที่ 3 จะเห็นว่ามีขนาดที่เท่ากันนะครับ ที่เท่ากัน พอมันเท่ากันเป๊ะ โปรแกรมส่วนที่ 1 เช่นเรากำหนดว่าส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3 = 4 โปรแกรมตรวจที่ 1 ถ้าแบตเสื่อมแล้วโหลดเข้าไป มีค่าไม่เกิน 10 เข้าไปในส่วนที่ 1 นะครับ แต่ถ้าโปรแกรมส่วนที่ 2 ต้องมีค่าตั้งแต่ 11 จนถึง 20 รถที่จะเข้าจุดที่ 2 แต่ถ้าบังเอิญว่าโปรแกรมส่วนที่ 1 โปรแกรม a Group B โปรแกรม C เมื่อแปลงแล้วโหลดด้วยค่าสัมบูรณ์เสร็จแล้วมีค่าไม่เกิน 10 มันจะเข้าคิวที่ 1 อย่างเดียว นี่คือข้อเสียของมัน เห็นไหมครับมันจะว่างเลยส่วนที่ 2 ที่ 3 ที่ 4 ที่ 5 นะครับ ดังนั้นก็เลยมีการ แก้ปัญหานะครับ การแปลงและโหลดด้วยค่าสัมพัทธ์ เพิ่งแก้ปัญหาเมื่อกี้นะครับก็คือ มีคิวเดียวเลย มีคิวเดียว เสร็จแล้ว 1 2 3 4 หมายความว่า เตรียมจะโดน โหลดมาตรงนี้ ที่คิวโดยมีคิว แค่คิ้วเดียวนะครับ แปลง 7 Movie ได้ค่าเท่ากับ 10 brazzers มีค่าเท่ากับ เอาบวกเข้าไปอีก 72 เข้าซอยที่ 2 และลูกศิษย์ได้ 15 เข้าไม่ได้ข้อ 2 ไม่ได้ 7 + 10 เข้าไปนะครับ เพื่อให้เข้าในส่วนที่ 2 ที่ 3 ที่ 4 ที่ 5 ไปเรื่อยๆ นะครับ ดังนั้นการป้องกัน ถ้าเป็นในระบบ โปรแกรมเดียว ใช้เลเซอร์ขอบเขตในการป้องกัน ถ้าในระบบหลายโปรแกรมประเภทหน่วยความจำนะครับ วิธีที่นิยมใช้ก็คือใช้ register ขอบเขตบนและขอบเขตล่าง ในการป้องกันไม่ให้ โปรแกรมเข้ามา ครับ เห็นไหมครับขอบเขตล่างขอบเขตบน เขตล่างขอบเขตบน นะครับ ส่วนตัวของระบบปฏิบัติการ ใช้ตัวของ register ขอบเขตนะครับในการป้องกันนะคะ คราวนี้การแบ่งหน่วยความจำไว้ว่าจะใช้วิธีการใดก็แล้วแต่ ถ้าเกิด ไม่ถูกใช้งาน เราเรียกว่าการแตกกระจาย การแตกกระจายก็คือ ส่วนของหน่วยความจำที่ไม่ถูกใช้งาน เดินระบบแบ่งหน่วยความจำนะครับแบ่งหน่วยความจำ ซึ่งเราเรียก น้ำแตกกระจายนี้ออกเป็น 2 กรณีนะครับ ว่ามีการแตกกระจาย ภายนอกแล้วก็ตาม กระจายพรายไง การแตกกระจายภายนอกเป็นอย่างไรครับ ดูครับ ส่วนที่ 1 การแตกกระจายภายนอก หมายถึงส่วนของ หน่วยความจำที่ไม่ถูกใช้งาน ในระบบ ขนาดคงที่ไม่ถูกใช้งานเลยเห็นไหมครับส่วนที่ 1 ไม่ถูกใช้งาน การแตกกระจายภายใน ภายใน หมายถึง ส่วนของหน่วยความจำ ที่ถูกใช้งาน นะครับ ที่ถูกใช้งานแต่ใช้งานไม่หมด ใช้ไม่หมดนะครับ ในการ แบนเนอร์ความจำ ขนาดคงที่ ต่างกันครับ การแตกกระจายภายนอกก็คือส่วนที่ว่างไม่ถูกใช้งานเลย ส่วนการแตกกระจายภายในคือ ความจำว่าง โดยใช้แล้วใช้ไม่หมดนะครับ คราวนี้มาดูความจำขนาดคงที่ขนาดไม่คงที่นะครับ เมื่อกี้ไปขนาดคงที่นะครับ ผู้ออกแบบระบบปฏิบัติการได้ตระหนักถึงข้อเสียของการแบ่ง ขนาดคงที่ไว้ มีข้อจำกัด ก็เลย ซิลิโคนวิธีการที่เรียกว่าการแบ่ง หน่วยความจำขนาดไม่คงที่ขึ้น ดังตัวอย่างนะครับเห็นไหมครับ ผู้ใช้ A การใช้สิทธิ์ ก็เข้าไปเลย 10 นะครับ ผู้ชายดีต้องการ 30 เดี๋ยวเข้าไป ขนาดไม่คงที่นะครับ ที่ว่าเพียงพอก็สามารถจัดการ หน่วยความจำได้เลยนะครับ ระบบหลายโปรแกรมแบบแบ่งหน่วยความจำแบบไม่คงที่นะครับ สามารถ Run ได้หลายโปรแกรมนะครับดูนะครับ ถึงแม้ว่าหน่วยความจำขนาดไม่คงที่ นะครับ ยังมีส่วนที่ไม่ถูกใช้งานนะครับ ผลการบันเทิง ถ้าเป็นแบบขนาดคงที่เรียกว่าการแตกกระจายนะครับ ถ้าเกิดขึ้นในกรณีที่ พื้นที่ที่ไม่ถูกใช้งานในการแบ่งหน่วยความจำขนาด ไม่คงที่เราเรียกว่าช่องโหว่ นะครับหรือโคม โทรเกิดขึ้นได้อย่างไร โปรแกรม Ai โปรแกรมวีโปรแกรม C Program เห็นไหมครับเกิดขึ้นแล้ว ข้างล่างสุด ข้างล่างช่องโหว่ สักระยะหนึ่ง โปรแกรม Beetalk คือหน่วยความจำให้ระบบ เห็นไหมคะ ช่องโหว่เกิดขึ้นแล้ว สักพักนึง โปรแกรมดีตก คือหน่วยความจำให้ระบบเกิดขึ้นแล้ว เมื่อเกิดเหตุขึ้น ก็มีวิธีการ เอาโปรแกรมใหม่ลงไปวางแทนนะครับ ซึ่งมีอยู่ 3 วิธีการนะครับ 1 เรื่องโฮชิพบก่อน และมีขนาดใหญ่พอที่จะวางโปรแกรมใหม่ลงไป วิธีการที่ 2 เรื่อง Home ที่เหมาะสม เรื่องครูที่เหมาะสมที่สุดก็คือเหลือหน่วยความจำ เหลือ Home ไม่น้อยที่สุด 3 โอ้โหที่ใหญ่ที่สุด นะครับ ที่ใหญ่ที่สุด มาดูนะครับว่าวิธีแต่ละวิธีเป็นอย่างไรดูรูปนะครับ วิธีการที่ 1 เจอก่อนพบก่อน แต่ต้องมีเงื่อนไขว่า ต้องมีพื้นที่ของ Home ได้เพียงพอ 13 ข้อ 16 ได้ไหมครับ ได้ มาก่อนเลยพบก่อนเลยเจอก่อน เข้าไปวางก่อนเลย เหมาะสมที่สุดเมื่อเข้าไปวัดเสร็จแล้ว โทรใหม่ที่เกิดขึ้น ขนาดเหลือน้อยที่สุด 16 เหลือ 3 ถ้าเข้า 14 เดือน 1 ถ้าเข้า 5 เข้าไม่ได้ ถ้าเข้า 30 เหลือ 17 เห็นไหมครับ เหมาะสมที่สุดก็คือเรื่อง เมื่อเข้าไปแล้วทำให้เกิดโฮใหม่น้อยที่สุด แบบที่ 3 นะครับ วิธีการที่ 3 ก็คือ เทือกเขาที่ใหญ่ที่สุด ใช่ครับ 3 สาย 30 ใหญ่กว่าเพื่อน คราวนี้ในกรณีที่ มีโฮเกิดขึ้นพื้นที่ติดกันนะครับติดกัน ถ้า OS มีความสามารถนะครับ มีความสามารถในการจัดรวมเข้าไปด้วยกันเลย ครับ ออกแบบครับเมื่อมีคนอยู่ติดกัน ว่างติดกัน ยุบรวมกันนะครับ อีกวิธีการหนึ่งการอัดหน่วยความจำ หน่วยความจำก็คือถ้าเกิดมีโฮ ว่าง ขึ้น งั้นก็ได้ไม่ติดก็ได้นะครับ วิธีการอัพหน่วยความจำก็คือระบบจะหยุดการทำงานแล้วก็เช็คดูระบบ ต้องการไปเอาหน่วยความจำว่างๆมาจัดรวมกันเพื่อให้ได้หน่วยความจำที่ใหญ่ขึ้นนะครับ เราเรียกว่าการรวบรวมขยะนะครับ เปิดโปรแกรม Deep Freeze เดี๋ยวพอเราเรียกไปเรียนปฏิบัติเราจะเห็นว่า โปรแกรม defrag ทำงาน ทำงานอย่างไร มาทีหลังทำไมไม่เอาแบบฝึกหัด ที่เข้ามาเมื่อกี้น่ะ มาเอาแบบฝึกหัด แล้วทำอะไรอยู่ นี่ดูวิธีการรวบรวมนะครับ หน่วยความจำนะครับ เห็นไหมครับนี่ ใช้งาน 1 2 3 4 5 6 นะครับ เพราะอัตราความจำ เปิดช่อง One เกิดช่องว่างขึ้นใหญ่ขึ้น นี่คือวิธีการอ่านหน่วยความจำ คำนี้มาดูระบบหลายโปรแกรมแบบสระบุรีโปรแกรมเมื่อกี้เป็นแบบแบ่งโปรแกรม แบ่งหน่วยความจำนะครับ เข้าใจว่ามีแบบคงที่จะไม่คงที่ทีนี้มาดูกัน โปรแกรมแบบสลับหน่วยความจำ ก็คือหลักการก็คือเมื่อโปรแกรมถูกใช้งาน เขาเรียกว่าสลัดเข้านะครับ เข้ามาเข้ามา