(อาจารย์พิเชนทร์) ดูนะครับ บทนี้จะเป็นเรื่องของการจัดการCPU นะครับ CPU CPU นะครับ ถือว่าเป็นอุปกรณ์ที่สำคัญนะครับ ในคอมพิวเตอร์ของเรานะครับ ครับ ก็บทที่ 3 นะครับ เดี๋ยวสัปดาห์หน้าก็... อีก 2 บทแล้วก็ก่อนปริญญาเราจะสอบมิดเทอมนะคะ สอบเก็บคะแนนนะครับ CPU นะครับ เราจะเห็นว่ามันมีความสำคัญนะครับ เป็นหัวใจหลักของคอมพิวเตอร์เลย ดังนั้นการที่เราจะใช้งาน CPU ให้คุ้มค่า คือ หน้าที่หนึ่งของพวกเรานะครับ ที่ต้องจัดการอย่างไรดี นี่คือหลักการของการจัดการ CPU นะครับ การจัดการโปรเซสเซอร์นะครับ โปรเซสเซอร์หรือ CPU คือ ตัวเดียวกันการเปลี่ยนสถานะของ CPU ถือว่าเป็นค่าใช้จ่ายนะครับ ค่าใช้จ่ายในที่นี้นะครับ ของ CPU นี่ ก็คือเรื่องของเวลานะครับ การทำงานส่วนใหญ่ของโปรเซสเซอร์นะครับ ของ CPU นี่ ก็คือเรื่องของเวลาเรานะครับ จะทำอย่างไรให้มันใช้งานได้อย่างเต็มที่ อย่างมีประสิทธิภาพมันก็เป็นหน้าที่ของระบบปฏิบัติการนะครับ ซึ่งตัวของ CPU จะเสียเวลาอยู่ 3 งานนะครับ ก็คืน 1. เก็บค่า Register และสถานะของเครื่อง เปิดขึ้นมาปุ๊บเก็บไว้แล้วเสียเวลาอยู่อันที่ 1 นะครับ อันที่ 2 คัดเลือกโหลดเฟซในสถานะพร้อมเข้ามาครอบครองตัวมันเองนี่ก็เสียเวลานะครับ อันที่ 3 โหลดค่า Register และสถานะของเครื่องบน PCB นะครับ นี่คือตามงานที่ทำให้เกิดการเสียเวลาขึ้นนะครับ หน้าที่อันหนึ่งของระบบปฏิบัติการเลยนะครับ หน้าที่อันหนึ่งเลย นอกจากการจัดการโปรเซสแล้วนะครับ บทที่ 1 บทที่ 2 นะครับ แล้วก็มาแบบนี้ก็คือการจัดการ CPU แล้วจะทำอย่างไรนะคะ การทำงานของ CPU และมีประสิทธิภาพมากหรือน้อยขึ้นอยู่กับ CPU ขึ้นอยู่กับตัวของระบบปฏิบัติการด้วยนะครับ เรามาดูกันว่าในการค้นหาเลือกหาโปรเซสเข้ามาถือว่าเป็นหน้าที่ส่วนหนึ่งของ OS ซึ่งเราเรียกมันว่าการจัดคิวในระยะสั้น หมายถึง ความว่าการจัดคิวระยะสั้นนี่ หมายถึง การที่มันเลือกเอาโปรเซสที่ต้องการจะครอบครอง CPU เครื่องจักรคิวระยะสั้นก็มีหลายรูปแบบนะครับ แบบที่ 1 นะครับ แบบที่ 1 เลย ก็คือการจัดคิวแบบ FCFS นะครับ ก็คือ First come First Service คือ โปรเซสไหนมารอคิวก่อนได้เข้าไปครอบครอง CPU ก่อน อันนี้จัดง่ายมีโปรเซส 10 ตัวคิว 1 2 3 4 5 6 ก็เข้าไปครอบครองสิทธิ์อยู่ตามคิวที่ตัวเองต่อคิวเอาไว้นะครับ แต่ถ้าโปรเซสไหนเข้าไปใน CPU แล้ว ต้องการไปใช้งานอุปกรณ์ Input Output เช่น ไปทำงานส่งข้อมูลไปที่ Printer closest ออกไปโปรเซสใหม่ก็เข้ามาแทนที่เข้ามาครอบครองแทนนะครับ ในของเรานั้นเข้าไปครอบครองได้ทีละโปรเซสนะครับ ข้อดีจัดคิวง่าย อันนี้ง่ายเลยครับ ไม่ยุ่งยากครับ ข้อเสียต้องรอนาน ทำไมต้องรอนานครับ เนื่องจากว่าตัวของโปรเซสสมมตินะครับ ว่า Procress A เอาการเข้าไปครอบครอง CPU 1 วินาที Procress B การเข้าไปครอบครอง CPU 2 ชั่วโมง Procress C ต้องการเข้าไปครอบครอง CPU 3 วินาทีนั่นแสดงว่าโปรเซส4ต้องรอถึง 2 ชั่วโมงนะครับ ต้องรอนานนะครับ การจัดคิวแบบที่ 2 นะครับ การจัดคิวแบบที่ 2 การจัดคิวแบบนะครับ Round Robin การจัดคิวแบบนี้นะครับ เป็นการจัดคิวแบบวนลูบนะครับ ก็คือหมายความว่าเข้าไปแล้วนะครับ มีเวลาควอนตัมมาจับนะครับ การเข้าไปแบบคนรู้แบบวนลูบ แบบที่ 1 ไม่มีเวลาควอนตั้มแบบนี้เวลาควอนตัมคืออะไร จำได้ไหม หายไป 2-3 อาทิตย์ เวลาควันตัมเวลาควันตั้มคืออะไร ก็ไปสิเวลาควอนตัมคืออะไร อาทิตย์หน้าก็อีก 2 บทอาทิตย์ไปปริญญาสอบเวลาควอนตัมคืออะไรครับ เวลาที่กำหนดให้ CPU หรือให้โปรเซสเข้าไปครอบครอง CPU ได้นานเท่าไหร่ เช่น 5 วิ 10 วิ 15 วิ เพราะว่าไปนะครับ การจัดคิวแบบที่ 3 นะครับ การจัดคิวแบบลำดับความสำคัญ การจัดคิวแบบนี้จะดูว่า Process มารอคิวนั้นมีความสำคัญมากน้อยขนาดไหน เราจะเป็นคนกำหนดเองครับ ว่า Process ใดมีความสำคัญมากน้อยขนาดไหนนะครับ ยกตัวอย่างเช่น ซ้ายมือนะครับ Process B C D นะครับ ลำดับความสำคัญเท่ากับ 854 มันจะเลี้ยงข้าวตามคิวที่มีลำดับความสำคัญมากน้อยนะครับ สังเกตนะครับ เข้ามาต่อคิว Process ที่มีความสำคัญเท่ากับ 6 มันต้องจัดคิวแบบใหม่แล้วนะครับ จัดคิวเป็นแบบ B C D นะครับ นี่คือการจัดคิวโดยลำดับความสำคัญครับ จะรู้ได้อย่างไรว่า Process ใดมีความสำคัญ Process มีความสำคัญมีความสำคัญมากน้อยต่างกันอย่างไรนะคะ เรามาดูล่ะพิจารณานะครับ 1. ผู้ใช้เป็นเจ้าของ Process เป็นคนกำหนดเอง หรือตัวเราเองนะกำหนดเองว่า Process ใดมีความสำคัญมากน้อยขนาดไหนนะครับ Process ของผู้ควบคุมหรือผู้ดูแลระบบมีความสำคัญมากกว่า Process ของ User ธรรมดา นะครับ 2. ประเภทของ Process นะครับ ประเภทของ Process Process ที่มีความอยู่ในโหมดของแบตมักมีความสำคัญน้อยกว่าหมดแบตคืออะไร ครับ หมดแบตคือการทำงานเป็นลำดับขั้นนะครับ ผมยกตัวอย่าง เช่น สมมตินะสมมตินะ เราเขียนเกมเรากำหนดว่าอยู่ในโหมดของเรายิงระเบิดออกไป 2 วันถึงรู้ว่าระเบิดโดนฝั่งตรงข้ามหรือเปล่านะครับ มันประมวลผลเป็นลำดับขั้นตอนไปเรื่อย ๆ แต่ถ้าเป็นโหมดโต้ตอบยิงปุ๊บส่วนปั๊บเหมือนเกมนะครับ หรือเอาตัวอย่างหนึ่ง เช่น อุบลนะ อุบล ผมเดินมาเขกหวงอุบลเลย ถ้าอยู่ในโหมดแบต อุบลต้องคิดว่าเพราะอะไรอาจารย์ถึงมาเขกหัวผมและอุบลก็คิดต่อไปว่าเจ็บแล้วไปหาหมอประมาณนี้นะครับ ขั้นตอนไปถ้าเป็นในโหมดโต้ตอบผมเขกอุบล อุบลสวนกลับบ้านมาปั๊บ นี่คือโหมดของการแบบโต้ตอบนะครับ ดังนั้น การเขียนโปรแกรมในคอมพิวเตอร์แล้วนะครับ มันมีอยู่หลายโหมดดังนั้นโหมดโต้ตอบมักจะมีความสำคัญมากกว่าหมดแบตต้องรอประมวลผลนะครับ วิธีการพิจารณาลำดับความสำคัญอันที่ 3 ก็คือถ้าเราอยากรู้ว่า Process ใดสำคัญกว่ากันผู้ใช้ยอมจ่ายสตางค์ เราเคยสังเกตไหมครับ เวลาเราเปิดเว็บไซต์ บางทีเราเปิดขึ้นมาเว็บไซต์บางเว็บไซต์เป็นรูปกากบาท เคยเห็นไหม เคยสังเกตไหม โดยเฉพาะเว็บไซต์ที่เกี่ยวกับการศึกษา ช้าไหมครับ เช่น เว็บมหาวิทยาลัยเรา บางทีเปิดเข้าพร้อม ๆ กันหลาย ๆ คน หลาย ๆ คน น้อง ๆ ตอนนี้รับปริญญาใช่ไหมเข้ารับปริญญาเข้าลงทะเบียนพร้อมกันเป็นอย่างไรครับ ล่มไหมเข้าแทบไม่ได้เลยนะครับ ผมเคยบอกนักศึกษานะครับ แล้วก็บอกมาทุกรุ่นนะครับ การเขียนโปรแกรมเราไปดูการเขียนโปรแกรมของเว็บโป๊ ไม่ได้ให้ไปดูเว็บโป๊นะ ไปดูโค้ด ของ Source Code ของเว็บโป๊ทำไมเขาเขียนแล้วมันขึ้นเร็วจัง ทำภาพเคลื่อนไหวภาพนิ่งภาพทุกอย่างนะสังเกตนะแต่พอเราเวลาเรามาเขียนเว็บของเราพอเราขึ้นไปปุ๊บเป็นอย่างไรครับ ช้าบางทีไม่เห็นบางทีไม่มีเพราะอะไรครับ เพราะเราไม่จ่ายสตางค์ เว็บนี้ เว็บการพนัน เอาง่ายเว็บการพนันนี่ตัวดีเลย เห็นไหมขึ้นทุกที่เว็บการพนันเขาสามารถทำให้มันเร็วได้ เพราะว่าเขาไปเช่าพื้นที่เขายอมเสียสตางค์เยอะ ก็คือมีความสำคัญมากในระบบนะครับ มีใครเคยเข้าไปดูไหม เข้าไปดูแล้วอย่าไปเล่นนะ ผมเคยสอนนักศึกษาเข้าไปดูให้ไปดูโค้ดของมัน เขาเขียนอย่างไรนะครับ แล้วเราเอามาเขียนตามนะครับ อันที่ 4 นะครับ วิธีการพิจารณาอันที่ 4 ก็คือเวลานะครับ ระยะเวลาที่ Process มันอยู่ในระบบ ภาพ Process ใดอยู่ในระบบนาน นั่นแสดงว่ามันมีความสำคัญนะครับ เช่น Process ของอะไรครับ เราเปิดคอมพิวเตอร์ขึ้นมาปุ๊บ Process ที่รันก่อนเพื่อนเลย ก็คือ Process ของระบบปฏิบัติการ จะรันก่อนเพื่อนเลย นั่นแสดงว่ามันมีความสำคัญมาก กลับไปถ้าเราไม่เชื่อเราก็ลองไปลบจบนะครับ ลบออกลบระบบปฏิบัติการออกจากเครื่องเครื่องเราก็จะทำงานไม่ได้ออกจากโปรแกรมระบบปฏิบัติการแล้วโปรแกรมอะไรครับ ที่มันระบบนาน ๆ เลยโปรแกรมอะไรครับ ลองนึกดูสิ เปิดขึ้นมาแล้วมีตลอดเห็นตลอด อย่างนี้นอกจากระบบจัดการแล้วมีอะไร อีกโปรแกรมอะไรโปรแกรมอะไรเอ่ยโปรแกรมแอนตี้ไวรัส ผมว่าทุกเครื่องจะลง Antivirus ไว้ Antivirus จะมีทั้งใช้ฟรีเสียสตางค์ ผมแนะนำนะครับ ว่าเราอยากไปโลดโปรแกรมที่บอกว่าใช้ฟรีตลอดชีวิต ใช้ฟรีตลอดชาติครับ ไอ้ตัวนั้นน่ะครับ ตัวดีเป็นไวรัส ยอมเสียสตางค์ เสียเงิน 500 1000 กลับกัน ผมเคยโดนมาแล้วนะคะ คือ ไม่ยอมเสียสตางค์ใช้ฟรีใช้ฟรีมาตลอดขายตัวมันเองน่ะเป็นไวรัสนะครับ นี่คือการจัดคิวแบบเรียงลำดับความสำคัญนะครับ มีอยู่ 4 อย่าง ผู้ใช้กำหนดเองนะครับ อยู่ไหนอ่ะระบบนาน ๆ นะครับ ยอมจ่ายสตางค์เพิ่มขึ้นนะครับ ประเภทของโปรเซสมาดูการจัดคิวกับ PC นะคะ แบบที่ 4 การจัดคิวแบบ นะครับ เป็นอย่างไรกันที่แบบนี้ถ้าจะคิดแบบนี้เขาบอกเป็นการคัดเลือก ดูวิธีการเลือกเอาโปรตีนที่ต้องการเวลาน้อยที่สุด Process มารอคิว 1 2 3 4 5 จะรอเข้าไปสิอยู่แล้วเข้าไปครอบครองสิทธิ์อยู่แล้วต้องการเวลาน้อยที่สุด เช่น Process A ต้องการใช้เวลา 5 วินาทีโหลด Process B ต้องการใช้ 6 วินาที Process C ต้องการใช้เวลา 10 วินาทีกำหนดเวลาควรตั้งไว้ที่ 5 วินาทีนะครับ โปรเซสที่ต้องการเวลานานที่สุดคืออะไร ครับ คืออะไรเอ่ย Process A A หรือ B หรือ C Process อะไรครับ ต้องการเวลาที่สุดพี่ก็บอกกูแล้วต้องการเวลาน้อยที่สุดต้องเป็นโปรเซสนะคะ การจัดคิวแบบค่านะครับ แบบที่ 5 การจัดการการคิวแบบ SRT นี้คล้าย ๆ กับการจัดคิวแบบ SRT จะเลือกเอา Process ที่เหลือเวลาน้อยที่สุดตัวอย่างเมื่อกี้ Process ต้องการ 1 Process B ต้องการ 5 วินาที 4 ต้องการ 8 สมมตินะ บัญชีแบบ... บอกเลือกเอา Process ที่เหลือเวลาน้อยที่สุดเมื่อมันเข้าไปครอบครอง CPU แล้วโปรเซสใช้ 1 วิหรือว่า 40 ใช่ไหมเพราะเวลาคนตามกำหนดไว้ 5 วิ Process