--- title: ฝึก Revoice + PE (ห้องเรียนสกลฯ ห้อง 5020 ) ระบบปฏิบัติการและเทคโนโลยีฯ วันที่ 25 ส.ค. 2565 ปลา subtitle: date: วันศุกร์ที่ 4 พฤษจิกายน 2565 เวลา 09.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) 2 บท ก่อนรับปริญญาเราจะสอบมิดเทอมนะครับ สอบเก็บคะแนนนะครับ CPU นะครับ เราจะเห็นว่ามันมีความสำคัญนะครับ หัวใจหลักของคอมพิวเตอร์เลยนะครับ ดังนั้น การที่เราจะใช้งาน CPU ให้คุ้มค่าก็เป็นหน้าที่หนึ่งของพวกเรานะครับ ที่ต้องจัดการ จัดการอย่างไรดี นี่คือล่ะการของการจัดการ CPU นะครับ การจัดการนะครับ โปรเซสเซอร์หรือ CPU ตัวเดียวกันนะครับ การเปลี่ยนสถานะของ CPU ถือว่าเป็นค่าใช้จ่ายนะครับ ค่าใช้จ่ายในที่นี้นะครับ ของ CPU นี่ ก็คือเรื่องของเวลา นะครับ การทำงานส่วนใหญ่ของ processor นะครับ ของ CPU นี่ก็คือเรื่องของเวลาเราจะทำอย่างไรให้มันใช้งานได้อย่างเต็มที่ อย่างมีประสิทธิภาพ มันก็เป็นหน้าที่ของระบบปฏิบัติการนะครับ ซึ่งตัวของ CPUเสียเวลาอยู่ 3 งานนะครับ ก็คือ 1 เก็บค่า register และสถานะของเครื่อง คือเปิดขึ้นมาปุ๊บเก็บไว้แล้วนะครับ เสียเวลาดูอันที่ 1 นะครับ วันที่ 2 คัดเลือก process ในสถานะพร้อมเพื่อเข้ามาครอบครองตัวมันเอง นี่ก็เสียเวลานะครับ อันที่ 3 โหลดค่า registor และสถานะของเครื่องบน pcb นี่คือ 3 งานที่ทำให้เกิดการเสียเวลาขึ้นนะครับ หน้าที่อันหนึ่งของระบบปฏิบัติการเลยหน้าที่อันหนึ่งเลย นอกจากการจัดการโปรเซสแล้วนะครับ บทที่แล้วบทที่ 2 แล้วก็คือบทนี้การจัดการ CPU เราจะทำอย่างไรในการทำงาน CPU จะมีประสิทธิภาพมากหรือน้อย ขึ้นอยู่กับ CPU ขึ้นอยู่กับตัวของระบบปฏิบัติการด้วยนะครับ เรามาดูกันว่าในการคัดเลือกหา process เข้ามาถือว่าเป็นหน้าที่หนึ่งของ OS ซึ่งเราเรียกมันว่าการจัดคิวในระยะสั้น ก็คือการจัดอยู่ในระยะสั้น หมายถึงการที่มันเลือกเอาโปรเซสที่ต้องการจะครอบครอง CPU น่าจะคิวเรียกสั้นก็มีหลายรูปแบบนะครับ แบบที่ 1 นะครับ แบบที่ 1 เลย ก็คือการจัดคิวแบบ fcfs First come First Service คือ process ไหนมารอคิวก่อนได้มาเข้าครอบครอง CPU ก่อนนะครับ นี่จากง่ายนะครับ มี process 10 ตัวมาเข้าคิว 1 2 3 4 5 6 เข้าไปครอบครอง CPU ตามคิวที่ตัวเองต่อคิวเอาไว้นะครับ แต่ถ้าโปรเซสไหนเข้าไปใน CPU แล้วต้องการไปใช้งานอุปกรณ์ input output เช่นไปทำการส่งข้อมูลไปที่ printer ก็จะออกไปออกไปปุ๊บเสร็จใหม่ ๆ เข้ามาแทนที่เข้ามาครอบครองแทนใน CPU ของเรานั้นเข้ามาครอบครองได้ทีละ process ข้อดีจัดคิวง่าย อันนี้ง่ายเลยนะครับ ไม่ยุ่งยาก ข้อเสียต้องรอนาน ทำไมต้องรอนานเนื่องจากว่าตัวของโปรเซสสมมุตินะครับ process A ต้องการเข้าไปครอบครอง CPU 1 วินาที process B ต้องการเข้าไปครอบครอง CPU 2 ชั่วโมง process c ต้องการเข้าไปครอบครอง CPU 3 วินาที แสดงว่า process c ต้องรอ 2 ชั่วโมง ทำไมถึงต้องรอนานครับ การจัดคิวแบบที่ 2 นะครับ การจัดคิวแบบที่ 2 การจัดคิวแบบ Round Robin นะครับ การจัดคิวแบบนี้นะครับ เป็นการจัดคิวแบบวน loop ก็คือหมายความว่าเข้าไปแล้วนะครับ มีเวลาควอนตัมมาจับครับ จะเข้าไปแบบวน loop แบบ fcfs แบบที่ 1 ไม่มีเวลาควอนตัมแบบนี้มีเวลาคอนตัมจำได้ไหม หายไป 2-3 อาทิตย์ เวลาควอนตัม เวลาควอนตัมคืออะไร หูดีตอบหน่อยสิเวลาควอนตัมคืออะไร อาทิตย์หน้าก็ 2 บท อาทิตย์ต่อไปก่อนรับปริญญาสอบนะครับ เวลาควอนตัมคืออะไร ครับ เวลาที่กำหนดให้ CPU หรือให้โปรเซสเข้าไปครอบครอง CPU ได้งานเท่าไหร่ เช่น 5 วิ 10 วิ 15 วิก็ว่าไปนะครับ น่าจะใช่ แบบที่ 3 นะครับ การจัดคิวแบบระดับความสำคัญ การจัดคิวแบบนี้จะดูว่าโปรเซสที่มารอคิวนั้น มีความสำคัญมากน้อยขนาดไหนนะครับ เราจะเป็นคนกำหนดเองครับ ว่า process ใดมีความสำคัญมากน้อยขนาดไหนครับ ยกตัวอย่างเช่น ซ้ายมือนะครับ process A B C D E ระดับความสำคัญเท่ากับ 10854 มันจะเรียงเข้าตามคิวที่มีลำดับความสำคัญมากน้อยการสังเกตนะครับ process e เข้ามาต่อคิวเกษตรอีกมีความสำคัญเท่ากับ 6 ต้องจัดคิวแบบใหม่แล้ว จัดคิวเป็นแบบ a b c d นะครับ นี่คือการจัดคิวโดยลำดับความสำคัญครับ เราจะรู้ได้อย่างไรว่า process ใดมีความสำคัญเป็นพิเศษใดไม่มีความสำคัญนะครับ มีความสำคัญมากน้อยต่างกันอย่างไร เรามาดูหลักพิจารณานะครับ ผู้ใช้เป็นเจ้าของโปรเซสเป็นคนกำหนดเอง หรือตัวเราเองเป็นคนกำหนดเองว่าโปรเซสใดมีความสำคัญมากน้อยขนาดไหนนะครับ เช่น process ของผู้ควบคุมหรือผู้ดูแลระบบมีความสำคัญมากกว่า process ของ User ธรรมดานะครับ 2. ประเภทของโปรเซส ประเภทของโปรเซส โปรเซสที่อยู่ในโหมด batch ที่มีความสำคัญน้อยกว่าโหมดโต้ตอบ บทบาทคืออะไร ครับ บทบาทคือการทำงานเป็นลำดับขั้นครับผม ยกตัวอย่างเช่น สมมตินะ สมมติเรา เรากำหนดว่าอยู่ในโหมดของ batch เรายิงระเบิดออกไป 2 วันถึงรู้ว่าระเบิดโดนฝั่งตรงข้ามหรือเปล่า มันจะประมวลผลเป็นลำดับขั้นตอนไปเรื่อย ๆ แต่ถ้าเป็นโหมดโต้ตอบปุ๊บส่งปั๊บ เกมหรือเอาตัวอย่างหนึ่ง เช่น อุบล อุบลผมเดินมาเขกหัวอุบลเลย ถ้าอยู่ในโหมด batch ต้องคิดว่าเพราะอะไรอาจารย์ถึงเขกหัวผม และอุบลคิดตอบแปลว่าเจ็บแล้วไปหาหมออะไรประมาณนี้นะครับ เป็นขั้นเป็นตอนไปแต่ถ้าเป็นในโหมดโต้ตอบ โอเค ผมโขกหัวอุบล อุบลสวนกลับบ้านมาปั๊บอันนี้คือหมวดของการแบบโต้ตอบนะครับ เพราะฉะนั้น การเขียนโปรแกรมในคอมพิวเตอร์เรามันมีอยู่หลายโหมด ดังนั้น โหมดโต้ตอบมักจะมีความสำคัญมากกว่าโหมดของ batch ต้องรอประมวลผลนะครับ วิธีการพิจารณาลำดับความสำคัญอันที่ 3 ก็คือถ้าเราอยากรู้ว่า process ใดสำคัญกว่ากัน ผู้ใช้ยอมจ่ายสตางค์ เราเคยสังเกตไหมครับ เราเปิดเว็บไซต์ บางทีเราเปิดขึ้นมาเว็บไซต์เว็บไซต์เป็นรูปกากบาท เคยเห็นไหมเคยสังเกตไหม โดยเฉพาะเว็บไซต์ที่เกี่ยวกับการศึกษา ช้าไหมครับ เช่น เว็บมหาวิทยาลัยเราบางทีเกิดเข้าพร้อมกันเข้าพร้อมกันหลาย ๆ พันคนเอาง่าย ๆ ตอนนี้รับปริญญาจะเข้ารับปริญญา เข้าลงทะเบียนพร้อมกันเป็นอย่างไรครับ ล่มไหมเข้าแทบไม่ได้เลยนะครับ ผมเคยบอกนักศึกษานะครับ แล้วก็บอกว่าทุกรุ่นนะ การเขียนโปรแกรมให้เราไปดูการเขียนโปรแกรมของเว็บโป๊ ไม่ได้ให้ไปดูเว็บโป๊นะไปดู Code ของ source Code ของเว็บโป๊ว่าทำไมเขาเขียนแล้วขึ้นเร็วจัง ทั้งภาพเคลื่อนไหวทั้งภาพนิ่งภาพทุกอย่าง สังเกตไหมอารมณ์เสียของเราพอเราเข้าไปปุ๊บเป็นอย่างไรครับ ช้าบางทีไม่เห็นเลย บางทีไม่มีเพราะอะไรครับ เพราะเราไม่จ่ายตังค์เว็บไซต์ เว็บไซต์นี้เว็บไซต์การพนันง่าย ๆ เว็บไซต์การพนันนี่ตัวดีเลยเห็นไหมขึ้นทุกที่การพนันเขาสามารถทำให้มันเร็วได้ว่าเขาไปเช่าพื้นที่เขายอมเสียตังค์เยอะนี่ก็คือมีความสำคัญมากในระบบนะครับ มีใครเคยเข้าไปดูไหม เข้าไปดูแล้วอย่าไปเล่นนะครับ ผมเคยสอนนักศึกษาเข้าไปดู เข้าไปดูโค้ดของมันว่าเขาเขียนอย่างไร แล้วเราเอามาเขียนตามนะครับ อันที่ 4 นะครับ วิธีการพิจารณาที่ 4 ก็คือเวลานะครับ ระยะเวลาที่ process นั้นอยู่ในระบบนะครับ ถ้า process ใดอยู่ในระบบนาน นั่นแสดงว่ามันมีความสำคัญนะครับ เช่น process ของอะไรครับ เราเปิดคอมพิวเตอร์ขึ้นมาปุ๊บ ที่ Run ก่อนเพื่อนเลยก็คือ process ของระบบปฏิบัติการมันจะ run ก่อนเพื่อนเลย นั่นแสดงว่ามันมีความสำคัญมากครับ ถ้าเราไม่เชื่อเราก็ลองไปลบ ลบระบบปฏิบัติการออกจากเครื่อง เครื่องก็จะทำงานไม่ได้ว่าจะโปรแกรมระบบปฏิบัติการ แล้วโปรแกรมอะไรอีกครับ ที่มันอยู่ในระบบนาน ๆ เลยโปรแกรมอะไรครับ นึกดูสิขึ้นมาแล้วมีตลอดเห็นตลอดนอกจากระบบปฏิบัติการ แล้วมีอะไรอีกโปรแกรมอะไร โปรแกรมอะไรเอ่ย โปรแกรม Antivirus ส่วนมากทุกเครื่องจะลง antivirus ไว้นะครับ Antivirus ก็จะมีทั้งใช้ฟรีเสียสตางค์ ผมแนะนำนะครับ เราอย่าไปโหลดโปรแกรมที่บอกว่าฟรีตลอดชีวิตนะครับ ใช้ฟรีตลอดชาติแบบนี้เขาเขียนไว้ตัวนั้นล่ะครับ ตัวดีครับ เป็นไวรัสยอมเสียสตางค์ 500 1,000 นะครับ ผมเคยโดนมาแล้วนะครับ นั่นก็คือไม่ยอมเสียสตางค์ใช้ฟรี ใช้ฟรีมาตลอด สุดท้ายตัวมันเองนั่นแหละ ที่เป็นไวรัสเองนี่คือการจัดคิวแบบเรียงลำดับความสำคัญนะครับ มีอยู่ 4 อย่างผู้ใช้กำหนดเอง อยู่ในระบบนาน ๆ นะครับ ยอมจ่ายสตางค์เพิ่มขึ้นนะครับ ประเภทของการจัดการโปรเซสนะครับ คราวนี้มาดูการจัดคิวกับที่ 4 นะครับ แบบที่ 4 การจัดคิวแบบ Source job next นะครับ เป็นอย่างไรการจัดคิวแบบนี้ การจัดคิวแบบนี้เขาบอกว่าเป็นการคัดเลือกการคัดเลือก และวิธีการเอาโปรเซสที่ต้องการเวลาน้อยที่สุดเ process มารอคิว 1 2 3 4 5 มันจะคำนวณว่าเข้าไปใน CPU แล้วเข้าไปครอบครอง CPU แล้วต้องการเวลาน้อยที่สุด เช่น โปรเซส A ต้องการใช้ 5 วินาที process b ต้องการใช้ 6 วินาที process c ต้องการใช้ 10 วินาที กำหนดเวลาควอนตัมไว้ที่ 10 วิ 5 วินะครับ ต้องการเวลาน้อยที่สุดคืออะไร ครับ คืออะไรเอ่ย process a หรือ b c A B C process อะไรครับ process ที่ต้องการเวลาน้อยที่สุดชื่อก็บอกอยู่แล้วว่าต้องการเวลาน้อยที่สุด ต้องเป็น process นะครับ การจัดคิวแบบที่ 5 นะครับ แบบที่ 5การจัดคิวแบบ srt การจัดการการจัดคิวแบบ srt นี้จะคล้าย ๆ กับการจัดคิว srt จะเลือกเอา process ที่เหลือเวลาน้อยที่สุดแบบตัวอย่างเมื่อกี้ต้องการ 1 วิ มีต้องการ 5 วิต้องการ 8 วิ สมมตินะการจัดคิวแบบที่จะเลือกเอาเศษที่เหลือเวลาน้อยที่สุดเมื่อมันเข้าไปครอบครอง CPU แล้วเหลือ 4 เวลาควอนตัมไป 5 วินาที