Process scheduler ค ออะไร ม หน าท อย างไร

บทที่ 8 การจดั การหนวยความจําและไฟล | 133 6.4 ชือ่ พาธ ในการอ'างถึงไฟลใด ๆ จําเปนต'องระบุท่ีอยูของไฟลนั้น ๆ ให'ถูกต'อง วาอยูในไดเร็กทอรี หรือ สับไดNเร็กทอรีใด ในการกําหนดที่อยูหรือเส'นทางท่ีจะเข'าถึงไฟลนั้น ๆ เรียกวา “พาธ” (path) เพ่ือให' ระบบได'รู'วาคุณต'องการอ'างถึงไฟลใดในดิสกจําเปนอยางย่ิงท่ีจะต'องบอกพาธให'ถูกต'อง เพราะถ'า กําหนดแคชื่อไฟลทตี่ 'องการอยางเดยี วนน้ั คงไมเพียงพอที่จะเข'าไปถึงไฟลนั้นได' เพราะผู'ใช'สามารถสร'าง ชื่อไฟลซ้ํากันได' ในกรณีท่ีไฟลเหลาน้ันอยูตางไดเร็กทอรีกัน การบอกพาธจะทําให'ระบบทราบวากําลัง อ'างถึงไฟลใดและอยูท่ีไหนในระบบวิธีอ'างถึงชื่อไฟลนั้นมีอยู 2 วิธี วิธีแรก เปนการอ'างชื่อไฟลแบบ สมั บูรณ (absolute path name) และการอา' งช่ือแบบสัมพัทธ (relative path name) การอ'างช่ือไฟลแบบสัมบูรณ เปนการอ'างช่ือไฟลโดยเริ่มต'นจากราก (root) เสมอตามด'วยช่ือ สับไดเร็กทอรียอยตาง ๆ ไลลงมาตามลําดับช้ันของไดเร็กทอรีที่สร'างขึ้นจนกระทั่งถึงไดเร็กทอรีท่ีไฟล บรรจุอยู และจบลงด'วยชื่อไฟลน้ัน ตัวอยาง ระบบไดเร็กทอรี ดังรูป 8.6 ถ'าต'องการอ'างถึงไฟลชื่อ d.doc สามารถอา' งถึงไดโ' ดย 1) ในระบบปฏบิ ตั ิการ Windows (MS DOS) N> \\usr\\lib\\d.doc 2) ในระบบปฏิบัตกิ าร UNIX N> /usr/lib/d.doc รูปท่ี 8.6 รูปแบบไดเร็กทอร่ขี อง UNIX (ท่ีมา : ไพศาล โมลสิ กุล, 2545) จะเหน็ ไดว' าในแตละระบบปฏิบัติการน้ันมีวิธีในการอ'างถึงไฟลตาง ๆ ในดิสกท่ีคล'ายกัน ดังน้ัน ถ'ามีความเข'าใจในระบบปฏิบัติการอยางใดอยางหน่ึงแล'ว สามารถเรียนร'ูและทําความเข'าใจ ระบบปฏิบัติการอน่ื ๆ ได'โดยไมยาก การอ'างถึงไฟลแบบสัมพนั ธนนั้ จะต'องทาํ ความเข'าใจเก่ยี วกบั ระบบไดเร็กทอรีป[จจุบัน (current directory) ให'เข'าใจเสียกอน ผู'ใช'สามารถอ'างถึงไฟลใด ๆ จากไดเร็กทอรีป[จจุบันได'โดยตรงและยัง สามารถยา' ยการทํางานจากไดเร็กทอรีป[จจุบันไปยังไดเร็กทอรีใด ๆ ของดิสกได' วิธีการอ'างชื่อพาธแบบ สัมพันธจะเร่ิมต'นจากไดเร็กทอรีป[จจุบันไลไปตามลําดับของไดเร็กทอรีท่ีไฟลน้ันอยู และจบลงด'วยชื่อ

บทท่ี 8 การจัดการหนวยความจาํ และไฟล | 134 ไฟลน้ัน ๆ สมมุติวาไดเร็กทอรีป[จจุบันคือ usr (ตามรูป 8.7) ถ'าต'องการอ'างถึงไฟล d.doc จะต'องอ'าง ด'วย lib\\d.doc โดยตรงไดเ' ลย ในกรณีที่ไฟลท่ีต'องการอ'างถึงไฟลที่อยูคนละแขนงของทรีจําเปนต'องใช'สัญลักษณ “..” เข'ามา ชวย เชนถา' ต'องการอ'างถึงไฟล math.h ในขณะท่ีไดเร็กทอรีป[จจุบันอยูท่ีไดเร็กทอรี lib สามารถอ'างได' ด'วย ..\\..\\bin\\math.h สัญลักษณ “..” ในกรณีนี้หมายถึงไดเร็กทอรีที่อยูเหนือขึ้นไปหน่ึงระดับ นอกจากนี้ยังมสี ญั ลักษณอีกอยางหน่งึ คือ “.” จะหมายถงึ ไดเร็กทอรปี [จจุบนั ตัวอยางการใช'ได'แกกรณีที่ ตอ' งการกอ็ ปป~}ไฟล math.h มาเกบ็ ไวใ' นไดเร็กทอรี lib ชอ่ื เปนไดเร็กทอรีป[จจุบันคุณสามารถใช'คําสั่งได' ดังนี้ copy \\bin\\math.h. ขอ' แตกตางของพาธท่ีอ'างถึงสังเกตได'จากการใช'สัญลักษณที่เปนเคร่ืองหมายราก ถ'าเราอ'างถึง ไฟลที่ข้ึนต'นด'วยเครื่องหมาย “ / ” หรือ “ / ” เปนการอ'างแบบสัมบูรณ แตถ'าเปนการอ'างแบบ สัมพันธ จะขึน้ ตน' ด'วยไดเรก็ ทอรียอย หรือชือ่ ไฟลโดยตรง 7. โครงสร6างไดเร็กทอรี หน'าท่ีของไดเร็กทอรีน้ันใช'เปนท่ีรวบรวมไฟลจํานวนตาง ๆ เข'าไว'ด'วยกันดังน้ันกอนที่จะเป•ด ไฟลทําการใด ๆ จะต'องทราบวาไฟลตาง ๆ เหลานั้นเก็บอยูที่ใด หรือในไดเร็กทอรีใด ผู'ใช'จะต'องระบุ พาธของไดเร็กทอรีน้ันเสียกอนการกําหนดพาธของไดเร็กทอรีที่มีไฟลนั้นบรรจุอยู เปนการระบุบล็อก ตาง ๆ ท่เี ก็บไวใ' นไดเร็กทอรีนัน้ แตละไฟลท่ีเก็บในไดเร็กทอรีสามารถเข'าถึงล็อกตาง ๆ ของไฟลโดยการ อ'างชื่อไฟล ดังนั้นไฟลหน่ึง ๆ จะมีชื่อเรียกได'เพียงช่ือเดียว หรือไมก็ใช'นามสกุลเปนการแยกประเภท ของไฟล ในการสร'างไฟลจะจดั สรรเนือ้ ทบี่ นดิสกใหก' ับไฟลน้นั ซงึ่ ไดเร็กทอรีจําเปนจะต'องร'ูและสามารถ ตรวจสอบได'วาไฟลในไดเร็กทอรขี องตวั เองนั้นเกบ็ อยูท่ีใด ดังนั้นไดเร็กทอรีจําเปนจะต'องมีตารางบันทึก ไฟลตาง ๆ เอาไว'ภายในตารางไดเร็กทอรีจะประกอบไปด'วยชื่อไฟล และคุณลักษณะไฟล (File attribute) วาเปนไฟลประเภทใด เกบ็ อยใู นบล็อกใด สําหรับรูปแบบการเก็บชื่อไฟล และคุณลักษณะไฟล สามารถทําการเก็บได' สองวิธี วิธีแรกให' เกบ็ ขอื่ ไฟล และบอกคุณลักษณะไฟลไว'ด'วยกัน ตามรปู 8.7 (ก). ภายในตารางแตละไฟลท่ีมีขนาดตามท่ี กําหนดไว'ขนาดหนึ่ง เชนในระบบ MSNDOS ความยาวของชื่อจะกําหนดไว'ไมเกิน 8 ตัวอักษรและตาม ด'วยสวนขยายท่ีเรียกวานามสกุลอีกไมเกิน 3 ตัว ตอจากชื่อไฟลจะตามด'วยคุณลักษณะไฟลจะบอกถึง บล็อกตาง ๆ ท่ีใชเ' ก็บไฟลมีจํานวนบล็อกเทาไร จะถูกระบุลงไปในตารางด'วยกัน จากรูปจะพบวาไฟลยิ่ง มีขนาดใหญ จํานวนชองบล็อกที่ใช'ยิ่งเพ่ิมข้ึนตามขนาดของไฟล จึงเกิดป[ญหาวาจะกําหนดขนาดของ ตารางนีอ้ ยางไร ป[ญหาจากการเกบ็ ช่อื ไฟล และคุณลักษณะไฟล เข'าไว'ดว' ยกันจึงแก'ไขได'ด'วยวิธีที่ 2 วิธีที่สอง ตามรูปท่ี 8.7 (ข) ใช'วิธีเก็บข'อมูลช่ือไฟลและพอยเตอรของไฟลไปยังบล็อกตาง ๆ ไว' ด'วยกัน วิธีนี้ทําให'ขนาดของข'อมูลในตาราง File attribute มีขนาดคงท่ี พอยเตอรในตารางจะช้ีไปยัง เน้ือหาอีกสวนหน่ึงท่ีใช'เก็บบล็อกตาง ๆ ของไฟลเอาไว' เรียกเนื้อท่ีบริเวณน้ีวา “ฮีพ” (heap) ด'วย วิธีการน้ี ขนาดของไฟล สามารถใหญเทาใดก็ได' ซ่ึงจะไมมีผลตอการจัดเก็บในตาราง เนื้อท่ีบริเวณฮีพ เปนการจองเนอ้ื ทีแ่ บบ ไดนามิกเนอื้ ท่บี ริเวณนจี้ ะมกี ารจอง และ คืนเน้อื ทอี่ ยูตลอดเวลา จากโครงสร'างไดเรก็ ทอรที ่ีอธบิ ายไปจะพบวากรณีท่ีขนาดของไดเร็กทอรีมีขนาดใหญการค'นหา ไฟลตามลําดับ จะทําให'หาตําแหนงของบล็อกตาง ๆ ใช'เวลามากข้ึน ดังน้ันคุณสามารถใช'ตาราง hash table เข'ามาประกอบกับการใช'หนวยความจําแคช ทาํ ให'การอานไฟลไดร' วดเร็วยิ่งข้นึ

บทท่ี 8 การจดั การหนวยความจาํ และไฟล | 135 (ก) (ข) รปู ท่ี 8.7 วิธกี ารเกบ็ ชอื่ ไฟลแบบยาวในไดเรก็ ทอรี (ก) เก็บไว'ด'วยกนั (ข) เกบ็ ไวใ' นฮีพ (ที่มา : ไพศาล โมลิสกุล, 2545) 8. การทาํ งานของระบบไฟล มุมมองในระบบไฟลคณุ สามารถมองได'เปน 2 มุมมองดว' ยกันคือ ในมุมมองแรกเปนมุมมองของ ผ'ูใช' ในมุมมองนี้ผ'ูใช'รู'แตเพียงวาจะต้ังช่ือไฟลอยางไร มีข'อกําหนดอยางไรบ'างในการตั้งชื่อ ซึ่งผ'ูใช' จะต'องรู'วาแตละระบบปฏิบัติการมีข'อกําหนดในการตั้งชื่อไฟลท่ีเหมือนกัน ผ'ูใช'จะต'องรู'คําส่ังตาง ๆ (Operations) ของไฟลวามีคําส่ังอะไรบ'าง โครงสร'างของไดเร็กทอรีของแตละระบบไฟลเปนอยางไร ผูใ' ช'รูเ' พยี งเทานี้ก็เพียงพอกับการทาํ งานในระบบไฟลแล'วสาํ หรับในมุมมองแรก ในอีกมุมมองหน่ึงเปนของผู'สร'างระบบไฟลที่จะต'องรู' และเข'าใจวาไฟล และไดเร็กทอรีตาง ๆ ท่ีสร'างขึ้นมาถูกจัดเก็บลงบนดิสกอยางไร จะมีวิธีจัดสรรเนื้อที่ดิสกอยางไร ให'สามารถจัดเก็บข'อมูลได' มากทีส่ ดุ และคงประสทิ ธภิ าพสูงสดุ รวมไปถึงการสรา' งความเชื่อมันให'กบั ผใ'ู ช' วาข'อมูลที่มีการบันทึกใส ลงบนดิสกแล'วจะไมสูญหายไปไหน ซ่ึงส่ิงตาง ๆ เหลานี้ในมุมมองของผ'ูสร'างจะต'องวิเคราะหเพ่ือจะหา จดุ ทีเ่ หมาะสมในหารสรา' งระบบแตละระบบทม่ี ตี ัวแปรตาง ๆ ซง่ึ ไมเหมือนกนั 8.1 โครงสร6างของระบบไฟล ระบบไฟลทุกๆ ระบบจําเปนต'องมีการจัดเก็บข'อมูลลงบนสื่อตาง ๆ ท่ีใช'เก็บข'อมูล ในป[จจุบัน สอื่ เหลานม้ี หี ลายชนิดไดแ' ก แผนดิสก เทป ซดี รี อม เปนตน' แตสื่อท่ีเปนท่ีนิยมแพรหลาย และมีราคาถูก ได'แก ดิสก โครงสร'างของระบบดิสกสนับสนุนการเข'าถึงข'อมูลแบบสุม (Random access) โครงสร'าง ดิสกสามรถแบงพารติชันในการเก็บข'อมูลได' แตละพารติชันมีความเปนอิสระตอกัน อีกทั้งยังสามารถ กําหนดให'แตละพารตชิ ันมรี ะบบปฏบิ ตั ิการทตี่ างกันไดอ' ีกดว' ย

บทที่ 8 การจัดการหนวยความจาํ และไฟล | 136 ภายในดิสกจะถูกแบงออกเปนเซ็กเตอร (Sector) เร่ิมต'นจากเซ็กเตอร 0 ซ่ึงถือวาเปน Master Boot Record (MBR) เปนเซ็กเตอรท่ีใช'คาเริ่มต'นของระบบปฏิบัติการสําหรับการบูตเคร่ือง คอมพิวเตอรเมื่อเริ่มต'นใช'งาน ในตอนท'ายของเซ็กเตอรนี้ยังประกอบด'วยตารางพารติชัน (Partition table) ซึ่งจะเก็บตําแหนงเริ่มต'น และแอดเดรสสุดท'ายของแตละพารติชันเอาไว' ในแตละพารติชันจะ ประกอบไปด'วย Boot block โปรแกรมใน Boot block จะทําหน'าที่ในการดาวโหลดระบบปฏิบัติการ ในพารตชิ นั ออกมาทาํ งานทกุ ๆ พารติชันจะมี Boot block เปนของตวั เอง แตวาในพารติชันอาจจะไมมี ระบบปฏบิ ัติการก็ได' โครงสร'างภายในแตละพารตชิ ันจะแตกตางกันขึ้นอยูกับระบบปฏิบัติการท่ีใช'อยูซ่ึง จะกาํ หนดโครงสร'างของไฟลในดสิ กในขณะท่ีการฟอรแมทดิสก 8.2 วิธจี ดั เกบ็ ข6อมลู ไฟล สิ่งสําคัญสําหรับการจัดเก็บไฟลข'อมูลลงบนส่ือเก็บข'อมูลคือ จะต'องทราบวาแตละไฟลมีการ เก็บอยางไรเก็บไว'ท่ีไหน และสามารถเรียกออกมาใช'งานได'อยางไร ไฟลตาง ๆ เหลาน้ันมีการจัดเก็บท้ัง ไฟล หรอื แตละไฟลถูกแยกเก็บเปนบล็อก และบล็อกตางๆ เหลานั้นจัดเรียงกนั อยางไร ซึง่ วิธีการเหลานี้ จะได'ศึกษารายละเอียดกันดังตอไปน้ี 8.2.1 การจดั เกบ็ ข6อมลู แบบตอเนือ่ ง (Contiguous allocation) เปนวธิ ีการจัดเก็บข'อมลู ของไฟลแบบงายที่สุด แตละไฟลจะถูกแบงออกเปนบล็อก แต ละบล็อกมีขนาดเทา ๆ กัน เพ่ืองายในการบริหารและการเก็บข'อมูล แสดงดังรูปที่ 8.8 วิธีการน้ีไหล ข'อมูลแบงออกเปนบล็อกออกเปนบล็อกจะถูกเก็บลงบนดิสกอยางตอเน่ืองท้ังไฟล ตัวอยางเชน ถ'า กําหนดขนาดของบล็อกบนดิสกไว'เทา ๆ กัน เทากับ 1 กิโลไบต (1 KB) ในขณะที่ไฟลข'อมูล A มีขนาด เทากับ 50 กิโลไบต ดังน้ันสําหรับไฟลข'อมูล A จะต'องใช'จํานวนบล็อกเทากับ 50/1 เทากับ 50 บล็อก ในหารแบบไฟลข'อมูล A ด'วยวิธีการเก็บข'อมูลแบบตอเน่ือง ถ'าเร่ิมจากบล็อกที่ 1 เปนบล็อกแรกบล็อก สดุ ทา' ยจะเปนบล็อกที่ 50 ซึ่งเรียงตดิ ตอกัน อีกตัวอยางหนึ่งถ'าคุณมีจํานวนไฟลข'อมูลหลาย ๆ ไฟลเพ่ือนํามาเก็บแบบตอเน่ือง สมมุติถ'าคุณมีเน้ือท่ีดิสกขนาด 1 MB เน้ือที่ดิสกขนาดน้ีสามารถสร'างจํานวนบล็อกได'เทากับ 1024 บล็อก ถ'าไฟลข'อมูล A มีขนาด 4.5 KB และเริ่มเก็บบล็อกแรกท่ีบล็อก 1 บล็อกสุดท'ายจะเปนบล็อก 5 ถ'าไฟลข'อมูล B มีขนาด 22.01 KB และเร่ิมเก็บบล็อกแรกที่บล็อก 6 บล็อกสุดท'ายจะเปนบล็อกที่ 28 ถ'าไฟลข'อมูล C มีขนาด 2.91 KB และเร่ิมเก็บบล็อกแรกท่ีบล็อก 29 บล็อกสุดท'ายจะเปนบล็อกท่ี 31 เปนต'น สําหรับข'อดีในการเก็บข'อมูลแบบตอเนื่องท่ีสําคัญมีอยู 2 ประการ คือ ประการแรก เปนการจัดเก็บข'อมูลแบบที่งายที่สุด และสะดวกที่สุดเน่ืองจากการจัดเก็บข'อมูลแบบน้ีไมจําเปนต'อง บันทกึ ทกุ ๆ บล็อกจัดเก็บลงบนดิสกด'วยวิธีดังนี้ ระบบสามารถบันทึกการเก็บขอ' มลู ดว' ยการบันทึกบล็อก แรก และบล็อกสุดท'ายก็เพียงพอแล'ว แตละบล็อกท่ีอยูภายในสามารถติดตอกันด'วยตําแหนงท่ีจัดเรียง กันอยูภายในอยูแล'ว ประการท่ี 2 สําหรับวิธีจัดเก็บข'อมูลแบบตอเนื่อง สามารถสร'างประสิทธิภาพได' สูงสดุ ในการค'นหาข'อมูล เนอ่ื งจากการจดั เก็บบล็อกขอ' มลู เรยี งตอเน่ืองจึงไมเสียเวลาในการค'นหาบล็อก ทกุ ๆ บลอ็ กเพียงแตหาบลอ็ กแรกพบก็สามารถอานข'อมลู ได'ทงั้ ไฟลแล'ว สาํ หรบั ข'อเสียของการเก็บข'อมลู แบบตอเน่อื งก็มีความสําคัญเชนเดียวกันเพราะวิธีการ เก็บข'อมูลวิธีนี้จําเปนต'องอาศัยการเก็บข'อมูลที่ตอเน่ืองเมือจํานวนไฟลข'อมูลเพ่ิมจํานวนมากขึ้น

บทท่ี 8 การจัดการหนวยความจาํ และไฟล | 137 ประกอบกับขนาดของข'อมูลเม่ือมีการแก'ไขขนาดใหญข้ึน ทําให'ไมสามารถหาเนื้อที่ในการบรรจุ ไฟลข'อมลู ดังกลาวได' ขนาดไฟลมีขนาดใหญขึ้น จึงจําเปนต'องถูกย'ายออกไปเก็บท่ีอ่ืน ด'วยเหตุนี้เองจึงทําให' มีเน้ือท่ีท่ีซึ่งไมตอเน่ืองเกิดข้ึนระบบปฏิบัติการจําเปนจะต'องจัดสรรเนื้อท่ีบริเวณนี้ให'กับไฟลอื่นซ่ึงมี ขนาดท่ีไมใหญกวาเนื้อที่เดิม ด'วยเหตุนี้เองการจัดเก็บข'อมูลแบบน้ีจึงทําให'เกิดเนื้อที่วางมากมาย ระหวางไฟลข'อมูลบนดิสก เมื่อมีการเก็บข'อมูลกระจายจนเต็มดิสกทําให'เกิดป[ญหาสําหรับไฟลข'อมูล ขนาดใหญไมสามารถหาเน้ือที่วางในการเก็บข'อมูลได'แม'จะมีเน้ือท่ีเหลือมากพอแตไมสามารถเรียกใช'ได' เพราะเน้อื ทีเ่ หลานน้ั อยูกระจดั กระจายกนั ทวั่ ทั้งดสิ ก อยางไรก็ตาม ป[ญหาดังกลาวตามที่ได'อธิบายไปนั้นสามารถแก'ป[ญหาได'กับสื่อข'อมูล ประเภทซีดีรอมเพราะเสื่อประเภทนี้มีการจัดเก็บข'อมูลเพียงคร้ังเดียว (Memory Read) จึงไมเปน ปญ[ หาสาํ หรับส่อื ประเภทน้ี และเปนวธิ ที เี่ หมาะสมทส่ี ุดสาํ หรบั ซีดีรอม รปู ที่ 8.8 (ก) 7 ไฟลทเ่ี กบ็ ข'อมูลแบบตอเน่ืองในเนือ้ ท่ีดสิ ก (ข) ไฟล D และ F ถกู ยา' ยออกไปจนเหลอื ที่ วาง (ทีม่ า : ไพศาล โมลิสกุล, 2545) 8.2.2 การจัดเก็บขอ6 มลู แบบลงิ คลิสต (Link List Allocation) การจดั เก็บข'อมูลแบบลิงคลิสต เปนอีกวิธีหนึ่งที่นิยมใช'กัน แสดงดังรูปที่ 8.9 วิธีการนี้ มีการแบงไฟลออกเปนบล็อก ๆ เชนเดียวกัน แตจะจัดเก็บเน้ือที่ของแตละบล็อกจะไมตอเน่ืองเหมือน วิธีการจัดเรียงกันอยางตอเนื่องแตละบล็อกจะถูกเช่ือมโยงกันด'วยพอยเตอร ต้ังแตบล็อกจะไมตอเน่ือง เหมือนวธิ ีการจัดเรียงกันอยางตอเนอื่ ง แตละบล็อกจะถูกเช่ือมโยงกันด'วยพอยเตอร ตั้งแตบล็อกแรกจน กระท้ังบล็อกสุดท'ายของไฟลข'อมูลน้ัน ๆ ด'วยวิธีการจัดเก็บข'อมูลแบบน้ีทําให'ไมเสียเนื้อที่วางภายใน ดิสก ยกเว'นแตจะมีเนือ้ ทว่ี างในแตละบล็อก ซ้งึ จะมีมากน'อยเพียงไดก็ขึ้นอยูกับการหาขนาดท่ีเหมาะสม ของบล็อกข'อมูล และจะเกิดกับบล็อกสุดท'ายของแตละไฟลข'อมูลเทาน้ัน วิธีการจัดเก็บข'อมูลแบบลิงค ลสิ ตนมี้ ี่ข'อเสยี ท่สี าํ คัญอีกเชนกันตรงทีจ่ ะเสยี เวลากบั การคน' หาแตละบล็อกข'อมูล เนื่องจากแตละบล็อก อยูกระจัดกระจายทั่วไปนบดิสก วิธีการเก็บข'อมูลแบบน้ียังเสียเนื้อที่ไปกับพอยเตอรท่ีทําหน'าท่ีชี้ไปยัง บล็อกตาง ๆ อีกด'วย นอกจากนั้นในขณะที่ระบบทําการอานข'อมูลระบบจะต'องทําการก็อปป}~ตาราง

บทท่ี 8 การจัดการหนวยความจําและไฟล | 138 บันทึกการจัดเก็บไฟลที่เรียกวา FAT (File Allocation Table) ลงบนหนวยความจํากอนท่ีจะทําการ อานข'อมูลจากดิสก สมมติขนาดของฮารดดิสกเทากับ 20 GB ในขณะที่ขนาดของบล็อกเทากับ 1 KB ดังน้ันฮารดดิสกตัวนี้สามารถเก็บข'อมูลจํานวนบล็อกได'เทากับ 20 ล'านบล็อก จํานวนบล็อกขนาดนี้ จาํ เปนต'องใช'เนื้อที่ 3 ไบตในลิงคลิสต เพอ่ื การเก็บบล็อกตาง ๆ เอาไว' (3 ไบต = 2 สามารถแสดงความ แตกตางได' ประมาณ 20 ล'านตัวอยาง) ขนาดของตาราง FAT จะใหญถึง 60 MB ซึ่งนับวามีขนาดใหญ มากทเี ดยี ว แตโดยท่ัวไปแล'วการจองเน้ือที่เพื่อเก็บขนาดของลิงคลิสต มักจะจองขนาดเปนเลขฐานสอง ยกกําลัง เชน 2, 4 และ 8 เปนต'น ดังนั้น จํานวนบล็อกขนาด 20 ล'านบล็อก จะใช'ขนาดเปน เลขฐานสอง ยกกาํ ลงั 2 ซง่ึ เทากับ 4 ไบต รูปที่ 8.9 การจัดเก็บข'อมลู แบบลงิ คลสิ ต (ทีม่ า : ไพศาล โมลสิ กุล, 2545) 8.2.3 ไอโหนด (IMnodes หรือ Index node) ไอโหนดเปนวิธีการท่ีใช'กันในระบบปฏิบัติการของ UNIX โดยการสร'างตารางเล็ก เรียกวา “ไอโหนด” (INnode) ให'กับแตละไฟลไอโหนดจะเก็บข'อมูลตาง ๆ ท่ีเกี่ยวข'องกับไฟลเอาไว' ภายในไอโหนดจะมีหมายเลขบล็อกแบบ direct 10 หมายเลข, แบบ single direct 1 แสดงดังรูปท่ี 8.10 หมายเลข,แบบ double direct1 หมายเลข และแบบ triple direct 1 หมายเลข หมายเลข บล็อกแบบ direct 10 หมายเลข หมายถึงแตละหมายเลขจะเก็บหมายเลขของแตละบล็อกไว' 10 บล็อก สมมุติแตละบล็อก มีขนาด 1 KB ท้ัง 10 หมายเลข จะเก็บข'อมูลได' 10KB ถ'าขนาด ไฟลข'อมูลไมเกนิ 10 KB จะสามารถใช' ไอโหนดแบบ direct ได' ถา' ขนาดของไฟลใหญกวา 10 KB แตไมเกิน 266 KB (10+256 KB) ภายในไดโอดจะมี หมายเลขบล็อกแบบ direct 10 หมายเลข และแบบ single direct 1 หมายเลข แบบ direct 10 หมายเลข สามารถอ'างจํานวนบล็อกได' 10 บล็อก บวกกับ single direct สมมุติวา 1 หมายเลขของ single direct มีขนาด1 KB (1024 byte) แตละบล็อกใช'พอยเตอร 4 ไบต ในกรเช่ือมโยงแตละบล็อก

บทท่ี 8 การจัดการหนวยความจําและไฟล | 139 เปนลงิ กล็ ิสตของไฟลข'อมูลเข'าด'วยกัน ดังน้ัน ในแตละบล็อกสามารถเก็บลิงคลิสตได'เทากับ 1024/4 = 256 หมายเลข ในกรณีที่ขนาดไฟลใหญเกินกวา 266 KB แตไมเกิน 65802 KB (10+256+(256*256)KB)ภายในไอโหนดจะมีหมายเลขบล็อกแบบ direct 10 หมายเลข แบบ single direct 1 หมายเลข และแบบ double direct 1 หมายเลข สําหรับแบบ double direct สามารถใช' เก็บจํานวนบล็อกได'ถึง 256*256 บล็อกสุดท'ายสําหรับกรณีท่ีขนาดของไฟลใหญเกินกวา 65802 KB จําเปนจะต'องใช'ไอโหนด triple direct 1 หมายเลข น้ันหมายถึงสามารถเพ่ิมจํานวนบล็อกได'อีก 256*256*256 ซงึ่ จะเทากบั 16 GB รูปที่ 8.10 ไอโหนดของระบบปฏิบัติการ UNIX (ทีม่ า : ไพศาล โมลิสกลุ , 2545)

บทท่ี 8 การจัดการหนวยความจําและไฟล | 140 9. สรุปท6ายบท หนวยความจําเปนสวนท่ีสําคัญที่สุดในระบบคอมพิวเตอร เพราะหนวยความจําเปนศูนยกลาง ให'การดําเนินการด'านตาง ๆ ในระบบคอมพิวเตอรให'เปนไปอยางราบรื่นและมีประสิทธิภาพสูงสุด ซึ่ง หนวยความจาํ ท่ใี ชใ' นการจดั เก็บบนระบบปฏบิ ัติการแบงออกเปน 2 สวน ได'แก 1) หนวยความจําหลัก (Main Memory) คือการใช'หนวยความจําแรมในการพักข'อมูลชั่วคราว กอนทจี่ ะสงไปประมวลผล 2) หนวยความจําเสมือน (Virtual Memory) คือการนําฮารดดิสกมาเปนหนวยความจํา ชวย หนวยความจําหลักทาํ งานในชวงที่หนวยความจําหลัก ไมสามารถเก็บข'อมูลได'เพียงพอ หรือโปรแกรมท่ี จะประมวลผลมีขนาดใหญเกินกวาหนวยความจาํ หลักจะรบั ได' โดยในแตละระบบปฏิบัติการจะมีเทคนิคในการจัดเก็บไฟลที่แตกตางกัน ได'แก การจัดเก็บ ขอ' มูลแบบตอเนือ่ ง การจดั เก็บข'อมลู แบบลิงคลสิ ต และการจัดเก็บข'อมูลแบบไอโหนด

บทที่ 8 การจัดการหนวยความจําและไฟล | 141 แบบฝ_กหดั ทา6 ยบทที่ 8 1. หนวยความจาํ เสมือนคืออะไร และมกี ารทาํ งานอยางไร 2. กระบวนการในการจดั การหนวยความจํา มีทงั้ หมดกว่ี ิธีอะไรบา' ง 3. ไดเรค็ ทอร่ีเดยี่ ว แตกตางจากไดเร็คทอร่ีหลายระดบั อยางไร 4. จงอธบิ ายกระบวนการจัดเกบ็ ข'อมูลแบบตอเน่ือง 5. จงอธบิ ายกระบวนการจัดเกบ็ ข'อมูลแบบไอโหนด เอกสารอา6 งองิ ไพศาล โมลิสกุล. (2545). ระบบปฏิบัติการ (Operating Systems) กรุงเทพฯ: หจก ไทยเจริญการ พมิ พ. มงคล อัศโกวทิ ยากรณ. (2537). ระบบปฏบิ ตั กิ าร กรงุ เทพฯ: ส.คอมพิวเตอร ไอ โอ ซี. ยรรยง เตง็ อํานวย. (2533). ระบบปฏบิ ตั กิ าร (Operating Systems) กรุงเทพฯ: ซเี อ็ดยูเคชัน. Abraham Silberschatz, Peter Baer Galvin, และ Greg Gagne. (2547). Operating System Concepts 7th Edition John Wiley & Sons. Andrew S Tanenbaum. (2544). Modern Operating Systems 2nd Edition PrenticeNHall. http://csnon04.blogspot.com/2008/03/6.html สืบคน' เมอ่ื มีนาคม 2560 https://sites.google.com/site/operatingsytemsyvc/bthNthi3NkarNcadkarNhnwyN khwamNca สบื ค'นเมอ่ื มีนาคม 2560 http://www.thaiall.com/os/os05.htm สืบคน' เม่อื มีนาคม 2560

บทที่ 8 การจดั การหนวยความจาํ และไฟล | 142

แผนบรหิ ารการสอนประจาํ บทท่ี 9 การจดั เวลาซพี ยี ู หัวขอเน้อื หา 1. ชวงเวลาใชซีพียู และชวงเวลาอินพตุ /เอาตพุต 2. ตัวจดั การเวลาซพี ยี ู 3. ขอพจิ ารณาในการจัดเวลาซีพยี ู 4. อลั กอริทมึ ในการจัดเวลาซีพยี ู วตั ถปุ ระสงคเ' ชงิ พฤติกรรม 1. เพ่อื ใหผูเรียนมีความเขาใจและสามารถอธบิ ายความหมายของชวงเวลาใชซีพียู และชวงเวลา อนิ พตุ /เอาตพุต 2. เพ่อื ใหผูเรยี นมีความเขาใจและสามารถอธิบายการทาํ งานของตวั จดั การเวลาซพี ียไู ด 3. เพ่ือใหผูเรยี นมีความเขาใจและสามารถอธบิ ายขอพิจารณาในการจัดเวลาซีพยี ูได 4. เพอื่ ใหผเู รียนมีความเขาใจและสามารถคํานวณเวลารอคอย และเวลาท้ังหมดท่ีโปรเซสใชใน การจัดเวลาซีพยี ู โดยใชอัลกอรทิ ึมชนดิ ตาง ๆ วธิ กี ารสอนและกจิ กรรมการเรียนการสอน 1. บรรยายเนอื้ หาในแตละหัวขอ พรอมยกตวั อยางประกอบ 2. ศกึ ษาจากเอกสารประกอบการสอน 3. ผูสอนสรุปเนอ้ื หา 4. ทําแบบฝก: หัดเพอื่ ทบทวนบทเรยี น 5. ผูเรยี นถามขอสงสยั 6. ผูสอนทาํ การซกั ถาม 7. สอบเกบ็ คะแนนครง้ั ที่ 2 สือ่ การเรียนการสอน 1. เอกสารประกอบการสอนวิชาสถาป?ตยกรรมคอมพิวเตอรและซอฟตแวรระบบ 2. ภาพเลอ่ื น (Slide) 3. บทความจากหนงั สอื หรอื เว็บไซตตาง ๆ 4. ขอสอบเก็บคะแนนครัง้ ท่ี 1 5. เครื่องคอมพิวเตอร

บทท่ี 9 การจดั เวลาซพี ียู | 144 การวัดผลและการประเมนิ ผล 1. ประเมนิ จากการซักถามในช้นั เรยี น 2. ประเมนิ จากความรวมมือ และความรบั ผดิ ชอบตอการเรียน 3. ประเมนิ จากการทาํ แบบฝ:กหดั ทบทวนทายบทเรียน

บทที่ 9 การจัดเวลาซีพียู 1. ความนา ในการทางานโดยปกติ ผใู้ ชส้ ามารถใชง้ านโปรแกรมหลาย ๆ โปรแกรมพร้อมกนั ได้ ดงั นนั้ การ จัดการให้โปรแกรมหลาย ๆ โปรแกรมสามารถทางานพรอ้ ม ๆ กัน นนั้ ตอ้ งอาศัยความสามารถในการจดั เวลาซีพียูของระบบปฏบิ ัติการ ซ่งึ การจัดเวลาซพี ียูจะช่วยให้ คอมพวิ เตอรส์ ามารถทางานได้ปริมาณงาน ท่มี ากข้นึ กว่าการให้ซีพียทู างานใหเ้ สร็จทีละโปรเซส จดุ ประสงค์ของการรันโปรแกรมหลาย ๆ โปรแกรม พร้อมกัน คือความต้องการให้ ซพี ียูมีการทางานตลอดเวลา เพ่อื ใหม้ กี ารใช้ ซีพยี ูอยา่ งเตม็ ท่ี และเตม็ ประสทิ ธิภาพ โดยการใชอ้ ลั กอริทึมตา่ ง ๆ ในการจัดเวลาซพี ยี ู แตล่ ะอัลกอรทิ ึม มีข้อดีและข้อเสยี แตกต่างกันไป 2. ช่วงเวลาใช้ซีพยี ู และชว่ งเวลาอินพตุ /เอาตพ์ ตุ (CPU-I/O Burst Cycle) ความสาคญั ของการจดั เวลาของ ซพี ยี ูจะขึน้ อยกู่ บั คณุ ลกั ษณะของโปรเซส โดยท่ัว ๆ ไปแล้ว การเอ็กซีคิวต์โปรเซสจะประกอบดว้ ยเวลาอยู่ 2 อยา่ ง คอื 1 ) เวลาท่ีใช้ CPU (CPU Burst Cycle) และ 2) เวลาทต่ี อ้ งคอย I/O (I/O Burst Cycle) ซง่ึ ในขณะทมี่ กี ารเอก็ ซีคิวต์โปรเซส จะมีการสลับการทางาน ระหวา่ ง 2 ช่วงเวลาน้ี เทา่ นัน้ และจะเกิดไมพ่ รอ้ มกนั การเอ็กซีคิวตม์ กั จะเริ่มจา กการใชซ้ ีพียู ตามดว้ ย การรออินพตุ /เอาตพ์ ตุ เม่ือจบการรอคอยจะตามมาดว้ ยเวลาของซพี ยี ู สลับกนั ไปเรอื่ ย ๆ จนกว่าจะจบ การเอก็ ซีควิ ต์ ซึ่งการเอ็กซคี วิ ตน์ ีม้ กั เป็นการใช้เวลาซีพยี เู พ่อื ทาการจบหรอื ส้นิ สดุ โปรเซสมากกว่าการรอ คอยอินพตุ /เอาต์พตุ แสดงดงั รปู ท่ี 9.1 รูปท่ี 9.1 ช่วงเวลาใช้ซีพยี ู และช่วงเวลาอินพุต/เอาต์พุต

บทท่ี 9 การจดั เวลาซีพยี ู | 146 3. ตวั จัดการเวลาซพี ียู (CPU Scheduler) เมอ่ื ใดก็ตามท่ีซีพียูวา่ งงาน ระบบปฏิบัติการจะตอ้ งเขา้ มาเลอื กโปรเซสตวั ใดตวั หน่งึ ที่คอยอยใู่ น คิวเขา้ มาใช้งานซีพยี ู การเลือกโปรเซสเพ่อื เข้ามาใชซ้ พี ยี ูน้ี จะถกู จดั การด้วยสว่ นทเี่ รยี กว่า ตัวจัดการช่วง ส้ัน (Short – term Scheduler) หรอื ตัวจดั การเวลาซีพยี ู (CPU Scheduler) ตวั จดั การเวลานี้จะ เลอื กโปรเซสทีอ่ ยใู่ นหนว่ ยความจาท่ีพร้อมในการเอ็กซีคิวต์ทส่ี ดุ เพื่อใหค้ รอบครองเวลาซพี ยี แู ละ ทรพั ยากรที่เกย่ี วข้องกบั โปรเซสนนั้ คิวของโปรเซสในหนว่ ยความจานนั้ ไมจ่ าเปน็ ตอ้ งเป็นแบบมาก่อนไดก้ ่อน (FIFO : First in First out) เสมอไป อาจจะเปน็ ไปตามลาดับความสาคญั (Priority) โครงรา่ งต้นไม้(Tree) หรืออาจจะเป็น ลงิ้ ลสิ ได้ อย่างไรก็ตามโปรเซสทกุ โปรเซสที่ พร้อมใช้ซพี ียู (อยู่ใน Ready Queue) จะต้องมโี อกาสไดเ้ ขา้ ครอบครองเวลาซพี ยี ูไมเ่ วลาใดก็เวลาหน่ึง แสดงดังรูปท่ี 9.2 ซ่ึงการเขา้ และออกจากการครอบครอง เวลาซพี ยี ูแต่ละครั้ง จาเปน็ ตอ้ งมีการเกบ็ ข้อมลู ไวเ้ สมอวา่ เขา้ มาแลว้ ไดท้ าอะไรไปบ้าง ชว่ งตอ่ ไปจะทา อะไร เปน็ ต้น โดยใชพ้ ้ืนทีห่ น่วยความจาสว่ นหนึง่ เกบ็ ข้อมูลของแตล่ ะโปรเซสหลังเสรจ็ สน้ิ การใชซ้ ีพยี ู พ้นื ท่ีหน่วยความจาท่ีมีช่ือวา่ บล็อคควบคุมโปรเซส (PCB : Process Control Block) รปู ท่ี 9.2 การจดั การโปรเซสของ CPU Scheduler การจดั การโปรเซส แสดงดังรปู ท่ี 9.2 มีสถานะทัง้ หมด 5 สถานะ คือ New, Ready, Running, Waiting และ Terminated การตัดสินใจของ CPU Scheduler ในการเลอื กเอ็กซีคิวตโ์ ปรเซสใด ๆ ข้ึนอยู่กับสถานการณด์ ังนี้ 1) เมอ่ื มีการเปลย่ี นสถานะของโปรเซสจาก Running ไปเปน็ Wait 2) เม่อื มีการเปลีย่ นสถานะของโปรเซสจาก Running ไปเปน็ Ready 3) เมื่อมีการเปลีย่ นสถานะของโปรเซสจาก Wait ไปเปน็ Ready 4) เมอื่ Terminate โปรเซส สถานการณท์ ่ี 1 และ 4 นัน้ เป็นสถานการณท์ ีจ่ ะต้องมีการตัดสนิ ใจทาอย่างใดอย่างหนึ่งโดยไม่ สามารถหลีกเลย่ี งได้ ซ่งึ การจัดเวลา CPU จะเป็นแบบไม่ใหส้ ทิ ธิก่อน (Non-preemptive) สถานการณ์ท่ี 2 และ 3 นัน้ การตัดสนิ ใจตอ้ งอยบู่ นพ้นื ฐานหรือกฎเกณฑ์ของแต่ ละอลั กอริทมึ ท่ีใช้ ซ่ึงการจดั เวลา CPU จะเปน็ แบบให้สทิ ธกิ์ อ่ น (Preemptive)

บทที่ 9 การจดั เวลาซพี ยี ู | 147 4. ขอ้ พจิ ารณาในการจัดเวลาซพี ยี ู อลั กอรทิ ึมของการจดั การเวลา CPU มีหลายอลั กอรทิ มึ ซึง่ มีคุณสมบตั ิแตกต่างกนั ข้อพจิ ารณา ในการเลือกอัลกอริทึมท่ีดที สี่ ุดมีดงั น้ี 4.1 อรรถประโยชนข์ อง CPU (CPU Utilization) คานึงถึงการใช้ประโยชน์ของ CPU อยา่ ง สงู สุด โดยให้ CPU ทางานมากมี่สุดเท่าที่จะทาได้ (ควรอยู่ระหวา่ ง 40 – 90%) 4.2 Throughput จานวนงานทเ่ี สร็จตอ่ หนว่ ยเวลาทสี่ ามารถวัดออกมาได้ 4.3 เวลาทั้งหมด ( Turnaround time) ช่วยเวลาทง้ั หมดที่ใช้ในการทางานใดงานหนึง่ ตั้งแต่ เริ่มต้นเขา้ ไปในระบบจนกระทงั่ งานถกู ทาเสรจ็ เรียบร้อย Tt = เวลาทร่ี อจะเข้าสู่ RAM + เวลาท่ีอยู่ในคิว + เวลาที่ใช้ CPU + เวลาของ I/O 4.4 เวลารอคอย (Waiting Time) ชว่ งเวลาทงี่ านใดงานหนึ่งตอ้ งรอการทางานของตวั จดั เวลา โดยไมร่ วมเวลาของการใช้ CPU และเวลาของการตดิ ตอ่ I/O (สว่ นใหญเ่ ป็นเวลาทคี่ อยอยู่ใน Ready Queue) 4.5 เวลาตอบสนอง ( Response time) เวลาทีว่ ดั ระหว่างเวลาทมี่ กี ารร้องขอการกระทาใดๆ ต่อระบบแลว้ มกี ารตอบรับกลับออกมา สิง่ ท่ี CPU Scheduler ตอ้ งการคอื CPU Utilization และ Throughput สูง ๆ ลด Turnaround time, Waiting time และ Response time 5. อัลกอรทิ ึมในการจัดเวลาซีพยี ู (Scheduling Algorithm) อัลกอรทิ มึ สาหรบั การจัดการเวลาใน ซีพียูนนั้ มคี วามสาคัญอยทู่ ก่ี ารตดั สนิ วา่ จะใหโ้ ปรเซสใด ครอบครองเวลาซพี ียูกอ่ น ซง่ึ ในสว่ นน้ีจะอธิบายอลั กอริทึมตา่ ง ๆ ที่ใชใ้ นการเลือกโปรเซสเข้าไปทางาน ในซีพยี ู 5.1 การจดั เวลาแบบมากอ่ นไดก้ อ่ น (FCFS : First-come-First-Served) วิธีการในการจดั เวลาทง่ี า่ ยท่สี ุดสาหรบั การคดั เลือกโปรเซสใหค้ รอบครองซพี ยี ู คอื อลั กอริทึมท่ี ใช้แนวคดิ ของการมากอ่ นไดก้ อ่ น (FCFS) ซงึ่ มหี ลักการง่าย ๆ คือ โปรเซสใดที่รอ้ งขอใ ช้ซีพียกู อ่ นจะ ไดร้ ับการจดั สรรใหค้ รอบครองเวลาซีพยี ูไปกอ่ น ซ่ึงการสร้างอัลกอรทิ มึ นท้ี าขึ้นมาน้นั ไดไ้ ม่ยาก เพราะ สามารถนาเอาหลกั การของควิ มากอ่ นไดก้ ่อน มาใช้ได้เลย เม่ือมโี ปรเซสใดโปรเซสเขา้ มาอยู่ในควิ แบบนี้ PCB ของงานจะถกู เชือ่ มไว้กับหางคิวเม่ือใดท่ีซีพยี วู ่างลง โปรเซสใดมี PCB อยใู่ นหัวของคิวจะถกู นา ออกมาจากควิ ใหเ้ ขา้ ครอบครองเวลาซีพยี ูได้เลย คา่ เฉลี่ยของการรอคอยในคิว ของแบบ FCFS นี้มคี า่ ค่อนขา้ งสูง ซง่ึ เป็นผลเสียของการใช้ หลกั การแบบน้ี คอื เมอ่ื โปรเซสใดครอบครองเวลาซพี ยี ูแล้ว ซพี ียูจะไมม่ โี อกาส ได้ว่าง จนกว่าความ ต้องการใชซ้ พี ยี ูของโปรเซสนนั้ จะสิน้ สุดลงด้วยการสลบั ไปยงั อนิ พุต/เอาต์พตุ หรอื จบการทางาน ดังนั้น ถ้ามีโปรเซสท่คี รองซีพยี นู าน จะทาให้โปรเซสอนื่ ๆ ตอ้ งรอนานตามไปดว้ ย

บทที่ 9 การจดั เวลาซพี ยี ู | 148 ตัวอย่างที่ 9.1 จงคานวณหา turnaround time และ waiting time ของแต่ละโปรเซสโดยใช้ อัลกอรทิ ึม FCFS Process Arrive Bust Time P0 0 24 P1 2 3 P2 3 3 โปรเซส P0 มาถงึ Ready Queue ณ เวลา วนิ าทที ่ี 0 ดงั น้นั โปรเซส P0 ไดเ้ ข้าไปทางานใน ซพี ยี ทู นั ที เพราะซีพียยู งั วา่ งอยู่ โปรเซส P1 มาถงึ Ready Queue ณ เวลา วนิ าทที ี่ 2 แต่เนอ่ื งจากโปรเซส P0 ยงั ใช้งานซีพยี ู อยู่ เพราะฉะน้ันโปรเซส P1 ต้องรอจนกว่าโปรเซส P0 จะทางานเสร็จ โปรเซส P2 มาถึง Ready Queue ณ เวลา วนิ าทที ี่ 3 แตเ่ นื่องจากโปรเซส P0 ยังใชง้ านซีพียู อยู่ เพราะฉะน้ันโปรเซส P2 ตอ้ งรอจนกว่าโปรเซส P0 จะทางานเสร็จ เม่อื ถงึ วนิ าทีที่ 24 โปรเซส P0 ทางานเสร็จ และออกจากสถานะ Running ไปอยใู่ นสถานะ Terminated ดังนน้ั CPU จึงวา่ งงาน ตัว scheduler ต้องเลือกโปรเซสที่อย่ใู นสถานะ Ready ไป ทางานท่ีสถานะ Running ซ่ึงมโี ปรเซส P1 และ P2 อยู่ และเนื่องจากเปน็ การใช้อลั กอริทึม FCFS ดังน้ันตัว scheduler จะตอ้ งเลอื กโปรเซส P1 เข้าไปทางานในสถานะ Running เพราะวา่ โปรเซส P1 มากอ่ น โปรเซส P2 โปรเซส P1 ทางานตอ่ ไปอกี 3 วินาที หลังจากนนั้ โปรเซส P1 จะถูกย้ายไปสถานะ Terminated และตวั scheduler จะนาโปรเซส P2 ไปทางานต่อในสถานะ Running อกี 3 วนิ าที หลงั จากน้นั จะถูกย้ายไปสถานะ Terminated เปน็ อนั สิน้ สดุ การทางาน เพราะไม่มีงานเหลืออยใู่ น สถานะ Ready อีกแล้ว โปรเซส Waiting Time Turnaround Time P0 0 24 P1 22 25 P2 24 27 เฉล่ีย 25.33 15.33

บทที่ 9 การจัดเวลาซพี ียู | 149 5.2 การจดั เวลาแบบงานสัน้ ทากอ่ น (SJF : Short-Job-First-Scheduling) จากการทไี่ ด้พบเหน็ ปัญหาในหลกั การของอลั กอริทมึ FCFS ทาใหม้ กี ารคิดค้นต่อไปวา่ ทา อยา่ งไรจึงจะเกดิ ความพอดีระหว่างโปรเซสทีต่ ้องการเวลาซีพียสู ั้น ๆ กบั โปรเซสทตี่ อ้ งการซพี ียูนาน ๆ ผลลัพธ์คือ แนวความคดิ ทจ่ี ะทาใหโ้ ปรเซสทีต่ ้องการเวลาของซพี ียูใน ลาดับถดั ไปสั้นท่ีสดุ จะไดร้ ับเลอื ก ใหเ้ ข้ามาครอบครองซพี ียกู อ่ น และถ้ามีโปรเซสหลาย ๆ ตัวทม่ี คี าบเวลาของซพี ียูของช่วงเวลาช่ วงตอ่ ไป เทา่ ๆ กนั จะใชห้ ลกั การมากอ่ นไดก้ อ่ นมาใช้ในการคัดเลือก ซึง่ อาจมชี ่อื เรียกการคดั เลอื กแบบนี้วา่ สนั้ ทีส่ ุดได้ใชเ้ วลาซีพยี ู กอ่ น เพราะแนวความคิดนีจ้ ะมีการจัดคาบเวลาของซพี ยี ูช่วงต่อไปเพียงชว่ งเดียว มากกวา่ การวดั รวมวา่ ตลอดทัง้ โปรแกรมตอ้ งการใช้ซีพยี นู านเทา่ ไหร่ โดยแบง่ ออกเป็น 2 ประเภทดังนี้ 5.2.1 การจดั เวลาแบบงานสน้ั ทากอ่ น แบบบงั คบั ไม่ได้ (SJF Non-preemptive) SJF แบบ non-preemptive หมายความวา่ ตวั scheduler ไม่สามารถบังคบั โปรเซส ทอ่ี ยู่ในสถานะ Running ใหอ้ อกมารอทส่ี ถานะ Ready ได้ ถงึ แมว้ า่ จะมโี ปรเซสที่มี burst time นอ้ ย กว่าเข้ามารอในสถานะ Ready ตัว scheduler ตอ้ งปลอ่ ยให้โปรเซสท่ีครอบครองซพี ยี ูอยู่ทางานให้ เสร็จ ถงึ จะนาโปรเซสใหมเ่ ขา้ ไปทางานได้ ตวั อย่างที่ 9.2 จงคานวณหา turnaround time และ waiting time ของแตล่ ะโปรเซสโดยใช้ อัลกอรทิ มึ SJF แบบบังคับไม่ได้ Process Arrive Bust Time P0 0 6 P1 1 8 P2 2 7 P3 3 3 โปรเซส P0 มาถงึ Ready Queue ณ เวลา วนิ าทีท่ี 0 ดงั น้นั โปรเซส P0 ได้เขา้ ไปทางานใน ซีพียทู นั ที เพราะซพี ยี ยู ังวา่ งอยู่ โปรเซส P1 มาถงึ Ready Queue ณ เวลา วนิ าทที ี่ 1 แต่มี burst time สูงกวา่ P0 และ โปรเซส P0 ยงั ใช้งานซพี ยี อู ยู่ เพราะฉะนน้ั โปรเซส P1 ตอ้ งรอจนกว่าโปรเซส P0 จะทางานเสร็จ โปรเซส P2 มาถึง Ready Queue ณ เวลา วนิ าทที ี่ 2 แต่เนอื่ งจากโปรเซส P0 ยงั ใชง้ านซพี ยี ู อยู่ เพราะฉะนั้นโปรเซส P2 ตอ้ งรอจนกวา่ โปรเซส P0 จะทางานเสรจ็ โปรเซส P3 มาถงึ Ready Queue ณ เวลา วินาทีที่ 3 แต่เน่ืองจากโปรเซส P0 ยังใชง้ านซีพีอยู่ เพราะฉะนั้นโปรเซส P3 ต้องรอจนกวา่ โปรเซส P0 จะทางานเสรจ็

บทที่ 9 การจัดเวลาซพี ยี ู | 150 เม่ือถึงวนิ าทีท่ี 6 โปรเซส P0 ทางานเสรจ็ และออกจากสถานะ Running ไปอยูใ่ นสถานะ Terminated ดงั น้ัน CPU จึงวา่ งงาน ตวั scheduler ต้องเลอื กโปรเซสทอี่ ยใู่ นสถานะ Ready ไป ทางานท่ีสถานะ Running ซ่ึงมโี ปรเซส P1, P2 และ P3 อยู่ และเนอ่ื งจากเป็นการใช้อลั กอริทึม SJF แบบ non-preemptive ดงั น้ันตัว scheduler จะตอ้ งเลอื กโปรเซสที่มี burst time น้อยสุดเขา้ ทางาน ซึ่งคอื โปรเซส P3 เข้าไปทางานในสถานะ Running และตามดว้ ยโปรเซส P2 และ P1 ตามลาดบั โปรเซส Waiting Time Turnaround Time P0 0 6 P1 15 23 P2 7 14 P3 3 6 เฉลี่ย 6.25 12.25 5.2.2 การจัดเวลาแบบงานสนั้ ทากอ่ น แบบบงั คบั ได้ (SJF Preemptive) SJF แบบ preemptive หมายความว่าตวั scheduler สามารถบงั คับโปรเซสท่อี ย่ใู น สถานะ Running ใหอ้ อกมารอทีส่ ถานะ Ready ได้ เม่อื มโี ปรเซสท่ีมี burst time นอ้ ยกว่าเขา้ มารอใน สถานะ Ready ตัว scheduler จะบังคับให้โปรเซสท่คี รอบครองซีพียูอยูห่ ยุดการทางานและกลบั ไปรอ ทสี่ ถานะ Ready จากนั้นจงึ นาโปรเซสใหม่เขา้ ไปทางานตอ่ ไป ตัวอย่างที่ 9.3 จงคานวณหา turnaround time และ waiting time ของแต่ละโปรเซสโดยใช้ อลั กอริทมึ SJF แบบบงั คบั ได้ Process Arrive Bust Time P0 0 6 P1 1 4 P2 2 7 P3 3 5 โปรเซส P0 มาถึง Ready Queue ณ เวลา วนิ าทีที่ 0 ดังนั้นโปรเซส P0 ไดเ้ ขา้ ไปทางานใน ซพี ียทู ันที เพราะซพี ียยู งั ว่างอยู่

บทที่ 9 การจดั เวลาซพี ียู | 151 โปรเซส P1 มาถงึ Ready Queue ณ เวลา วินาทที ี่ 1 แต่มี burst time ต่ากว่า P0 เน่ืองจาก เปน็ อัลกอรทิ มึ SJF แบบบังคับได้ เพราะฉะน้ันตวั scheduler จะบงั คับให้โปรเซส P0 ออกจากสถานะ Running และนาโปรเซส P1 เข้าไปทางานแทน โปรเซส P2 มาถงึ Ready Queue ณ เวลา วินาทีท่ี 2 แตม่ ี burst time สงู กว่า P1 เพราะฉะน้นั โปรเซส P2 ตอ้ งรอจนกว่าโปรเซส P1 จะทางานเสรจ็ โปรเซส P3 มาถึง Ready Queue ณ เวลา วินาทที ี่ 3 แต่มี burst time สงู กวา่ P1 เพราะฉะน้ันโปรเซส P3 ตอ้ งรอจนกวา่ โปรเซส P1 จะทางานเสรจ็ เม่อื ถงึ วินาทีที่ 5 โปรเซส P1 ทางานเสรจ็ และออกจากสถานะ Running ไปอยู่ในสถานะ Terminated ดังน้นั CPU จึงว่างงาน ตัว scheduler ตอ้ งเลือกโปรเซสทอี่ ยูใ่ นสถานะ Ready ไป ทางานทส่ี ถานะ Running ซึ่งมโี ปรเซส P0 เหลือ burst time 5 โปรเซส P2 เหลือ burst time 7 และ โปรเซส P3 เหลือ burst time 5 และเน่อื งจากเปน็ การใชอ้ ัลกอริทมึ SJF แบบบงั คับได้ ดงั นน้ั ตวั scheduler จะต้องเลือกโปรเซสท่ีมี burst time น้อยสุดเขา้ ทางาน ซึ่งคือโปรเซส P0 และ P3 แต่ เนอื่ งจากโปรเซส P0 มากอ่ น ดังนน้ั จึงนาโปรเซส P0 เขา้ ไปทางานในสถานะ Running และตามด้วย โปรเซส P3 และ P2 ตามลาดบั โปรเซส Waiting Time Turnaround Time P0 9 15 P1 0 4 P2 15 22 P3 2 7 เฉล่ีย 6.5 12 5.3 การจดั เวลาตามลาดบั ความสาคัญ (Priority Scheduling) วิธีการของอัลกอริทมึ SJF สามารถมองไดอ้ กี แง่หนง่ึ ว่าเป็นการจดั เวลาตามลาดับความสาคัญชนิดหนึ่ง ลาดบั ความสาคญั ของแตล่ ะโปรเซสจะถูกกาหนดไวโ้ ดยวธิ ใี ดวธิ หี นึ่ง เพือ่ วา่ การใช้ซีพยี จู ะมกี ารใช้ โปรเซสทีม่ ีลาดับความสาคัญทส่ี ูงสดุ เทา่ นนั้ แต่ถ้ามงี านทลี่ าดบั ความสาคญั เทา่ กัน จะใชว้ ธิ ี FCFS วธิ ีการของ SJF ไดม้ กี ารกาหนดลาดับความสาคัญของโปรเซสด้วย burst time ของซีพยี หู รือ เวลาการใชซ้ ีพยี ขู องแตล่ ะโปรเซส เช่น โปรเซสใดมี burst time น้อยทีส่ ดุ จะมลี าดับความสาคัญมาก ที่สดุ เมอ่ื เราพดู ถึงความมากน้อยของลาดับความสาคัญ จึงมีความจาเป็นต้องกากับไวด้ ว้ ยสญั ลกั ษณ์ที่ เปรยี บเทยี บกันไดเ้ ชน่ ตวั เลขจานวนนับ เปน็ ต้น แต่จะกาหนดให้มีกี่ลาดับกส็ ุดแล้วแต่ผู้ออกแบบ อาจจะเปน็ 0-9 หรอื 0-100 และไมม่ ีกฎตายตัววา่ เลขมากหรอื น้อยจะมีความหมายในเรอื่ งของลาดบั ความสาคญั อย่างไร โดย Priority มีการทางานคลา้ ยกบั SJF แบบบงั คบั ไม่ได้ แตต่ ่างกนั ตรงท่ี priority พจิ ารณาเลขความสาคัญแทนการพจิ ารณา burst time ของโปรเซส

บทท่ี 9 การจดั เวลาซพี ยี ู | 152 ตวั อย่างท่ี 9.4 จงคานวณหา turnaround time และ waiting time ของแตล่ ะโปรเซสโดยใช้ อัลกอรทิ ึม Priority โดยกาหนดให้เลข 1 คือความสาคญั มากสุด และ 4 คอื ความสาคญั ตา่ สุด Process Arrive Bust Time Priority P0 0 8 4 P1 1 4 3 P2 2 9 2 P3 3 5 1 โปรเซส P0 มาถึง Ready Queue ณ เวลา วนิ าทีท่ี 0 ดงั น้นั โปรเซส P0 ได้เข้าไปทางานใน ซพี ียทู นั ที เพราะซพี ียยู ังวา่ งอยู่ โปรเซส P1 มาถงึ Ready Queue ณ เวลา วนิ าทีที่ 1 แตโ่ ปรเซส P0 ยงั ใช้งานซีพียอู ยู่ เพราะฉะน้นั โปรเซส P1 ตอ้ งรอจนกวา่ โปรเซส P0 จะทางานเสรจ็ โปรเซส P2 มาถึง Ready Queue ณ เวลา วินาทีท่ี 2 แตเ่ นื่องจากโปรเซส P0 ยังใช้งานซีพยี ู อยู่ เพราะฉะนนั้ โปรเซส P2 ต้องรอจนกวา่ โปรเซส P0 จะทางานเสรจ็ โปรเซส P3 มาถึง Ready Queue ณ เวลา วินาทที ี่ 3 แตเ่ น่อื งจากโปรเซส P0 ยังใชง้ านซีพอี ยู่ เพราะฉะนน้ั โปรเซส P3 ต้องรอจนกวา่ โปรเซส P0 จะทางานเสร็จ เมอ่ื ถงึ วนิ าทที ี่ 8 โปรเซส P0 ทางานเสร็จ และออกจากสถานะ Running ไปอยู่ในสถานะ Terminated ดงั น้ัน CPU จงึ ว่างงาน ตวั scheduler ต้องเลือกโปรเซสท่ีอยู่ในสถานะ Ready ไป ทางานทส่ี ถานะ Running ซ่ึงมีโปรเซส P1, P2 และ P3 อยู่ และเนอ่ื งจากเปน็ การใชอ้ ัลกอริทึม Priority ดังนน้ั ตวั scheduler จะตอ้ งเลอื กโปรเซสที่มีความสาคัญมากสดุ ซ่งึ คือโปรเซส P3 เขา้ ไป ทางานในสถานะ Running และตามดว้ ยโปรเซส P2 และ P1 ตามลาดับ โปรเซส Waiting Time Turnaround Time P0 0 8 P1 21 25 P2 11 20 P3 5 10 เฉลยี่ 9.25 15.75

บทท่ี 9 การจดั เวลาซพี ยี ู | 153 5.4 การจดั เวลาแบบวนรอบ (RR : Round-Robin Scheduling) การตดั สินใจของซพี ียใู นการเลือกเอ็กซีคิวตโ์ ปรเซสใด ๆ การจัดเวลาแบบวนรอบ ( RR : Round-Robin Scheduling) เปน็ วธิ ีการทคี่ ิดขน้ึ มาเพื่อใชก้ ับระบบคอมพิวเตอรแ์ บบแบง่ เวลา โดยเฉพาะ โดยมีลกั ษณะการทางานแบบมากอ่ นไดก้ อ่ น( FCFS) แตใ่ ห้มกี รรมวธิ ขี องสทิ ธก์ิ ่อนรวมอยู่ ด้วย แต่ละโปรเซสท่ีเขา้ มาในระบบจะถูกกาจัดเวลาการเข้าไปใชซ้ ีพยี เู ทา่ ๆ กนั ซึง้ ช่วงเวลานจี้ ะเปน็ ชว่ งเวลาสัน้ ๆ เรียกวา่ เวลาควนั ตัม (Quantum Time) หรือช่วงเวลา (Time Slice) ระยะเวลาควนั ตัม นี้ มีความยาวระหวา่ ง 10 ถงึ 100 มิลลิวินาที และควิ ทีใ่ ชก้ ็เปน็ แบบวงกลม (Circular Queue) ตวั จัด เวลาจะมีการใหซ้ ีพียกู ับโปรเซสท่อี ยูใ่ นคิวแบบวนไป เรือ่ ย ๆ ในแตล่ ะคาบเวลาท่ีให้นัน้ โดยจะมีความ ยาวนานของการได้รบั ซพี ียูมากทีส่ ุดคอื 1 ควันตัม ถ้าโปรเซสไมส่ ามารถกระทาได้สาเรจ็ ภายใน 1 ควันตัมนี้ โปรเซสจะตอ้ งถูกกลับไปไวค้ ิวเชน่ เดิม สถานภาพต่าง ๆ ของโปรเซสท่ยี ังทาไมเ่ สรจ็ กจ็ ะถกู บนั ทกึ ไว้ เพ่ือว่าเม่อื ถงึ โอกาสไดค้ รอบครองซพี ยี อู กี จะไดเ้ ริ่มต้นรนั ตอ่ จากคร้งั ท่แี ลว้ โดยไมต่ อ้ งเรมิ่ ใหม่ ท้ังหมด การสรา้ งระบบการทางานแบบวนรอบ เราจะทาคิวทีพ่ ร้อมทางาน( Ready Queue) เปน็ แบบมา กอ่ นได้กอ่ นไวส้ าหรับเก็บโปรเซสตา่ ง ๆ โปรเซสทเ่ี ข้ามาใหม่จะถกู นามาตอ่ ไว้ทห่ี างของคิว ตวั จดั เวลา จะเลอื กเอาโปรเซสทีอ่ ยู่ตรงหัวควิ ออกมา แล้วกาหนดให้ไทม์เมอร์หยดุ การให้เวลาซีพียหู ลงั จากนั้น 1 ควันตมั แล้วนาโปรเซสออกไปต่อท่ีหางคิว ถา้ หากว่าโปรแกรมยงั ไมส่ ิ้นสดุ การทางาน โปรเซสบาง โปรเซสอาจตอ้ งการใช้ซพี ยี ูน้อยกวา่ 1 ควันตมั ในกรณีน้โี ปรเซสทีเ่ สรจ็ ก่อนถึงเวลา 1 ควนั ตัม จะตอ้ ง ใหอ้ อกจากการครอบครองซพี ยี ู เพือ่ ให้โปรเซสอื่นทีอ่ ยู่ตรงหัวคิวเขา้ มาทางานได้ เวลาเฉล่ียของการคอย ในกรรมวธิ ขี องวนรอบจะคอ่ นข้างนาน ตวั อยา่ งที่ 9.5 จงคานวณหา turnaround time และ waiting time ของแต่ละโปรเซสโดยใช้ อลั กอรทิ มึ RR โดยกาหนดให้ quantum time = 4 Process Arrive Bust Time P0 0 7 P1 1 9 P2 2 15 โปรเซส P0 มาถึง Ready Queue ณ เวลา วนิ าทีท่ี 0 ดงั นน้ั โปรเซส P0 ได้เขา้ ไปทางานใน ซพี ยี ทู นั ที เพราะซีพยี ยู งั วา่ งอยู่

บทท่ี 9 การจัดเวลาซพี ยี ู | 154 โปรเซส P1 มาถึง Ready Queue ณ เวลา วินาทีที่ 1 แต่โปรเซส P0 ยงั ใช้งานซีพยี อู ยู่ เพราะฉะนน้ั โปรเซส P1 ตอ้ งรอจนกวา่ โปรเซส P0 จะทางานจนครบ 1 ควนั ตมั (4 วนิ าที) โปรเซส P2 มาถงึ Ready Queue ณ เวลา วนิ าทที ี่ 2 แต่เน่ืองจากโปรเซส P0 ยงั ใชง้ านซีพียู อยู่ เพราะฉะนนั้ โปรเซส P2 ตอ้ งรอจนกวา่ โปรเซส P0 จะทางานจนครบ 1 ควนั ตมั (4 วินาที) เม่ือถึงวินาทีที่ 4 โปรเซส P0 ยังทางานไม่เสรจ็ แต่ถกู บงั คับใหอ้ อกจากสถานะ Running เพอ่ื นาโปรเซส P1 เข้าไปทางานตอ่ 1 ควนั ตัม และตามดว้ ยโปรเซส P2 อีก 1 ควนั ตัม เมอื่ โปรเซสท้ัง 3 ทางานคนละ 1 ควันตมั ผลปรากฏวา่ โปรเซส P0, P1 และ P2 ยังทางานไม่ เสร็จ ตอ้ งมกี ารวนรอบตอ่ ไป ตวั scheduler จะทางานแบบนว้ี นไปเรือ่ ย ๆ จนกว่า burst time ของ แตล่ ะโปรเซสจะหมดลง โปรเซส Waiting Time Turnaround Time P0 8 15 P1 11 20 P2 11 26 เฉลยี่ 10 20.33 5.5 Multilevel Queue Multilevel Queue จะแบ่งควิ ออกเปน็ หลาย ๆ ระดบั โดยแตล่ ะระดับหมายถงึ ระดบั โปรเซส ทีม่ คี วามสาคญั ตา่ งกนั ซึ่งอาจจะแบ่งตามขนาดของโปรเซส จานวนหนว่ ยความจาทีใ่ ช้ หรอื จานวน I/O ท่ีใช้ โดยแต่ละควิ สามารถใช้หลกั การของการจดั เวลาทแ่ี ตกต่างกนั ไดด้ ว้ ย เชน่ งาน Foreground หรอื Interactive จะจดั ตารางแบบ RR และ งาน Background หรือ Batch จะจัดตารางแบบ FCFS แสดง ดงั รูปที่ 9.3 คิวท่ีอยู่ด้านบนจะมีความสาคัญเหนอื กว่าคิวทอ่ี ยดู่ า้ นล่างถัดลงไปเสมออาจจะมกี ารจัดเวลา ระหว่างคิวแบบ Fixed-priority preemptive scheduling หรือ Variable-priority preemptive scheduling รูปท่ี 9.3 Multilevel Queue

บทที่ 9 การจดั เวลาซีพียู | 155 5.6 Multilevel Feedback-Queue Multilevel Feedback-Queue เกิดจากการนาหลาย ๆ อลั กอรทิ มึ มาทางานร่วมกัน แสดงดัง รูปท่ี 9.4 เพื่อนาโปรเซสไปประมวลผล ให้มีประสิทธภิ าพมากทสี่ ุด ส่ิงสาคญั ที่ตอ้ งคานงึ ถึงในการ ออกแบบ Multilevel Feedback Queues มีดงั น้ี 1) จานวนควิ 2) วธิ ีของการจัดเวลาของแตล่ ะควิ 3) หลักเกณฑใ์ นการตดั สนิ ใจเพมิ่ ความสาคัญของโปรเซส 4) หลักเกณฑใ์ นการตัดสนิ ใจลดความสาคัญของโปรเซส 5) หลักเกณฑ์ในการตัดสนิ ใจนาเอาโปรเซสทต่ี ้องการครอบครอง CPU มาเข้าในคิว รปู ที่ 9.4 Multilevel Feedback-Queue Scheduler เรม่ิ ประมวลผลที่ Queue 0 ถา้ ท่ี Queue 0 ไม่สามารถประมวลผลโปรเซสเสรจ็ ในเวลา 8 โปรเซสจะถูกยา้ ยไปท่ี Queue 1 ถ้าท่ี Queue 1 ไมส่ ามารถประมวลผลโปรเซสเสร็จในเวลา 16 โปรเซสจะถูกยา้ ยไปที่ Queue 2

