บทนี้เรื่องของ
เรื่องของการจัดการ 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 วิ
โปรเซส