--- title: ระบบปฏิบัติการและเทคโนโลยีฯ subtitle: date: วันพฤหัสบดีที่ 30 มิถุนายน 2565 เวลา 13.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์พิเชนทร์) พี่ล่ามถอดหน้ากากได้ไหมครับ ของการจัดการ Process นะครับ เราเคยได้ยินไหม Process ครับ ถามหมู่ 1 เคยได้ยินไหมครับ คำนี้ เรียนตั้งแต่มัธยม Process คืออะไรเอ่ย Process ครับเขาบอกว่านะครับ เขาให้ความหมาย ความหมายเยอะแยะนะครับ แต่ความหมายที่เราใช้กันนะครับ เอกสารยังไม่ได้หรือ อยู่กับใครเอกสารหมดหรือยัง อยู่กับใครครับเอกสาร เหลืออยู่กับใครมีไหม อยู่กับใครครับ เอกสารเหลือน่ะ หมดไหมครับ บทที่ 2 น่ะ อยู่กับใคร เหบลืออยู่กับใคร มันต้องเหลือสิ่มันต้อง 50 ชุดนะครับ ถ่ายมา อยู่ไหนล่ะ ห้อง 1 มันยังไม่เห็นเอกสารอาทิตย์ที่แล้ว วางไว้ที่โต๊ะไหนหรือหมู่ 1 หมู่ 1 หมู่ 1 ส่ยังไม่ส่งใช่ไหม เห็นแต่ของห้อง 2 แต่ผมตรวขแล้วนะครับผมตรวจแล้วก็คืนให้แล้วนะครับ ใครมาช้ามาเอานะครับเอกสารที่ผมตรวจนะครับผมจะไม่ได้ตรวจให้ทุกขอ้ัให้เฉย ๆ นะครับ เป็นการตรวจเช็กแต่ละสัปดาห์แล้วก็เราเอาไว้อ่านสอบนะครับ เพราะว่าตอนนี้เราเรียน 2-3 สัปดาห์แล้วนะครับ จะครบเดือนแล้ว เดี๋ยวสัปดาห์หน้านะครับ ห้องหมู่ 2 จะไม่อยู่นะครับ ผมก็ไม่อยู่นะครับ สัปดาห์หน้าเราไม่มีนะครับ เราจะยกเลิกคลาสนะครับ เพราะว่าหมู่ 2 จะไปศึกษาดูงานข้างนอกนะครับ ผมก็ไปด้วยนะครับ ทั้งวันนะครับ สัปดาห์ถัดไปปิดใช่ไหม หยุด สัปดาห์ถัดไปอีกเรียน สัปดาห์ถัดไปหยุดอีก เดือนนี้หยุดเยอะนะครับ มาดูนะครับ Process นะครับ Process Process เขาให้ความหมายว่า Process คือ โปรแกรมที่กำลังถูก Execute คืออะไร เคยได้ยินไหมครับเขาบอก Process คือ โปรแกรมที่กำลังถูก Execute เป็นอย่างไรครับ Exsikผมเชื่อว่าพวกเราจบมัธยมศึกษาปีที่ 6 มา มันต้องเคยได้เนเรียนหรือยัง เรียนหรือยังครับหมู่ 1 เรียนแล้วใช่ไหม นะครับ ถามตอบด้วยเด้อ ถามตอบมีปฏิสัมพันธ์ด้วยนะครับเพราะเราทุกวันนี้นะครับ เราค่อนข้างขาดปฏิสัมพันธ์นะครับผมเข้าใจนะ พวกเราเป็น Generนะครับ เราเจนอะไรครับเรา Genaration อะไร Gen Y หรอ แม่นหรอ ใช่ไหม ใช่หรือ เรา Gen y หรือ Gen อะไรดียังไม่รู้อีกตัวเอง Gen อะไร เดี๋ยวไปถามห้อง 2 ยังไม่ถามห้อง 2 ถามห้อง 1 ก่อน ตอนนี้พวกเรามีปัญหานะครับ เรื่องของความแตกต่างระหว่าง Genaretionรุ่นผมนี่ คุยกับพวกเรานี่ไม่ค่อยรู้เรื่อง จริงไหม เราคนละ Generation นะครับ รุ่นพวกเรานี่ ความอดทนน้อยนะครับ รอได้ไหม รอไม่ได้นะครับ จะเอาเดี๋ยวนี้จะกินข้าวก็จะกินเดี๋ยวนี้ ถ้าจะให้ไปต่อคิวก็ไม่ไป เห็นไหมครับ มันถึงเกิดอะไรขึ้นมา ขายพวกแก๊บ พวก Food Panda ใช่ไหม จากที่ผมอ่านนะครับ อ่านทดสอบก่อนเรียนพวกเรา ก็พื้นฐานพอ ๆ กันนะ พอ ๆ กันนะครับ ก็คือ ยังไม่เข้าใจ ความหมาย ยังไม่เข้าใจหลักการของคอมพิวเตอร์มาก ก็ไม่เป็นไรนะครับ จริง ๆ อย่างที่ผมบเราควรจะจัดให้เรียนอยู่ชั้นปีที่ 3 นะครับ แต่เราก็มาจัด ปี 1 เทอม 1 ก็ไม่เป็นไรนะครับ ก็ปรับเอา เขาบอกว่า Process โปรแกรมที่กำลังถูก Execute สัปดาห์ก่อนใช่ไหม พอเราส่งข้อมูลจากคีย์บอร์ดใช่ไหมครับ ส่งจากคีย์บอร์ปุ๊บเข้าไปไหนครับ คิดตามเข้าไปไหนคีย์บอร์ด คือ Input ใช่ไหม พอเข้าไปในคอมพิวเตอร์เราเรียกว่าเข้าไปอะไร ไปประมวลผลใช่ไหมครับ ประมวลผลเสร็จทำอะไรต่อก็ไปแสดงผลใช่ไหม นี่คือหลักของมัน Input ประมวลผล Process แล้วก็ออกไป Output เขาบอกว่า Process คือโปรแกรมกำลังถูก Execute นั่นหมายความว่า... บางคนให้ความหมายว่าเป็นโปรแกรมที่เข้าไปครอบครอง CPUหรือเข้าไปใช้งาน CPU แล้วแต่เอกสารตำราแต่ละคนแต่งนะครับ คือ หลักการคำว่า "Process" ก็คือโปรแกรมที่กำลังถูก Excil ในคอมพิวเตอร์เรา มันจะมีไฟล์อยู่ไฟล์หนึ่ง เป็นนามสกุล ไฟล์ทุกไฟลืต้องมีนามสกุลดูรายละเอียดต่อไปนะครับ ก็คือนามสกุลที่ .exe เคยเห็ฯไหมเคยสังเกตไหมเวลาเราใช้หรือไม่รู้เปิดขึ้นมาใช้แล้วก็ปิดนะครับ เราอย่าไปดูในสไลด์อาจารย์มากนะ อาจารย์ก็พูดไปเรื่อยนะ มันไม่ได้อยู่ในนี้ คราวนี้ถ้า Process ถ้าโปรแกรมเดียว โปรแกรม...ทำงานปุ๊บเป็นอย่างไรครับ ยุ่งยากไหม Imput เสร็จ เข้าไปประมลผลเสร็จเข้าไปประมวลผลเสร็จ แสดงออก ถ้าโปรแกรมเดียวไม่มีปัญหานะครับ แต่ถ้าเมื่อไหร่ก็ตามที่มีหลาย ๆ โปรแกรมทำงานพร้อมกัน ที่เขาบอกว่าเป็นระบบหลายโปรแกรม เขาบอก Process อาจเปรียบได้กับรถยนต์ คือ มีรถยนต์หลายคัน และตัวของCPU เอง ก็เปรียบเหมือนคนขับ เหมือนกับว่า คอมพิวเตอร์เรา แต่มีคนต้องการใช้งานเยอะ โปรแกรมเยอะ ต้องทำอย่างไรครับวิธีการมัน ถ้าเป็นเรา เราทำอย่างไรครับเช่น มีรถอยู่ 5 คัน มีคนขับอยู่คนเดียว ทำอย่างไรจึงจะขับเข้าๆพร้อมกันได้ ลากรถ 4 คัน คนอื่นล่ะคนอื่นล่ะทำอย่างไร คนอื่นมีวิธีการอื่นไหมครับ หลักการคอมพิวเตอร์เวลาทำงานใช่ไหม โปรแกรมจะเข้าไปทำงาน เข้าไปครอบCPU ได้ที่ละ 1 โปรแกรม ก็เหมือนคนเรานี่ขัยรถ ขับได้ทีละคัน จะลากจะพ่วง ทำไม่ได้ หลักการทำไม่ได้ ทำอย่างไรดีล่ะ วิธีการก็คือขึ้นไปขับคันที่ 1 จากราชภัฏสกลนคร แล้วไปจอด กลับมาขับครั้งที่ 2 ก็มา... คันที่ 4 คันที่ 5 นะครับ พอถึงขับไปใหม่ขับไปถึงหน้าประตูเมือง ย้อนไปที่ 1, 2, 3, 4, 5 อย่างนี้นะครับ แต่ เวลาทำงานจริงเป็นอย่างไรครับ คอมพิวเตอร์ทำงานด้วยความเร็วสูงไหม หายใจทันไหมครับ ทันไหม ไม่น่าทันนะ การทำงานจริง ๆ มันจะทำงานเหมือนที่อาจารย์ยกตัวอย่างเมื่อกี้ ไปทีละคัน ๆ แต่พอมาทำงานจริงมันทำงานได้ความเร็วสูง มันเลยเหมือนประหนึ่งว่ามันไปพร้อม ๆ กันเลย นะครับ นี่คือหลักการทำงานของคอมพิวเตอร์ อย่างยกตัวอย่างนี้ ระบบCPU เป็นคนขับโปรแกรมหลาย ๆ โปรแกรม เหมือนรถนะครับทำอย่างไรให้ไปด้วยความเร็วสูง คราวนี้มาดูองค์ประกอบของ Process นะครับ Process มีองค์ประกอบอะไรบ้าง พอเรียนจบบทนี้นะครับ นักศึกษาก็จะงง เริ่มงงนะ มันเริ่มเหมือนบทที่ 1 ใช่ไหมพื้นฐานนะครับ งงไม่ต้องตกใจครับ ค่อย ๆ ปรับนะครับ ปรับสภาพแวดล้อม ปรับสภาพหลาย ๆ อย่างนะครับ แล้วตอนนี้ห้องแล็ปเราก็ยังใช้ไม่ได้ใช่ไหมอาจารย์เข้าแจ้งหรือยังว่าใช้ได้เมื่อไหร่ อาคาร 7 เรา ไม่แจ้งเพราะว่าเราไม่รู้ว่าจะใช้ได้เมื่อไหร่ ผมแวะไปเมื่อวานก็ไม่มีทีท่าว่าจะได้ใช้เลยนะ คนทำก็นั่งทำง็อกแง็ก ๆ อยู่คน 2 คนเทอมนี้ผมว่าไม่น่าทันนะ น่าจะได้ใช้เทอมหน้านะครับ เทอมหน้าก็ เราอยากได้เทอมหน้า ก็เป็นรุ่นพวกเราได้ใช้นะครับ เทอมหน้าองค์ประกอบตัวที่ 1 ของ Process นะครับ ก็คือ 1. Process ทุกวตัวจะต้องมีชื่อและหมายเลขประจำตัว นะครับ Process ID นะครับ และจะต้องไม่ซ้ำกันนะครับ เหมือนชื่อ ไฟล์น่ะ ได้ไหมครับ ชื่อไฟลืนามสกุลไฟล์นะครับ องค์ประกอบ Process อีกตัวหนึ่ง คือ ชื่อและหมายเลขประจำตัวเหมือนหมายเลขบัตรประจำตัวเรานเราซ้ำกันได้ไหมครับ ได้ไหม ไม่ได้นะครับ แต่ถ้าถามย้อนกลับว่าชื่อและนามสกุลมีโอกาสซ้ำกันได้ไหม ได้นะครับเพราะอะไร เช่น อาจจะมีพิเชน จันทร์ปุ่ม เหมือนกัน เพราะอะไรครับ เพราะอาจจะมีญาติพี่น้องนามสกุลเหมือนกัน บังเอิญว่าชื่อพิเชนทร์มันเพราะ เลยตั้งเหมือนกัน เลข 123 หลักห้ามซ้ำกัน องค์ประกอบอันที่ 2 ของ Process ทุก Proมีโค้ดนะครับ เป็นโค้ดนะครับ เป็น code เป็นรหัส คำว่า "โค้ด" ก็คือจะต้อง Execute ได้ทันที คือภาษาเครื่องแปล้รียบร้อยแล้วนะครับ องค์ประกอบอันที่ 3 ก็คือข้อมูล Data ข้อมูลนี้นะครับ เขาบอกว่าโปรแกรมต้องการหรือจัดการข้อมูลอาจจะเป็นของ Process ใด Process หนึ่ง หรืออาจจะใช้ข้อมูลร่วมกันกับ Process ใช้ร่วมกันได้ ตัวอย่างของ Process ที่ใช้ข้อมูลร่วมกัน เช่น Process ในระบบฐานข้อมูลนะครับ เช่น ฐานข้อมูลระบบทะเบียนราชภัฏสกลนคร เช่นเรามารายงานตัวเป็นนักศึกษานะครับ ขึ้นทะเบียนปุ๊บ พอเราไปห้องสมุดก็ใช้ฐานข้อมูลเดียวกัน ในการเงิน ก็ใช้ฐานข้อมูลชุดเดียวกันนะครับศูนย์คอมไปกองก็ฐานข้อมูลอันเดียวกันนะครับ โดยใช้ฐานข้อมูลร่วมกันนะครับ องค์ประกอบอันที่ 4 ของ Process ก็คือProcess Control Block นะครับ หรือบล็อกควบคุมโปรแกรม ระบบปฎิบัติการจะกำหนดเนื้อที่บางส่วน กำหนดเนื้อที่บางส่วนในหน่วยความจำ ทำเป็น Process Contoln bOหรือ PCB นะครับ กำหนดไว้ทำไมนะครับ ก็คือ 1. กำหนดไว้เป็น Process กำหนดไว้เพื่อเป็นเก็บหมาเลขความสำคัญของ Processอยู่ใน PCB นะครับ ใน Process แต่ละตัวจะมีบล็อกควบคุมโปรแกรมหรือ PCB อยู่นะครับ ซึ่ง PCB นี้ก็จะเก็บสถานะของ Processแล้วก็เก็บลำดับความสำคัญของ Process เอาไว้นะครับ นอกจากนั้นก็ยังเก็บสารสนเทศที่เกี่ยวกับการจัดการหน่วยความจำของ Process ข้อมูลรับส่งข้อมูลของ Process หรือเก็บข้ามูลสำคัญของ Proใน PCB นั่นเองนะครับ พื้นที่จัดเก็บ คือ Register นะครับRegister คือ หน่วยความจำขนาดเล็ก ที่ในหน่วยความจำ ส่วนในรายละเอียดต่าง ๆอาจารย์จะพูดในบทที่ 3, 4, 5 นะครับ อันนี้พูดคร่าว ๆ ก่อน ให้พวกเรามอภาพกว้าง ๆ ครับผม ดูต่อนะครับ องค์ประกอบต่อมา นะครับ ของ Process ก็คือ นะครับหรือ PSW นะครับ Program Status Words นะครับ เป็นตัวควบคุมลับดับของ Exciของ Process มันจะบอกว่า Process นี้จะเข้าไปครอบครองCPU ลำดับที่เท่าไรนะครับ ต่อมานะครับ คุณสมบัติของ Process นะครับ แต่ละ Process จะมีคุณสมบัติดังต่อไปนี้นะครับ ก็คือ 1. Process ทุกตัวจะมีบำดับความสำคัญ ต่างกันนะครับ Process ทุก Process จะมีลำดับความสำคัญ เช่น Process A อาจจะมีความสำคัญมากกว่า Process B หรือ Process ของผู้ดูแลรับอาจจะมีความสำคัญมากกว่าขของ User อย่างนี้ อันที่ 2 คุณสมบัติอันที่ 2 อำนาจหน้าที่Process ทุกตัวจะมีอำนาจหน้าที่ที่ต่างกัน เช่น Process ของผู้ดุแลระบบมีอนาจ มากกว่าของ User อย่างนี้เป็นต้นนะครับ หรือ คุณสมบัติอื่น ๆ ที่ OS กำหนด อันนี้ขึ้นอยู่กับ OS ครับ เช่น ใช้ Windows 8 ใช้ Windows 10ของ Process ก็จะต่างออกไป ยกตัวอย่างเช่นนะครับ Windoes 8สามารถตั้งชื่อได้ ความยาวกี่ตัวอักษรรู้ไหม เคยไหม อาจารย์จะยังไม่บอกว่ากี่ตัวอักษรนะ เราสามารตั้งชื่อได้นะ นะครับ กับ Windows 11 ต่างกันไหม ลองดูนะ ลองดูจะไปลองตอนภาคปฏิบัติ ลองสิว่าเราถ้าเกิดเป็น WindowWindows 11 สามารถตั้งชื่อความยาวกี่ตัวนะครับ นี่คือคุณสมบัติที่แต่ละตัวเป็นคนกำหนดนะครับ เมื่อกี้องค์ประกอบของ Process นะครับ คราวนี้องค์ประกอบของ Process นะครับสไลด์นะครับ อยู่กับพี่พลอยนะ พลอยค่อย เอาขึ้นให้น้องนะครัอาจารย์ลืมอัปลงในไลน์กลุ่มนะครับ แวะดูก่อนนะครับ คราวนี้มาดูสถานะของ Process นะครับ Process ก็แบ่งออกเป็นสถานะได้ดังต่อไปนนี้นะครับ สถานะพร้อมเป็นอย่างไร สถานะพร้อมเป็นสถานะพร้อมที่ Processพร้อมที่จะใช้ CPU ทันทีที่ OS มอบหมายให้ รอแล้ว เหมือนเรารอคิวแล้ว ยืนรอแล้ว รอเข้าไปครอบครอง CPU หรือรอเข้าไปใช้งาน CPU เราเรียกว่า "สถานะพร้อม" เช่น เราจะไปเข้าห้องน้ำ ห้องน้ำเป็น CPU แล้วนะครับ เรายืนรอคิวนี่ เราพร้อมแล้ว พร้อมจะเข้าไปใช้งานเราเรียกว่า "สถานะพร้อม" นะครับ สถานะที่ 2 คือ สถานะ run Run คืออะไรครับ สถานะ Run เป็นสถานะProcess กำลังครอบครอง CPU อยู่CPU อยู่ ก็คือเข้าไปครอบครอง CPU ที่เราเรียกว่า Run Progarm นี่คือสถานะ Run นะครับสถานะที่ 3 นะครับ สถานะติดขัด เขาบอกว่าสถานะติดขัดเกิดจากการที่ Process หยุดรอเหตุการณ์ใดเหตุการณ์หนึ่งให้เกิดขึ้น โดย Process ไม่จำเป็นต้องใช้ CPU และมันต้องไปครอบครอง CPU เราไม่รู้เหตุการณ์นั้นคือเหตุการณ์อะไร ไม่รู้ยกตัวอย่างเช่น ผมกับแม็กกี้หรือกับอุบล ผมเป็น Process A ไปยืนรอคิวในสถานะพร้อม อุบลรอผมคนที่ 2 คนที่ 2 ผมเปลี่ยนจากสถานะพร้อมเข้าเป็นสถานะ Run ก็คือ เข้าไปครอบครอง CPU อุบลก็รออยู่สถานะพร้อม ในจังหวะที่ผมกำลังครอบครอง CPU อยู่ บังเอิญว่าผมจำเป็นจะต้อง ไปพิมพ์งาน ไปพิมพ์เอกสาร ช่วงที่พิมพ์เอกสาร ผมจะต้องออกไปที่พรินต์เตอร์ไปที่พรินเตอร์ แล้วช่วงที่ออกไปที่พรินเตอร์นี่ต้องใช้งาน CPU จังหวะนี่ล่ะครับ เรียกว่าสถานะติดขัด คือเกิดเหตุการณ์ที่ตัวของ Process ออกไปติดต่ออุปกรณ์รองข้าง จังหวะนี้อุยลก็จะเข้ามาแทนที่ผม นึกออกไหมนะครับ ถ้าเขาถามว่าสถานะติดขัดจากอะไร เราก็บอกว่าเกิดจากสถานะที่ Process เข้าไปครอบครอง CPU แล้วนะครับ แต่เกิดเหตที่ Processเอไม่จำเป็นจะต้องครอบครอง CPU ต่อ หรือ ไปติดต่ออุปกรณ์ข้างนอกอุปกรณ์รอบข้างแทน ต้องปล่อย CPU ออกไป Process ใหม่ก็เข้ามาครองแทนที่นะครับ นี่คือสถานะติดขัด สถานะต่อมานะครับ สถานะพักเขาบอกสถานะพัก ก็คือาถานะ Process ไม่มีการทำงก็คือจบสมบูรณ์ เช่น ผมไปครอบครอง CPU ทำงานเสร็จสิ้นแล้วปุ๊บ ออกจบเลย มาทำงานต่อ ได้พัก จบนะครับ ซึ่ง Process นั้นนะครับสามารถที่จะเปลี่ยนสถานะหนึ่งเป็นสถานะหนึ่ง ได้ตลอดเวลา นะครับ ขึ้นอยู่ว่า ณ ตรงนั้นอยู่ในสถานะอะไร อาจจะพร้อม พร้อมเสร็จเข้าไป Run Run เสร็จปุ๊บต้องไปติดต่ออุปกรณ์รอบข้าง เป็นสถานะติดขัด พอติดขัดเสร็จก็ กลับไปพร้อมใหม่ พร้อมเสร็จเข้าไป Run Run เสร็จแล้ว จบแล้วไปพักนะครับ มันจะเปลี่ยนไปอย่างนี้ตลอดเวลานะครับ อันนี้อาจารย์อธิบายไปแล้วนะครับ อันนี้อาจารย์ ฮธิบายไปแล้วนะครับลอง ดูรูปนะครับ เห็นไหมครับ ในรูปภาพอธิบายการเปลี่ยนสถานะของ Process ใช่ไหม เหมือนที่อาจายร์อธิบายไปเมื่อกี้ ยืนต่อคิวเลย 1 2 3 4 5 พร้อมไหม พร้อม พอพร้อมเสร็จ ได้เวลา โอเค Run ทีละตัวทีละโปรแกรมทีละ Processe ถ้ามีอะไรเกิดขึ้น จบครับ พักเลย นี่คือการเปลี่ยนสถานะของ Processแต่ถ้าเกิดเหตุการณ์ใดเหตุการณ์หนึ่งขึ้นนะครับเพราะอะไรครับ รูปนี้ รูปนี้ มาพร้อมมา Run แล้วก็จบ ถ้าสมมติว่า Process แต่ละตัวเข้าไป Run ไม่ใช้เวลาไม่เท่ากันจะเกิดอะไรขึ้นนะ เช่น Process A เช่นผม พร้อมเข้าไป Run 2 วินาที แล้วก็จบ มีอะไรเกินขึ้นไหม ไม่มี คราวนี้อุบล อุบลมาต่อคิวมาพร้อมอุบลเข้าไป Run ปุ๊บ อุบลบอกผมใช้เวลา 3 ชั่วโมง เป็นอย่างไรครับเราก็จบ ใช่ไหม คราวนี้นิ่ง 3 คนที่ 3 มาต่อคิวพร้อม แต่ปรากฏว่ามิ่งต้องการใช้เวลาแค่ 1 วินาที แตค่ต้องรออุบล 3 ชั่วโมงนึกออกไหม นึกภาพตามนะ ดังนั้นในระบบคอมพิวเตอร์ของเรานั้นมันจะต้องไม่ให้เกิดเหตุการณ์นี้เกิดขึ้น มันจึงต้องกำหนดเวลาขึ้นมา คุณจะต้อง เข้าไปเวลานี้แล้วจบนะ เราเรียกเวลานี้ว่าเวลาควอนตัม ถ้าย้อนถามกลับว่าเวลาควอนตัมคืออะไร คืออะไรครับคือเวลาที่ ถูกกำหนดไว่ว่า Process แต่ละตัวสามารถเข้าไปครอบครอง CPU ได้เป็นเวลาเท่าไร หรือนานเท่าไร เช่น เรากดหนดเวลา ควอนต5 วินาทีสมมตินะ 5 วินาที แสดงว่า Process ทุกตัวจะสามารถเข้าไปครอบครองได้แ5 วินาที เช่น เมื่อกี้อย่างเมื่อกี้ ผม Process A เข้าไป 3 วิฯ จบไหม จบ เพราะว่าเราให้ 5 วินาทีใช่ไหมควอนตัมอุบลก็จะเข้าไปได้แค่ 5 วิ (นาที) แล้วอุบลต้องย้อนกลับไปพร้อมใหม่เพิ่มให้ มิ้งเข้าไปใหม่ นี่คือหลักการของมันนะครับ มันก็จะเกิดรูปนี้ขึ้น ใช่ไหม นี่นะครับ พร้อม พออเราเอาเวลาควอนตัมมาจับ เข้าไป Run ได้แค่ 5 วิฯ นะ ถ้าเกินนั้นกลับไปวนใหม่ มันเลยทำให้เกิดระบบหลายโปนะครับ แต่เวลาเราทำงานกับคอมพิวเตอร์ มันเป็นอย่างไรครับ แต่ในความรู้สึกเราเป็นอย่างไรครับ มันทำงานด้วยความเร็วสูง มันเลยเหมือนประหนึ่งว่าอย่างนี้จริงหรือ ใช่ไหมเราหายใจแทบไม่ทัน สมัยที่อาจารย์เรียนเขียนโปรแกรมนะครับ เมื่อเกือบ 30 ปีที่แล้วนะเวลาเรา Run โปรแกรม เราจะกด Escape S Slacap กด F8 F9 ปุ๊บ นึกได้ผ่านไป 2 นาที ไม่ถูกกดยกเลิก แต่โปรแกรมเราทุกวันนี้ เราคลิกปุ๊บ ประมวลผลปั๊บ มันมีความเร็วสูงนะครับ ตามรูปนี้นะครับ พยายามมองตามนะ เพราะว่าเราจะเรียนอีก 3 ครั้ง แล้วก็จะสอบกลางภาต นะครับ สอบกลางภาค พอสอบกลางภาคเสร็จ อาจารย์ก็จะะยกคลาสไปอยู่อาคาร 7 เพื่อเรียนภาคปฏิบัตินะครับ ภาคปฎิบัติเราก็จะ เรียนแค่สัปดาห์ละ 8 คน เราจะไม่เรียนทั้งห้องแบบนี้นะครับคราวนี้มาดูอีกสถานะ นะครับ ที่เราพูดไว้ก็คือสถานะติดขัดเห็นไหมครับดูรูป มาพร้อม เห็นไหม พร้อมปุ๊บ มา Run เข้าไป Run จะหมดเวลาควอนตัม หรือไม่หมดก็แลแต่บังเอิญว่า Process นั้นไปติดต่อกับอุปกรณ์รอบข้าง ติดต่อกับ Printer ช่วงที่ติดต่อพรินเตอร์ไม่ได้ทำงานก็จะถทุกผลักออกมาเป็นสถานะติดขัด พอติดขัดเสร็จก็จะย้อนกลับไปพร้อมใหม่ นะครับ นี่คือสถานะติดขัด เขาบอกว่าการเปลี่ยน ทั้ง 3 ของ Process ก็คือ พร้อม Run ติดขัด เป็นการเปลี่ยนในสภาพทั่วไปนะครับ พร้อม Run ติดขัด แต่ถ้าเกิดเหตุการณ์ที่ผิดปกติขึ้นในระบบปฏิบัติการหหรือระบบคอมพิวเตอร์เรา ระบบปฏิบัติการอาจจะย้าย Process ใดสถานะหนึ่ง ให้ไปอยู่สถานะพักก็ได้ เพราะสถานะพักเราบอกว่ามันหยุดนิ่งเลยมันหยุดนิ่งเลย ไม่ทำงานต่อแล้ว ก็คือเข้าไป Run แล้วก็จบใช่ไหม แต่ถ้าเกิดเหตการณ์ขึ้น จากสถานะพร้อม Run ติดขัด ไปพักก็ได้นะครับ ซึ่งจะเกิดขึ้นได้ก็ด้วยสาเหตุดังต่อไปนี้นะครับ 1 เกิดการทำงานของระบบผิดพลาด เช่นสั่ง ๆ ไป ปรากฎว่าระบบ Errorปรากฏว่าระบบ Error ผิดพลาด ไปกดสตางค์ 1 บาท ออกมา 10,000 บาท ดีไหมโทมัส ดีไหมเอาไหม อย่าไปเอานะลูก เขาจับเจ้าเด้อ ต้องไปแจ้งธนาคารนะครับ นี่คือระบบผิดพลาด มันก็จะย้ายทุกอย่างไปที่สถานะพัก จนกว่าเหตุการณ์ปกติเริ่มต้นใหม่นะครับ สาเหตุอันที่ 2 นะครับ ที่จะเกิดสถานะพักนะครับ ผู้ใช้ต้องการหยุดการทำงานชั่วคราว ทำ ๆ อยู่เราสั่งหยุดอย่างนี้ มันก็จะไปอยู่สถานะพัก เช่น Run อยู่กดยกเลิก สาเหตุอันที่ 3 นะครับ ในระบบมีงานมากเกินไป สั่งเข้าไป ๆ Over load แฮงค์ Error ก็ย้ายไปสถานะพักนะครับ นี่คือสาเหตุหลัก ๆ 3 สาเหตุทำให้การเปลี่ยนสถานะจากสถานะพร้อม Run ติดขัดไปอยู่ในสถานะำพเห็นไหมครับ รูปจากรูปนะครับ พร้อม Run ติดขัด แต่ถ้าเกิดสาเหตุจากเมื่อกี้ ระบบเกิดทำงานผิดพลาด ผู้ใช้สั่งหยุดเองระบบทำงานมากเกินไปปุ๊บ มาพักเลยนะครับ ดังนั้นนะครับ เราก็สามารถแยกสถานะของ Process เป็น 2 ส่วน ก็คือส่วนที่ 1 พร้อม Runติดขัด Run ติดขัดใช่ไหม ส่วนที่ 2 คือ พักนะครับคราานี้มาดูลำดับชั้นของ Processนะครับ Process ก็มีลำดับชั้นนะครับ เขาบอกว่าระบบปฏิบัติการ หรือ OS นะครับ ผมใช้คำย่อว่า OS เขาบอกว่า OS เองก็ประกอบด้วยหลาย ๆ Process ถ้าหลายคนสับสน ถ้าอาจาย?์Process เราจะเรียกว่าโปรแกรมได้ไหม ได้ไหม ได้ไหมครับ บางคนไม่รู้เหมือนกัน เขาบอกว่า OS เองก็ประกอบไปด้วยหลาย Process 1 2 3 เยอะแยะมากมายเมื่อผู้ใช้สั่งงาน เอาสีอะไรดี พื้นสีดำไปไม่เป็นเลยนะครับ เขาบอกว่าเมื่อ Process ประกอบด้วยหลายขนั้นนะครับ เมื่อผู้ใช้สั่งงานหรือให้โปรแกรม Run OS หรือระบบปฏิบัติการจะสร้าง Process สำหรับงานนั้นขึ้นมานะครับ ซึ่ง Process สำหรับผู้ใช้นี่นะครับเป็น Process ย่อยของ นึกออกไหม เขาบอกว่า Process เองก็มีเยอะแยะมาของมันนะครับ ซึ่งเราสำหรับผู้ใช้สั่งงานปุ๊บ เช่น อุบลบอกอุบลต้องการเข้าไปครอบครอง CPU ระบบปฏิบัติการก็จะสร้าง Process หนึ่งเข้ามาในระบบปฏิบัติการสำหรับงานนะครับ นั่นแสดงว่าProcess ของอุบลนั้นก็เป็น Process ย่อยของระบบปฏิบัติการนึกออกไหมครับนึกตามนะ นะครับ ซึ่ง Process OS ก็จะมีคุณสมาบัติเหมือนอื่น ๆ ทั่วไปนะครับ เขาว่าดังนั้น Process อื่น ๆ สามารถมี Process ย่อย ๆ ไปอีกเรื่อย ๆ ได้นะครับ เขาเรียกว่าการให้กำเนิด นึกออกไหม ตัวอย่างเช่นนะครับ อุบล ต้องการเข้าไปครอบครอง CPU อุบลเป็น Process หนึ่งแล้ว ตัวอาจารย์เองเป็น OS เป็นระบบปฏิบัติเมื่ออุบลจะเข้าไปครอบครอง CPU หรือเข้าไปสถานะ Run เข้าไปสถานะ Run จะถูกผม OS ตั้ง Process หนึ่งขึ้นมาเพื่อไปกำกับดูแลอุบลนะครับ นี่เราเรียกว่า "การให้กำเนิด" แต่พออุบลเข้าไป ครอบครอง CPU แล้ว เข้าไปสถานะ Run แล้ว อุบลก็จะมี Process ย่อยต่อไปอีก นึกออกไหม ซึ่งไม่รู้ว่ามีอะไรบ้างเราไม่รู้ ซึ่งตัวของ Process ย่อย ที่เราเรียกว่า การให้กำเนิดนั้นเราจะเรียกว่า โปรเซสพ่อนะครับส่วน Process ย่อยที่สร้างต่อจาก Process ผู้ให้กำเนิดเรีาเรียกว่า Procเป็นลำดับชั้นนะครับ เป็นลักษณะแบบโครงสร้างแบบต้นไม้ ดูรูปนี้เห็นไหมครับนี่คือลำดับชั้นของ Process นะครับ นี่คือลำดับย่อของ Porcess หัวข้อต่อมานะครับ ความสัมพันธ์ระหว่าง Process เราไม่พักเลยนะพี่ล่ามคนเดียวนะครับขอพัก 5 นาทีนะครับ พี่ล่ามจะได้ไป ทานน้ำ ไปเข้าน้ำ ทานน้ำ แล้วก็เข้าห้องน้ำนะครับ พักก่อน 5 นาทีนะครับ เดี๋ยวเราต่ออีกประมประมาณ 15 สไลด์นะครับ (อาจารย์พิเชนทร์) ดูต่อนะครับ ความสัมพันธ์ระหว่าง Process นะครับ การทำงานของระบบคอมพิวเตอร์นั้นนะครับ จะประกอบไปด้วย Process ต่าง ๆ นะครับ ทั้งของระบบแล้วของผู้ใช้นะครับ เมื่อมันมีProcess มากมายทำงานพร้อม ๆ กันนะครับ จัดการขึ้นนะครับ นอกจากการจัดการแล้ว เราก็ต้องมีการติต่อระหว่างกัน เหมือนเราเราอยู่ในห้องเรานะครับ เราจะต้องมีการติดต่อสัมพันธ์กันนะครับ คราวนี้ เรามาดูหัวข้อความสัมพันธ์ระหว่าง Process นะครับ การติดต่อระหว่าง Process นั้นหมายความว่า Process หนึ่งอาจต้องการใช้ข้อมูลของอีก Process นึ่งจึงต้องทำไมครับ ต้องมีการส่งข้อมูลหรือต้องการติดต่อกันระหว่างProcess นะครับ ซึ่งการติดต่อกันระหว่าง Process นั้นนะครับ ก็มีหลายวิธี มาดูวิธีที่ 1 นะครับ ติดต่อกันโดยใช้หน่วยความจำร่วมนะครับ หมายความว่า เมื่อ Process หนึ่งต้องการหรือส่งข้อมูลไปให้อีก Process หนึ่งมันจะส่งข้อมูลผ่านหน่วยความจำร่วม ฟังก่อนนะครับฟังก่อนอย่างพึ่อย่าเพิ่งคุยกันครับ จะจบแล้ว อีกแค่ 10 สไลด์นะครับฟังหรือเปล่าครับนี่ ฟังหรือเปล่า บอกเงียบก่อนนะครับ ฟังก่อน อย่าเพิ่งคุยกันเสียงดังนะครับ เดี๋ยวมันจะไม่เข้าใจนะครับ เวลาสอบ เรามัวแต่ลอกในหน้าจอนี่บางทีมันพอเวลาไปสอบนะครับ มันจะตอบไม่ได้นะครับ เดี๋ยวสอบกลางภาคก็จะรู้คะแนนตัวเองว่าได้เท่าไร ผมบอกแล้วนะครับว่าข้อสอบผมนั้นมีทั้งหมด 8 ชุดนะครับ ผมให้นั่งสอบแบบติดกันเลยนะครับ ข้อสอบคนละชุดนะครับ ถ้าเราไม่เข้าใจเราจะเขียนอธิบายได้ ดูนะครับความสัมพันธ์อันที่ 1 ก็คือเวลามันติดต่อหากันมันจะใช้หน่วยความจำร่วมกัน ดูรูปข้างล่างเลยนะครับ Process A ต้องการส่งข้อมูลไปให้ Process B มันทำกันอย่างไรนะครับ วิธีการ ก็คือ Process A ส่งไปแล้วจัดส่งไปที่หน่วยความจำ นะครับ ส่งไปที่หน่วนความจำ เมื่อ Process B ต้องการจะไปรับข้อมูลจาก Process Aมันก็จะไปรับที่หน่วยความจำนะครับ ซึ่งหน่วยความจำก็จะมี Adssdes แล้วเราจะรู้ได้อย่างไรครับ Process A ส่งอะไรมาให้เช็กจากอะไรครับเช็กจากชื่อ จาก ID ใช่ไหม เพราะว่าชื่อของ Process แต่ละตัวก็จะมีรหัสด้วยนะครับ เห็นไหมครับ Process A นี่ มันจะส่งข้อมูลมานะครับ เราส่งไปให้หน่วยความจำร่วม Process A ก็ไปรับที่หน่วยความจำนะครับการติดต่อกันระหว่างหน่อวยความจำระครับ นอกจากการใช้หน่วยควาามจำร่วมติดต่อระหว่าง Process นะครับ ก็ยังมีวิธีการที่สะดวกนะครับแล้วก้นิยมใช้เป็นมาตราฐานนะครับ นั่นก็คือการใช้ช่องทางข้อมูลหรือเรียกง่าย ๆ ว่า พอร์ตนะครับ ติดต่อผ่านพอร์ต รู้จัก Port นะ Port parareal ต่อสายเข้าไปในเครื่องคอทมพิวเตอร์เราผ้นะครับ อันนี้ง่ายกว่านะครับ สะดวกกว่า เช่น เราต้องการส่งข้อมูลจาก เครื่องของคนหนึ่งไปเครื่องอีกคนหนึ่งผ่านอะไร ผ่านพอร์ตนะครับคราวนี้วิธี่การส่งข้อมูลส่งข้อมูลทั้งผ่านหน่วยความจำร่วมแล้วก็ผ่านพอร์ตนั้นนะครับ ในเรื่องของโครงสร้างของพอร์ตก็มีหลายแบบนะครับ จะส่งแบบไหนนะครับ อันที่ 1 นะครับโครสร้างของ Port แบบที่ 1 ก็คือแบบคิวนะครับ โครงสร้างแบบนี้ก็คือ ข้อมูลจะถูกดึงออกมาจากพอร์ตตามลำดับก่อน-หลัง ข้อมูลไหนส่งเข้ามาก่้อนก็จะ ออกไปก่อน ก็คือแบบคิวเป็นคิวนะครับ เช่น ผมเข้าไปก่อนอุบล ผมก็ออกก่อนอุบลนะครับ นี่คือโครงสร้างข้อมูลแบบพอร์ต ง่าย ๆ ครับเข้าก่อน ออกก่อน นะครับ โครงสร้างพอร์ตแบบที่ 2 ก้คือโครงสร้างแบบรูปข้างล่างใช่ไหม แบบ pritแบบมีการทำงานแบบคิว คือเข้าก่อน ออกก่อน แต่มีข้อแตกต่างกับแบบคิวที่ว่าถ้าเป็นพอร์ตแบบไปป์จะมีความยาวของ Port ไม่จำกัด ถ้าเป็นแบบคิวจะจำกัน เช่นพอร์ตแบบคิวแบบว่ามีขนาดของพอร์ต ความยาว 10 ช่องสมมตินะ ก็แสดงว่าเข้าไปได้แค่ 10 คิวนะครับ แต่ถ้าพอร์ตแบบไปท์โครงสเหมือนพอร์ตแบบคิวก็จริง เข้าก่อนออกก่อน แต่จะมีความยาวของ Port นี่คือโครงสร้างแบบไปป์นะครับ โครงสร้าง Port แบบที่ 3 ก็คือ Stack นะครับ เป็นอย่างไรครับ แบบสแต็ก Stack คือ โครงสร้างที่ตรงข้ามกับแบบคิวเลยครับ ก็คือข้อมูลชุดใดที่ถูกส่งออกมาก่อน จะถูกดึงออกทีหลัง คือ เข้าก่อนออกทีหลังนะครับนี่คือโครงสร้างแบบStack นะครับ นี่คือโครงสร้างของพอร์ตทั้ง 3 แบบนะครับ คราวนี้มาดูปัยหาของ Process นะครับเมื่อมีการทำงานมากกว่า 1 Process ขึ้นไปนะครับมันย่อมทำให้เกิดปัญหาเกิดขึ้น ในการใช้งาน เมื่อมีโปรแกรมทำงานในระบบคอมพิวเตอร์เรา ปัยหาก้ไม่เกิดขึ้นรนะครับ เมื่อมีหลาย ๆ โปรแกรมทำงานอยู่บนระบบเดียวกัน มีการใช้ทรัพยากรแย่งกันใช้ มันย่อมเกิดปัญหาขึ้นนะครับดังนั้นมันจะต้องมีการจัดสรรการใช้ Process ขึ้นนะครับ ถึงอย่างไรก็ตามที่เราจะกล่าวต่อไปนี้ มันจะต้องไม่เกิดขึ้นกับระบบของเรานะครับ ดังนั้น คนที่ออกแบบระบบปฏิบัติการจะต้องแก้ปัญหาดังต่อไปนี้ให้ได้เวลาเราเขียนโปรแกรมเราจะต้องเลี่ยงปัญหาเหล่านี้ให้ได้นะครับ ปัญหาการทำงานของProcess อันดับแรกเลยนะครับ ก็คือปัญหาการตัดตอนนะครับปัญหา เกิดจากอะไรครับ เกิดจากการที่ Process หนึ่ง ต้องการใช้ทรัพยากรของ Process แต่ปรากฏว่า Process นั้นมีลำกับความสำคัญน้อยกว่าจึงยอมปลดปล่อย ที่มีระดับความสำคัญมากกว่าเข้าไปครอบครองตัว CPU แทนตัวมันเอง นึกออกใช่ไหมครับ ก็คือ Process หนึ่ง อย่างเช่น ผมกำลังจะเข้าไปครอบครองCPU แต่ปรากฏว่าอุบลเข้ามาต่อคิวผม บังเอิญว่าลำดับความสำคัญอุบสำคัญมากกว่าผม ผมยอมให้อุบลเข้าไปแทนผม นี่เกิดการตัดตอนขึ้น ให้เป็นวิชาการ อธิบายว่าเกิดจาการที่ Process ใด Process หนึ่งที่จะเข้าไปครอบครอง CPU หรือเข้าไปในสถานะ Run นั้น ยอมให้ Process นความสำคัญมากกว่าเข้าไปแทนที่มัน มันก็จะเกิดการตัดตอนขึ้นนะครับ ซึ่งปัญหาตัวนี้นะครับ คนที่ออกแบบระบบปฏิบัติการจะต้องไม่ให้เกิดขึ้นนะครัย ปัญหาต่อมานอกจากปัญหาการตัดตอปัญหาการตัดตอนแล้ว ปัญหาต่อมา ก็คือปัญหาการอดตาย หรือปัญหา การเลื่อนไปอย่างไม่มีสิ้นสุด หมายความว่าเมื่อเกิดการตัดตอนขึ้นProcess หนึ่งปล่อยให้ Process อีก Process หนึ่งที่มีความสำคัญมากกว่าเข้าไปครอบคลอง CPU มัน แล้วแทนไปเรื่อย ๆ นี่เราเรียกว่าว่า "การอดตาย"เช่น ตัวอย่างเมื่อกี้ผมจะเข้าไปครอบครอง CPU แต่บังเอินว่า อุบล มาต่อคิว อุบลมีลำดับความสำคัญมากกว่า อุบลเข้าไปแทนที่ พออุบลเสร็จแล้วผมจะเข้าไปต่อ แต่ปรากฏว่าแม็กกี้มาต่อแล้วแม็กกี้มีความก็เข้าไปแทนที่อีก พอแม็กกี้ออกมา ผมจะเข้าไปต่อ ปรากฎว่ามิ่งมาต่อ แล้วมิ้งมีความสำคัญมากกว่า มิ้งก็ ก็คือรอไป ไม่มีวันสิ้นสุด รอไปเรื่อย ๆ ไม่มีวันสิ้นสุนะครับ ถ้าเป็นสมัยก่อนนะครับ ผมก็จะยกตัวอย่างให้พวกเรา สมมติว่าที่อาคาร 7 เรานะครับ สร้างห้องน้ำมาใหม่เปรียบเสมือน CPU สมมตินะ ผมจะเข้าเป็นคนแรก กำลังจะเปิดประตูเข้าไปห้องน้ำ ปรากฏว่าอุบล ไม่ใช่อุบล อธิการ สะกิดหลังพิเชนทร์ ๆ ผมขออนุญาตเข้าก่อน ผมมองไปข้างหลัง อธิการใหญ่กว่าผม นี่เกิดการตัดตอน แต่พออธิการเข้าไปเสร็จปุ๊บ ปรากฏว่ามีคนสะกิดหลังอีกแล้ว ผู้ว่าฯ สะกิดหลัง เป็นอย่างไรครับ ผู้ว่าเข้าไป นายอำเภอสกิดหลัง ผู้ว่าสกิดหลังเกิดการต้องตัดตอน พอตัดตอนเสร็จปุ๊บไม่มีโอกาสได้เข้า ก็เลยเป็นอดตายนะครับ นี่คือปัญหาหาที่ 2 ของเรานะครับ ปัญหาที่ 3 เขาบอกว่าทำไมถึงให้เกิดการตัดตอนไม่ได้หรือการอดตายไม่ได้ มันจะเกิดปัญหาขึ้น ถ้าทรัพยากรบางประเภท ถ้าเราปล่อยให้เกิดการตัดตอนจะเกิดปัญหาขึ้น เช่น เครื่องพิมพ์ ให้เรามาถึงเครื่องพิมพ์ ที่เป็นหัวเข็ม เคยเห็นไหม มันจะดังแกร๊ก มันจะพรินทีละบรรทัดเคยเห็นไหมครับ เครื่องพิมพ์แบบหัวเข็ม เหมือนเราไปซื้อของตามเซเว่นหรือเราไปจ่ายค่าเทอม มันจะพรินเป็นหัวเข็มออกมาถ้าเราปล่อยให้เกิดการตัดตอนขึ้น เช่น ผมสั่งพรินต์ไปได้ 2 บรรทัด สั่งมา อุบลบอกว่าอุบลมีความสำคัญมากกว่าแล้วเกิดการตัดตอนบรรทัดที่ 3 จะกลายเป็นของอุบลดังนั้น ห้ามให้มีเหตุการณ์นี้เกิดขึ้นนะครับ เพราะทรัพยากร บางอย่าง ให้เกิดขึ้นไม่ได้นะครับ ปัญหาต่อมานะครับ ปัญหาการติดตาย ดูรูปประกอบเลยนะครับ ปัญหาการติดตายคืออะไรครับ ดูรูปเลย เมื่อ Process ใดก็แล้วแต่ ครอบครองทรัพยากรของตัทรัพยากรของตัวเองอยู่ แล้วในขณะเดียวกันต้องการไปครอบครองทรัพยากรของเราแต่ไม่ยอมให้ Process อื่น เข้ามาครอบครองทรัพยากรของตัวเองเหมือนกันนะครับ เช่น ผมบอกอุบลอาจารย์ยิมสตางค์ของอุบลหน่อย 1 ร้อยลอุบลก็บอกเหมือนกัน อาจารย์ผมก้ยืมตังอาจารย์หน่อย 200,000.แต่อุบลก็ไม่ควักให้ผมนะ ผมก็ไม่ควักให้อุบล เพราะเราก็ไม่มีทั้งคูนะ คือ อยากได้สตางค์อุบล อุบลไม่ควักให้ นี่คือลักษณะการปิดตายก็คือ Process ใด Process หนึ่งนี่ครอบครองทรัพยากรตัวเองอยู่แต่อยากไปได้ทรัพยากรของคนอื่น คนอื่น แต่ตัวเองก็ไม่ยอมให้ทรัพยากรของตัวเองนะครับนี่คือลักษณธการปืดตายหรือ เขาบอกว่า ปัญหาการติดตายนั้น ไม่จำเป็นต้องเกิดจาก 2 Process อาจจะเกิดจากหลาย Process ก็ได้นะครับ มากกว่า 2 Process แต่ต้องมีเงื่อนไขดังนี้เช่น 1. การครอบครองเป็นแบบตัดตอนไม่ได้ อันนี้ก้ตัดตอนไม่ได้นะProcess A, Process B ก็ไม่ได้ Process C ก็ไม่ได้ ไม่ไป ไม่มา นะครับ เงื่อนไขแบบที่ 2 การครอบครองเป็นแบบไม่เกิดร่วมต่างคนต่างทำงาน ต่างคนต่างอยู่คนละส่วน ปิดตายขึ้น นะครับ เงื่อนไขที่ 3 คือ ในการรอใช้ทรัพยากรเป็นการรอแบบวนรอบ หรือวงรอบ หรือภาษาเขีียนโปรแกรม เราเรียกว่าวนลูป หรือวนรอบ ก้จะเกิดปัญหาการปิดตายขึ้นนะครับ นี่คือปัญหา 3 ปัญหาที่เกิดขึ้นในระบบเรา แต่เวลาเราออกแบบ OS ก็เกิดขึ้น หัวข้อสุดท้ายนะครับของบทนี้นะครับ เธรดนะครับ เขาบอกในระบบปฏยับางตัวซึ่งเราใช้แล้วนะครับ เราใช้แบบนี้อยู่นะครับ ถ้าเป็นสมัยก่อนยกไม่เกิดระบนะครับ เธรด ก็คือเป็นการที่ระบบปฏิบัติการแบ่งย่อย Processing ออกมาเป็นส่วน ๆ ดูรูปประกอบเลยนะครับ นี่... ทำไมไม่ขึ้น ขวามือผมนะครับ กับ Process B Process A โค้ดโปรแกรม แล้วก็ข้อมูลองค์ประกอบอื่น เขียนโปรแกรมแบบไม่ใช่เธรด แต่พอเทรดปุ๊บมันจะแบ่งส่วนเทรด1, 2, 3, 4, 5 เป็นส่วนย่อยนะครับ เราแบ่ง มีประโยชน์อะไรนะครับ มันจะให้ทำงานเร็วขึ้น สามารถทำงานกับหน่วยความจำที่มีขนาดเล็กได้แก้ไขง่าย นี่คือหลักการเขียนโปรแกรมใน ณ ปัจจุบันนี้นะครับ เดี๋ยวพอเราเขียนโปรแกรมเราเรียนไปสัก ปี 2 ทำไมเราต้องมาเขียนเป็นแบบเทรดโบราณนะครับ เขียนทีเดียว 100 บรรทัด, 500 บรรทัด เวลามีปัญหามาปุ๊บการแก้ไขปัญหานะครับ แก้ไขยากนะครับ นี่คือหลักการของการเขียนโปรแกรมแจ้งพวกเรานะครับ เมื่อกี้ได้พูดไปแล้วนะครับ สัปดาห์หน้านะครับ เราก็จะไปศึกษาดูงานนอกสถานที่นะครับ หมู่ 2 นะครับ หมู่ 2 หมู่ 1 ยังไม่ได้ไปนะครับ เราจะไปศึกษาดูงานที่นครพนม ผมจะ พาไปที่บุสบานก่อน ไปดุหมู่บ้านอะไรไม่รู้จำไม่ได้นะครับ พวกทำเกี่ยวกับพื้นเมือง แล้วก็จะพาไปพิพิธภัณฑ์สัตว์น้ำ นครพนม ก็สัปดาห์หน้าก็หมู่ 1 ก็ต้องมาเรียน ก็เห็นพี่พลอยประสานไปที่อาจารย์อะไรนะที่เราเรียนน่ะ ตอนเช้าน่ะ ก็เรียนด้วยกันใช่ไหม เห็นว่าอาจารย์ว่าคณะก็ไหว้ครู แต่ว่าสัปดาห์หน้าเราไม่มีเรียนนะครับ ห้อง 1 นะมีเรียน แต่สัปดาห์หน้าหมู่ 2เราจะไปนอกสถานที่จะพาไปดูอะไรนะ ไปดูปลาบึก เขาจะป้อนอาหารปลาบึกเอาอุบลไปให้อาหารปลา อุบลนะ ก็ไปทั้งวันนะครับ ก็แจ้งพวกเราไว้ สัปดาห์หน้าก็หยุดนะครับ สัปดาห์ถัดไปก็เจอกันนู้นเลยครับนะครับ ก็ตอนนี้เราเปิดเทอมมาได้เดือนหนึ่งนะครับเป้นอย้างไรครับปรับตัวได้ ได้แล้วนะ บางคนก็ส่งงานไว้ที่โต๊ะนะครับ เดี๋ยวผมจะส่งคืนให้นะ ผมจะตรวจแล้วส่งคืนให้ ๆ เราเอาเก็บไว้อ่านสอบ แบบฝึกหัดที่ผมให้ทำ มีใครอยากจะถามอะไรเพิ่มเติมไหมครับ ครับ ถ้าไม่มีก็... Process พ่อเกิดอย่างไร Process พ่อเกิดขึ้นจาก การที่เมื่อเวลาใดเวลาหนึ่ง เช่น เรา... สมมตินะ ๆ ผมเป็นProcess ผมต้องการจะเข้าไป ครอบครองจะเข้าไปครอบครอง CPU ตัวของระบบปฏิบัติการจะสร้าง Process หนึ่งขึ้นมา เพื่อมากำกับผมไป จะพาเข้าไปครอบครอง CPU นะ นี่เป็นการให้กำเนิด เป้นการให้กำเนิด เพื่อพา Process เข้าไป ตรงนี้เรียกว่า Process พ่อ นะครับนี่คือหลักการของมันของมันนะครับ ครับก็ต้อง ขอบคุณพี่ล่ามมากนะครับ ที่ได้ให้การอนุเคราะห์เรามาอีก 1 สัปดาห์ สัปดาห์หน้าเราไม่ได้เจอกันนะครับพี่ล่าม สัปดาห์หน้าจะพาน้อง ๆ ไปนอกสถานที่ ก็ ถ้าไม่มีใครถามอะไรแล้วนะครับ ก็เจอกันสัปดาห์หน้านะครับ ไปดูงานนอกสถานที่กัน โอเคครับผม ไป