บทที่ 9 การจดั เวลาซพี ียู | 156 6. สรุปท้ายบท การจดั เวลาซีพยี ู ช่วยใหค้ อมพวิ เตอร์สามารถประมวลผลโปรเซสหลาย ๆ โปรเซสพร้อมกนั ได้ และเพือ่ เป็นการใช้งานซพี ียใู ห้เตม็ ประสิทธภิ าพมากทสี่ ุด โดยในการจดั เวลาซยี ู จะประกอบด้วยเวลาอยู่ 2 อยา่ ง คอื 1) เวลาทใ่ี ช้ CPU (CPU Burst Cycle) และ 2) เวลาทีต่ อ้ งคอย I/O (I/O Burst Cycle) ซง่ึ ในขณะท่ีมีการ ประมวลผล โปรเซส จะมีการสลับการทางานระหวา่ ง 2 ช่วงเวลานี้ เทา่ นน้ั โดยไม่ สามารถเกิดขน้ึ พรอ้ มกนั ได้ ในการจัดเวลาซพี ียูมีอัลกอริทึมทใ่ี ช้ในการจดั เวลาอยู่ 6 อลั กอริทมึ คือ 1 ) FCFS คือโปรเซสท่ี มาถึง Ready Queue กอ่ นจะมีสทิ ธิไ์ ด้ใช้งานซพี ียกู อ่ น 2) SJF คือให้โปรเซสทีม่ ี burst time นอ้ ยสุดมี สทิ ธไ์ิ ด้เข้าไปทางานก่อน มี 2 แบบคอื แบบบังคับได้ และบงั คบั ไม่ได้ 3) Priority คอื จัดตาราง ตามลาดบั ความสาคญั ของแต่ละโปรเซส โปรเซสไหนมีความสาคัญมาก จะมสี ทิ ธิไ์ ด้เขา้ ไปใช้งานซพี ียู ก่อน 4) RR คือการกาหนดเวลา (Quantum time) ในแต่ละรอบ เพ่ือใหโ้ ปรเซสทุกโปรเซสใน Ready Queue มโี อกาสไดท้ างานเทา่ เทียมกนั 5) Multilevel Queue จะแบ่งควิ ออกเปน็ หลาย ๆ ระดับ โดย แตล่ ะระดับหมายถึงระดบั โปรเซสที่มีความสาคัญต่างกนั จะไดร้ บั สทิ ธิใ์ นการใชซ้ ีพยี ูตา่ งกนั และ 6) Multilevel Feedback-Queue เกิดจากการนาหลาย ๆ อัลกอรทิ มึ มาทางานรว่ มกัน เพ่ือชว่ ยให้ ประมวลผลโปรเซสแล้วเกดิ เวลาในการรอคอยน้อยที่สดุ

