--- title: ทดสอบฝึกพิมพ์ ระบบปฏิบัติการและเทคโนโลยีแพลตฟอร์ม (ปี1) subtitle: date: วันศุกร์ที่ 13 สิงหาคม 2564 เวลา 09.50 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) ได้ยินแล้วค่ะ อาจารย์พ่อ (อาจารย์) ก็สวัสดีเด็ก ๆ ทุกคนนะครับ ก็ให้พวกเราอดทนนะครับ ช่วงนี้ก็ COVID มันยังไม่ซาเลยนะครับ ได้ยินข่าวแว่ว ๆ มาว่ามหาวิทยาลัยจะหยุดต่อไปถึงสิ้นเดือนนะครับ ก็รอฟังประกาศอีกครั้งหนึ่ง ให้เรียนออนไลน์ต่อถึงสิ้นเดือนนะ ก็รอฟังประกาศ เราก็เรียนอย่างนี้ล่ะครับ ผมเองถามว่าอาจารย์พ่อเบื่อไหม นั่งสอนอยู่บ้าน เบื่อนะครับ มันไม่เห็นหน้าพวกเรา แล้วยิ่งวิชาพวกเรายิ่งต้องปฏิบัติด้วยนะครับ ต้องปฏิบัติด้วยต้องทำ ก็ให้อดทนเอานะครับ แป๊บเดียวเดี๋ยวก็ผ่านนะครับ ซึ่งโดยเฉพาะวิชาที่ผมสอน เป็นวิชาที่ค่อนข้างจะทำความเข้าใจยากนะครับ เพราะเป็นวิชาทฤษฎี อย่างเมื่อเช้าที่เราเรียนกับอาจารย์แม่ ก็ค่อนข้างเข้าใจยากนะครับ แต่ถ้าเรามาเจอกันนะครับ ที่ห้องเรียนมันก็ได้พบปะพูดคุยขีดเขียนกัน มันจะเข้าใจกว่า ไม่เป็นไรก็อดทนเอา เดี๋ยวเราก็ผ่านไปนะครับ ในรายวิชาผมนะครับ ก็จะไม่ทำให้พวกเราซีเรียสนะ ก็หลายวิชาก็ทำให้เราเครียดแล้ว ภาษาไทย คณิตศาสตร์ ว่าบวกลบอย่างไรนะครับ ก็เดี๋ยวเจอกันนะครับ เจอกันในห้องเรียนจะสนุกกว่านี้เยอะนะครับ ห้องแล็บ เราต้องให้พี่ ๆ อาทิตย์ละครั้ง 2 ครั้ง ก็ไปเปิดเครื่องไว้ เพราะเครื่องมันไม่ได้ใช้งานนะครับ เดี๋ยวมันจะเสื่อมสภาพก่อนนะครับ ครับ วันนี้ก็มาดูนะครับ มาดูในหัวข้อเรื่องนะครับ การจัดการ Process นะครับ Process หรือ Process นะครับ บรรยายอยู่คนเดียวนี่ เหมือนอะไรก็ไม่รู้นะ ไม่เห็นหน้าพวกเรานะครับ ปกติเวลาสอนไปต้องเดินไปดูตรงนั้นตรงนี้นะครับ การจัดการ Process นะครับ หรือ Process Process นะครับ ก็หมายถึงโปรแกรมที่กำลัง ก็คือมันถ้าหลาย ๆ คนก็อาจจะเคยได้ยิน โปรแกรมกำลังครอบครอง CPU โปรแกรมกำลังมีคนให้ความหมายเยอะนะครับ ที่กำลัง Excuse Excuse พวกเราคงจะเคยได้ยินนะ Excuse เขียนโปรแกรมนะครับ พอเราเขียนโปรแกรมเสร็จ เอาไปทำงานจริงนะครับ เราก็ต้องไป Excuse นี่ล่ะครับ ถ้าหลายคนมองภาพไม่ออกนะครับ ในคอมพิวเตอร์เราก็จะมีนามสกุลอยู่ไม่กี่ไฟล์นะครับ ที่เอาไปทำงานได้ นั่นก็คือไฟล์ที่มีนามสกุล .com นะครับ c-o-m นะครับ ย่อมาจาก Command นะครับ แล้วก็จะมีนามสกุล .exe นะครับ ก็คือ Excuse นี่ล่ะครับ คือ โปรแกรมที่ทำงานได้เลย ซึ่งในลักษณะของการที่โปรแกรมกำลัง Excuse อยู่นั้น ในระบบคอมพิวเตอร์ของเรานี่ล่ะครับ เช่น ใช้ CPU ใช้อุปกรณ์รอบข้าง ใช้ Printer อะไรหลาย ๆ อย่างนะครับ ในการที่เราเรียกว่าโปรแกรมกำลัง Excuse นะครับ Multi Programming คืออะไร นะครับ Multi Programming ก็คือโปรแกรมสามารถทำงานได้มากกว่า 2 โปรแกรมในเวลาเดียวกัน ซึ่งทั้งหมดนี้ ตัวของระบบปฏิบัติการ จะเป็นผู้... นะครับ เป็นผู้ทำหน้าที่นะครับ หน้าที่ในการจัดการทั้งหมดเลยนะครับ จึงเป็นหน้าที่อันสำคัญอันหนึ่ง จะจัดการกับ Process อย่างไรนะครับ คราวนี้เรามาดูองค์ประกอบของ Process นะครับ บริเวณบ้านพักอาจารย์พ่อก็จะมีเสียงก่อสร้าง ตึงตัง ๆ อยู่ เราก็ฟังไปด้วยนะครับ คราวนี้เรามาดูองค์ประกอบของ Process นะครับ Process ที่สมบูรณ์นั้นนะครับ จะมีองค์ประกอบดังนี้นะครับ 1. Process ทุก Process จะต้องมีชื่อนะครับ และก็หมายเลข Process นะครับ ซึ่งหมายเลขประจำตัวของ Process นั้นเหมือนกันได้ไหม เหมือนกันไม่ได้นะครับ ถ้าเหมือนกันแสดงว่าเป็น Process ตัวเดียวกันนะครับ เหมือนกับหมายเลขบัตรประจำตัวของเรานะครับ 13 หลัก ถ้าเหมือนกันเมื่อไหร่แสดงว่าเราเป็นคนคนเดียวกัน เพราะฉะนั้น เป็นคน ๆ เดียวกัน Process เป็นของใครของมันนะครับ องค์ประกอบตัวที่ 2 ก็คือ Code Program ซึ่งโค้ดโปรแกรมก็จะเป็นภาษาเครื่องนะครับ ที่สามารถ Excuse ได้ทันทีนะครับ เหมือนที่เรา ถ้าเราได้เรียนในชั้นเรียนนะ เรายังเข้าชั้นเรียนไม่ได้นี่ ถ้าเราเรียนกับอาจารย์แม่ เราก็จะมีการเขียนโปรแกรมนะครับ พอเราก็เขียนเสร็จปุ๊บ พอเราเขียน Code ก็ต้องแปลงมาเป็น Code นะครับ เพื่อที่จะทำงานได้ทันทีนะครับ องค์ประกอบอันที่ 3 ก็คือ Process ทุกตัวจะมีข้อมูลนะครับ ซึ่งข้อมูลนั้นก็จะเป็นข้อมูลของใครของมันนะครับ และ หรือนะครับ หรือจะใช้ร่วมกับตัวอื่น ๆ ฐานข้อมูลก็จะเป็นการใช้ข้อมูลร่วมกันนะครับ องค์ประกอบอันที่ 4 ของ Process ก็คือ Process นะครับ หรือ PCB Process Coltro block PCB นี้นะครับ (ล่าม) ขอโทษนะคะ ก็จะเป็นตอนนี้อาจารย์พ่อบรรยายอย่างเดียว ไม่ได้เปิด PowerPoint ร่วมด้วยใช่ไหมคะ (อาจารย์) ไม่เห็นหรอ (ล่าม) ตอนนี้เหมือน อาจารย์พ่อยังไม่ได้ตรึงน่ะค่ะ (อาจารย์) แป๊บนะ (ล่าม) ได้ค่ะ (อาจารย์) ไหนล่ะ นี่หรือ (ล่าม) ขึ้นแล้วค่ะพ่อ ขอบคุณค่ะ ถึงไหนแล้วไม่รู้ ต่อนะครับ องค์ประกอบอันที่ 4 นะครับ PCB Process Control Block นะครับ ในตัวของ PCB นั้นนะครับ OS จะกำหนดเนื้อที่เพื่อทำตัวมันเองนะครับ ประกอบไปด้วย Pointer นะครับ Pointer Degister ก็จะถูกเก็บไว้ที่ CTB นะครับ หรือ Process Control Block นะครับ Pointer คืออะไรนะครับ Pointer คือ ใช้ชี้ตำแหน่งของ Process ในหน่วยความจำนะครับ เพราะทุกครั้งที่ Process นะครับ จะเข้าไปทำงานในคอมพิวเตอร์นั้นนะครับ จะต้องมีการใช้ Lesty ในหน่วยความจำนะครับ สิ่งที่ 2 ที่อยู่ใน PCB นะครับ ในสไลด์ต่อ ๆ ๆ ไปนะครับ Process ทุกตัวจะมีสถานะเปลี่ยนไปเรื่อย ๆ นะครับ ส่วนที่ 3 ก็คือเก็บหมายเลขของ Process นะครับ ซึ่ง Register เราจะพูดในส่วนต่อไปนะครับ และก็เก็บเวลาการจัดการของ CPU นะครับ นี่คือสิ่งที่อยู่ใน PCB นะครับ ข้อมูลการจัดการหน่วยความจำ สรุปแล้วใน PCB นี้ จะเก็บใมนหน่วยนะครับ ซึ่งข้อมูลตรงนี้นะครับ จะไปถูกกันไว้ที่หน่วยความจำหลักของเรานะครับ องค์ประกอบต่อไปนะครับ ก็คือโปรแกรม Status Word นะครับ หรือ PSW ซึ่งตัวนี้จะเป็นตัวควบคุมลำดับการ Excuse ของ Process นะครับ ซึ่งจะเก็บข้อมูลสถานะไว้นะครับ Process ไหนมีความสำคัญมากกว่าก็เข้าก่อนเข้าหลัง อันนี้จะเป็นตัวลำดับนะครับ อันสุดท้าย ก็คือคุณสมบัติ ก็คือนะครับ Process นั้นจะมีคุณสมบัติดังต่อไปนี้นะครับ ลำดับความสำคัญ 2. อำนาจหน้าที่ 3. คุณสมบัติอื่น ๆ ที่ OS เป็นคนกำหนดนะครับ ทีนี้มาดูคุณสมบัติของ Process ทำไมถึงบอกว่า Process นั้นจะต้องมีลำดับความสำคัญนะครับ เพราะ Process ทุกตัวจะต้องใช้งานใน CPU ใช้งานในหน่วยความจำนะครับ Process ไหนจะเข้าไปทำงานใน CPU ได้ จะต้องเรียงลำดับความสำคัญเข้าไป ก็จะมีความสำคัญไม่เท่ากันนะครับ ความสำคัญน้อยกว่าของผู้ควบคุมระบบ อย่างนี้เป็นต้นนะครับ อำนาจหน้าที่ของ Process ก็คือ Process แต่ละตัวจะมีอำนาจหน้าที่ไม่เหมือนกันนะครับ แล้วส่วนคุณสมบัติอื่น ๆ ก็คือแล้วแต่ OS เป็นผู้กำหนด ซึ่งตัวของระบบปฏิบัติการนะครับ ก็มีหลายตัวใช่ไหม เช่น Windows นะครับ iOS ทำอะไรได้บ้าง แอนดรอยด์ อะไรพวกนี้ คุณสมบัติอื่น ๆ ตรงนี้จะเป็นคุณสมบัติของ OS นั้น ๆ นะครับ ในรายวิชา OS มันทำงานอย่างไรนะครับ มันเชื่อมหากันอย่างไรนะครับ เช่น เราส่งรูปภาพจากโทรศัพท์มือถือระบบ Android อย่างนี้ ทำไมถึงส่งไปที่ OS ได้ หรือเราส่งจากวินโดวส์ 10 ส่งเข้าไปใน Android อย่างนี้ ทีนี้เรามาดูสถานะของ Process นะครับ เด็ก ๆ นะครับ เรียนไปแล้วก็ก็ฟังเพลิน ๆ ไป อย่าไปซีเรียสมากนะครับ เพราะว่าวิชานี้ถ้าถามผมว่ามันค่อนข้างเข้าใจยากไหม พอสมควรครับ ผมมาเข้าใจเนื้อหาของรายวิชานี้ตอนไหนรู้ไหม ตอนที่ผมมาเป็นอาจารย์นะครับ สอนมาอยู่ 5 ปี ถึงเข้าใจวิชานี้ อ๋อ มันเป็นอย่างนี้นี่เอง ซึ่งเนื้อหามันค่อนข้างเข้าใจยาก นามธรรมนะครับ ถ้าใครเรียนแล้วมาไปแล้วรู้สึกว่าทำไมมันยากจัง อย่าไปซีเรียสมากนะครับ เดี๋ยวเราเจอในห้องแล็บ เดี๋ยวจะพาทำว่าทำไมมันถึงไม่ยากนะครับ คราวนี้เรามาดูสถานะของ Process นะครับ จากที่ผมบอกนะครับ Process จะมีการเปลี่ยนสถานะอยู่ตลอดเวลานะครับ ซึ่งเราก็สามารถแบ่งสถานะของ Process ได้ดังนี้นะครับ สถานะแรกนะครับ ก็คือสถานะเริ่มต้น Process จะเริ่มที่สถานะเริ่มต้น ก็คือเป็นสถานะที่เริ่มสร้าง Process ขึ้นมานะครับ สถานะที่ 2 สถานะพร้อมกันนะครับ ก็คือสถานะที่ Process พร้อมกัน จะเข้าไปครอบครอง CPU พร้อมเข้าไปนะครับ แต่ยังไม่ได้เข้าไปนะครับ สถานะที่ 3 ก็คือสถานะรัน ก็คือสถานะที่ Process เข้าไปครอบครอง CPU และมีการ Execute คำสั่ง คือ เข้าไปรันโปรแกรมนั่นเองนะครับ สถานะต่อมา ก็คือสถานะ รอ รอ ก็คือสถานะที่ Process กำลังรอเหตุการณ์ใดเหตุการณ์หนึ่งเกิดขึ้น เช่น ออกไปใช้งานอุปกรณ์ Input, Output ยกตัวอย่างเช่น Printer ออกไปพิมพ์งาน หรือรอสัญญาณ WiFi ต่าง ๆ ก็คือมันจะรอนะครับ มันจะรอนะครับ สถานะต่อมาของ Process ก็คือสถานะ Block สถานะ Block ต้องการใช้อุปกรณ์นะครับ หรือเกิด Interrupt ระหว่างการรันโปรแกรม การรัน Process นะ Interrupt จำได้นะ การติดต่อกันระหว่าง CPU กับอะไรได้หรือเปล่านานนะ ตั้ง 3-3 อาทิตย์นะ ไปเปิดสไลด์ดูนะ ย้อนหลังดู ส่วนสถานะสุดท้าย คือ สถานะสิ้นสุดแปลงสถานะของ Process นะครับ ดูรูปนะครับ เห็นไหมครับ เริ่มต้น เริ่มต้นมาพร้อม พร้อมเสร็จ เข้าไป Run Run เสร็จก็จบ นี่คือการเปลี่ยนสถานะของ Process นะครับ แต่ถ้าเมื่อไรเราเริ่มต้นเข้ามาปุ๊บ เกิดเหตุการใดเหตุการณ์หนึ่ง ออกไปหาอุปกรณ์ Input, Output เช่น ออกไปพิมพ์นะครับ ออกไปพิมพ์ก็โดนมาที่สถานะรอ พอรอเสร็จก็ย้อนกลับไปใหม่ ไป Run นะครับ ถ้าไม่เกิดเหตุการณ์ใดก็จบ นี่คือการเปลี่ยนสถานะของ Process นะครับ (ล่าม) อาจารย์คะ ๆ สไลด์อาจารย์ไม่เลื่อนน่ะค่ะ ยังอยู่หน้าองค์ประกอบของ Process อยู่น่ะค่ะ (อาจารย์) ผมไปถึงสไลด์นี่ ทำไมถึงไม่เลื่อนล่ะ (ล่าม) แต่คือล่ามทำตามที่อาจารย์บรรยายไปแล้วค่ะ สไลด์ไม่เลื่อนหรอ (ล่าม) ค่ะ (อาจารย์) ตรงนี้มันยังค้างอยู่หรือ (ล่าม) ค้างอยู่ค่ะ อาจารย์พ่อ แป๊บหนึ่ง หน้าจอ... เห็นไหมครับ (ล่าม) ตอนนี้อยู่ขั้นตอนการเปลี่ยนสถานะของ Process แล้วค่ะ (อาจารย์) ก็อย่างที่อาจารย์พ่อบอกไปเมื่อกี้นะครับ การเปลี่ยนแปลงนี่ ถ้าเกิดเป็นโปรแกรมปกตินะครับ มันก็จะเริ่มต้นพอเริ่มต้น พร้อมนะครับ เข้ามาพร้อม ถ้าพร้อมเสร็จก็เข้ามารัน รันเสร็จนี่คือกระบวนการของ Process นะครับ การเปลี่ยนสถานะนะครับ ซึ่งถ้าไม่มีเหตุการณ์อะไรเกิดขึ้น ก็จะมีลักษณะแบบนี้นะครับ เปลี่ยนไหมหน้าจอ อ่าวหรอ ทำไมมันไม่เลื่อนให้ล่ะ พอดีผมเปลี่ยนสไลด์แล้วนะ ทำไมมันไม่เลื่อน (ล่าม) ตอนนี้สไลด์อยู่ที่ขั้นตอนการเปลี่ยนสถานะของ Process ค่ะ (อาจารย์) ที่เป็นรูปภาพหรือเปล่า (ล่าม) ไม่มีภาพ เป็นข้อความค่ะ (อาจารย์) มันไม่ยอมเปลี่ยนมันขึ้นอยู่หน้าเดียว (ล่าม) อันนี้เปลี่ยนเป็นภาพที่มีเริ่มต้น พร้อมรัน แล้วก็สิ้นสุด อันนี้หน้าสไลด์หน้านี้ค่ะ มันก็จะเหมือนเดิมที่แชร์ไป ก็เลือกอยู่นะทำไมมันไม่ขึ้น ทำไมเราแชร์ตรงนี้ใช่ไหม พอเรานำเสนอ พอเราเลื่อน สไลด์ (ล่าม) (อาจารย์) ฝั่งเราเลื่อนอยู่ ฝั่งโน้นไม่เลื่อน (เจ้าหน้าที่) มันไม่ขึ้นเป็นหน้านำเสนอเลยค่ะ (อาจารย์) ก็แชร์ เอาใหม่นะ เลื่อนไหมครับ (ล่าม) ตอนนี้สไลด์อยู่ที่หน้าขั้นตอนเปลี่ยน Process (ล่าม) อันนี้เปลี่ยนน่าจะได้แล้ว หน้าโปรแกรมมันไม่ไป ขอบคุณมาก ครับ ก็เมื่อกี้เป็นรูปนะครับ เปลี่ยนแปลงสถานะของ Process นะครับ ก็คือเริ่มต้นมาพร้อม มา Run มาสิ้นสุด แต่คราวนี้การทำงานจริงในระบบคอมพิวเตอร์ที่เข้ามาทำงานในระบบคอมพิวเตอร์ของเรานะครับ จะเกิดถ้าเราดูรูปเมื่อกี้นะครับ ถ้าเราเริ่มต้น Process A มาพร้อม ถ้า Process A มาพร้อม มารัน ใช้เวลา สมมตินะครับ 30 นาที Process B แล้วก็มาพร้อม ใช้เวลา 5 วินาทีถ้าเรามองจะภาพนี้ เราจะเห็นว่าในสถานะ End Process จะเข้าไปครอบครอง CPU ได้แค่ตัวเดียว ไม่สามารถเข้าไปได้มากกว่า 1 ตัว ดังนั้น จะเห็นว่า Process A เข้าไปในสถานะรัน แล้ว 30 นาที ส่วน Process B มารอต้องการใช้แค่ 5 วินาที จะเห็นว่า Process B จะต้องรอให้ Process A เข้าไปถึง 30 นาทีก่อน ปัญหานี้จะเกิดขึ้น มันจะทำให้ Process B เสียเวลานะครับ จะทำให้ระบบคอมพิวเตอร์ของเราจึงต้องมีการกำหนด กำหนดเวลาในการเข้าไปครอบครอง CPU นะครับ เราเรียกมันว่า เวลา ควอนตัมนะครับ นะครับ เวลาควอนตัม เขาถามว่า ถ้าเราถามว่า "เวลาควอนตัมคืออะไร" เวลา ควอนตัม ก็คือเวลาของตัว OS กำหนดเวลาว่า Process อยู่ในสถานะรัอยู่ได้ในสถานะรันนะครับ ซึ่งในแต่ละระบบปฏิบัติการมีเวลา ควอนตัม แตกต่างกัน 8 วินโดวส์ 10 หรือตัวของ Linux นะครับ ตัวของหลาย ๆ ตัวนะครับ ที่เราใช้งานอยู่นะครับ ซึ่งเดี๋ยวเวลาที่เราปฏิบัติลง OS พาไปดูว่าเวลาใช้เท่าไร แต่ละเพราะถ้าเราไม่มีเวลาควอนตัมนะครับ ก็จะทำให้เกิดการเสียเวลานะครับ Process จะต้องรอ รอเข้าไปครอบครอง CPU นะครับ แต่คือรูปภาพเห็นไหมครับ ถ้าเราเข้ามาเริ่มต้น มาพร้อม ถ้าเราไม่มีเวลา ควอนตัมกำหนดนะครับ มันก็จะแช่อยู่ตรงรันนี้นะครับ ถ้าเวลาควอนตัมหมด สมมติว่าถ้าเรากำหนดเวลา ควอนตัมไว้ 5 วินาที ทุก Process จะเข้าไปในสถานะรันได้ภายใน 5 วินาทีนะครับ หลายคนก็อาจจะสงสัยว่าแล้วถ้าทำงานมากกว่า 5 วินาทีละทำอย่างไร ถ้าเกิดทำงานมากหรือเข้าไปครอบครอง CPU มากกว่า 5 วินาที มาก็จะถูกส่งกลับมาที่พร้อมใหม่นะครับ และ Process ที่ต่อคิวก็เข้าไปนะครับ พอเข้าไปเสร็จ เหมือนควอนตัม ซึ่งในระบบคอมพิวเตอร์จริง ๆ มันจะทำงานด้วยความเร็วสูงนะครับ เราเลยดูประหนึ่งว่ามันไม่ได้สลับเข้าสลับออก มันไม่ได้เปลี่ยนเวลาควอนตั้มกันนะครับ คราวนี้มาดูกรณีเกิดปัญหาขึ้นนะครับ ถ้าเกิดมีการ Interrupt ก็จะมีสถานะหนึ่งเกิดขึ้นก็คือสถานะ Block นะครับ สถานะบล็อกเกิดขึ้นอย่างไรนะครับ ก็คือในขณะที่ Process กำลังอยู่ในสถานะ Run บังเอิญว่า Process นั้น เราสั่งโปรแกรมโปรแกรมหนึ่งเข้าไปแล้วรัน พอรันอยู่ ขณะรันอยู่นั้นเราต้องการที่จะไปพิมพ์งานนะครับ ที่เครื่องพิมพ์จำนวน 200 แผ่นนะครับ ซึ่งเราออกไปพิมพ์งาน 200 แผ่น ขณะที่เราไปพิมพ์งาน 200 แผ่นนั้นนะครับ Process จะอยู่เฉย ๆ นะครับ จะไม่ได้ทำงานที่ CPU มันจะถูกผลักออกเป็นสถานะบล็อก เพื่อทำให้ CPU ว่าง ให้ Process เข้ามาแทนที่ นี่คือการเกิดสถานะ Block นะครับ ดูรูปเห็นไหมครับ พอพร้อมเสร็จ รันปุ๊บ กลับไปพร้อมใหม่มันก็จะเป็นอย่างนี้นะครับ คราวนี้มาดูหัวข้อต่อมานะครับ การติดต่อกันระหว่าง Process นะครับ เมื่อมี Process มากกว่า 1 Process นะครับ เวลาที่มันจะติดต่อกันมันจะทำอย่างไรนะครับ ดูรูป เห็นไหมครับ การติดต่อลักษณะนี้ ก็คือการติดต่อโดยการใช้หน่วยความจำร่วม ข้อมูลไปให้ Process B ต้องการส่งข้อมูลไปให้ Process B ก็จะมารับที่หน่วยความจำนะครับ หลายคนอาจจะสงสัยว่าProcess B Process ใคร Process ใครนะครับ อย่างที่เราบอก มันจะมีองค์ประกอบอันที่ 1 มันก็จะมีชื่อใช่ไหมครับ มีชื่อ มีหมายเลขของตัวเองนะครับ ดังนั้น พอเราส่งเข้าไปปุ๊บ หน่วยความจำนะครับ ถ้าเรามองหน่วยความจำไม่ออก เช่น เราอยู่หมู่บ้านจัดสรรมันก็จะเหมือนกันหมดเลยใช่ไหมครับ หลังคา รั้วอะไรต่าง ๆ นี่ แต่เราจะรู้ได้อย่างไรนะครับ ว่าบ้านนั้นเป็นของใคร ซึ่งในหน่วยความจำก็จะมี Address อยู่นะครับ ค่า Address อยู่ข้างในว่าเป็นของใคร Process A ก็จะมีชื่อของตัวเองอยู่ นี่คือ ก็คือติดต่อผ่านหน่วยความจำร่วมนะครับ อันที่ 2 นะครับ นอกจากติดต่อผ่านหน่วยความจำร่วมแล้ว รู้จัก Port ไหมเด็ก ๆ รู้จักนะครับ การติดต่อผ่าน Port ก็จะเป็นการรับ-ส่งข้อมูลที่สะดวกมากกว่านะครับ Port ก็มีเยอะแยะมากมายนะครับ Port USB ซึ่งปกติอยู่ในห้องแล็บก็จะเอาเครื่องมาตั้งแล้วก็ให้เราดูว่าอันนี้คือพอร์ตอะไรนะครับ ซึ่งตัวของ OS จะทำหน้าที่รับส่งข้อมูลให้นะครับ ก็ลักษณะคล้าย ๆ กับหน่วยความจำร่วมนะครับ ซึ่งโครงสร้างของ Port ก็จะมีอยู่ 3 แบบนะครับ โครงสร้างพอร์ต สไลด์อยู่ที่ LINE กลุ่มเรานะครับ ก็ส่งให้ พี่อุ้ยแล้วนะครับ ปัจจุบันมี 3 แบบ แบบที่ 1 คือ แบบคิว ชื่อก็บอกนะครับ แบบคิว พอร์ตแบบคิวจะเป็นโครงสร้าง ส่งข้อมูลเข้ามาในพอร์ตนะครับ เข้าก่อนออกก่อน เป็นคิว มาก่อนเข้าก่อน แต่นะครับ ก็คือมีขนาดพอร์ตที่คงที่นะครับ คือ Port แบบไปรท์ ก็จะเหมือนแบบคิวแล้วมันต่างกันอย่างไรครับ ต่างกันตรงที่ว่า Port แบบไปรท์ ขนาดของพอร์ตต่างกัน เช่น สมมติว่าพอร์แบบคิว ก็เข้ามาได้แค่ 14 นะครับ มา 10 ได้ 10 มา 100 ขยายได้ 100 ปัจจุบันก็ใช้แบบนี้Port แบบที่ 3 คือ Port แบบ Stack ก็คือเข้าก่อน ข้อมูลที่เข้าไปก่อนจะออกทีหลังนะครับ เราคงไปเรียนรู้ในรายวิชาโครงสร้างข้อมูล ซึ่งเราคงยังไม่เรียนนะ น่าจะปี 2 นะครับ ปีหน้าได้เรียนนะครับ ซึ่งผมจะไม่พูดรายละเอียดเยอะ AND OR นี่ ปัญหาการทำงานของ Process นะครับ ปัญหาที่ 1 หรือการเลื่อนไปอย่างไม่มีวันสิ้นสุดนะครับ Process มีความสำคัญไม่สามารถได้เข้าไปครอบครอง CPU ก็คือปัญหาการอดตายนะครับ ยกตัวอย่างให้ดูเช่นนะครับ เครื่องพิมพ์ Process A และ B แต่ Process ที่จะได้ใช้ ก็คือ Process ที่มีความสำคัญสูงกว่านะครับ เช่น สมมติว่า Process A มีความสำคัญมากกว่า Process B นั่นแสดงว่า Process A จะได้เข้าไปใช้เครื่องพิมพ์ ส่วน Process ก็จะไม่ได้เข้าไป ถ้ามี Process C มาต่อคิวอีก บังเอิญว่า Process C มีความสำคัญสูงกว่า พอ A เสร็จ C จะเข้าไปแทนที่ B มันจะเกิดปัญหาการอดตายขึ้นนะครับ ถ้าเรามองภาพไม่ออกนะครับ ผมยกตัวอย่างให้ฟัง เช่น สมมติว่าที่อาคาร 13 เรามีการสร้างห้องน้ำใหม่อยู่ด้านข้างนะครับ เป็นห้องน้ำทองคำ ทองคำ ห้องน้ำทองคำ ห้องน้ำทองคำเราเปรียบเสมือนเป็น แล้วมีคนจะมาใช้งาน 2 คนนะครับ คนแรกก็คือผมเองนะครับ เดินเข้าไปแล้วจะเข้าห้องน้ำ มีบางคนอีกคนหนึ่งมา คนที่ 2 เป็นอธิการฯ อธิการฯ มาสะกิดหลังผม ว่าพิเชนทร์ ๆ ผมขอเข้าก่อนนะ ต้องให้อธิการก่อน เพราะอธิการใหญ่กว่าเรา พออธิการฯ เข้าไปใช้ห้องน้ำปั๊บ อธิการเปิดออกมา มีคนมาต่อท้ายผมอีก ผมก็กำลังจะเข้าต่ออธิการฯ ปรากฏว่า คนมาต่อท้ายสะกิดว่าพิเชนทร์ ๆ ผมเป็นผู้ว่าราชการจังหวัด ผมจะได้เข้าไหม แต่ว่าที่เราเอาไปตอบในข้อสอบ เรื่องเข้าห้องน้ำ สมัยก่อนอยู่โน่น อาคาร 7 ข้อสอบมาบอกว่าปัญหาการอดตายเป็นลักษณะอย่างไร รุ่นพี่เราหลายคนเขียนห้องน้ำมาเลยนะครับ นึกออกนะครับ ปัญหาที่ 2 นะครับ ปัญหาการปิดตาย หรือ Deadlock ก็ไม่ควรให้เกิดขึ้นนะครับ ในระบบคอมพิวเตอร์เรา ปัญหาที่ 2 ยิ่งหนักนะครับ การติดตาย การ Deadlock หลายคนอาจจะสงสัยว่าทำไมอาจารย์พ่อเลื่อนสไลด์ไอ้ที่ตรงข้อความนั้นอธิบายแล้วนะ การปิดตายเกิดจากเมื่อ Process ใด ก็แล้วแต่ครอบครองทรัพยากรตัวเองอยู่ และในขณะเดียวกันก็ยังต้องการไปครอบครองทรัพยากรของ Process อื่น ดูในรูปนะครับ ทรัพยากร A เป็นของ Process นะครับ ทรัพยากร B ก็ Process ที่ 2 ครอบครองอยู่ครอบครองของเขานะครับ A ก็ครอบครองของ A ของ Process ที่ 1 ในลักษณะเดียวกันฉันครอบครองเธออยู่ แต่ฉันก็ต้องการไปเอาทรัพยากรของคนอื่น หรือยกตัวอย่างง่าย ๆ เหมือนผมไปขอยืมสตางค์แฝด แฝดอาจารย์พ่อยืมสตางค์หน่อย 100 ล้าน แต่ลักษณะเดียวกัน แฝดก็บอก อาจารย์พ่อ แฝดขอยืมตังอาจารย์พ่อหน่อย 200 ล้าน แต่ต่างคนต่างไม่ได้ควักสตางค์ให้กัน ปัญหาการติดตาย จบบทที่ 2 นะครับ ทุกลักทุเลน่าดูนะ วันนี้นะครับ หลายคนคงจะงง ๆ นะ ถามแฝดหน่อย แฝดงงไหม หลายคนคงงงนะครับ ไม่ต้องงงนะครับ สมัยอาจารย์พ่อเรียน โครตงงเลย เดี๋ยวเราเข้ามาในมหาวิทยาลัย จะได้เรียนรู้หลาย ๆ อย่างนะครับ ซึ่งพวกเราฉีดวัคซีนกันทุกคนหรือยังครับ เด็ก ๆ ฉีดหรือยัง แฝดฉีดแล้วใช่ไหม ไม่กลัวแล้วใช่ไหม ไม่กล้าฉีดครับ (ล่าม) คนอื่นยังไม่ได้ฉีดนะคะ ฉีดมาเข็มหนึ่ง ได้ข่าวว่าความดันขึ้นหรือแฝด ฉีดเลยครับ มีอาจารย์แม่เจ้าคนเดียวฉีดไปแล้ว เรายังรอวัคซีนทางเลือกเราอยู่นะครับ มันจะมีแบบฝึกหัดท้ายบทนะครับ ในสไลด์อ่าน ๆ ไปอย่างนั้นล่ะครับ ยังไม่ให้ทำครับ เดี๋ยวเจอกันในห้องแล็บเดี๋ยวจะพาทำ คือ ถ้าเราเข้ามาอยู่ในห้องแล็บนะครับ บวกเลขกันอยู่ใช่ไหม คือ ถ้าเราเข้ามาอยู่ในห้องแล็บนะครับ พี่อุ้ยก็จะเดินช่วยในห้องแล็บ เดินกันแต่ละเครื่อง ๆ ก็ว่ากันไปได้แต่ละห้อง แต่ละคนนะครับ (อาจารย์) เด็ก ๆ มีอะไรจะถามเพิ่มเติมไหม นอกจากเรื่องเรียนก็ได้นะครับ (ล่าม) มีไหม ไอ้เจ้าธัญลักษณ์ เจ้าแฝดโยนให้ ธัญลักษณ์ น่าจะมีปัญหา (อาจารย์) อ๋อ (ล่าม) มีไหม (อาจารย์) มีปัญหาไหม (ล่าม) เดี๋ยวสักครู่นะคะ ก็อยากจะถามนะครับ แฝด (อาจารย์) ถามมาได้เลย (ล่าม) ใครถามแฝดหรือว่าธัญลักษณ์ การเปิดเรียนของมหาวิทยาลัยครับ จะเปิดวันไหนใช่ไหม วางแพลนมามหาวิทยาลัย แฝดมาบ้านหรือ อยู่ใช่ไหม หรือว่าหอพักแบบไหน ตอนนี้แฝดอยู่บ้านน่ะค่ะ (อาจารย์) คือตอนนี้ที่เขาประกาศล่าสุดก็ถึงวันที่ 15 นะครับ 15 สิงหาคม แต่คราวนี้ผมได้ยินข่าวแว่ว ๆ มา ของฟังประกาศจากจังหวัดนะครับ ถามว่ามหาวิทยาลัยอยากเปิดให้เราไหม อาจารย์พ่อ อาจารย์แม่ก็เบื่อ แล้วยิ่งวิชาพวกเรานี่เป็นวิชาปฏิบัตินะครับ เราต้องปฏิบัติ เราต้องทำในเครื่องคอมพิวเตอร์ของเรา ไม่มีโน้ตบุ๊กใช่ไหม ไม่มีคอมพิวเตอร์นะครับ แต่ถ้าเรามาในมหาวิทยาลัยนี่ เรายังมีคอมพิวเตอร์ใช้อดทนเอาลูก พอเราเข้ามาเต็มรูปแบบเต็มรูปแบบ เราก็จะได้เรียนรู้ที่หลากหลายมากขึ้นนะครับ ซึ่งผมก็จะพาพวกเราทำอะไรอีกหลายอย่าง ก่อนนะ รุ่นพวกเรายังไม่เท่าไรนะ ปี 4 น่ะ เพราะติด COVID เก็บเงินกันแล้ว เตรียมตัวกันแล้วจองรถแล้ว ปรากฏว่าเขาปิดประเทศไป ซา ๆ ลงแล้ว ผมก็ยังจะต้องพารุ่นพี่เราไปดูงานนะครับ ก็จะไปด้วยนะ เพราะว่ารถบัสมหาวิทยาลัยนั่งได้ 30 คน ถ้าเอาไปปี 3 18 คน เหลือที่นั่งอีกครึ่งหนึ่งนะครับ เอาพวกเราไปด้วยเลย เอาแฝดไปเปิดหูเปิดตานะ ว่า COVID ต้องซาลง แต่ถ้า COVID ไม่ซา เราก็จะไปไหนไม่ได้น่ะครับ เพราะเล่าให้เราฟัง ก็คือรุ่นพี่เรา พอกลับมาจาก ม.นครพนม อาทิตย์ถัดมาขอนแก่นนะ มมส. สารคาม และก็จะวางแพลนไปโคราช กลับมาเขาปิดจังหวัดเลยครับ ไปได้แค่ ม. เกษตร กับ ม. นครพนมนะครับ พวกเราทุกปีนะครับ ผมจะออกไปดูมหาวิทยาลัยข้างเคียงนะครับ ดูว่าเขาเป็นอย่างไรนะครับ พาพวกเราไปเปิดหูเปิดตาว่าง่าย ๆ ครับ ค่าเที่ยว หาเงินกินข้าวเที่ยงเองนะครับ ให้พวกเราไปได้ดูชาวบ้านนะครับ และที่สำคัญให้เขารู้ว่ามีพวกเราอยู่คลายเครียดนะ ปี 4 รุ่นแรกผมพาไปได้ครบเลยครับ นะครับ ที่ขอนแก่น เขาไม่รู้ว่าเราเป็นใครนะครับ จำนวน 23 คน เราไปยืนอยู่หน้าห้องสมุดที่มหาวิทยาลัยขอนแก่น เขาก็ไม่ได้สนใจอะไรเราเลยครับ แต่ปรากฏว่าเขาให้เจ้าหน้าที่นะครับ มาต้อนรับเรา พอเขามาต้อนรับเรา เขาพาเข้าไปห้อง แล้วเขาก็งง ว่าเราทำอะไรกัน เพราะเราส่งภาษามือคุยกันนะครับ เขาก็ถามว่าอาจารย์ทำไมไม่คุยกันดี ๆ ผมบอกแบบนี้ ปรากฏว่าเขาก็เลยไปตามผู้อำนวยการนะครับ ของห้องสมุดนะครับ มาหาพวกเรา มาต้อนรับพวกเรา มาคุยกับเรา แล้วก็พาเราเดินไปทุกชั้นตึกใน มข. เขามีนักศึกษาอยู่ 2 คนนะครับ ตอนนั้นนะ ๆ ปีนั้นที่พารุ่นพี่เราไป เขาก็เลยย้อนถามว่าที่สกลนครทำไมรับเยอะจัง ตั้ง 23 คนนะครับ แล้วก็เป็นจุดเริ่มต้นที่พาพวกพี่เราได้ไปเปิดหูเปิดตา ได้ไปเรียนรู้ แต่ขอให้โควิดมันซา ก็อยากจะฝากลูก ๆ ทุกคนนะครับ ว่าถ้ามีปัญหาอะไรนะครับ ไม่ว่าจะเรื่องเรียน เรื่องส่วนตัว ก็คุยได้นะครับ เราสามารถคุยผ่านพี่ล่ามได้ อาจารย์แม่โดยตรงเลย แต่ถ้าเราได้เข้ามาที่มหาวิทยาลัยนะครับ ใครไม่มีข้าวกินก็แวะมาที่บ้านได้นะครับ เพราะปกติรุ่นพี่เรา แฝดรู้จักหรือยังพี่โจโจ้ตอนนี้พี่โจโจ้อ้วนมากเลยนะพี่โจโจ้ก็จะมาอาจารย์พ่อจะเรียกมาที่บ้านบ่อย มาเอาของกินไปกินนะครับ เมื่อกี้กระท้อนมะม่วงหมดไปแล้ว ก็แวะเวียนมาได้นะครับ ว่าถ้ามีปัญหาอะไรก็คุยกันนะครับ ให้แจ้งนะครับ มีอะไรอีกไหมครับ เด็ก ๆ มีอะไรจะถามไหม (ล่าม) ผมนะครับ เหมือนกับแบบว่าตอนนี้มหาวิทยาลัยปิดใช่ไหมครับ ก็ หมายความว่าแบบไหน หมายความว่าแบบไหน คือเขาบอกว่าวันที่ 15 ต้องไปหรือเปล่าครับ (อาจารย์) มหาวิทยาลัยเขาไม่ใช่คำว่าปิดนะ มหาวิทยาลัยน่ะเปิดแล้วเพียงแต่ว่าเขาไม่ให้เราจัดการเรียนการสอนในมหาวิทยาลัยโรงเรียนเหมือนกันทั่วประเทศ เขาไม่ให้เข้ามาในโรงเรียน แต่มหาวิทยาลัยไม่ปิด เปิดแล้ว ส่วนวันที่ 15 นะครับ ก็เดี๋ยวอาจารย์พ่อจะแจ้งหอในอยู่แล้วอยู่แล้วใช่ไหม ใครบ้างที่อยู่หอในตอนนี้ (นักศึกษาชาย) ผม2 คนเองจะมีจันทกานต์คือว่าตอนนี้เห็นไม่ทุกคนน่ะค่ะ สักครู่นะคะ (นักศึกษาชาย) ผมอยู่บ้าน จริง ๆ ขนของเข้าหอแล้วนะครับกลัว COVID นะครับ แวะมาบ้านมาเอาเสื้อหน่อยสิ อาจารย์พ่อแจกเสื้อ มาหลอยรอบ 2 รอบนี่ แล้วแฝดนี่เก็บไว้ให้ต่างหากเดี๋ยวอาจารย์แม่เอาเสื้อมาให้ดูหน่อย แฝด แฝดเจ้าสีอะไร สีแดง สีเหลือง (อาจารย์) สีเหลืองก่อน ตอน ให้พี่อุ้ม มาที่บ้านให้พี่อุ้ยพี่แต๋มพาเข้ามาก็ได้ เพราะเมื่อวานอาจารย์พ่อนับไปนับมา เสื้อทำไมมันเหลือน้อยจังนะครับ ปรากฏว่ารุ่นพี่มาหรอยเรื่อย ถ้าใครว่างนะก็แวะมา อีกตัวหนึ่งนะครับ แต่แฝดไม่ต้องมานะ แฝดอยู่บ้านนั่นล่ะ เดี๋ยวให้อาจารย์แม่เก็บไว้ให้ ส่วนใครอยู่หอในก็ให้แวะมาเอานะวันนี้ก็ขอบคุณพี่ล่าม (อาจารย์) บ๊ายบายเด็ก ๆ ทุกคนนะครับ