--- title: ฝึก Revoice + PE (ห้องเรียนสกลฯ ห้อง 5020 ) ระบบปฏิบัติการและเทคโนโลยีฯ วันที่ 25 ส.ค. 2565 นาโน subtitle: date: วันศุกร์ที่ 4 พฤษจิกายน 2565 เวลา 09.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) ดูนะครับบทนนี้ เรื่องของ... เรื่องของการ CPU นะครับ CPUCPU นะครับ ถือว่าเป็นอุปกรณ์ที่สำคัญนะครับ ในคอมพิวเตอร์ของเรานะครับ ครับ ก็บทที่ 3 นะครับ เดี๋ยวสัปดาห์หน้าก็อีก 2 บทแล้วก็ก่อนรับปริญญา เราจะสอบมิดเทอมนะครับ สอบเก็บคะแนนนะครับCPU นะครับ เราจะเห็นว่ามันมีความสำคัญนะครับ เป็นหัวใจหลักของคอมพิวเตอร์เลยนะครับ ดังนั้นการที่เราจะใช้งาน CPU ให้คุ้มค่า ก็เป็นหน้าที่หนึ่งของพวกเรานะครับ ที่ต้องจัดการ การจัดการอย่างไรดีนะครับ อันนี้นี่ คือหลักการของการจัดการ CPU นะครับ โปรเซสเซอร์นะครับ Processor หรือ CPU ตัวเดียวกันนะครับ การเปลี่ยนสถานะกล่อง CPUถือว่าเป็นมีค่าใช้จ่ายนะครับ ค่าใช้จ่ายในที่นี้นะครับ ของ CPU นี้ ก็คือเรื่องของเวลานะครับ การทำงานส่วนใหญ่ของโปรเซสเซอร์นะครับ ของ CPU นี่ก็คือเรื่องของเวลานะครับ เราจะทำอย่างไรให้มันใช้งานได้อย่างเต็มที่ อย่างมีประสิทธิภาพ มันก็เป็นหน้าที่ของระบบปฏิบัติการนะครับ ซึ่งตัวของ CPU จะเสียเวลาอยู่ 3... 3 งานนะครับ ก็คือ 1 เก็บค่า register และสถานะของเครื่อง คือเปิดขึ้นมา ปุ๊บ เก็บไว้แล้วนะครับ ใช้เวลาอยู่อันที่ 1 นะครับ อันที่ 2 คัดเลือกprocess ในสถานะพร้อมเพื่อเข้ามาครอบครองตัวมันเอง นี่ก็เสียเวลานะครับ อันที่ 3 นะครับ โหลดค่า registerในสถานะของเครื่องบน pcb นะครับ นี่คือ 3 งานที่ทำให้เกิดการเสียเวลาขึ้นนะครับ หน้าที่อันหนึ่งของระบบปฏิบัติการเลยนะครับ หน้าที่อันหนึ่งเลย นอกจากการจัดการ process แล้วนะครับ บทที่แล้ว และบทที่ 2 แล้วนะ บทนี้หมดการจัดการ CPU เราจะทำอย่างไรนะครับ ในการทำงานของ CPU จะมีประสิทธิภาพมากหรือน้อยขึ้นอยู่กับ CPU ขึ้นอยู่กับตัวระบบปฏิบัติการด้วยนะครับ เรามาดูกันว่าในการคัดเลือกหาในการเข้ามารันนะครับ ถือว่าเราเป็นหน้าที่อันหนึ่งของ OS ซึ่งเราเรียกว่าการจัดคิวในระยะสั้น ก็คือหมายความว่าการจัดคิวในระยะสั้น หมายถึงการที่ไปเลือกเอาที่ครอบครอง CPU ซึ่งการจัดเก็บมันก็มีหลายรูปแบบนะครับ แบบที่ 1 นะครับ แบบที่ 1 เลย ก็คือการจัดคิวแบบ fcfs นะครับ First come First Service คือ process ไหน มารอคิวก่อน ได้เข้าไปครอบครอง CPU ก่อนนะครับ อันนี้จัดง่ายนะครับ มี Process 10 ตัวตัวมาเข้าคิว1 2 3 4 5 6 ก็เข้าไปครอบครอง CPU ตามที่ตัวเองต่อคิวเอาไว้นะครับ แต่ถ้า process ไหนเข้าไปใน CPU แล้ว ต้องการไปใช้งานอุปกรณ์ input Output เล่นไปทำงานส่งข้อมูลไปที่ Printer เพราะฉะนั้นก็จะส่งข้อมูลไปนะครับ โปรเซสใหม่ออกไป ปุ๊บ Process ใหม่ก็จะเข้ามาแทนที่ครอบครองแทนนะครับ ใน CPU ของเรานั้นไปครอบครองได้ทีละโปรเซส ครับ ข้อดีจัดคิวง่าย อันนี้ง่ายเลยครับ ไม่ยุ่งยากนะครับ ข้อเสียต้องรอนาน ทำไมต้องรอนานครับ เนื่องจากว่าตัวของ Process สมมุตินะครับ ว่าโปรเซส A ต้องการเข้าไปครอบครอง CPU 1 วินาที Process B ต้องการเข้าไปครอบครอง CPU 2 ชั่วโมง process C ต้องเข้าไปครอบครอง CPU 3 วินาที นั่นแสดงว่า Process Cรอถึง 2 ชั่วโมงนะครับ ถึงต้องรอนานนะครับ การจัดคิวแบบที่ 2 การจัดคิวแบบที่ 2 เป็นการจัดคิวแบบ rr round Robin นะครับ การจัดคิวแบบนี้นะครับ เป็นการจัดคิวแบบวนลูปนะครับ ก็คือหมายความว่า เข้าไปแล้วนะครับ มีเวลา quantum มาจากนะครับ เป็นการเข้าไปแบบวน loop แบบ fcfs แบบที่ 1 ไม่มีเวลา quantum นะครับ เวลาควรตั้มคือเวลาอะไรครับ จำได้ไหม หายไป 2-3 อาทิตย์ เวลา quantum เวลาควอนตัมคืออะไร ตอบหน่อยสิเวลาควันตัมคืออะไร อาทิตย์หน้าก็อีก 2 บท อาทิตย์ต่อไปก่อนรับปริญญาสอบนะครับ เวลาควอนตัมคืออะไรครับ เวลาที่กำหนดให้ CPU หรือให้โปรเซสเข้าไปครอบครอง CPU ได้นานเท่าไรนะครับ เช่น 5 วิ10 วินาที 15 วินาทีก็ว่าไปนะครับ การจัดคิวแบบที่ 3 นะครับ การจัดคิวแบบลำดับความสำคัญ การจัดคิวแบบนี้จะดูว่า process ที่มารอคิวนั้น มีความสำคัญมากน้อยขนาดไหนนะครับ เราจะเป็นคนกำหนดเองครับ ว่า process ใดมีความสำคัญมากน้อยขนาดไหนนะครับ ยกตัวอย่างเช่น ซ้ายมือนะครับ Process ab c d eลำดับความสำคัญเท่ากับ 10มันจะเรียงเข้าตามคิวที่มีลำดับความสำคัญมากน้อยนะครับ แต่สังเกตนะครับ พอ Process b เข้ามาต่อคิวโปรเซสมีความสำคัญเท่ากับ 6มันต้องจัดคิวแบบใหม่แล้วนะครับ จัดคิวเป็นแบบa b e c d นะครับ นี่คือการจัดคิวโดยลำดับความสำคัญนะครับ เราจะรู้ได้อย่างไรว่าโปรเซสใดมีความสำคัญ โปรเซสใดไม่มีความสำคัญนะครับ มีความสำคัญมากน้อยต่างกันอย่างไรนะครับ เรามาดูหลักพิจารณานะครับ 1ผู้ใช้เป็นเจ้าของโปรเซส เป็นคนกำหนดเองนะครับ ตัวเราเองกำหนดเองว่า process ใดมีความสำคัญมากน้อยขนาดไหนนะครับ เช่น Process ของผู้ควบคุม หรือผู้ดูแลระบบ มีความสำคัญมากกว่า process ของ User ธรรมดานะครับ 2 ประเภทของโปรเซสนะครับ ประเภทของโปรเซสที่มีความอยู่ในโหมดของแบบมักมีความสำคัญน้อยกว่าหมดหมดแบตคืออะไร ครับ หมดแบตคือการทำงานแบบลำดับขั้นนะครับผม ยกตัวอย่างเช่นนะสมมตินะสมมตินะเราเขียนเกมเรากำหนดว่าอยู่ในโหมดของเรายิงระเบิดออกไป2 วันจึงรู้ว่าระเบิดจะโดนฝั่งตรงข้ามหรือเปล่านะครับ มันจะคำนวณผลไปเรื่อย ๆ แต่ถ้าเป็นโหมดโต้ตอบยิงปุ๊บ สวนปั๊บเหมือนเกมนะครับ หรือเอาตัวอย่างหนึ่งเช่น อุบลผมเดินมาเขกหัวอุบลเลยถ้าอยู่ในบทบาทอุบลต้องคิดว่าเพราะอะไรอาจารย์ถึงมาเขกหัวผมแล้วอุบลก็คิดต่อไปว่าแล้วไปหาหมออะไรประมาณนี้เป็นขั้นเป็นตอนไป แต่ถ้าเป็นในโหมดโต้ตอบผมเขกหัวอุบล ปั๊บอุบลสวนกำปั้นมาปั๊บ นี่คือโหมดแบบโต้ตอบนะครับ ดังนั้น การโปรแกรมในคอมพิวเตอร์เรานะครับ มันมีอยู่หลายหมดนะครับ ดังนั้น โหมดโต้ตอบมักจะมีความสำคัญมากกว่าต้องรอประมวลผลนะครับ วิธีการพิจารณาลำดับความสำคัญอันที่ 3 ก็คือถ้าเราอยากรู้ว่าprocess ใดสำคัญกว่ากัน ผู้ใช้ยอมจ่ายตังค์เราเคยสังเกตไหมครับ เวลาเราเปิดเว็บไซต์บางทีเราเปิดขึ้นมาเว็บไซต์ บางเว็บไซต์เป็นรูปกากบาทเคยเห็นไหม เคยสังเกตไหม โดยเฉพาะเว็บไซต์ที่เกี่ยวกับการศึกษา ช้าไหมครับ เช่นเว็บมหาวิทยาลัยเราอย่างนี้ บางทีเปิดเข้าพร้อม ๆ กันหลาย ๆ คนหลาย ๆ พันกว่าคน เอาง่าย ๆ ตอนนี้รับปริญญาใช่ไหมจะเข้ารับปริญญาเปิดเข้าลงทะเบียนพร้อม ๆ กันเป็นอย่างไรครับ ล่มไหม เข้าแทบไม่ได้เลยนะครับ ผมเคยบอกนักศึกษานะครับ แล้วก็บอกมาทุกรุ่นนะ การเขียนโปรแกรมให้เราไปดูการเขียนโปรแกรมของเว็บโป๊ ไม่ได้ให้ไปดูเว็บโป๊นะ ไปดู Code source Code ของเว็บ ทำไมเขาเขียนแล้วมันขึ้นเร็วจัง ทั้งภาพเคลื่อนไหวภาพนิ่งภาพทุกอย่างนะ แต่พอเราเวลาเราไม่เขียนเว็บ ของเราเพราะเราขึ้นไป ปุ๊บ เป็นอย่างไรช้าบางทีไม่เห็น บางทีไม่มี เพราะอะไรครับ เพราะเราไม่จ่ายสตางค์เว็บพวกเว็บการพนันเอาง่าย ๆ พวกการพนันตัวดีเลยเห็นไหมขึ้นทุกที่ เว็บการพนันเขาสามารถทำให้มันเร็วได้ เพราะว่าเขาไปเช่าพื้นที่ เขายอมเสียสตางค์เยอะ นี่ก็คือมีความสำคัญมากในระบบนะครับ มีใครเคยเข้าไปดูไหม เข้าไปดูแล้ว อย่าไปเล่นนะ ผมเคยสอนนักศึกษาเข้าไปดูให้ไปดูโค้ดของมัน ว่าเขาเขียนอย่างไรนะครับ แล้วเราเอามาเขียนตามนะครับ อันที่ 4 นะครับ วิธีการพิจารณาอันที่ 4 ก็คือเวลา นะครับ ระยะเวลาที่โปรเซสนั้นอยู่ในระบบนะครับ ถ้า process ใด อยู่ในระบบนานนั่นแสดงว่ามันมีความสำคัญนะครับ เช่นโปรเซสของอะไรนะครับ เราเปิดคอมพิวเตอร์ขึ้นมา ปุ๊บ Process ที่รันก่อนเพื่อนก็คือ process ของระบบปฏิบัติการมันจะรันก่อนเพื่อนเลยนะครับ แสดงว่ามันมีความสำคัญมากนะครับ ถ้าเราไม่เชื่อเราก็ลองไปลบนะครับ ลองไปลบออกลบระบบปฏิบัติการออกจากเครื่อง เครื่องเราก็จะทำงานไม่ได้นะครับ นอกจากโปรแกรมระบบปฏิบัติการแล้ว โปรแกรมอะไรอีกครับ ที่มันอยู่ในระบบนาน ๆ เลย โปรแกรมอะไรครับ ลองนึกดูสิ เปิดขึ้นมาแล้วมีตลอดเห็นตลอดอย่างนี้ นอกจากระบบปฏิบัติการแล้วอะไรอีก โปรแกรมอะไร โปรแกรมอะไรเอ่ย โปรแกรมแอนตี้ไวรัส เพราะคอมทุกเครื่องจะลง antivirus ไว้นะครับ แอนตี้ไวรัส จะมีทั้งใช้ฟรี เสียสตางค์ ผมแนะนำนะครับ ว่าเราอย่าไปโหลดโปรแกรมที่บอกว่าใช้ฟรีตลอดชีวิตนะครับ ใช้ฟรีตลอดชาติอย่างนี้นะครับ เขาเขียนไว้นะครับ ไอ้ตัวนี้นะครับ ตัวดีนะครับ เป็นไวรัสยอมเสียเงิน 500 1,000 นะครับ ผมเคยโดนมาแล้วนะครับ ก็คือไม่ยอมเสียตังค์ก็ใช้ฟรีใช้ฟรีมาตลอด สุดท้ายตัวมันเองเป็นไวรัสนี่คือการจัดคิวแบบเรียงลำดับความสำคัญนะครับ มีอยู่ 4 อย่าง ผู้ใช้กำหนดเองนะครับ อยู่ในระบบนาน ๆ นะครับ ยอมเสียสตางค์เพิ่มขึ้น ประเภทของโปรเซสนะครับ คราวนี้มาดูการจัดคิวแบบที่ 4 นะครับ แบบที่ 4 การจัดคิวแบบ Fj a n swords of Legendsเป็นอย่างไรมาจัดคิวแบบนี้ มาจัดคิวแบบนี้เขาบอกเป็นการคัดเลือกโปรเซสไม่วิธีการ โปรเซสที่ต้องการเวลาน้อยที่สุด โปรเซสมารอคิว 1 2 3 4 5 มันจะคำนวณว่าเข้าไปใน CPU แล้ว เข้าไปครอบครองใน CPU แล้ว ต้องการเวลาน้อยที่สุด เช่น Process Aต้องการใช้ 5 วิ Process Bต้องการใช้ 6 วินาที proset C ต้องการใช้ 10 วินาที กำหนดเวลา quantum ไว้ที่ 5 วินาทีนะครับ Process ที่ต้องการเวลาน้อยที่สุดคืออะไรครับ คืออะไร เอ่ย process A หรือ B หรือ C A B C process อะไรครับ process ที่ต้องการเวลาน้อยที่สุด ชื่อก็บอกแล้วต้องการเวลาน้อยที่สุด ก็ต้องเป็น process A นะครับ การจัดคิวแบบที่ 5 นะครับ แบบที่ 5 การจัดคิวแบบ srt การจัดคิวแบบ srt นี้ คล้าย ๆ กับการจัดคิวแบบ fjn แต่เอา Process ที่เหลือเวลาน้อยที่สุด ตัวอย่างเมื่อกี้นี้ ต้องการ 1 วิ ต้องการ 5 วิ ossc ต้องการ 8 วิ การจัดคิวแบบ srt จะเลือกเอาเวลาที่เหลือน้อยที่สุดเมื่อครอบครอง CPU แล้ว Process A ใช้ 1 วิหรือว่า 4 วินาทีใช่ไหม เพราะเวลาควรตามกำหนดไว้ 5 วินาที process B