บทท่ี 9 การจดั เวลาซีพียู | 157 แบบฝึกหดั ทา้ ยบทท่ี 9 1. ในการจัดเวลาซพี ียู มีเวลาทีม่ าเกยี่ วขอ้ งอยกู่ ี่ตวั อะไรบา้ ง 2. จงอธิบายกระบวนการทางานของอัลกอริทมึ FCFS 3. จงอธิบายกระบวนการทางานของอัลกอรทิ มึ RR 4. จงอธิบายกระบวนการทางานของอลั กอรทิ ึม Multilevel Feedback-Queue 5. จงคานวณหา waiting time และ turnaround time ของแต่ละโปรเซส โดยใชอ้ ลั กอรทิ มึ SJF แบบ บงั คบั ได้ Process Arrive Bust Time P0 0 7 P1 2 2 P2 3 4 P3 6 6 เอกสารอา้ งอิง ไพศาล โมลสิ กลุ . (2545). ระบบปฏบิ ตั ิการ ( Operating Systems). กรงุ เทพฯ: หจก ไทยเจรญิ การ พิมพ.์ มงคล อศั โกวทิ ยากรณ์. (2537). ระบบปฏิบัติการ ( Operating Systems). กรุงเทพฯ: ส. คอมพิวเตอร์ ไอ โอ ซี. ยรรยง เต็งอานวย. (2533). ระบบปฏบิ ตั ิการ (Operating Systems). กรงุ เทพฯ: ซีเอด็ ยเู คชนั . Abraham Silberschatz, Peter Baer Galvin, และ Greg Gagne. (2547). Operating System Concepts 7th Edition. John Wiley & Sons. Andrew S Tanenbaum. (2544). Modern Operating Systems 2nd Edition. Prentice-Hall.

