--- title: Low-bitrate ห้องเก็บผล Experiment ตู่ (04/11/2022) subtitle: date: วันอังคารที่ 15 พฤษจิกายน 2565 เวลา 13.25 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) บทนี้เรื่องของ เรื่องของการจัดการ CPU นะครับ CPU CPU นะครับถือว่าเป็นอุปกรณ์ที่ สำคัญนะครับ ในคอมพิวเตอร์ของเรานะครับ ครับ ก็ บทที่ 3 นะครับ เดี๋ยวสัปดาห์หน้า อีก 2 บท แล้วก็ก่อนรับปริญญาเราจะสอบมิดเทอมนะครับสอบเก็บคะแนนนะครับ CPU นะครับเราจะเห็นว่ามันมีความสำคัญนะครับ เป็นหัวใจหลักของคอมพิวเตอร์ ดังนั้นการที่เราจะใช้งาน CPU ให้คุ้มค่า ก็เป็นหน้าที่ 1 ของพวกเรานะครับที่ต้องจัดการ จัดการอย่างไรดี นี่คือหลักการของการจัดการ CPU นะครับ การจัดการโปรเซสเซอร์นะครับ โปรเจคเตอร์หรือ CPU ตัวเดียวกัน การเปลี่ยนสถานะของ CPU ถือว่าเป็น ค่าใช้จ่ายนะครับ ค่าใช้จ่ายในที่นี้นะครับ ของ CPU นี่ ก็คือเรื่องของเวลา ครับ การทำงานส่วนใหญ่ของโปรเซสเซอร์นะครับของ CPU ก็คือเรื่องของเวลา นะครับ เราจะทำอย่างไรให้มันใช้งานได้อย่างเต็มที่และมีประสิทธิภาพ มันก็เป็นหน้าที่ของระบบปฏิบัติการ ครับ ซึ่งตัวของ CPU จะเสียเวลาอยู่ 3 งานนะครับ คืนหนึ่ง เก็บค่า register และสถานะของเครื่อง คือเปิดขึ้นมาปุ๊บ เก็บไว้แล้วนะครับ เสียเวลาอยู่อันที่ 1 นะครับอันที่ 2 คัดเลือก โหลดเฟซ ในสถานะพร้อม เข้ามาครอบครองตัวมันเอง นี่ก็เสียเวลา ครับ ที่ 3 โหลดค่า register และสถานะของเครื่อง บน pcb นะครับนี่คือตามงานที่ทำให้เกิด การเสียเวลาขึ้น นะครับ หน้าที่อันหนึ่งของระบบปฏิบัติการเลยนะครับหน้าที่อันหนึ่งเลย นอกจาก การจัดการโปรเซสแล้วนะครับ หมดแล้ววันที่ 2 นะครับแล้วก็มาแบบนี้ก็คือการจัดการ CPU แล้วจะทำอย่างไรนะครับ การทำงานของ CPU จะมีประสิทธิภาพ มากหรือน้อย ขึ้นอยู่กับ CPU ขึ้นอยู่กับตัวของระบบปฏิบัติการด้วยนะครับ เรามาดูกันว่า ในการคัด โปรเซส เข้ามาดันนะครับ เสือเป็นหน้าที่ อันหนึ่งของ OS ซึ่งเราเรียกมันว่า การจัดคิวในระยะสั้น ก็คือหมายความว่าการจัดคิวระยะสั้นนี่หมายถึง การที่มัน เลือกเอาโปรเซส ที่ต้องการจะครอบครอง CPU ซึ่งจัดคิวระยะสั้นก็มีหลายรูปแบบนะครับ แบบที่ 1 นะครับแบบที่ 1 เลย ก็คือการจัดคิวแบบ fcff นะครับ ก็คือ First come First Service คือ โปรเซสไหน มารอคิวก่อน ได้เข้าไปครอบครอง CPU ก่อน นะครับ นี่จากง่าย ครับ มีโปรเศษ 10 ตัว 1 2 3 4 5 6 จะเข้าไปครอบครองสิทธิ์อยู่ตามคิวที่ตัวเอง ต่อคิวเอาไว้นะครับ แต่ถ้าโปรเซสไหนเข้าไปในซีพียูแล้ว ต้องการไปใช้งานอุปกรณ์ input output เช่นไปทำงาน ส่งข้อมูลไปที่ปริ้นเตอร์ โหลดเสร็จก็จะออกไป โปรเซสออกไปปุ๊บโปรเซสใหม่ก็เข้ามาแทนที่เข้ามาครอบครองแทนนะครับ ใน CPU ของเรานั้น เข้าไปครอบครองได้ทีละโปรเซสนะครับ ข้อดี จัดคิวง่าย อันนี้ง่ายเลยครับ ไม่ยุ่งยาก ครับ ข้อเสียต้องรอนาน ทำไมต้องรอนานครับเนื่องจากว่าตัวของ โปรเซส สมมุตินะครับว่า Project A การเข้าไปครอบครอง CPU 1 วินาที งานเข้าไปครอบครอง CPU 2 ชั่วโมง protest ต้องการเข้าไปครอบครอง CPU 3 วินาที นั่นแสดงว่าโปรเซส 4 ต้องรอถึง 2 ชั่วโมงนะครับ ถึงต้องรอนานนะครับ การจัดคิวแบบที่ 2 นะครับการจัดคิวแบบที่ 2 การจัดคิวแบบ นะครับ round Robin การจัดคิวแบบนี้นะครับ เป็นการจัดคิวแบบวน loop นะครับบนหลุด ก็คือหมายความว่า เข้าไปแล้วนะครับ มีเวลาควรตั้มมาจับ นะครับ เป็นการเข้าไปแบบวน loop แบบ fcfs แบบที่ 1 ไม่มีเวลาควรตั้ม แบบนี้มีเวลาควันตั้มเวลาควันตัมคืออะไรครับ จำได้ไหม หายไป 2-3 อาทิตย์ เวลาควันตัม เวลาควรตั้มคืออะไร ผู้ดี ตอบหน่อยสิ quantum คืออะไร อาทิตย์หน้าก็ อีก 2 บท อาทิตย์ ไป รับปริญญาสอบ เวลาควอนตัมคืออะไรครับ เวลาที่ กำหนดให้ CPU หรือให้โปรเซสเข้าไปครอบครอง CPU ได้นานเท่าไร กลับ เช่น 5 วิลวิ 15 วิ ก็ว่าไปนะครับ การจัดคิวแบบที่ 3 นะครับ การจัดคิวแบบลำดับความสำคัญ การจัดคิวแบบนี้จะดูว่า processing มารอคิวนั้นมีความสำคัญมากน้อยขนาดไหน นะครับ เราจะเป็นคนกำหนดเองครับว่าโปรเซสใดมีความสำคัญมากน้อยขนาดไหน นะครับ ยกตัวอย่างเช่น ซ้ายมือนะครับ protege B C D E นะครับลำดับความสำคัญ เท่ากับ 10 854 จะเลี้ยงข้าว ตามคิวที่มีลำดับความสำคัญมากน้อย นะครับ แต่สังเกตนะครับพอ protest เข้ามาต่อคิว Frozen ที่มีความสำคัญเท่ากับ 6 ไม่ต้องจัดคิวแบบใหม่แล้วนะครับ ตะคริวเป็นแบบ Abe ดีนะครับนี่คือการจัดคิวโดยลำดับความสำคัญ ครับ เราจะรู้ได้อย่างไรว่าโปรเซสใดมีความสำคัญ protest มีความสำคัญ ครับมีความสำคัญมากน้อยต่างกันอย่างไรนะครับ เรามาดูล่ะ พิจารณานะครับ 1 ผู้ใช้ เป็นเจ้าของโปรเจค คนกำหนดเอง นะครับหรือตัวเราเองนะกำหนดเองว่าโปรเซสใดมีความสำคัญ มากน้อยขนาดไหนนะครับ เช่น โปรเซส ของผู้ควบคุม หรือผู้ดูแลระบบมีความสำคัญมากกว่าโปรเซส ของ User ธรรมดา 2 ประเภทของโปรเซส นะครับ ประเภทของโปรเซส โปรเซส ที่ มีความ อยู่ในโหมดของ แบบว่ามีความสำคัญน้อยกว่าหมดอ่ะ หมดแบตคืออะไรครับ หมดแบต คือ การทำงานเป็นลำดับขั้น นะครับผมยกตัวอย่างเช่นนะ สมมตินะ สมมตินะ เรา เขียนเกม เรากำหนดว่า อยู่ในโหมดของ เรายิงระเบิดออกไป 2 วันถึงรู้ว่าระเบิดโดนฝั่งตรงข้ามหรือเปล่านะครับ มันจะประมวลผลเป็นลำดับขั้นตอนไปเรื่อยๆ ถ้าเป็นโหมดโต้ตอบ ยิงปุ๊บส่วนปั๊บ เหมือนเกมนะครับหรือเอาตัวอย่างหนึ่ง เช่น อุบลราชธานี Ubon ผมเดินมา เขตหวงบนเลย ถ้าอยู่ในโหมดแบตอุบลต้องคิดว่าเพราะอะไร อาจารย์ถึงมาเขกหัวผม แล้วอุบลก็คิดต่อไปว่า ก๋วยเตี๋ยว เจ็บแล้ว ไปหาหมอประมาณนี้นะครับเป็นขั้นเป็นตอนไป แต่ถ้าเป็นในโหมดโต้ตอบ ผมเค้กอุบลครับอุบลสวนกลับบ้านมาปั๊บ นี่คือโหมดของการแบบโต้ตอบนะครับ ดังนั้นการเขียนโปรแกรมในคอมพิวเตอร์แล้วนะครับมันมีอยู่หลายมุม นะครับ ดังนั้นโหมดโต้ตอบ มักจะมีความสำคัญ มากกว่าหมดแบต ต้องรอประมวลผลนะครับ วิธีการพิจารณาลำดับความสำคัญ ที่ 3 ก็คือ ถ้าเราอยากรู้ว่า โปรเซส ใดสำคัญกว่ากัน ผู้ชายยอมจ่ายตังค์ เราเคยสังเกตไหมครับ เวลาเราเปิด เว็บไซต์ บางทีเราเปิดขึ้นมาเว็บไซต์ บางเว็บไซต์เป็นรูปกากบาท เคยเห็นไหม เคยสังเกตไหม โดยเฉพาะ เว็บไซต์ที่เกี่ยวกับการศึกษา ช้าไหมครับ เช่นเว็บมหาวิทยาลัยเรา บางทีเปิดเข้าพร้อมพร้อมกันหลายๆคนละหลายพันคนข้างๆตอนนี้รับปริญญาใช่ไหม เขารับปริญญา เปิดเข้าลงทะเบียนพร้อมๆกันเป็นอย่างไรครับ ร่มไหม เข้าแทบไม่ได้เลยนะครับ ผมเคยบอกนักศึกษา นะครับ แล้วก็บอกมาทุกรุ่นนะครับ การเขียนโปรแกรม เราไปดูการเขียนโปรแกรมของเว็บโป๊ ไม่ได้ไปดูเว็บโป๊นะ ดูโค้ดของ source Code ของเว็บโป๊ทำไมเขาเขียนแล้ว มันขึ้นเร็วจัง สร้างภาพเคลื่อนไหวภาพนิ่งภาพทุกอย่างนะ สังเกตนะ แต่พอเราเวลาเรามาเขียนเว็บของเรา พอเราขึ้นไปปุ๊บเป็นอย่างไรครับ ช้าบางทีไม่เห็น บางทีไม่มี เพราะอะไรครับ เพราะเราไม่จ่ายสตางค์ เว็บดี เว็บการพนันเอาง่ายเว็บการพนันนี้ตัวดีเลยเห็นไหม ขึ้นทุกที่ เว็บการพนันเขาสามารถ ทำให้มันเร็วได้ เพราะว่าเขาไปเช่าพื้นที่ เขายอมเสียสตางค์เยอะ ก็คือมีความสำคัญมากในระบบนะครับ มีใครเคยเข้าไปดูไหม เข้าไปดูแล้วอย่าไปเล่นนะ ผมเคยสอนนักศึกษา เข้าไปดูให้ไปดูโค้ดของมัน ว่าเขาเขียนอย่างไร นะครับ แล้วเราเอามาเขียนตามนะครับ อันที่ 4 นะครับ วิธีการพิจารณาที่ 4 ก็คือ เวลา นะครับระยะเวลาที่ โหลดเฟส ฉันอยู่ ในระบบ นะครับ ถ้าโปรเซสใด อยู่ในระบบ นาน นักแสดงว่ามันมีความสำคัญ นะครับ โปรเซส ของอะไรครับ เราเปิดคอมพิวเตอร์ขึ้นมาปุ๊บ โปรเซส ที่ร้านก่อนเพื่อนเลยก็คือโปรเซสของระบบปฏิบัติการ อนันต์ก่อนเพื่อนเลยนะแสดงว่ามันมีความสำคัญ มาก ครับ ถ้าเราไม่เชื่อเราก็ลองไปลบ จบนะครับ ลบออก ลบระบบปฏิบัติการออกจากเครื่อง เรื่องเราก็จะทำงานไม่ได้ นอกจากโปรแกรมระบบปฏิบัติการแล้วโปรแกรมอะไรครับ ที่มันอยู่ในระบบนานๆเลย โปรแกรมอะไรครับ ลองนึกดูสิ เปิดขึ้นมาแล้วมีตลอด เห็นตลอดอย่างนี้ นอกจากระบบปฏิบัติการแล้วมีอะไรอีก โปรแกรมอะไร โปรแกรมอะไรเอ่ย โปรแกรม Antivirus ผมว่าทุกเครื่อง จะลง antivirus ไว้ แอนตี้ไวรัส มันจะมีทั้งใช้ ฟรี เสียสตางค์ ผมแนะนำนะครับว่าเราอยากไปโหลดโปรแกรมที่ บอกว่าใช้ฟรีตลอดชีวิต กลับใช้ฟรีตลอดชาติ ครับเขาเขียนไว้ไอ้ตัวนั้นล่ะครับตัวดี เป็นไวรัส ยอมเสียเงิน 500 1000 ลักหลับ ผมเคยโดนมาแล้วนะครับ เมื่อคืนไม่ยอมเสียสตางค์ ก็ใช้ฟรีใช้ฟรีมาตลอดสุดท้ายตัวมันเองเป็นไวรัสนะครับ นี่คือการจัดคิวแบบ เรียงลำดับความสำคัญนะครับมีอยู่ 4 อย่าง ผู้ใช้กำหนดเองนะครับ อยู่ไหนอ่ะระบบนานๆนะครับ ยอมจ่าย สตางค์เพิ่มขึ้นนะครับ ประเภทของโปรเซส นะครับ Siri มาดูกันจะขี้แบบ PC นะครับ แบบที่ 4 การจัดคิวแบบ skn นะครับ stomach เป็นอย่างไรกันคิดแบบนี้การจะคิดแบบนี้เขาบอกเป็นการคัดเลือก closest ดูวิธีการเลือกเอาโปรเซส ต้องการเวลาน้อยที่สุด crucible 12345 มันจะรอ เข้าไป CPU แล้วเข้าไปครอบครอง CPU แล้ว ต้องการเวลาน้อยที่สุด เช่น protege ต้องการ ใช้เวลา 5 วินาที protest ต้องการใช้ 6 วินาที closest ต้องการใช้เวลา 10 วินาที กำหนดเวลาควรตั้งไว้ที่ 5 วินะครับ โปรเซสที่ต้องการเวลานอนที่ 10 คืออะไรครับ คืออะไรเอ่ย โหลดเซิฟ ABC ABC closest อะไรครับ โปรเซสที่ต้องการเวลาน้อยที่สุด ชื่อก็บอกอยู่แล้วต้องการเวลาน้อยที่สุด ต้องเป็นโปรเซส กลับ การจัดคิวแบบ 5 นะครับแบบที่ 5 การ 7 คิวแบบ srt การจัดการการจัดคิวแบบ srt นี้ จะคล้ายๆกับการจัดคิวแบบ San แปล s.r.t. จะเลือกเอาโปรเซส ที่เหลือเวลาน้อยที่สุด จากตัวอย่างเมื่อกี้โปรเซสต้องการหนึ่งโปรเซส B ต้องการ 5 วิ proteus 4 ต้องการ 8วิสมมตินะ การจัดคิวแบบ s.r.t. บอกจะเลือกเอาโปรเซส ที่เหลือเวลาน้อยที่สุดเมื่อมันเข้าไปครอบครอง CPU แล้วโปรเซส ใช้ 1 วิ หรือว่า 40 ใช่ไหม เพราะเวลาคนตามกำหนดไว้ 5 วิ โปรเซส