--- title: ฝึก Revoice + PE (ห้องเรียนสกลฯ ห้อง 5020 ) ระบบปฏิบัติการและเทคโนโลยีฯ วันที่ 25 ส.ค. 2565 มาริก subtitle: date: วันศุกร์ที่ 4 พฤษจิกายน 2565 เวลา 09.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์พิเชนทร์) เรื่องของการจัดการCPU นะครับ CPUCPU นะครับ ถือว่าเป็นอุปกรณ์ที่สำคัญนะครับ ในคอมพิวเตอร์ของเรานะครับ ครับ ก็บทที่ 3 นะครับ เดี๋ยวสัปดาห์หน้าก็อีก 2 บทแล้วก็ก่อนรับปริญญาเราจะสอบมิดเทอมนะครับ สอบเก็บคะแนนนะครับ CPU นะครับ เราจะเห็นว่ามันมีความสำคัญนะครับ เป็นหัวใจหลักของคอมพิวเตอร์เลยนะครับ ดังนั้นการที่เราจะใช้งาน CPUให้คุ้มค่าก็เป็น เป็นหน้าที่หนึ่งของพวกเรานะครับในการจัดการอย่างไรดีนะครับ นี่คือหลักการของการจัดการ CPU นะครับ จัดการProcesser หรือ CPU ตัวเดียวกันนะครับ การเปลี่ยนสถานะของ CPUถือว่าเป็นค่าใช้จ่ายนะครับ ค่าใช้จ่ายในที่นี้ของ CPU นี่ก็คือเรื่องของเวลานะครับ การทำงานส่วนใหญ่ของโปรเซสเซอร์ของ CPU นี้คือเรื่องของเวลานะครับ เราจะทำอย่างไรให้มันใช้งานได้อย่างเต็มที่ให้อย่างมีประสิทธิภาพมันก็เป็นหน้าที่ของระบบปฏิบัติการนะครับ ซึ่งตัวของ CPUอย่าเสียเวลาอยู่ 3 งานนะครับ ก็คือ 1ค่า register และสถานะของเครื่องคือเปิดขึ้นมาปุ๊บนะครับ เสียเวลาดูอันที่ 1 นะคะ อันที่ 2คัดเลือกโปร Processในสถานะพร้อมเพื่อเข้ามาครอบครองตัวมันเองนี่ก็เสียเวลานะครับ วันที่ 3โหลดค่า registerและสถานะของเครื่อง บน PCBนี่คือ 3 งานที่ทำให้เกิดการเสียเวลาขึ้นนะครับ หน้าที่อันหนึ่งของระบบปฏิบัติการเลยนะครับ หน้าที่อันหนึ่งเลยนอกจากการจัดการ Process แล้วแล้วก็มาบทนี้ก็คือการจัดการ CPUเราจะทำอย่างไรนะครับ ในการทำงาน CPU มีประสิทธิภาพมากหรือน้อยขึ้นอยู่กับ CPUขึ้นอยู่กับตัวระบบปฏิบัติการด้วยนะครับ เรามาดูกันว่าในการคัดเลือกหา process เข้ามา Runนะครับ ถือว่าเป็นหน้าที่วันหนึ่งของ OSเราเรียกว่าการจัดคิวในระยะสั้นก็คือหมายความว่าการจัดคิวระยะสั้นหมายถึงการที่มันเลือกต้องการไปครอบครอง CPUจะจัดคิวระยะสั้นมีหลายรูปแบบนะครับ แบบที่ 1 นะครับ แบบที่ 1 เลยก็คือการจัดคิวแบบ FCFSนะครับ First come First servedprocess ไหนมารอคิวก่อนได้เข้าไปครอบครอง CPU ก่อนนะครับ อันนี้จัดง่ายนะครับ รอเสร็จ 10 ตัวมาเข้าคิว 1 2 34 5 6ก็เข้าไปครอบครอง CPU ตามคิวของตัวเองต่อคิวเอาไว้นะครับ รอเสร็จไหมแต่ถ้า Process เข้าไปใน CPU แล้วต้องการใช้งานอุปกรณ์อินพุตเช่นไปทำงานส่งข้อมูลไปที่ปริ้นเตอร์โทรเสร็จก็จะออกไปนะครับ รอเสร็จออกไปปุ๊บProcess ใหม่ก็เข้ามาแทนที่เข้ามาครอบครองแทนนะครับ ได้ 19 ของเรานั้นเข้ามาครอบครองข้อดีจัดคิวง่ายอันนี้ง่ายเลยครับ ไม่ยุ่งยากนะครับ ข้อเสียต้องรอนานทำไมต้องรอนานครับ เนื่องจากว่าตัวของโปรเซสสมมุตินะครับ โปรเซส Aต้องการเข้าไปครอบครอง CPU 1 วินาที Process Bต้องการต้องการเข้าไปครอบครอง CPU ของชั่วโมงต้องการเข้าไปครอบครอง CPU3 วินาทีนั่นแสดงว่า Processต้องรอถึง 2 ชั่วโมงนะครับ ต้องรอนานนะครับ การจัดคิวแบบที่ 2นะครับ การจัดคิวแบบที่ 2เป็นการจัดคิวแบบฮา ๆ นะครับ เรา Robinการจัดคิวแบบนี้นะครับ เป็นการจัดคิวแบบวน loopนะครับ ก็คือหมายความว่าเข้าไปแล้วนะครับ มีเวลาควันตัมมาจับเป็นการเข้าไปแบบวน loopแบบ fcfs ไม่มีระดับความตั้มแบบนี้มีเวลาความจำเวลาความตั้มคือเวลาอะไรครับ จำได้ไหม หายไป 2-3 อาทิตย์เวลา quantumเวลา quantum คืออะไร หูดีตอบหน่อยสิเวลาควอนตัมคืออะไร อาทิตย์หน้าอีก 2 บทอาทิตย์ถัดไปก่อนรับปริญญาสอบนะครับ เวลา quantum คืออะไร ครับ เวลาที่กำหนดให้ CPUให้ processเข้าไปครอบครอง CPU ได้นานเท่าไหร่นะครับ เช่น5 วิ10 วินาทีก็ว่าไปนะครับ การจัดคิวแบบที่ 3 นะครับ การจัดคิวแบบลำดับความสำคัญมากับพี่แบบนี้จะดูว่า process ที่มารอคิวนั้นมีความสำคัญมากน้อยขนาดไหนนะครับ เราจะเป็นคนกำหนดเองครับ โปรเซสใดมีความสำคัญมากน้อยขนาดไหนนะครับ ยกตัวอย่างเช่นซ้ายมือนะครับ process AB C D E นะครับ ลำดับความสำคัญเท่ากับ 10 8 5 4มันจะเรียงเข้าตามคิวที่มีลำดับความสำคัญมากน้อยนะครับ สังเกตนะครับ พอ Process Eเข้ามาต่อคิวเสร็จอีมีความสำคัญเท่ากับมันต้องจัดคิวแบบใหม่แล้วนะครับ จัดคิวเป็นแบบA B E D C etd นะครับ นี่คือการจัดคิวลำดับความสำคัญนะครับ เราจะรู้ได้อย่างไรโปรเซสใดมีความสำคัญไม่มีความสำคัญนะครับ มีความสำคัญมากน้อยต่างกันอย่างไรเรามาดูหลักพิจารณานะครับ 1ผู้ใช้เป็นเจ้าของ Processเป็นคนกำหนดเองนะครับ ตัวเราเองกำหนดเองว่า Process ใดมีความสำคัญมากน้อยขนาดไหนนะครับ เช่นโปรเซสของผู้ควบคุมหรือผู้ดูแลระบบมีความสำคัญมากกว่า process ของ User ธรรมดา นะครับ 2ประเภทของโปรเซสนะครับ ประเภทของ Processprocess ที่มีความอยู่ในหมวดของนักมีความสำคัญน้อยกว่าโหมดโต้ตอบหมด Batch คืออะไร ครับ หมด Batchการทำงานเป็นลำดับขั้นลักหลับผมยกตัวอย่างเช่นนะสมมตินะสมมติเราเขียนเกมเรากำหนดว่าอยู่ในโหมดเรายิงระเบิดออกไป2 วันถึงรู้ว่าระเบิดโดนฝั่งตรงข้ามหรือเปล่านะครับ มันจะประมวลผลเป็นลำดับขั้นตอนไปเรื่อย ๆ ถ้าเป็นโหมดโต้ตอบ ยิงปุ๊บสวนปั๊บเหมือนเกมนะครับ เอาตัวอย่างหนึ่งเช่นอุบลนะอุบลผมเดินมาเขกหัวอุบลเลยอยู่ในโหมด Batchก็คิดว่าเพราะอะไรอาจารย์ถึงมาเขกหัวผมแล้วอุบลก็คิดต่อไปว่าโอ๊ยเจ็บเจ็บแล้วไปหาหมออะไรประมาณนั้นนะครับ เป็นขั้นเป็นตอนไปแต่ถ้าเป็นในโหมดโต้ตอบผมเขตหวงปั๊บ อุบลสวนกลับบ้านมาปั๊บอย่างนี้โต้ตอบนะครับ นัดการเขียนโปรแกรมในคอมพิวเตอร์ของเรานะคะ มันมีอยู่หลายโหมดนะครับ ดังนั้นหมวดโต้ตอบมักจะมีความสำคัญคันมากกว่าหมดเพราะ Batchต้องรอประมวลผลวิธีการพิจารณาลำดับความสำคัญที่ 3 ก็คือถ้าเราอยากรู้ว่าprocess ใดสำคัญกว่ากันผู้ใช้ยอมจ่ายสตางค์เคยสังเกตไหมครับ เวลาเราเปิดเว็บไซต์บางทีเราเปิดขึ้นมาเว็บเว็บไซต์บางเว็บไซต์เป็นรูปกากบาทเคยเห็นไหมครับ เคยสังเกตไหมโดยเฉพาะเว็บไซต์ที่เกี่ยวกับการศึกษาช้าไหมครับ เช่น เว็บมหาวิทยาลัยเราเข้าพร้อมกันหลาย ๆ คนหลาย ๆ พันคนเอาง่าย ๆ ตอนนี้รับปริญญาเข้ารับปริญญาเข้าลงทะเบียนพร้อมกันเป็นอย่างไรครับ ร่มไหมเข้าแถบไม่ได้เลยนะครับ เคยบอกและศึกษานะครับ แล้วก็บอกมาทุกรุ่นนะการเขียนโปรแกรมให้เราไปดูการเขียนว่าโปรแกรมของเว็บโป๊ให้ไปดูคลิปโป๊นะให้ดู source Codeของเว็บโป๊ทำไมเขาเขียนแล้วมันขึ้นเร็วจังทั้งภาพเคลื่อนไหวภาพนิ่งภาพทุกอย่างสังเกตนะแต่พอเรามาเขียนเว็บของเราพอเราขึ้นไปพบเป็นอย่างไรครับ ช้าบางทีไม่เห็นบางทีไม่มีว่าไงครับ เพราะเราไม่จ่ายสตางค์เว็บนี้พวกเว็บการพนันเอาง่าย ๆ เว็บการพนันตัวดีเลยเห็นไหมขึ้นทุกที่เว็บการพนันเขาสามารถทำให้มันเร็วได้เขาไปเช่าพื้นที่เขายอมเสียสตางค์เยอะคือมีความสำคัญมากในระบบนะครับ มีใครเคยเข้าไปดูไหมเข้าไปดูแล้วอย่าไปเล่นนะ นะครับผมเคยสอนนักศึกษาเข้าไปดูให้ไปดูโค้ดของมันเขาเขียนอย่างไรนะครับ แล้วเราเอามาเขียนตามนะครับ อันที่ 4 นะครับ วิธีการพิจารณาอันที่ 4 ก็คือเวลานะครับ ระยะเวลาที่โปรเซสนั้นอยู่ในระบบนะครับ ถ้า Processใดอยู่ในระบบนานนักแสดงว่ามันมีความสำคัญนะครับ เช่น Process ของอะไรครับ เราเปิดคอมพิวเตอร์ขึ้นมาปุ๊บโปรเซสrun ก่อนเพื่อนเลยคือโปรเซสระบบปฏิบัติการมันจะ run ก่อนเพื่อนเลยนั่นแสดงว่ามันมีความสำคัญมากครับ ถ้าเราไม่เชื่อเราก็ลองไปลบลบออกลบปฏิบัติลบระบบปฏิบัติการออกจากเครื่องเพิ่งทำงานไม่ได้นะครับ ออกจากโปรแกรมระบบปฏิบัติการแล้วโปรแกรมอะไรครับ ไม่อยู่ในระบบนาน ๆ เลยโปรแกรมอะไรครับ ลองนึกดูสิเปิดขึ้นมาแล้วมีตลอดเห็นตลอดอย่างนี้ออกจากระบบปฏิบัติการแล้วอะไรอีกโปรแกรมอะไรเติมอะไรเอ่ยโปรแกรมแอนตี้ไวรัสผมว่าทุกเครื่องลง antivirus ไว้นะครับ antivirusก็จะมีทั้งใช้ฟรีเสียสตางค์ผมแนะนำนะครับ ว่าเราอย่าไปโหลดโปรแกรมที่บอกว่าใช้ฟรีตลอดชีวิตนะครับ ใช้ฟรีตลอดชาติอย่างนี้เขาเขียนไว้ไอ้ตัวนั่นแหละครับ ตัวดี เป็น virusยอมเสียเงิน500 1,000นะครับ ผมเคยโดนมาแล้วนะครับ ไม่ยอมเสียสตางค์ใช้ฟรี ใช้ฟรีตลอดสุดท้ายมาตัวมันเองเป็นไวรัสเองนะครับ นี่คือการจัดคิวเรียงลำดับความสำคัญนะครับ มีอยู่ 4 อย่างผู้ใช้กำหนดเองนะครับ อยู่ในระบบนาน ๆ นะครับ ยอมจ่ายสตางค์เพิ่มขึ้นนะครับ ประเภทของโปรเซสนะครับ คราวนี้มาดูการจัดคิวแบบที่ 4 นะครับ แบบที่ 4การจัดคิวSjn นะครับ อาการเป็นอย่างไรการอธิบายแบบนี้การจัดการเรียนรู้แบบนี้เป็นการคัดเลือก Processด้วยวิธีการเลือกเอา Process ที่ต้องการเวลาน้อยที่สุดprocess มารอคิว 1 2 3 4 5มันจะคำนวณว่าเข้าไปใน CPU แล้วเข้าไปครอบครอง CPU แล้วต้องการเวลาน้อยที่สุดเช่นprotegeต้องการใช้ 5 วิprocess Bต้องการใช้6 วินาที Process Cต้องการใช้ 10 วินาทีกำหนดเวลาควอนตัมใบที่ 1015 วินะครับ โปรเซสที่ต้องการเวลาน้อยที่สุดคืออะไร คะคืออะไร เอ่ย Process A หรีือ B หรือ C BBCโปรเน็ตอะไรครับ โปรเซสที่ต้องการเวลาน้อยที่สุดก็บอกแล้วเวลาต้องการเวลาน้อยที่สุดก็ต้องเป็น Process Aนะครับ การจัดคิวอยากที่ 5นะครับ แบบที่ 5การจัดคิวแบบsrtการจัดการการจัดคิวแบบ srt นี้อยากให้คล้าย ๆ การจัดคิวแบบs.r.t. จะเลือกโปรเน็ตที่เหลือเวลาน้อยที่สุดจากตัวอย่างเมื่อกี้rosetta ต้องการเวลา 1 วิsrt ต้องการ 5 วินาทีโปรเน็ตต้องการ8 วินาทีสมมุตินะการจัดคิวแบบ srtลองเลือกเอาโปรเศษที่เหลือเวลาน้อยที่สุดก็มันเข้าไปครอบครอง CPU แล้วProcess ใช้ 114 วินาทีใช่ไหมเพราะเวลาควอนตัมกำหนดไว้ 5 วินาท