บทท่ี 9 การจดั เวลาซพี ียู | 158

แผนบรหิ ารการสอนประจําบทที่ 10 ระบบปฏิบตั ิการไมโครซอฟตวินโดว หัวขอ# เนอื้ หา 1. วินโดว 2. รนุ ของระบบปฏบิ ัตกิ าร Windows 3. ระบบปฏิบัตกิ าร Windows 10 วตั ถุประสงคเชิงพฤติกรรม 1. เพือ่ ใหผ( (ูเรียนมคี วามเขา( ใจและสามารถอธบิ ายความหมายของวินโดวได( 2. เพื่อให(ผ(ูเรียนมีความเข(าใจและสามารถอธิบายความแตกตางของ รุนระบบปฏิบัติการ Windows ได( 3. เพือ่ ให(ผ(เู รียนมีความเขา( ใจและสามารถใช(งานระบบปฏบิ ตั กิ าร Windows 10 ได( 4. เพ่ือใหผ( ู(เรยี นมคี วามเข(าใจและสามารถตดิ ตง้ั ระบบปฏิบตั ิการ Windows 10 ได( วิธีการสอนและกจิ กรรมการเรียนการสอน 1. บรรยายเน้อื หาในแตละหวั ขอ( พรอ( มยกตัวอยางประกอบ 2. ศึกษาจากเอกสารประกอบการสอน 3. ผส(ู อนสรุปเนอ้ื หา 4. ทาํ แบบฝ?กหดั เพือ่ ทบทวนบทเรยี น 5. ฝ?กปฏิบตั กิ าร 6. ผเู( รียนถามขอ( สงสยั 7. ผู(สอนทําการซกั ถาม สื่อการเรยี นการสอน 1. เอกสารประกอบการสอนวชิ าสถาปตD ยกรรมคอมพวิ เตอรและซอฟตแวรระบบ 2. ภาพเลื่อน (Slide) 3. บทความจากหนังสือ หรือเวบ็ ไซตตาง ๆ 4. เครอื่ งคอมพิวเตอร

บทที่ 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวนิ โดว | 160 การวัดผลและการประเมินผล 1. ประเมนิ จากการซักถามในช้นั เรยี น 2. ประเมินจากความรวมมอื และความรบั ผดิ ชอบตอการเรยี น 3. ประเมินจากการทาํ แบบฝก? หัดทบทวนท(ายบทเรียน 4. ประเมินจากการฝ?กปฏิบตั กิ าร

บทที่ 10 ระบบปฏิบตั กิ ารไมโครซอฟตวินโดว 1. ความนํา ในปจจุบันมีระบบปฏิบัติการที่มนุษยใชงานหลายระบบปฏิบัติการดวยกัน เชน Windows, UNIX, Linux และ Mac OS เป6นตน ระบบปฏบิ ตั กิ ารแตละตัวจะมีหนาท่ีการทํางานท่ีคลายกัน คือเป6น ตัวกลางท่ีชวยจัดการทรัพยากรของเครื่องคอมพิวเตอรใหผูใช แตส่ิงที่แตกตางกัน คือ หนาตาของ ระบบปฏิบัติการ ความสวยงาม และการใชงาน แตระบบปฏิบัติการท่ีมีจํานวนผูใชงานมากที่สุดในโลก คอื ระบบปฏิบตั กิ าร Windows 2. วินโดว (Windows) วินโดวคือ ระบบปฏิบัติการคอมพิวเตอรระบบหนึ่ง สรางขึ้นโดยบริษัทไมโครซอฟต (Microsoft) โดยกอนทจี่ ะเกดิ วินโดวข้ึน ไมโครซอฟตไดพฒั นา MSLDOS มาใชงานกอน เน่ืองจากความ ยากในการใชงานดอสทาํ ใหบริษัทไมโครซอฟตไดพัฒนาซอฟตแวรท่ีเรียกวา Windows ท่ีมีลักษณะเป6น GUI (GraphicLUser Interface) ท่ีนํารูปแบบของสัญลักษณภาพกราฟUกเขามาแทนการปVอนคําส่ังทีละ บรรทัด ซึ่งใกลเคียงกับ MAC OS ของบริษัท Apple เพื่อใหการใชงาน MSLDOS ทําไดงายขึ้น แต วินโดวสจะยังไมใชระบบปฏิบัติการจริง ๆ เน่ืองจากมันจะทํางานอยูภายใตการควบคุมของ MSLDOS อีกที กลาวคือจะตองมีการติดตั้ง MSLDOS กอนที่จะติดตั้งระบบปฏิบัติการ Windows และผูใชจะ สามารถเรียกใชคําส่ังตาง ๆ ท่ีมีอยูใน MSLDOS ไดโดยผานทาง Windows ซึ่ง Windows จะงายตอ การใชงานมากกวาMSLDOS ระบบปฏบิ ตั ิการ Windows ใชหลักการแบงงานเป6นสวน เรียกวา หนาตางงาน (windows) ท่ี แสดงผลลัพธแตละโปรแกรม มีการผลิตและจําหนายหลายรุน เชน Windows XP, Windows Vista, Windows 7, Windows 8 และ Windows 10 เป6นตน 3. ร*ุนของระบบปฏบิ ัติการ Windows ตารางท่ี 10.1 รุนของระบบปฏิบัติการ Windows ชอ่ื ร*นุ เวอรชนั วนั ทีเ่ ปด2 ตวั Code name ระยะเวลาซพั พอรท ล*าสดุ หลัก ขยาย Windows 1.0 20 พฤศจกิ ายน 1985 Interface Manager Windows 2.0 1.01 9 ธนั วาคม 1987 ไมมี 31 ธนั วาคม 2000 2.03 31 ธันวาคม 2000

บทท่ี 10 ระบบปฏบิ ตั ิการไมโครซอฟตวินโดว | 162 ตารางที่ 10.1 รนุ ของระบบปฏิบัติการ Windows (ตอ) ชือ่ ร*ุน เวอรชัน วนั ท่ีเปด2 ตวั Code name ระยะเวลาซพั พอรท ลา* สุด หลกั ขยาย Windows 2.1 27 พฤษภาคม 1988 ไมมี Windows 3.0 2.11 22 พฤษภาคม 1990 ไมมี 31 ธนั วาคม 2000 Windows 3.1 3.0 6 เมษายน 1992 Janus 31 ธันวาคม 2000 Windows For 3.1 ตุลาคม 1992 Sparta, Winball 31 ธันวาคม 2000 Workgroups 3.1 3.1 31 ธนั วาคม 2000 Windows NT 3.1 Windows For NT 3.1.528 27 กรกฎาคม 1993 ไมมี 31 ธันวาคม 2000 Workgroups 3.11 3.11 11 สิงหาคม 1993 Sparta, Winball 31 ธันวาคม 2000 Windows 3.2 Windows NT 3.5 3.2 22 พฤศจกิ ายน 1993 ไมมี 31 ธันวาคม 2000 Windows NT 3.51 NT 3.5.807 21 กันยายน 1994 Daytona 31 ธนั วาคม 2000 NT 30 พฤษภาคม 1995 ไมมี 31 ธนั วาคม 2000 Windows 95 3.51.1057 4.0.950 24 สิงหาคม 1995 Chicago, 4.0 31 ธนั วาคม 31 ธันวาคม 2000 2001 Windows NT 4.0 NT 31 กรกฎาคม 1996 Cairo 31 ธนั วาคม Windows 98 4.0.1381 2000 31 ธนั วาคม 30 มิถุนายน 2001 4.10.1998 25 มิถุนายน 1998 Memphis, 97, 4.1 2002 11 Windows 98 SE 4.10.2222 5 พฤษภาคม 1999 ไมมี 30 มิถนุ ายน กรกฎาคม 2002 2006 Windows 2000 NT 15 ธนั วาคม 1999 ไมมี Windows ME 5.0.2195 Millenium, 4.9 30 มถิ นุ ายน 11 2005 กรกฎาคม 4.90.3000 14 กนั ยายน 2000 2006 31 ธันวาคม Windows XP NT 25 ตลุ าคม 2001 Whistler 2003 13 5.1.2600 28 มีนาคม 2003 ไมมี กรกฎาคม Windows XP 64Lbit 24 เมษายน 2003 ไมมี 14 เมษายน 2010 Edition NT 2009 Windows Server 5.2.3790 ไมมี 14 เมษายน 11 2003 2009 กรกฎาคม NT 13 กรกฎาคม 2006 5.2.3790 2010 8 เมษายน Windows XP NT 25 เมษายน 2005 14 เมษายน 2014 Professional x64 5.2.3790 2009 Edition 8 เมษายน 2014 14 กรกฎาคม 2015 8 เมษายน 2014

บทที่ 10 ระบบปฏิบตั กิ ารไมโครซอฟตวนิ โดว | 163 ตารางที่ 10.1 รนุ ของระบบปฏิบตั กิ าร Windows (ตอ) ชื่อร*นุ เวอรชนั วันทเี่ ปด2 ตวั Code name ระยะเวลาซพั พอรท ลา* สดุ หลกั ขยาย Windows NT 8 กรกฎาคม 2006 Eiger, Mönch 14 เมษายน 8 เมษายน Fundamentals for 5.1.2600 2009 2014 Legacy PCs Windows Vista NT 30 มกราคม 2007 Longhorn 10 เมษายน 11 เมษายน 6.0.6002 2012 2017 Windows Home NT 4 พฤศจกิ ายน 2007 ไมมี 8 มกราคม 2013 Server 5.2.4500 Windows Server NT 27 กุมภาพันธ 2008 Longhorn Server 13 มกราคม 14 มกราคม 2008 6.0.6002 2015 2020 Windows 7 NT 22 ตลุ าคม 2009 Blackcomb, Vienna 13 มกราคม 14 มกราคม 6.1.7601 2015 2020 Windows Server NT 22 ตลุ าคม 2009 ไมมี 13 มกราคม 14 มกราคม 2008 R2 6.1.7601 2015 2020 Windows Home NT 6 เมษายน 2011 Vail 12 เมษายน 2016 Server 2011 6.1.8400 Windows Server NT 4 กันยายน 2012 ไมมี 9 มกราคม 10 มกราคม 2012 6.2.9200 2018 2023 Windows 8 NT 26 ตุลาคม 2012 ไมมี 12 มกราคม 2016 6.2.9200 Windows 8.1 NT 17 ตุลาคม 2013 Blue 9 มกราคม 10 มกราคม 6.3.9600 2018 2023 Windows Server NT 18 ตุลาคม 2013 Server Blue 9 มกราคม 10 มกราคม 2012 R2 6.3.9600 2018 2023 Windows 10 NT 29 กรกฎาคม 2015 Threshold, Restone 13 ตลุ าคม 14 ตลุ าคม 10.0.14393 2020 2025 Windows Server NT 12 ตุลาคม 2016 ไมมี 11 มกราคม 11 มกราคม 2016 10.0.14393 2022 2027 (ท่ีมา : https://th.wikipedia.org/wiki/ไมโครซอฟท_วนิ โดวส) 4. ระบบปฏบิ ัติการ Windows 10 ระบบปฏบิ ัตกิ าร Windows 10 แสดงดังรูปท่ี 10.1 เป6นระบบปฏิบัติการรุนปจจุบันของบริษัท ไมโครซอฟต ใชสถาปตยกรรมของ Windows NT เร่ิมพัฒนาเมื่อ 30 กันยายน 2557 และวางจําหนาย เม่ือ 29 กรกฎาคม 2558 ระบบปฏิบัติการ Windows 10 ไดพัฒนาตอยอดมาจาก Windows 8 โดย รองรับหนาจอแบบสัมผัส และแบบด้ังเดิม (เมาส และคียบอรด) ไปควบคูกัน โดยสถาปตยกรรมของ ระบบเอ้ือใหสามารถใชไดทั้งคอมพิวเตอรแบบต้ังโต•ะ แท็บเล็ต และสมารทโฟน ซึ่งรองรับการซ้ือ แอปพลิเคชนั จาก Windows Store

บทที่ 10 ระบบปฏบิ ตั ิการไมโครซอฟตวนิ โดว | 164 ใน Windows 10 ไดนําปุ•ม start menu แบบใน Windows 7 กลับมาและการนําหนาจอ modern/metro บน Windows 8 ออกไป ทงั้ นี้ Microsoft ไมไดเอาหนาจอ Modern ของ Windows 8 ออกไปท้ังหมด เพราะ Microsoft ไดจับเอา start menu และ modern UI มารวมกันเป6น start menu ของ Windows 10 สวน Live tiles และการเรียกใชงานแอปพลิเคชันแบบ modern (แบบใน Windows 8) จะยังคงอยู ซึ่งผูใชสามารถปรับขนาดและปรับการใชงานใหเหมาะสมกับตัวเองได นอกจากนี้ ระบบ task view ท่เี พ่ิมเขามาใหม ซึง่ เปรยี บเสมือนกับคุณสมบัติ Expose บน OSX ซ่ึงเป6น คณุ สมบัตทิ ช่ี วยใหสามารถจัดการแอปพลเิ คชันที่ทํางานอยูในรปู แบบ MultiLtasking ได รูปท่ี 10.1 ระบบปฏบิ ตั ิการ Windows 10 4.1 หน<าตาของ Windows 10 เมื่อเปUดเคร่อื ง และเขาสรู ะบบปฏิบตั ิการ Windows 10 จะพบหนาตาแสดงดงั รปู ที่ 10.2 โดย มเี มนู และป•ุมกดตาง ๆ ใหผูใชสามารถเรียกใชงานได ดงั นี้ 1) ป•ุม All apps คอื แหลงรวมไอคอนโปรแกรมตาง ๆ 2) ปุม• Power คือ ปุ•มทีใ่ ชทป่ี Uดเครอื่ ง รสี ตารท หรือพักการทํางาน 3) ปุ•ม Setting คอื ทต่ี ้ังคาการใชงานตาง ๆ 4) ปุม• File Explorer คือแสดงโฟลเดอรหลัก และโฟลเดอรท่ีเขาใชงานบอยๆ 5) ปุ•ม Start คอื ทเี่ ขาสกู ารทํางานตางๆ 6) ปม•ุ Search Windows คือทีค่ นหาโปรแกรม 7) ปม•ุ Task View คือกระจายหนาตางโปรแกรม เพ่อื เลือกการทาํ งาน 8) ปม•ุ Battery คอื แสดงสถานะของแบตเตอรรี่ 9) ป•มุ WiLFi คือแสดงสถานะและที่เช่ือมตอของเครือขาย 10) ป•ุม Volume คือแสดงระดบั ของเสียงและที่เพ่ิมLลดเสยี ง 11) ปม•ุ Notifications คอื แสดงรายการแจงเตือนตางๆ

บทที่ 10 ระบบปฏิบตั ิการไมโครซอฟตวนิ โดว | 165 12) ปุม• Language คือแสดงภาษาปจจุบนั และทเี่ ปล่ยี นภาษา 13) ป•มุ Date Time คือแสดงวันเดอื นปƒ เวลา และท่ีเปลีย่ นแปลงวนั เวลา 4 3 2 1 567 8 10 12 9 11 13 รูปท่ี 10.2 เมนตู าง ๆ ในระบบปฏิบตั กิ าร Windows 10 4.2 ขนั้ ตอนการตดิ ตั้งระบบปฏบิ ัตกิ าร Windows 10 จดั เตรยี มแผน DVD หรือ Flash drive ทีม่ ีตวั ตดิ ต้งั ระบบปฏิบัติการ Windows 10 อยู เพ่ือนํา ใชในการตดิ ต้ังลงบนเคร่ืองคอมพิวเตอร ต้ังคาลําดับการบูตใน Bios โดยต้ังใหเริ่มบูตจาก เครื่องอาน DVD ROM หรือ Flash drive กอนเปน6 อนั ดับแรก ตามดวยฮารดดิสกเป6นลาํ ดับถัดมา เมอื่ ตง้ั คาใน Bios เสร็จเรียบรอยใหใสแผน DVD หรือ Flash drive ทเี่ ตรยี มไว แลวจึงรีสตารท เมื่อบูตเสรจ็ จะเขาสูหนาเรม่ิ การตดิ ตั้งระบบปฏบิ ัติการ Windows 10 แสดงดงั ภาพที่ 10.3 ในขั้นตอนนี้ สามารถเลือกภาษาทใ่ี ชในการตดิ ต้งั (เลือกเปน6 ภาษาไทย) รูปแบบเวลาและสกุลเงิน (เลือกเป6นประเทศ ไทย) เมือ่ กดปม•ุ ถดั ไป จะแสดงหนาตางเพือ่ ยืนยันการติดตั้ง แสดงดังภาพที่ 10.4 ใหกดป•ุมติดต้ังเดี๋ยวนี้ เพื่อเรม่ิ ติดต้ังระบบปฏบิ ตั กิ าร Windows 10 ข้ันตอนถดั มา แสดงดังรูปที่ 10.5 เปน6 หนาตางเลือกระบบปฏบิ ัตกิ ารท่ีตองการติดตั้ง ในรูปจะมี ใหเลือก 2 รุนคือ Windows 10 Pro x64 คือ ระบบปฏิบัติการ Windows 10 รุน Professional 64

บทที่ 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวนิ โดว | 166 บิต และ Windows 10 Enterprise x64 คือ ระบบปฏิบัติการ Windows 10 รุน Enterprise 64 บิต และกดถัดไป รปู ท่ี 10.3 เลือกภาษาในการตดิ ตง้ั ระบบปฏิบัติการ Windows 10 รูปท่ี 10.4 เริ่มการติดตั้งระบบปฏบิ ตั กิ าร Windows 10 เม่ือเลือกระบบปฏิบัติการท่ีตองการติดต้ังเรียบรอย จะมีหนาใหยอมรับเงื่อนไขการอนุญาตให ใชสทิ ธ์ิ แสดงดงั รปู ที่ 10.6 ใหเลือกท่ีฉันยอมรับเงอื่ นไขการอนญุ าตใหใชสทิ ธิ์ และกดป•ุมถัดไป

บทท่ี 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวินโดว | 167 รูปที่ 10.5 รนุ ของระบบปฏิบัติการทม่ี ีใหเลือกตดิ ตั้ง รูปท่ี 10.6 การยอมรับเง่ือนไขในการตดิ ต้ัง หนาตางเลอื กรปู แบบการตดิ ตั้ง แสดงดงั รูปท่ี 10.7 โดยมใี หเลอื ก 2 แบบ คือ ปรับรุน หมายถึง การอัพเดต โดยไฟลขอมูลเกาบางสวนจะถูกเก็บไวและนํามาใชกับระบบปฏิบัติการใหมท่ีติดตั้ง สวนอีก แบบคอื กาํ หนดเอง หมายถงึ การลบระบบปฏบิ ตั กิ ารตัวเกาทิ้ง และลงตัวใหม เมอื่ เลือกการตดิ ต้งั รูปแบบกําหนดเอง จะแสดงหนาตาง ดังรูปท่ี 10.8 ในหนานี้จะแสดงไดรท่ีมี อยูในคอมพิวเตอรเคร่ืองนี้ท้ังหมด ใหเลือกไดรที่ตองการจะติดตั้งระบบปฏิบัติการ Windows นี้ลงไป

บทที่ 10 ระบบปฏิบตั กิ ารไมโครซอฟตวนิ โดว | 168 โดยสามารถจดั การไดรใหมจากฮารดดสิ ไดทันที เชน ลบไดรท้งิ สรางไดรใหม โดยสามารถกําหนดขนาด ไดตามตองการ และกดปม•ุ ถัดไป ระบบจะเรมิ่ ทาํ การติดตงั้ ระบบปฏบิ ตั กิ าร แสดงดังรูปที่ 10.9 รปู ที่ 10.7 เลือกรปู แบบการตดิ ตัง้ รปู ท่ี 10.8 เลอื กไดรท่ีตองการติดตงั้ ระบบปฏบิ ัติการ

บทที่ 10 ระบบปฏิบตั กิ ารไมโครซอฟตวินโดว | 169 รปู ที่ 10.9 กําลังตดิ ตั้ง Windows เมื่อติดตั้งเสร็จขั้นตอนถัดมาจะเป6นการตั้งคา โดยเร่ิมตนจากการต้ังคาภูมิภาค แสดงดังรูปท่ี 10.10 ใหเลือกเป6น ไทย และกดปุ•มใช รปู ที่ 10.10 การต้งั คาภูมภิ าค

บทที่ 10 ระบบปฏบิ ตั ิการไมโครซอฟตวนิ โดว | 170 ข้ันตอนถัดมา คือการกําหนดรูปแบบของแปVนพิมพ โดยท่ัวไป ตองกําหนดแปVนพิมพ 2 ภาษา คือภาษาไทย และ ภาษาอังกฤษ (US) ในรูปที่ 10.11 เป6นการตั้งคาแปVนพิมพภาษาไทย ใหเลือก ไทย เกษมณี จะเปน6 แปVนพิมพแบบ ฟ ห ก ด ท สวนแบบ ปตตโชติ ไมคอยนยิ มใชงาน รปู ท่ี 10.11 กาํ หนดภาษาที่ใชในแปนV พิมพ ขน้ั ตอนถดั มาเป6นการเลือกรปู แบบการตงั้ คาใชงาน วาเป6นเคร่อื งสวนบคุ คลหรือ องคกร รูปที่ 10.12 เลอื กรูปแบบการตัง้ คาใชงาน Windows

บทท่ี 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวินโดว | 171 ข้นั ตอนถัดมาเป6นการตั้งคาบญั ชีผูใช แสดงดังรปู ที่ 10.13 โดยสามารถใชบัญชีของไมโครซอฟต ที่มอี ยไู ด เชน Hotmail หรอื Skype แตในการติดตั้งน้จี ะสรางบัญชเี อง ใหกดป•ุมถดั ไปโดยไมตองกรอก รูปที่ 10.13 การลงช่ือเขาใชดวยบัญชขี อง Microsoft ข้นั ตอนน้ีเปน6 การกรอกชื่อผทู ี่จะใชเครอ่ื งน้ี แสดงดังรปู ที่ 10.14 กรอก Teacher เพ่ือตงั้ ช่อื เครือ่ ง รปู ท่ี 10.14 สรางบญั ชผี ทู ีจ่ ะใชงานคอมพิวเตอรเครื่องนี้

บทที่ 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวินโดว | 172 หลังจากกําหนดชื่อผูใชเรียบรอยแลว ขั้นตอนถัดมา แสดงดังรูปที่ 10.15 คือ การต้ังคา รหัสผาน ถาไมตองการกาํ หนดรหัสผาน สามารถกดถดั ไปไดเลย รปู ที่ 10.15 กาํ หนดรหัสผานใหบญั ชผี ใู ช ข้ันตอนสุดทายของการต้ังคา แสดงดังรูปที่ 10.16 คือการตั้งคาความเป6นสวนตัวสําหรับ อุปกรณ เชน การใชงานตําแหนงทต่ี ั้ง การรูจําเสียง และการวนิ ิจฉัย เปน6 ตน รปู ท่ี 10.16 ต้งั คาความเปน6 สวนตัวของคอมพิวเตอร

บทท่ี 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวินโดว | 173 เม่ือต้ังคาทุกอยางเสร็จ ระบบจะเขามาท่ีจอเร่ิมตน แสดงดังรูปท่ี 10.17 ผูใช สามารถเร่ิมใช งานระบบปฏิบตั ิการ Windows 10 ไดทนั ที รปู ท่ี 10.17 ระบบปฏบิ ัติการ Windows 10 หลังติดต้งั เสร็จ

บทที่ 10 ระบบปฏิบตั กิ ารไมโครซอฟตวินโดว | 174 5. สรปุ ทา< ยบท Windows คือ ระบบปฏิบัติการคอมพิวเตอรระบบหนึ่ง สรางขึ้นโดยบริษัทไมโครซอฟต (Microsoft) โดยกอนท่ีจะเกิดวินโดวข้นึ ไมโครซอฟตไดพัฒนาดอสมาใชงานกอน เนื่องจากความยากใน การใชงานดอสทําใหบริษัทไมโครซอฟตไดพัฒนาซอฟตแวรที่เรียกวา Windows ท่ีมีลักษณะเป6น GUI (GraphicLUser Interface) ท่ีนํารูปแบบของสัญลักษณภาพกราฟUกเขามาแทนการปVอนคําสั่งทีละ บรรทดั ระบบปฏิบัติการ Windows ใชหลักการแบงงานเป6นสวน เรียกวา หนาตางงาน (windows) ท่ี แสดงผลลัพธแตละโปรแกรม มีการผลิตและจําหนายหลายรุน เชน Windows XP, Windows Vista, Windows 7, Windows 8 และ Windows 10 เปน6 ตน

บทที่ 10 ระบบปฏบิ ตั ิการไมโครซอฟตวินโดว | 175 แบบฝEกหัดทา< ยบทที่ 10 1. ระบบปฏบิ ตั ิการ Windows คืออะไร 2. เพราะเหตใุ ดจึงต้งั ช่ือวา ระบบปฏบิ ตั ิการ Windows 3. จงยกตัวอยางความสามารถของระบบปฏบิ ตั ิการ Windows 10 มา 3 ขอ 4. จงอธบิ ายกระบวนการในการติดตงั้ Windows 10 ตง้ั แตเร่มิ ตน เอกสารอา< งอิง ไพศาล โมลิสกุล. (2545). ระบบปฏิบัติการ (Operating Systems) กรุงเทพฯ: หจก ไทยเจริญการ พมิ พ. มงคล อัศโกวิทยากรณ. (2537). ระบบปฏิบัติการ (Operating Systems) กรุงเทพฯ: ส. คอมพวิ เตอร ไอ โอ ซี. ยรรยง เตง็ อาํ นวย. (2533). ระบบปฏิบัติการ (Operating Systems) กรงุ เทพฯ: ซเี อด็ ยเู คชนั . Abraham Silberschatz, Peter Baer Galvin, และ Greg Gagne. (2547). Operating System Concepts 7th Edition John Wiley & Sons. Andrew S Tanenbaum. (2544). Modern Operating Systems 2nd Edition PrenticeLHall.

บทท่ี 10 ระบบปฏบิ ตั กิ ารไมโครซอฟตวนิ โดว | 176

บรรณานุกรม ธีรวัฒน ประกอบผล, และ จันทนา ผองเพ็ญศรี. (2551). สถาปตยกรรมคอมพิวเตอร. กรุงเทพฯ: สํานกั พิมพ ส.ส.ท. บุญสืบ โพธิ์ศรี, สุขุม แป.มศรี, และ เอกองค หลงราม. (2547). สถาปตยกรรมคอมพิวเตอรและ ระบบปฏบิ ตั ิการ. นนทบุรี: เจรญิ รงุ เรืองการพมิ พ. ไพศาล โมลิสกุล. (2545). ระบบปฏิบัติการ (Operating Systems) กรุงเทพฯ: หจก ไทยเจริญการ พิมพ. มงคล อัศโกวิทยากรณ. (2537). ระบบปฏิบัติการ. กรุงเทพฯ: ส.คอมพวิ เตอร ไอ โอ ซี. ยรรยง เตง็ อํานวย. (2533). ระบบปฏบิ ัติการ (Operating Systems) กรงุ เทพฯ: ซีเอด็ ยูเคชัน. วโิ รจน ชยั มลู , และ สุพรรณษา ยวงทอง. (2552). ความรเู, บ้อื งตน, เก่ียวกับคอมพิวเตอรและเทคโนโลยี สารสนเทศ. กรงุ เทพฯ: บรษิ ทั โปรวชิ น่ั จํากดั . Abraham Silberschatz, Peter Baer Galvin, และ Greg Gagne. (2547). Operating System Concepts 7th Edition John Wiley & Sons. Andrew S Tanenbaum. (2544). Modern Operating Systems 2nd Edition Prentice[Hall. William Stallings. (2550). Computer Organization and Architecture. กรุงเทพฯ: บริษัท เอช.เอน็ . กรป^ุ จํากดั . http://www.เกร็ดความรaู.net/rom/ สืบคaนเมอื่ มีนาคม 2558 https://bussystem46.wordpress.com/2012/08/09/bus_system/ สบื คaนเมอ่ื สิงหาคม 2558 http://www.comgeeks.net/ram/ สืบคaนเมอ่ื มนี าคม 2558 http://www.comgeeks.net/rom/ สืบคaนเมอ่ื เมษายน 2558 http://cscintel.blogspot.com/2012/09/cpu.html สืบคนa เม่อื ธันวาคม 2559 http://csnon04.blogspot.com/2008/03/6.html สบื คaนเม่ือ มีนาคม 2560 http://hub[analyst.blogspot.com/2006/09/blog[post_13.html สบื คaนเมอ่ื มิถนุ ายน 2559 http://www.ipesp.ac.th/learning/071001/html/index.htm สืบคaนเม่ือ ธนั วาคม 2559 http://www.mindphp.com/คูมอื /73[คืออะไร/2112[usb[คอื อะไร.html สืบคนa เม่ือ เมษายน 2560 http://www.nextproject.net/contents/default.aspx?00064 สืบคaนเมือ่ สิงหาคม 2558 http://pattiiz[s.blogspot.com/ สืบคนa เม่อื ธนั วาคม 2559 https://sites.google.com/site/computer015065/hardware/input สบื คaนเมื่อ มิถนุ ายน 2559 https://sites.google.com/site/computer015065/hardware/output สืบคนa เมอ่ื มิถนุ ายน 2559 https://sites.google.com/site/operatingsytemsyvc/bth[thi3[kar[cadkar[hnwy[ khwam[ca สืบคaนเมื่อ มนี าคม 2560 http://supawutal.blogspot.com/p/3.html สบื คนa เมอื่ สิงหาคม 2558 https://th.wikipedia.org/wiki/ดจิ ทิ ัล สบื คaนเมื่อ มกราคม 2558 http://www.thaiall.com/os/os05.htm สบื คนa เมอื่ มนี าคม 2560

178 http://www.thaigoodview.com/library/contest2 5 5 3 / type1 / tech0 3 / 1 6 / MOUSE.HTML สบื คนa เมื่อ มถิ นุ ายน 2559 https://todsaporn.wordpress.com/4[หนวยความจํา[memory[unit/ สืบคaนเมอ่ื เมษายน 2558 http://www.vcharkarn.com/vblog/40712 สืบคaนเมื่อ สงิ หาคม 2558

Processมีหน้าที่ทำอะไร

2.1 โปรเซส(Process) หน้าที่ประการหนึ่งของ OS ก็คือการจัดสรรทรัพยากรของระบบ OS จะต้องแบ่ง ทรัพยากรที่มีอยู่จํากัดให้กับผู้ที่ต้องการใช้ทรัพยากรเหล่านั้น ผู้ที่นําทรัพยากรไปใช้ก็คือโปรเซส (process) โปรเซสเป็นองค์ประกองที่สําคัญของการทํางานของระบบคอมพิวเตอร์ เราจึงควรศึกษา วิธีการจัดการโปรเซสของ OS เสียก่อน

องค์ประกอบของโปรเซส มีอะไรบ้าง

1 องค์ประกอบของโปรเซส.

หมายเลขโปรเซส (Process id).

โค้ดโปรแกรม (Program code).

ข้อมูล (Data).

บล็อกควบคุมโปรเซส (Process control block) 4.1 พอยเตอร์ (Pointer) 4.2 สถานะของโปรเซส (Process state) 4.3 หมายเลขโปรเซส (Program id) ... .

PSW (Program status word).

คุณสมบัติของโปรเซส (Properties of process).

ขั้นตอนการทำงานของโปรเซสมีอะไรบ้าง

Process Identification (PID) เก็บหมายเลขเฉพาะโปรเซส.

Process status เก็บสถานะปัจจุบัน.

Program counter เก็บว่าคำสั่งถูกประมวลผลถึงลำดับที่เท่าใด.

Process priority เก็บลำดับำความสำคัญ.

Pointer เก็บตัวชี้ไปยังโปรเซสแม่/ลูก ที่เกี่ยวข้อง.

Execution context หรือ Register contents เก็บรายละเอียดของ Register..

วัตถุประสงค์ของ CPU Scheduling คืออะไร

การจัดเวลาซีพียู (CPU Scheduling) เป็นหลักการท างานหนึ่งของระบบปฏิบัติการ ที่ท าให้คอมพิวเตอร์มีความสามารถในการเปิดโปรแกรมหลายๆ โปรแกรมในเวลาเดียวกัน ซึ่งการ แบ่งเวลาการเข้าใช้ซีพียูให้กับโปรเซส จะท าให้คอมพิวเตอร์สามารถท างานได้ปริมาณงานที่มากขึ้น กว่าการที่ให้ซีพียูท างานให้เสร็จทีละโปรเซส