เอกสารประกอบการสอน รายวิชา...

205
เอกสารประกอบการสอน รายวิชา ระบบปฏิบัติการ (Operating Systems) จุฑาวุฒิ จันทรมาลี วท.บ., วท.ม.(วิทยาการคอมพิวเตอร์) คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสวนดุสิต 2557

Upload: others

Post on 30-Oct-2019

20 views

Category:

Documents


0 download

TRANSCRIPT

เอกสารประกอบการสอน

รายวชา ระบบปฏบตการ (Operating Systems)

จฑาวฒ จนทรมาล

วท.บ., วท.ม.(วทยาการคอมพวเตอร)

คณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏสวนดสต 2557

(1)

ค ำน ำ

เอกสารประกอบการสอนวชา ระบบปฏบตการ รหสวชา 4123708 จดไดวาเปนรายวชาทมความส าคญตอการผลตบณฑตดานคอมพวเตอร ตามหลกสตรวทยาศาตรบณฑต สาขาวชา วทยาการคอมพวเตอร นอกจากนนต าราเลมนไดเรยบเรยงขนเพอใหครอาจารยและบคคลทวไปไดศกษาและคนควาเพมพนความรและประสบการณเกยวกบทกษะและเทคนครวมทงไดศกษาการใชงานระบบปฏบตการคอมพวเตอร เบองตนทงภาคทฤษฎและปฏบต สาระส าคญของเอกสารประกอบการสอนเลมน ประกอบดวย 10 บท ไดแก ระบบคอมพวเตอรและระบบปฏบตการการจดการหนวยความจ า การจดการหนวยประมวลผลกลาง การจดการเกยวกบไฟล ระบบรบและแสดงผลขอมล การจ ดการกระบวนการ กรณศกษา (Case Study) ระบบปฏ บตการวนโดว กรณ ศกษา (Case Study) ระบบปฏบตการย นกซ กรณ ศกษา (Case Study) ระบบปฏ บตการลน กซ : ภาคทฤษฎ และกรณศกษา (Case Study) ระบบปฏบตการลนกซ : ภาคปฏบต ซงการเรยบเรยงประมวลเอกสารประกอบการสอนตามเนอหาดงกล าวขางตนน น ผ เข ยนไดค านงถงการจดการเรยนการสอนท เน นผ เร ยนเป นส าคญตามพระราชบญญตการศกษาแหงชาต รวมทงเนอหามความทนสมยทนเหตการณ ครอบคลมตามสาระการเรยนรท พงม และน าทกษะและเทคนคสมยใหมท เกยวของมาน าเสนอประกอบ เพอใหเกดความชดเจนในองคความรของศาสตรดานคอมพวเตอร สามารถตดตงระบบปฏบตการเบองตนและการพกพาอปกรณท ตดตงระบบปฏบตการแลวไปใชในการท างานไดจรง ผเขยนหวงวาเอกสารประกอบการสอนเลมนคงมประโยชนกบทานผ อานบางตามโอกาสอนสมควร จฑาวฒ จนทรมาล 7 มนาคม 2557

(2)

(3)

สำรบญ

หนำค ำน ำ (1) สำรบญ (3) สำรบญภำพ (7) สำรบญตำรำง (11) แผนบรหำรกำรสอนประจ ำวชำ (13) แผนบรหำรกำรสอนประจ ำบทท 1 1 บทท 1 ระบบคอมพวเตอรและระบบปฏบตกำร 2 การจ าแนกเครองคอมพวเตอร 2 รปแบบและกระบวนการท างานของระบบคอมพวเตอร 3 ระบบปฏบตการ 8 ววฒนาการของระบบปฏบตการ 11 หนาทของระบบปฏบตการ 13 สรป 17 ค าถามทบทวน 18 เอกสารอางอง 19แผนบรหำรกำรสอนประจ ำบทท 2 20 บทท 2 กำรจดกำรหนวยควำมจ ำ 21 การจดการหนวยความจ า 21 การเชอมโยงต าแหนง 23 การเชอมโยงระหวางพนททางกายภาพกบพนททางตรรกะ 25 การบรรจแบบพลวต 26 การใชคลงโปรแกรมรวมกนและการเชอมโยงแบบพลวต 26 การแบงสวน 27 กลยทธในการจดการหนวยความจ า 28 การสบเปลยน 29 การจดสรรหนวยความจ าทตอเนองกน 30 การจดสรรพนทในหนวยความจ า 32 การแบงหนา 34 ฮารดแวรกบการสนบสนนการแบงหนา 36 การปองกนหนวยความจ า 38 การใชเพจรวมกน 39 โครงสรางของตารางเพจ 40

(4)

หนำ

การแบงสวน 43 สรป 46 ค าถามทบทวน 47 เอกสารอางอง 48แผนบรหำรกำรสอนประจ ำบทท 3 49บทท 3 กำรจดกำรหนวยประมวลผลกลำง 50 การจดตารางการท างานของหนวยประมวลผลกลาง 50 อลกอรทมส าหรบการจดตารางการท างาน 53 การจดตารางการท างานของระบบหลายกระบวนการ 59 การจดตารางการท างานของระบบแบบทนท 59 รปแบบของขนตอนวธ 60 สรป 61 ค าถามทบทวน 62 เอกสารอางอง 63แผนบรหำรกำรสอนประจ ำบทท 4 64 บทท 4 กำรจดกำรเกยวกบไฟล 65 แนวคดเกยวกบไฟล 65 โครงสรางของไฟล 68 โครงสรางภายในไฟล 70 วธการเขาถงไฟล 70 โครงสรางสารบบ 72 การใชไฟลรวมกน 76 การปองกน 78 สรป 81 ค าถามทบทวน 82 เอกสารอางอง 83แผนบรหำรกำรสอนประจ ำบทท 5 84 บทท 5 ระบบรบและแสดงผลขอมล 85 หลกการท างานและประเภทของ I/O System 85 ฮารดแวรของหนวยรบและแสดงผลขอมล 87 สวนตอประสานงานในระบบรบและแสดงผล 91 ระบบรบหรอแสดงผลยอย 94 การสงขอมลอยางตอเนอง 96 ประสทธภาพการท างาน 97 สรป 98

(5)

หนำ

ค าถามทบทวน 99 เอกสารอางอง 100แผนบรหำรกำรสอนประจ ำบทท 6 101บทท 6 กำรจดกำรกระบวนกำร 102 แนวคดเกยวกบกระบวนการ 105 การจดตารางรางกระบวนการ 103 การด าเนนการกบกระบวนการ 109 การรวมกนของกระบวนการ 110 การตดตอสอสารระหวางกระบวนการ 111 สรป 114 ค าถามทบทวน 115 เอกสารอางอง 116แผนบรหำรกำรสอนประจ ำบทท 7 117บทท 7 กรณศกษำ (Case Study) ระบบปฏบตกำรวนโดว 118 ประวตความเปนมา 118 หลกการออกแบบ 120 สวนประกอบของระบบ 122 ระบบงานยอยทเกยวของ 126 การจดการไฟล 126 การจดการเครอขาย 127 การจดการความปลอดภย 128 สรป 129 ค าถามทบทวน 130 เอกสารอางอง 131แผนบรหำรกำรสอนประจ ำบทท 7 132บทท 8 กรณศกษำ (Case Study) ระบบปฏบตกำรยนกซ 133 ประวตความเปนมา 133 เปาหมายของการออกแบบ 134 การจดการหนวยความจ า 135 การจดการกระบวนการ 136 การจดการอปกรณในการรบและแสดงผล 136 การจดการไฟล 137 สรป 141 ค าถามทบทวน 142 เอกสารอางอง 143

(6)

หนำ

แผนบรหำรกำรสอนประจ ำบทท 9 144บทท 9 กรณศกษำ (Case Study) ระบบปฏบตกำรลนกซ: ภำคทฤษฎ 145 ประวตความเปนมา 145 เปาหมายของการออกแบบ 148 การจดการหนวยความจ า 149 การจดการกระบวนการ 150 การจดการอปกรณรบและแสดงผล 150 การสอสารระหวางกระบวนการ 151 โครงสรางระบบเครอขาย 152 ความรกษาความปลอดภย 152 สรป 154 ค าถามทบทวน 155 เอกสารอางอง 156แผนบรหำรกำรสอนประจ ำบทท 10 157บทท 10 กรณศกษำ (Case Study) ระบบปฏบตกำรลนกซ: ภำคปฏบต 158 ท าความรจกระบบปฏบตการ Ubuntu 158 ลกษณะเดนของระบบปฏบตการ Ubuntu 159 รปแบบการตดตงระบบปฏบตการ Ubuntu 12.04 LTS 159 ขนตอนและวธการตดตงระบบปฏบตการ Ubuntu 12.04 LTS 160 ขนตอนการเรมใชงานระบบปฏบตการ Ubuntu 12.04 LTS 167 สวนประกอบตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS 168 สรป 186 ค าถามทบทวน 187 เอกสารอางอง 188 บรรณำนกรม 189

(7)

สำรบญภำพ

หนำ ภำพท 1.1 แสดงโครงสรางของระบบคอมพวเตอร (Structure of Computer System) 3 1.2 แสดงพนทของหนวยความจ าส าหรบระบบการท างานแบบกลม 4 1.3 แสดงพนทของหนวยความจ าส าหรบระบบการท างานแบบหลายชดค าสง 5 1.4 แสดงรปแบบการท างานแบบสมมาตร (Symmetric multiprocessing: SMP) 6 1.5 แสดงโครงสรางทวไปของระบบเครอขายแม/เครอขายลก (Client/Server Systems) 7 1.6 แสดงความสมพนธสวนทเกยวของประเภทตางๆ กบระบบปฏบตการ 9 1.7 แสดงหนาทของระบบปฏบตการ (Function of the Operating System) 14 2.1 แสดงกระบวนการท างานของหนวยความจ าหลก (Main Memory) 21 2.2 แสดงความสมพนธระหวางหนวยความเสมอน (Virtual Memory) และหนวยความจ าทางกายภาพ (Physical Memory) 22 2.3 แสดงชวงเวลาเชองโยงต าแหนง (Address Binding) 24 2.4 แสดงตวอยางของการท างานของหนวยความจดการหนวยความจ า (Memory Management Unii: MMU) 25 2.5 แสดงการแบงสวนหนวยความจ าส าหรบการน าเขาของโปรเซสครงท 1 - 2 ของ ตวเอสเซมเบอร (Overlays for two-pass assembler) 27 2.6 แสดงการสบเปลยนระหวาง 2 โปรเซส ในการใชงานพนทดสกในการจดเกบ (Swapping of two processes using a disk as a backing store) 30 2.7 แสดงการแบงระดบของหนวยความจ าหลก (The Level of Main Memory) 31 2.8 แสดงภาพฮารดแวรทสนบสนนการท างานของรจสเตอรยายต าแหนงรจสเตอรขอบเขต (Hardware Support for relocation and limit registers) 32 2.9 แสดงการแบงหนวยความจ าแบบพลวต (Dynamic Partition) 33 2.10 แสดงวธการวาง (Placement) แบบตางๆ 34 2.11 แสดงฮารดแวรการแบงตาราง (Hardware Paging) 35 2.12 แสดงรปแบบการแบงเพจในหนวยความจ าแบบตรรกะและหนวยความจ าแบบกายภาพ (Paging model of logical and physical memory) 36 2.13 แสดงฮารดแวรกบการสนบสนนการแบงหนาดวย TLB (Paging hardware with Table look-aside buffer ) 37 2.14 แสดงตารางเพจของบตทใชงานได-บตทใชงานไมได (Valid (v) or Invalid (i) Bit in a Page Table) 39 2.15 แสดงภาพแวดลอมของการใชงานเพจรวมกน (Sharing of Code In a Paging Environment) 40 2.16 แสดงโครงสรางต าแหนงทางตรรกะแบบ 1 ระดบขนาด 32 บต 41

(8)

หนำ ภำพท

2.17 แสดงโครงสรางต าแหนงทางตรรกะแบบ 2 ระดบขนาด 32 บต (Address Translation for a Two-Level 32-Bit Paging Architecture) 41 2.18 แสดงโครงสรางแบบตารางแฮช (Hashed Page Table) 42 2.19 แสดงโครงสรางแบบผกผน (Inverted Page Table) 43 2.20 แสดงโครงสรางแบบแบงสวน (Segmentation) 44 2.21 แสดงโครงสรางตารางการแบงสวน (Segmentation Table) 45 3.1 แสดงการสลบการท างานระหวางระยะเวลาใชงานและระยะเวลาในการรบ– สงขอมล (Alternating sequence of CPU and I/O bursts) 51 3.2 แสดงฮสโตแกรมของระยะเวลาการใชงาน CPU (Histogram of CPU-burst times) 52 3.3 แสดงการครอบครอง CPU แบบวนรอบ (round-robin) 57 3.4 แสดงการจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) 58 3.5 แสดงการจดเวลาแบบควหลายระดบแบบยอยกลบ (Multilevel Feedback Queue Scheduling) 59 4.1 แสดงไฟลทถกจดเกบแบบเรยงล าดบ 69 4.2 แสดงไฟลทถกจดเกบแบบเรกคอรด 69 4.3 แสดงไฟลทถกจดเกบแบบตนไม 69 4.4 การเขาถงแบบเรยงล าดบ (Sequential Access) 70 4.5 แสดงตวอยางการใชดชนและความสมพนธของไฟล (Example of Index and Relative Files Access) 71 4.6 แสดงการจดโครงสรางของระบบไฟลโดยทวไป (A Typical File-System Organization) 72 4.7 แสดงโครงสรางแบบไดเรกทรอรเดยว (Single-Level Directory) 73 4.8 แสดงโครงสรางแบบสองไดเรกทอร (Two-Level Directory) 74 4.9 แสดงโครงสรางไดเรกทอรแบบตนไม (Tree-Structure Directory) 75 4.10 แสดงโครงสรางไดเรกทอรแบบไมเปนวงจร (Acyclic-Graph Directory) 75 4.11 แสดงโครงสรางไดเรกทอรแบบกราฟทวไป (General Graph Directory) 76 4.12 แสดงการใชไฟลรวมกนแบบการก าหนดผใชไดหลายคน (Multiple User) 77 4.13 แสดงการใชไฟลรวมกนแบบระบบการใชไฟลทางไกล (Remote File System) 77 4.14 แสดงการใชไฟลรวมกนแบบการระบไฟลใหสอดคลองกน (Consistency Semantic) 78 5.1 แสดงอปกรณตอพวงตางๆ (Peripheral Device) 86 5.2 แสดงโครงสรางพนฐานของระบบรบและแสดงผลขอมล (Infrastructure of I/O System) 86 5.3 แสดงโครงสรางการเชอมตออปกรณแตละชนดของระบบคอมพวเตอร (A Typical PC Bus Structure) 88

(9)

หนำ ภำพท

5.4 แสดงต าแหนงของจดเชอมตอของอปกรณรบและแสดงผลแตละประเภท (Device I/O Port Location on PCs :partial) 89 5.5 แสดงการวนรอบการขดจงหวะของอปกรณรบและแสดงผล (Interrupt-Device I/O Cycle) 90 5.6 แสดงขนตอนการท างานของการเขาถงหนวยความจ าหลก (Step in a DMA Transfer) 91 5.7 แสดงโครงสรางการเชอมตอคอรเนลของหนวยรบและแสดงผลขอมล (A Kernel I/O Structure) 92 5.8 แสดงความเรวในการโอนขอมลของแตละอปกรณ (Sun Enterprise 6000 Device-Transfer Rate: Logarithmic) 94 5.9 แสดงความเรวในการโอนขอมลของแตละอปกรณ (UNIX I/O Kernel Structure) 96 5.10 แสดงโครงสรางการสงขอมลอยางตอเนอง (The Streams Structure) 97 6.1 แสดงแผนภาพขนตอนการท างานของกระบวนการ (Diagram of Process State) 103 6.2 บลอกควบคมกระบวนการ (Process Control Block: PCB) 104 6.3 แสดงแผนภาพการท างานของหนวยประมวลผลกลางในการเปลยนสถานะระหวาง 2 กระบวนการ (Diagram Showing CPU Switch from Process to Process) 106 6.4 แสดงสถานะพรอมของควและล าดบการใชงานอปกรณรบและแสดงผล (The Ready Queue and Various I/O Device Queues) 107 6.5 แสดงแผนภาพการท างานของแถวล าดบของการจดตารางกระบวนการ (Queuing-Diagram Representation of Process Scheduling ) 108 6.6 แสดงแผนภาพการเพมวธการจดตารางการท างานระยะกลาง (Addition of Medium-Term Scheduling to The Queuing Diagram) 109 6.7 แสดงโครงสรางตนไมในการสรางกระบวนการใหมของระบบปฏบตการ UNIX (A Tree of Processes on a typical UNIX System ) 110 7.1 แสดงโครงสรางสถาปตยกรรมในระดบชนของระบบปฏบตการวนโดวเอกพ (Windows XP) 121 7.2 แสดงโครงสรางสถาปตยกรรมของระบบปฏบตการวนโดวเอกพ (Windows XP) 125 8.1 แสดงสวนประกอบตางๆ ของหนวยความจ าในระบบปฏบตการยนกซ (UNIX) 138 8.2 แสดงตวอยางโครงสรางล าดบชนของการจดการไฟลในระบบปฏบตการยนกซ (UNIX) 138

(10)

หนำ ภำพท 9.1 แสดงการแบงแยกหนวยความจ าในลกษณะการจดสรรหนวยความจ าแบบฮฟค (Splitting of Memory in a Buddy Heap Algorithm) 150 9.2 แสดงโครงสรางของกลมอปกรณ I/O ของระบบปฏบตการลนกซ (Device-Driver Block Structure ) 151 10.1 แสดงสวนประกอบตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS 168

(11)

สำรบญตำรำง

หนำ ตำรำงท 4.1 แสดงประเภทของไฟล 67 4.2 แสดงการจ าลองสถานการณของการเขาถงแบบล าดบใหเปนการเขาถงแบบทางตรง 71 5.1 แสดงความแตกตางของลกษณะการท างานของอปกรณ I/O แตละประเภทในแงมมตางๆ 92 7.1 แสดงชด Dispatcher Object 123 7.2 แสดงชดการประสานการท างานของระบบ 123 7.3 แสดงการจดการไฟลในรปแบบตางๆ 126 8.1 แสดงค าสงตางๆ ทเกยวของกบการจดไฟลในระบบปฏบตการยนกซ (UNIX) 139

(12)

(13)

แผนบรหำรกำรสอนประจ ำวชำ

รำยวชำ ระบบปฏบตการ รหสวชำ 4123708 (Operating System) จ ำนวนหนวยกต – ช.ม. 3 (2-2) เวลำเรยน 45 ชวโมง/ภำคเรยน ค ำอธบำยรำยวชำ ศกษาระบบปฏบตการคอมพวเตอรเบองตน กระบวนการและการจดการความพรอมกน การจดการและการล าดบกระบวนการ การจดการอนพตเอาทพต การจดการหนวยความจ า ระบบแฟม ความมนคงของระบบคอมพวเตอร วตถประสงคทวไป 1.1 เพอ ใหผ เรยนมความร ความเข าใจ เกย วกบ ระบบปฏบตกา รคอมพว เตอรเบอ งตน และกระบวนการและการจดการความพรอมกน 1.2 เพอใหผเรยนมความรความเขาใจ การจดการและการล าดบกระบวนการ การจดการอนพตเอาทพต การจดการหนวยความจ า ระบบแฟม การรกษาความมนคงของของระบบปฏบตการคอมพวเตอร ได 1.3 เพอใหผ เรยนสามารถวเคราะห เขาใจและอธบายถงสวนประกอบตางๆ ท เกยวของกบระบบปฏบตการ เนอหำ บทท 1 ระบบคอมพวเตอรและระบบปฏบตการ 4 คาบ/สปดาห การจ าแนกเครองคอมพวเตอร รปแบบและกระบวนการท างานของระบบคอมพวเตอร ประโยชนของการใชระบบการประมวลผลหลายตว (Multiprocessor Systems) การแบงประเภท ของระบบปฏบตการววฒนาการของระบบปฏบตการ (Evolution of the Operating System) หนาทของระบบปฏบตการ (Function of the Operating System) บทท 2 การจดการหนวยความจ า 4 คาบ/สปดาห การจดการหนวยความจ า (Memory Management) การเชอมโยงต าแหนง (Address Binding) การเชอมโยงระหวางพนททางกายภาพกบพนททางตรรกะ (Logical & Physical- Address Space) การโหลดแบบพลวต (Dynamic Loading) การใชไลบรารรวมกน และ การเชอมโยงแบบพลวต (Dynamic Linking and Shared Libraries) กลยทธในการจดการ หนวยความจ า (Memory Strategy) การจดสรรหนวยความจ าท ตอเนองกน (Continues Memory Allocation) บทท 3 การจดการหนวยประมวลผลกลาง 4 คาบ/สปดาห การจดการหนวยประมวลผลกลาง (CPU Management) การจดตารางการท างานของ หนวยประมวลผลกลาง (CPU Scheduling) อลกอรทมส าหรบการจดตารางการท างาน (Scheduling Algorithms) การจดตารางการท างานของระบบหลายกระบวนการ (Multiple-Processor Scheduling) การจดตารางการท างานของระบบแบบทนท (Real- Time Scheduling) ววฒนาการของอลกอรทม (Algorithm Evolution)

(14)

บทท 4 การจดการเกยวกบไฟล 4 คาบ/สปดาห แนวคดเกยวกบไฟล (File Concept) โครงสรางของไฟล (File Structure) โครงสรางภายในไฟล (Internal File Structure) วธการเขาถงไฟล (File Access Methods) โครงสรางไดเรกทรอร (Directory Structure) การใชไฟลรวมกน (File Sharing) การปองกน (Protection) บทท 5 ระบบรบและแสดงผลขอมล 4 คาบ/สปดาห หลกการท างานและประเภทของ I/O System ฮารดแวรของหนวยรบและแสดงผลขอมล (I/O Hardware) สวนตอประสานงานในระบบรบและแสดงผล (Application I/O Interface) ระบบรบหรอแสดงผลยอย (Kernel I/O Subsystem) การสงขอมลอยางตอเนอง (Streams) ประสทธภาพการท างาน (Performance) บทท 6 การจดการกระบวนการ 4 คาบ/สปดาห แนวคดเกยวกบกระบวนการ (Process Concept) การจดตารางกระบวนการ (Process Scheduling) การด าเนนการกบกระบวนการ (Operations on Processes) การรวมกน ของกระบวนการ (Cooperating Process) การตดตอสอสารระหวางกระบวนการ (Interprocess Communication) บทท 7 กรณศกษา (Case Study) ระบบปฏบตการวนโดว 4 คาบ/สปดาห ประวตความเปนมา (History) หลกการออกแบบ (Design Principle) สวนประกอบของ ระบบ (System Components) ระบบงานยอยทเกยวของ (Environmental Subsystems) จดการไฟล (File System) การจดการเครอขาย (Networking) การจดการความปลอดภย (Security Management) บทท 8 กรณศกษา (Case Study) ระบบปฏบตการยนกซ 4 คาบ/สปดาห ประวตความเปนมา (History) เปาหมายของการออกแบบ (The Gold of Design) การจดการหนวยความจ า (Memory Management) การจดการกระบวนการ (Process Management) การจดการอปกรณในการรบและแสดงผล (I/O Device Management) การจดการไฟล (File Management) บทท 9 กรณศกษา (Case Study) ระบบปฏบตการลนกซ: ภาคทฤษฎ 4 คาบ/สปดาห ประวตความเปนมา (History) เปาหมายของการออกแบบ (The Gold of Design) การจดการหนวยความจ า (Memory Management) การจดการกระบวนการ (Process Management) การจดการอปกรณรบและแสดงผล (I/O Device Management) การสอสารระหวางกระบวนการ (Interprocess Communication) โครงสรางระบบเครอขาย (Network Structure) การรกษาความปลอดภย (Security) บทท 10 กรณศกษา (Case Study) ระบบปฏบตการลนกซ: ภาคปฏบต 4 คาบ/สปดาห ท าความรจกระบบปฏบตการ Ubuntu ลกษณะเดนของระบบปฏบตการ Ubuntu รปแบบ การตดตงระบบปฏบตการ Ubuntu ขนตอนและวธการตดตงระบบปฏบตการ Ubuntu 12.04 LTS ขนตอนการเรมใชงานระบบปฏบตการ Ubuntu 12.04 LTS สวนประกอบ ตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS

(15)

วธสอนและกจกรรม - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอกำรเรยนกำรสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา กำรวดผลและประเมนผล 1. กำรวดผล 1.1 คะแนนระหวางภาครวม รอยละ 60 1.1.1 คะแนนเขาชนเรยน รอยละ 10 1.1.2 คะแนนจดท ารายงายกลม รอยละ 10 1.1.3 คะแนนฝกปฏบตการ รอยละ 10 1.1.4 คะแนนสอบกลางภาค รอยละ 30 1.2 คะแนนสอบปลาภาครวม รอยละ 40 1.1.1 คะแนนเขาสอบปลายภาค รอยละ 30 1.1.3 คะแนนฝกปฏบตการ รอยละ 10 2. กำรประเมนผล

ระดบคะแนน ควำมหมำยของผลกำรเรยน คำระดบคะแนน คำรอยละ A ดเยยม 4.0 90 - 100 B+ ดมาก 3.5 85 – 89 B ด 3.0 75 – 84

C+ ดพอใช 2.5 70 – 74 C พอใช 2.0 60 – 69

D+ ออน 1.5 55 – 59 D ออนมาก 1.0 50 – 54 E ตก 0.0 0 – 49

1

แผนบรหารการสอนประจ าบทท 1 หวขอเนอหา - การจ าแนกเครองคอมพวเตอร - รปแบบและกระบวนการท างานของระบบคอมพวเตอร - ประโยชนของการใชระบบการประมวลผลหลายตว (Multiprocessor Systems) - การแบงประเภทของระบบปฏบตการ - ววฒนาการของระบบปฏบตการ (Evolution of the Operating System) - หนาทของระบบปฏบตการ (Function of the Operating System) วตถประสงคเชงพฤตกรรม - สามารถจ าแนกเครองคอมพวเตอรตามรนตางๆ ได - สามารถแยกชนดของคอมพวเตอรตามรปแบบและกระบวนการท างานของระบบคอมพวเตอร - มความเขาใจประโยชนของการใชระบบการประมวลผลหลายตว (Multiprocessor Systems) - อธบายการแบงประเภทของระบบปฏบตการและววฒนาการของระบบปฏบตการได - มความรและความเขาใจเกยวกบหนาทและการท างานของระบบปฏบตการ วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

2

บทท 1 บทน า (Introduction)

ปจจบนเครองคอมพวเตอรถกพฒนาขนจากหลายผผลตใหใชงานบนสภาพแวดลอมทแตกตางกน ผใชงานสามารถทจะเลอกใชใหเหมาะสมกบประเภทของงานทแตกตางกนออกไป เชน งานดานธรกจ งานดานบนเทง งานดานสถาปตยกรรม งานดานวศวกรรม งานดานอตสาหกรรมและ งานดานการพยากรณ เปนตน ดงนนการผลตเครองคอมพวเตอรทมประสทธภาพและเหมาะสมกบงาน จ าเปนตองค านงถงความเรวของหนวยประมวลผลกลาง ความถกตองแมนย าในการค านวณรวมถงสภาพแวดลอมพนฐานตางๆ ภายในเครองคอมพวเตอร ระบบปฏบตการ (Operating System) จงเปนสวนส าคญทจะชวยจดการในสวนของเครองหรออปกรณ (Hardware) และสวนชดค าสง (Software) ใหการท างานเกดประสทธภาพสงสด (ศพทบญญต ราชบณฑตยสถาน, 2544 ) ในบทนจะขอกลาวถงลกษณะ เนอหา ความหมายและความแตกตางระหวางระบบคอมพวเตอรและระบบปฏบตการเพอใหเกดความเขาใจชดเจนขน

1.1 การจ าแนกเครองคอมพวเตอร สามารถจ าแนกออกเปน 4 ประเภทดงน 1. เครองซปเปอรคอมพวเตอร (Super Computer) เปนเครองคอมพวเตอรขนาดใหญม ประสทธภาพในการประมวลผลสงสด มสถาปตยกรรมการท างานทซบซอนไมวาจะเปน ดานการท างาน การประมวลผลดวความเรวสง การจดการขอมลจ านวนมากๆ ทเกยวของกบความถกตองแมนย าของผลลพธ เชน การพยากรณ (Prediction) การจ าลองสถานการณ (Simulation) การวจยเชงลก (Depth research) คอมพวเตอรประเภทนมกมราคาแพงมากสวนใหญจะถกน ามาใชในหนวยงานภาครฐ อาทเชน หนวยงานทางดานทหาร กรมอตนยมวทยา เปนตน 2. เครองเมนเฟรม (Mainframe Computer) เปนเครองคอมพวเตอรขนาดเลกรองจากซปเปอรคอมพวเตอร ประสทธภาพในการประมวลผลรองลงมาแตกสามารถประมวลผลความเรวสงได คอมพวเตอรประเภทนมกมราคาแพง ถกน ามาใชในหนวยงานภาครฐและเอกชน อาท เชน ธนาคาร บรษทประกนภย บรษทหลกทรพยขนาดใหญ เปนตน 3. เครองมนคอมพวเตอร (Mini Computer) เปนเครองคอมพวเตอรขนาดกลาง มขนาดเลกกวาเครองเมนเฟรม ประสทธภาพดพอสมควร คอมพวเตอรประเภทนมกมราคาไมแพงมาก ถกน ามาใชในหนวยงานเอกชนเปนสวนใหญ 4. เครองไมโครคอมพวเตอร (Micro Computer) เปนเครองคอมพวเตอรขนาดเลกทนยมใชกนอยางแพรหลายทงในสถาบนการศกษา ภายในหนวยงายภาครฐและเอกชน ตามครวเรอนเพราะมประสทธภาพ สามารถท างานไดหลายอยางและราคาไมแพง บางครงมกถกเรยกวาเปนเครองคอมพวเตอรสวนบคคลท งแบบตงโตะ (Desktop Computer) และแบบหอคอย (Tower Computer) ไมโครคอมพวเตอรแยกออกเปนหลายชนดแลวแตประเภทและความเหมาะสมกบการน าไปใชงาน เชน คอมพวเตอรสวนบคคล (Personal Computer) คอมพวเตอรแบบพกพา (Notebook) คอมพวเตอรแบบพกพาขนาดเลก (Pocket PC) คอมพวเตอรแบบสมผส (Lap tab) เปนตน

3

รปท 1.1 แสดงโครงสรางของระบบคอมพวเตอร (Structure of Computer System)

จากรปท 1.1 แสดงโครงสรางของระบบคอมพวเตอรประกอบไปดวยหลายสวนทมความสมพนธกน ไมวาจะเปนในสวนของผใชงาน (User) ตวระบบและชดค าสงใชงาน (System and Application Programs) ซงภายในจะประกอบไปดวยสวนส าคญตางทเกยวของ เชน ตวแปรชดค าสง (Compiler) ตวแปลภาษาแอสเซมบล (Assembler) บรรณาธกรณขอความ (Text Editor) ระบบฐานขอมล (Database System) โดยมระบบปฏบตการ (Operating System) เปนระบบชดค าสงทควบคมการท างานของฮารดแวรและชดค าสงประยกตตางๆ ใหด าเนนไปอยางราบรน ถกตองตามวตถประสงคของผใช (พระพนธ โสพศสถตย, 2552) 1.2 รปแบบและกระบวนการท างานของระบบคอมพวเตอร ระบบคอมพวเตอรมรปแบบและกระบวนการท างานทถกพฒนาอยตลอดเวลาเพอใหเหมาะสมกบรปแบบและวธการท างานใหเขากบเทคโนโลยคอมพวเตอรทเปลยนแปลงอยตลอดเวลา โดยเรมตนรปแบบ การพฒนาระบบคอมพวเตอรถกออกแบบใหใชกบเครองคอมพวเตอรระบบเมนเฟรม (Mainframe Computer Systems) กอนและพฒนาตอมาเรอยๆซงแสดงใหเหนววฒนาการของระบบคอมพวเตอรตงแตเรมตนไดดงน ระบบการท างานแบบกลม (Batch Systems) เปนรปแบบการท างานของระบบคอมพวเตอรในยคแรกทคอมพวเตอรมขนาดคอนขางใหญและใชอปกรณทเกยวของหลายชนด เชน เครองอานบตร (Card Reader) หนวยขบแถบบนทก (Tape drive) บตรเจาะร (Card Punches) โดยตองตดตอประสาน การท างานผานตวด าเนนการ (Operator) เปนตวเรยงล าดบในการรบสงขอมลและชดค าสงทมความคลายกนเปนกลมเดยวกน (Batches) มการประมวลผลทละกลม แลวสงผลลพธคนกลบไปยงผใช ในรปแบบตาง ๆ ของงานหรอตามประเภทของอปกรณทแสดงผล บางครงระบบปฏบตการจะจดท าตารางงาน (Job scheduling) ขนมาเพอสงผลลพธออกไปประมวลผลอกท ระบบการท างานแบบกลมมขอจ ากดในเรองความเรวใน การประมวลผลและการรบสงขอมลระหวางซพยและอปกรณ

ผใชท 1 ผใชท 2 ผใชท 3 ผใชท n

ตวแปลโปรแกรม ตวแปลภาษาแอสเซมบล บรรณาธกรณขอความ ระบบฐานขอมล (Compiler) (Assembler) (Text Editor) (Database System) ตวระบบและโปรแกรมประยกตตางๆ (System and Application Programs)

ระบบปฏบตการ (Operating System)

ระบบคอมพวเตอร (Computer Hardware)

4

รบและสงขอมล เนองจากซพยจดเปนอปกรณระบบอเลกทรอนกสทงหมดจงมความเรวในการประมวลผลมากกวาอปกรณรบและสงขอมล ซงเปนเปนอปกรณทไมเปนระบบอเลกทรอนกสทงหมด ท าใหการท างานทงสองอปกรณไมสอดคลองกน ดงรปท 1.2 (ศพทบญญต ราชบณฑตยสถาน, 2544)

รปท 1.2 แสดงพนทของหนวยความจ าส าหรบระบบการท างานแบบกลม

จากรปท 1.2 แสดงพนทของหนวยความจ าส าหรบระบบการท างานแบบกลม โดยมพนชดค าสงส าหรบผใชงาน ท างานผานตวด าเนนการ (Operator) ซงมหนาทเรยงล าดบอกทงยงคอยรบสงขอมลและชดค าสงทมความคลายกนหรอเปนกลมเดยวกน (Batches) แลวสงขอมลใหระบบปฏบตการท าการประมวลผลทละกลม

ระบบการท างานหลายชดค าสง (Multiprograms Systems) เปนรปแบบการท างานทใชแกปญหา การท างานทละงาน (Single Job) ท าใหหนวยประมวลผลกลาง (CPU) ตองหยดรอการสงผานขอมลหรองานอน ระหวางจานบนทก (disk) (disk) กบหนวยประมวลผลกลาง (CPU) จงท าใหใชงานหนวยประมวลผลกลาง (CPU) ไมเตมประสทธภาพ โดยระบบการท างานแบบหลายชดค าสง (Multiprograms Systems) ถกพฒนาขนมาเพอใหผใชระบบปฏบตการสมยใหมทมความตองการใชงานมากกวาหนงงานในชวงเวลาเดยวกนโดยอาศย การท างานบนหนวยความจ า ซงท าให หนวยประมวลผลกลางถกใชงานอยางอยางเตมประสทธภาพ โดยไมตองหยดรอ (wait) การใชงานจากผใชหรออปกรณรบและแสดงผลขอมล อกทงยงสามารถบรรจ (load) งานอนมาด าเนนการประมวลผลไดพรอมกบงานทด าเนนการอยกอนหนาทไดทนท เพอใหเหนขนตอนการท างานของหนวยความจ าในรปแบบบการท างานหลายชดค าสงอยางเปนระบบ (Multiprograms Systems) ตามล าดบชนการท างานอยางตอเนองและสมพนธกน แสดงไดดงรปท 1.3

ระบบปฏบตการ (Operating System)

พนทโปรแกรมส าหรบผใชงาน

(User program area)

5

รปท 1.3 แสดงพนทของหนวยความจ าส าหรบระบบการท างานแบบหลายชดค าสง

จากรปท 1.3 แสดงพนทของหนวยความจ าส าหรบระบบการท างานแบบหลายชดค าสง ยกตวอยาง เชน งาน 1 (Job 1) เปนการท างานในสวนของชดค าสงประมวลผลค า (Word Processing) งาน 2 (Job 2) เปนการท างานในสวนของชดค าสงตารางการท างาน (Spread Sheet) สวนงาน 3 (Job 3) เปนการท างานของชดค าสงน าเสนอขอมล (Micorsoft PowerPoint) ระบบปฏบตการ (Operating System) ท าหนาทในการจดสรรพนทของหนวยความจ าใหแตละงานสามารถท างานไปพรอมกนไดอยางมประสทธภาพ

ระบบการแบงชวงเวลา (Time-Sharing Systems) เปนรปแบบการท างานโดยทผใชมากกวาหนงคนสามารถใชงานเครองคอมพวเตอรเครองเดยวกนไดในเวลาเดยวกน โดยมอปกรณทชวยในการรบสงขอมล เชน แปนพมพ (Keyboard) หรอเมาส (Mouse) ใชควบคมสงงานผานหนาจอของเครองคอมพวเตอรปลายทาง (Terminal) โดยระบบปฏบตการจะท าหนาทในการแบงชวงเวลาการท างานของหนวยประมวล (CPU) ใหสามารถจดสรรเวลาและตอบสนองตอความตองการใหกบผใชไดอยางเหมาะสมและมประสทธภาพสงสด

ระบบคอมพวเตอรสวนบคคล (Desktop Systems) เปนระบบทถกพฒนาขนมาในชวง ป ค.ศ. 1970s เพอใหผงานคอมพวเตอรไดใชเครองและอปกรณทเกยวของตางๆ ทงดานการรบขอมลเขา การแสดงผล การประมวลผลทมราคาถกและขนาดเลกลงได และใหชอเครองคอมพวเตอรประเภทนวา เครองคอมพวเตอรสวนบคคล (Personal Computer) และมการพฒนาระบบปฏบตการเขาไปชวยจดการดานตาง ๆ ใหกบเครองคอมพวเตอรสวนบคคล ตงแตระบบปฏบตการ DOS ของบรษทไมโครซอฟตและพฒนาตอมาเปนระบบปฏบตการ Windows เวอรชนตาง ๆ ระบบปฏบตการ OS/2 ของบรษท IBM ระบบปฏบตการ MacOS x ของบรษท Apples หรอแมกระทงระบบระบบปฏบตการ Linux เวอรชน (Distros) ตางๆ ในกลมของโอเพนซอสท (Open Source) เพอตอบสนองตอความตองการ ความสะดวก ประสทธภาพและความงายตอการน าไปใชงานใหกบผใชงานในกลมตางๆ ได

ระบบปฏบตการ (Operating System)

งาน 1 (Job 1)

0

512K

งาน 2 (Job 2)

งาน 3 (Job 3)

6

ระบบการประมวลผลหลายตว (Multiprocessor Systems) เปนระบบการใชตวประมวลผล (Processor) หรอหนวยประมวลผลกลางมากกวาหนงตวในการประมวลผล บางครงอาจจะเรยกวา ระบบการประมวลผลแบบนวา ระบบคขนาน (Parallel System) หรอ ระบบการประมวลผลแบบแนบแนน (Tightly Couple System) โดยการท างานจะมการใชสายสงสญญาณขอมล สญญาณนาฬกา (Clock) หนวยความจ า (Memory) หรออปกรณรอบขาง (Peripheral Devices) รวมกนไดอยางของระบบ

ประโยชนของการใชระบบการประมวลผลหลายตว (Multiprocessor Systems) 1. เพมประสทธภาพเวลาในการเขาถงขอมล (Increased throughput) เนองจากมการใชการประมวลผลหลายตวท าใหลดเวลาในการท างาน มากกวาหนงงานลง 2. ประหยดคาใชจาย (Economy scale) เนองจากมการแบงการท างานกน เชน การแบงบนอปกรณรอบขาง (Share peripherals) หนวยความจ ากลมใหญ (Mass storage) อปกรณแปลงไฟ (Power supplies) เปนตน 3. เพมความนาเชอถอ (Increased reliability) เนองจากมการใชการประมวลผลหลายตว หากตวหนงตวใดเกดท างานลมเหลว (Failure) กยงมตวประมวลผลอกหลายตวท างานตอไปได ท าใหระบบไมหยดชะงก (Halt) ซงเปนการแกปญหาทเรยกวา ความทนทานของระบบเมอเกดขอผดปกตขน (Fault tolerant) โดยทวไปแลวระบบการใชตวประมวลผล (Processor) หรอ CPU มากกวาหนงตวในการประมวลผล จะม 2 รปแบบการท างานดวยกน คอ 1.รปแบบการท างานแบบสมมาตร (Symmetric multiprocessing: SMP) คอระบบทตวประมวลผล (Processor) ทกตวแบงการท างานเทาๆกน แสดงไดดงรปท 1.4 2.รปแบบการท างานแบบไมสมมาตร (Asymmetric multiprocessing) คอระบบทตวประมวลผล (Processor) ทกตวแบงการท างานไมเทากน โดยมการแบงการท างานเปนแบบตวประมวลผลหลก (Master Processor) และตวประมวลผลภายใตการควบคม (Slave Processors) อกทหนง

รปท 1.4 แสดงรปแบบการท างานแบบสมมาตร (Symmetric multiprocessing: SMP)

จากรปท 1.4 แสดงใหเหนรปแบบการท างานแบบสมมาตร (Symmetric multiprocessing: SMP) คอ ระบบทตวประมวลผล (Processor) ทกตวสามารถใชทรพยากรของระบบเชน บส (bus) หนวยความจ า (Memory) หรออปกรณรบและแสดงผลขอมล (I/O) รวมกนได เปนตน

หนวยความจ า (Memory)

หนวยประมวลผลกลาง (CPU)

หนวยประมวลผลกลาง (CPU)

หนวยประมวลผลกลาง (CPU)

7

ระบบการท างานแบบกระจาย (Distributed Systems) เปนระบบการใชในการเชอมโยงและสอสารระหวางสองหรอหลายระบบเขาดวยกน ระบบการท างานแบบกระจายมกเลอกใชกบระบบเครอขาย (Network) โดยแตละเครอขายจะมโปรโตคอล (Protocol) ทเลอกใช การแบงระยะทางระหวางเครอขาย การแบงปนทรพยากรระหวางเครอขายรวมกน ระหวางผใชทอยในเครอขาย ตลอดจนการแลกเปลยนขอมลขายสารระหวางกนบนเครอขาย ท าใหระบบการท างานแบบกระจายมความยดหยน นาเชอถอ และมประสทธภาพ ซงระบบเครอขายมอยหลายแบบมกแบงตามระยะทาง

ในการตดตอเชอมโยงระหวางโหนด (Node) เชน - ระบบเครอขายทองถน (Local area Network: LAN) เปนเครอขายระยะใกล เชน ในหองหรอในอาคาร - ระบบเครอขายระดบเมอง (Metropolitan area Network: MAN) เปนเครอขายระยะไกลภายในเมอง เชน เครอขายทใชเชองโยงระหวางอาคาร อาจใชอปกรณบลทธ (Bluetooth devices) ในการตดตอสอสารระหวางกนหรอสรางเปนระบบเครอขายขนาดเลก (small-area network) ทมระยะการเชอมตอไมไกลมาก

ขนมาใชเฉพาะพนทกได - ระบบเครอขายระดบประเทศ (Wide area Network: WAN) เปนเครอขายระยะไกลในระดบประเทศ เชน เครอขายทใชเชองโยงระหวางเมองหรอประเทศ ระบบเครอขายแบบนสามารถประมวลผลบนโปรโตคอลเพยง

ตวเดยวหรอหลายโปรโตคอลได (วกพเดย สารานกรมเสร, 2556)

ระบบเครอขายแม/เครอขายลก (Client/Server Systems) ระบบนถกออกแบบโดยการใชสถาปตยกรรมระบบการใหบรการแบบศนยกลาง (centralized system architecture) หรอบางครงอาจเรยกการใหบรการจากระบบเครอขายแม (Server systems) กบเครอขายลก (Client) ผตดตอขอใชบรการดงรปท 1.5 โดยระบบเครอขายแม ยงแบงออกเปน - ระบบทใชเครอขายแมในการประมวลผล (Compute-server system) เปนระบบเครอขายทยอมใหลกขายตดตอเขามาและขอใชบรการการค านวณ โดยสงค าขอเพอกระท าการดงกลาว มายงระบบเครอขายแมเพอชวยค านวณและสงผลลพธกลบคนไปยงเครองลก - ระบบทใชเครอขายแมในการจดการเกยวกบไฟล (File-server system) เปนระบบเครอขายแมเพอใชควบคมหรอจ ากดสทธในการ สราง (Create) อาน (Read) ปรบปรง (Update) หรอลบ (Delete) ไฟลขอมลจากเครอขายลก

เครองแม (Server)

ลก (Client)

เครอขาย (Network)

รปท 1.5 แสดงโครงสรางทวไปของระบบเครอขายแม/เครอขายลก (Client/Server Systems)

เครองลก (Client)

เครองลก (Client) (Client)

เครองลก (Client)

8

จากรปท 1.5 แสดงใหเหนแสดงโครงสรางทวไปของระบบเครอขายแม/เครอขายลก (Client/Server Systems) โดยเครองแม (Server) สามารถเชอมตอผานไปยงเครองลก (Client) ผานระบบเครอขาย (Network) คอมพวเตอรไดหลายตวในเวลาเดยวกน

ระบบการท างานแบบกลม (Clustered Systems) ระบบนเปนการน าเอาตวประมวลผลหลาย ๆ ตว (multiple CPUs) มารวมกนเปนกลม (Clustered) ใหสามารถทจะใชทรพยากรรวมกนได โดยเฉพาะหนวยความจ า ระบบการท างานแบบกลมสามารถทจะใชการเชอมโยงผานระบบเครอขายแบบทองถน (LAN) ท าใหการท างานมประสทธภาพสง (High availability) ในดานการประมวลผลไดอยางรวดเรว และเสยคาใชจายไมสงมากเกนไปเมอเทยบกบระบบเมนเฟรม (Main frame) ในดานความเรวในการประมวลผลขอมลขนาดเทากน

ระบบการประมวลผลแบบทนท (Real Time Systems) ระบบทพฒนาใหเหมาะกบงานหรอขอมลทสามารถตอบสนองตอความตองการของผใชไดอยางรวดเรวและเปนปจจบน จนผใชมความรสกวาไมเหนความแตกตางของเวลาในการรบสงขอมลเพอน าไปประมวลผล ซงระบบการประมวลผลแบบทนท (Real-time systems) ทนยมใชในปจจบนมอย 2 ระบบคอ 1. ระบบประมวลผลทนทแบบเขมงวด (Hard real-time systems) เปนระบบทตองรบประกนและยนยนไดเสมอวางานทอยในชวงวกฤต (Critical tasks) จะไดรบการแกไขใหสมบรณ ตรงตามระยะเวลาทก าหนด สวนใหญมกจะเกยวของกบงานทตองมรบประกนความเสยง (Risk) เชน งานควบคมอปกรณตางๆ ในโรงงานอตสาหกรรม (Industrial control) และหนยนต (Robotics) กภย เปนตน 2. ระบบประมวลผลทนทแบบไมเขมงวด (Soft real-time systems) กรณทงานอยในชวงวกฤต (Critical tasks) ระบบประมวลผลทนทแบบไมเขมงวดโดยจะท าการจดล าดบกอนและหลง (Priority) ใหกบงานนนๆ เพอใหไดรบการแกไขจนเสรจสนสมบรณ เชน งานมลตมเดย (Multimedia) ระบบเสมอนจรง (Reality) งานดานวทยาศาสตรทเกยวของกบการคนควาเชงลก เชน งานส ารวจใตทองทะเลลก งานดานดาราศาสตรและดวงดาว เปนตน

ระบบคอมพวเตอรแบบพกพา (Handheld Systems) ระบบทพฒนาใหเหมาะกบกบเทคโนโลยสมยใหม เหมาะสมในการพกพาตดตว เชน เครองพดเอ (Personal digital assistants: PDAs) เครองปาลม (Palm) โทรศพทมอถอ (Cellular Mobile) สมารทโฟน (Smart Phone) ไอโฟน (Iphone) ไอแพด (IPad) ทมการเชอมตอเขากบระบบเครอขาย เชน อนเตอรเนต ( Internet) ไวไฟ (Wi-Fi) เครอขาย 3G อปกรณประเภทดงกลาวจะมการตดตงอปกรณหรอชนสวนอเลกทรอนกสและระบบปฏบตการไวส าหรบใชงานรวมกนในรปแบบฝงตว (Embedded System) ซงในปจจบนระบบคอมพวเตอรแบบพกพามขดความสามารถและประสทธภาพในการใชงานมากกวาระบบในยคแรกๆ ทงในดานความจ ขนาดของหนวยความจ า ความเรวของหนวยประมวลผล ความงายตอการใชงาน ความหลากหลายของแอปพลเคชนทเลอกใชใหเหมาะสมกบงานทท า ขนาดและรปรางททนสมยในการพกพา ตลอดจนความเรวขนของระบบเครอขายทเชอมตอ เปนตน ระบบคอมคอมพวเตอรแบบพกพาจงไดรบความนยม ในการน ามาใชมากทสดของคนในยคปจจบน

9

1.3 ระบบปฏบตการ (Operating System)

เปนระบบชดค าสงทผพฒนามจดประสงคสรางขนมาเพอใชควบคมการท างานของอปกรณฮารดแวร (Hardware) และซอฟตแวร (Software) ประเภทตาง ๆ ใหสามารถท างานรวมกนกบบคลากร (Peopleware) ทมสวนเกยวของกบระบบคอมพวเตอรทงทางตรงและทางออมไดอยางราบรนและเกดประสทธภาพสงสด แสดงไดดงรปท 1.6 นอกจากนระบบปฏบตการทดยงมหนาทควบคมการท างานใหผใชใหสามารถท างานหลายงาน (Multitasking) หรอท างานหลายคน (Multi-user) ไดในเวลาเดยวกนโดยไมสงกระทบกบการท างานของบคคลอน รวมไปถงการควบคม (Control) การใชงาน การใหสทธการเขาถงไฟลขอมล (Access File) การรกษาความปลอดภย (Security) การปองกนการรกราน (Protection) จากผไมหวงดเขามาใชงานระบบได

รปท 1.6 แสดงความสมพนธของสวนทเกยวของกบระบบปฏบตการ

จากรปท 1.6 แสดงใหเหนความสมพนธของสวนทเกยวของกบระบบปฏบตการระบบปฏบตการมหนาทหลก ๆ คอ การจดสรรทรพยากรในสวนเครอง(Hardware) เพอใหบรการในสวนชดค าสง (Software) ในเรองการรบสงและจดเกบขอมลกบสวนเครอง เชน การสงขอมลภาพไปแสดงผลทจอภาพ (Monitor) การสงขอมลไปเกบหรออานจากจานบนทกขอมลแบบแขง (Hard disk) การรบสงขอมลในระบบเครอขาย การสงสญญานเสยงไปออกล าโพง หรอจดสรรพนทในหนวยความจ า ตามทผใขงาน (People ware) ตกตอหรอรองขอ รวมทงท าหนาทจดสรรเวลาการใชหนวยประมวลผลกลาง (CPU) ในกรณทอนญาตใหชดค าสง (Software) หลาย ๆตวท างานพรอม ๆกน ในเวลาเดยวกน (วกพเดย สารานกรมเสร, 2556)

การแบงประเภทของระบบปฏบตการ

1. แบงตามวตถประสงคการใชงาน (Divided by Objective) 1.1 การใชงานโดยล าพง (Stand-alone) เปนระบบปฏบตการท ถกพฒนาขนโดยวตถประสงคเพอใชงานกบเครองคอมพวเตอรสวนบคคลทรจกกนในรปแบบของเครองคอมพวเตอรสวนบคคล (Personal Computer: PC) หรอเครองคอมพวเตอรแบบพกพา (Notebook) ทท างานโดยไมมการเชอมตอกบเครองคอมพวเตอรเครองอน เชน MS-DOS, Linux Desktop, Mac OS, และ Windows รนตางๆ

สวนเครอง Hardware

สวนชดค าสง Software

ผใขงาน People ware

ระบบปฏบตการ (Operating System)

10

1.2 การใชงานโดยมการเชอมโยง (Network Connection) เปนระบบปฏบตการทถกพฒนาขนโดยวตถประสงคเพอใชงานกบเครองคอมพวเตอรทมการเชองโยงกนตงแตหนงเครองขนไป โดยมการใชทรพยากรรวมกบบนระบบเครอขายแมหรอผใหบรการ (Server) และเครอขายลกหรอผรบบรการ (Client) เชน Novell Netware, Linux Server, UNIX, Windows Server และ Solaris เปนตน 1.3 การใชงานแบบฝงตว (Embedded) เปนระบบปฏบตการทถกตดตงมาพรอมกบเครองคอมพวเตอร โดยถกจดเกบไวในหนวยความจ าแบบอานอยางเดยว (Read Only Memory: ROM) สวนใหญจะพบไดในเครองคอมพวเตอรชนดพกพา เชน Windows RT, Windows Mobile, Pocket PC’s OS, Android, Blackberry OS เปนตน

2. การแบงตามลกษณะการใชงาน (Divided by Used) 2.1 การใชงานโดยคนเดยว (Single User) เปนระบบปฏบตการทการใชงานในชวงเวลาใดชวงเวลาหนง จะมผใชงานเพยงหนงคนเทานน แตผใชงานสามารถทจะท างานหลายอยางไดในเวลาเดยวกนหรอเปดใชงานพรอมกนหลายชดค าสงได เชน Linux Desktop, Mac OS, และ Windows 95 ขนไป เปนตน 2.2 การใชงานไดหลายคน (Multi User) เปนระบบปฏบตการทการใชงานในชวงเวลาใดชวงเวลาหนง จะมผใชงานไดมากกวาหนงคนในเวลาเดยวกน เชน Novell Netware, Linux Server, UNIX, Windows Server และ Solaris เปนตน 2.3 การใชงานเดยว (Single Tasking) เปนระบบปฏบตการทก าหนดใหคอมพวเตอรประมวลผลการท างานของชดค าสงไดทละหนงงานเทานน โดยลกษณะการท างานจะเปนการสงใหคอมพวเตอรท างานภายใตเครองหมายค าสง (Command Line) ทละค าสงจนเสรจ ซงในปจจบนผใชไมนยมใชระบบปฏบตการประเภทนแลว เชน Disk Operating System: DOS เปนตน 2.4 การใชงานพรอมกนไดหลายงาน (Multi Tasking) เปนระบบปฏบตการทก าหนดใหคอมพวเตอรประมวลผลการท างานของชดค าสงไดทละหลายงานพรอมกน โดยลกษณะการท างานจะเปนการสงใหคอมพวเตอรท างานมากกวาหนงงานในเวลาเดยวกน ซงปจจบนระบบปฏบตสวนใหญจะเปนการท างานในลกษณะนแทบทกระบบปฏบตการ

นอกจากนระบบคอมพวเตอรทมใชอยในปจจบน สถาปตยกรรมของระบบปฏบตการถอเปนปจจยทชวยในก าหนดแนวทาง รปแบบ วธการพฒนาระบบปฏบตการ ดงนนจงจ าเปนตองมสถาปตยกรรมทแตกตางกน (Multi-Platform) และระบบปฏบตการเดยวกนยงสามารถใชงานไดหลายสถาปตยกรรม โดยการเลอกใชระบบปฏบตการใหเหมาะสมเปนสงทตองพจารณาอยางยง เชน

- เครองซปเปอรคอมพวเตอร (Super Computer) ใชระบบปฏบตการ IRIX และ UNICOS - เครองเมนเฟรม (Mainframe Computer) ใชระบบปฏบตการ OS/390, Linux และ UNIX - เครองมนคอมพวเตอร (Mini Computer) ใชระบบปฏบตการ OS400, Linux Server และ OpenVMS - เครองไมโครคอมพวเตอร (Micro Computer) ใชระบบปฏบตการ Windows, Linux Desktop และ UNIX - เครองเวรกสเตชน (Workstation) ใชระบบปฏบตการ Windows, Mac OS, Linux Desktop และ OS/2

11

1.4 ววฒนาการของระบบปฏบตการ (Evolution of the Operating System) การกอก าเนดของระบบปฏบตการไดถกพฒนาและเปลยนแปลงมาอยางตอเนองตงแตยคเรมตนทเปนอปกรณและเครองค านวณทมค าสงการท างานแบบงายๆ ไมมความซบซอนเทาไรนก จนมาถงยคปจจบนทระบบปฏบตการถกพฒนาและน ากบใชกบงานหลายประเภทและมความซบซอนเพมมากขน เพอรองรบกบการเปลยนแปลงทางดานสถาปตยกรรมและเทคโนโลยคอมพวเตอรท าใหมผลตอการพฒนาและเปลยนแปลงระบบปฏบตการควบคไปดวย ดงนนเราจงสามารถจ าแนกววฒนาการของระบบปฏบตการตงแตยคเรมตนจนมาถงจนมาถงยคปจจบนไดดงน

ยคเรมตน (ชวงป ค.ศ. 1940- 1949) เปนชวงเรมตนในการใชอปกรณอเลกทรอนกสในการค านวณดวยค าสงภาษาเครอง (machine language) ในรปของไบนารชดค าสง (Binary code) ทเรยกเครองค านวณค าสงมอ (hand-code) และในป ค.ศ.1942 จอหน มอชล (John Mauchly) และเปรสเบอร แอคเครท (Presper Ackert) จากมหาวทยาลยแพนซลเวนเนย ไดรวมมอกนสรางคอมพวเตอร อเลคทรอนคสเครองแรกของโลกมชอวา ENIAC ยอมาจาก (Electronic Numerical Integrator and Calculator)

ยคทหนง (ชวงป ค.ศ. 1950) เปนชวงทเรมมนกเขยนชดค าสง (Programmer) เกดขนและพฒนาภาษาชดค าสงทใชจดการและสงงานการประมวลผลแบบกลมทละงาน (Batch processing) โดยหองวจยของบรษทเจนเนอรลมอเตอร (General Motors Research Laboratories) ไดพฒนาระบบปฏบตเพอใชงานและตดตงลงบนเครองคอมพวเตอรไอบเอมทชอวา IBM 701 การท างานของระบบปฏบตการนจะประมวลผลไดทละงาน ตลอดจนความเรวในการประมวลผลคอนขางชา เพราะขอจ ากดทางดานความเรวของหนวยความจ า และอปกรณทเกยวของ

ยคทสอง (ชวงป ค.ศ. 1960) เปนชวงทมการพฒนาประสทธภาพของชดค าสงใหสามารถจดการงานไดมากกวาหนงงาน (Multitasking)ในเวลาเดยวกน ซงเรยกวา ระบบการท างานแบบหลายชดค าสง (Multiprogramming) แตวธการท างานยงเปนแบบการการประมวลผลแบบกลม (Batch processing) และอปกรณสวนใหญยงใชเวลาในการประมวลผลคอนขางนาน และไมสมพนธกบความเรวของตวประมวลผล (Processor) ในยคนมการพฒนาใหระบบปฏบตการรองรบการท างานทซบซอนมากขน ในดานของผใชสามารถใชงานมากกวาหนงคนในเวลาเดยวกน โดยทผใชสามารถตดตอ (Interface) ผานหนาจอ (Dumb terminal) ในลกษณะการปอนค าสง และรอรบการแสดงผลทหนาจอ ซงไมมตวประมวลผลตดตงอยภายในตวเครอง สวนวธการจดการท างานเปนรปแบบแบงบนเวลา (Time-Sharing) ในการใชงานใหกบผใชมากกวาหนงคนในเวลาเดยวกน และเรมตนการออกแบบและพฒนาการท างานในรปแบบทตอบสนองกบผใชงานแบบทนท (Real-time)

ยคทสาม (ชวงป ค.ศ. 1970) เปนชวงทมการพฒนาตอยอดจากยคทสามไมวาจะเปน การท างานแบบกลม (Batch processing) การแบงเวลาใชงาน (Time-Sharing) การท างานในรปแบบทตอบสนองกบผ ใชงานแบบทนท (Real-time) เรมมการพฒนาตวประมวลผลขนาดเลก (Microprocessor) เพอใหใชงานกบระบบปฏบตการทมความซบซอนมากขน ยคนเปนยคเรมตนการพฒนาเทคโนโลยการตดตอสอสารขอมลบนระบบเครอขายคอมพวเตอร

12

เพอรองรบความตองการของผใชในการสงผานขอมลระหวางกน การพฒนาระบบปองกนและรกษาความปลอดภยใหกบขอมล รวมท งการรบประกนวาขอมลทสงจากตนทาง (Source) ไปยงปลายทาง (Destination) ไดอยางถกตองและสมบรณทสด ท าใหยคนมการเรมตนแนวคดการเขารหสขอมล (Encryption) และถอดรหสขอมล (Decryption) ขน

ยคทส (ชวงป ค.ศ. 1980) เปนชวงทใหความส าคญในการพฒนาคอมพวเตอรสวนบคคล (Personal Computer) โดยเฉพาะความเรวของตวประมวลผลขอมลขนาดเลก (Microprocessor) ใหมประสทธภาพสงสด โดยบรษทไอบเอม ( IBM) ไดผลตเครองคอมพวเตอรขนในป ค.ศ. 1981 ตอมาบรษทแอปเปล (Apple) ไดผลตเครองคอมพวเตอรแมคอนทอช (Macintosh) ขนในป ค.ศ. 1984 ยคนมสถาปตยกรรมตาง ๆ เกดขนมากมายบนระบบเครอขายเครองคอมพวเตอร ซงสถาปตยกรรมทไดรบความนยมใชกนอยางแพรหลาย คอ ระบบเครอขายแม/เครอขายลก (Client/Server) บนอนเตอรเนต โดยหนวยงานทชอวา Advance Research Project Agency : ARPA ซงเครอขายบนอนเตอรถกพฒนาอยางตอเนองตงแตยคทสอง (ชวงป ค.ศ. 1960) และในป ค.ศ. 1989 ไดมการคดคนและสรางสรรครปแบบเพอสอสารระหวางมนษยดวยกน โดยอาศยเครอขายคอมพวเตอรเปนตวเชอมโยง ทเรยกวา เวลดไวดเวบ (World Wide Web : WWW) ซงเปนทนยมและใชงานกนอยางแพรหลายมาจนถงปจจบน ดงนนระบบปฏบตการในยคนจะถกพฒนาใหรองรบการท างานบนระบบเครอขายคอมพวเตอร

ยคทหา (ชวงป ค.ศ. 1990) เปนชวงทการพฒนาประสทธภาพของอปกรณฮารดแวรและซอฟตแวรใหรองรบการท างานกบเทคโนโลยคอมพวเตอรสมยใหมกาวหนาไปอยางรวดเรวกวายคตางๆ ทกลาวมา ทงดานความเรวในการประมวลผล ขนาดความจขอมลเพมมากขนในระดบกกะไบต (Gigabyte = 1024 Mbyte ) ท าใหภาษาชดค าสงและซอฟตแวรทใชอยในหนวยงานตาง ๆ ในยคนถกพฒนาใหมความซบซอน และม ความตองการประมวลผลในระดบทตองใชเวลาความเรวสงไดโดยไมตองค านงพนทในการจดเกบขอมลเทาใดนก ในยคนมการเปดตวการเขยนภาษาชดค าสงสมยใหม ทเรยกวา ภาษาชดค าสงเชงวตถ (Object-Orient Programming Language) เชน ภาษา C++ ภาษาจาวา (Java) เปนตน ระบบปฏบตการทถกพฒนาขนในยคนกจะตองสนบสนนภาษาชดค าสงประเภทนดวย เชน ระบบปฏบตการวนโดว ตระกล 9x (Windows 9x Operating System) ระบบปฏบตการลนกซ (Linux Operating System) และอารปาเชเวบเซรฟเวอร (Apache Wab Server) ซงเปนระบบปฏบตการทรองรบการท างานบนระบบเครอขายแบบกระจาย (Distributed System) ท าใหการเชอมตอบนเครอขายอนเตอรเนตความเรวสง (Hi-Speed Internet) ท าไดงายและสะดวกรวดเรวขน

ยคทหก (ชวงป ค.ศ. 2000 จนถงปจจบน) เปนชวงทการพฒนาระบบเครอขายคอมพวเตอรบนอนเตอรเนตความเรวสงไดรบความนยมกบผใชทกมมโลกสงสด ดงนนการพฒนาเทคโนโลยการเชอมโยงและสอสารขอมลระหวางกนจงจ าเปนและเปนสงส าคญ จงเกดการพฒนารปแบบการใหบรการบนระบบเครอขาย (Web Service) ขน เพอใหการเชอมโยงและสอสารขอมลบนสถาปตยกรรมทตางกน (Platform) ระหวางกนเปนไปอยางราบรน ระบบปฏบตการทพฒนาขนมาใช

13

ในยคปจจบนทนยมใชกนอยางแพรหลายยงคงเปนของบรษทไมโครซอฟต คอ ระบบปฏบตการตระกลวนโดว เชน Windows XP, Windows Vista, Windows 7 เปนตน นอกจากนในยคปจจบนผใชใหความนยมใชอปกรณแบบพกพาทผสมผสานกนระหวางโทรศพทและคอมพวเตอรผานระบบเครอขายไรสายความเรวสง เชน Hi-Speed Intern, WiFi, 3G, 4G เพมมากขนหลายเทาตวไมวาจะเปน สมารทโฟน (Smart phone) แบลคเบอรร (Blackberry) ไอโฟน (IPhone) ไอแพด (IPad) เปนตน ดงนนจงจ าเปนตองมการพฒนาระบบปฏบตการบนอปกรณดงกลาวใหมประสทธภาพและรองรบการท างาน ตลอดจนการพฒนาแอปพลเคชน (Application on Mobile) ตางๆ ทตอบสนองกบความตองการใหกบผใชควบคไปดวย เชน ระบบปฏบตการซมเบยน (Symbian) วนโดวโมบาย (Windows Mobile) ระบบปฏบตการแอนดรอยด (Android) ระบบปฏบตการแบลคเบอรร (Blackberry OS6) ระบบปฏบตการไอโฟน (IPhone OS) เปนตน (พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย, 2553)

1.5 หนาทของระบบปฏบตการ (Function of the Operating System) ระบบปฏบตการท าหนาทในการควบคมการท างาน อ านวยความสะดวก และเพมประสทธภาพ การท างาน โดยเนนความงายในการท างานใหกบผใชเครองคอมพวเตอรมากทสด ในลกษณะทผใชไมจ าเปนตองทราบรายละเอยดหรอกลไกการท างานของอปกรณฮารดแวรตางๆ การประมวลผลขอมล การน าเขา/ออก การประมวลผลขอมล และการจดเกบขอมลแบบหลกและแบบส ารอง การแสดงผลรวมถงการตดตอสอสารขอมลระหวางกนในระบบเครอขาย ดงรปท 1.7 แบงไดดงน 1. การกระท าการของชดค าสง (Program Execution) 2. การด าเนนงานของอนพต/เอาทพต (I/O Operation) 3. ระบบแฟมขอมล (File Systems) 4. การตดตอสอสาร (Communication) 5. การจดสรรทรพยากร (Resource Allocation) 6. การจดการบญชผใช (Accounting) 7. การตรวจสอบขอผดพลาด (Error Detection) 8. การปองกนและการรกษาความปลอดภย (Protection and Security)

14

รปท 1.7 แสดงหนาทหลกของระบบปฏบตการ (Function of the Operating System)

จากรปท 1.7 แสดงใหเหนหนาทหลกของระบบปฏบตการ (Function of the Operating System) ในการกระท าการของชดค าสง (Program Execution) การกระท าการในสวนของอปกรณรบและแสดงผลขอมล (I/O Operation) การจดการระบบแฟมขอมล (File Systems) การตดตอสอสาร (Communication) การจดสรรทรพยากร (Resource Allocation) การจดการบญชผใช (Accounting) และการตรวจสอบขอผดพลาด (Error Detection) ทเกดขนกบระบบคอมพวเตอร

1. การกระท าการของชดค าสง (Program Execution) ระบบปฏบตการจะมฟงกชนไวใหบรการ ในการกระท าการของชดค าสง เพอใหเกดประโยชนใหกบผใชในการอนเตอรเฟซหรอตดตอกบระบบ ซงในเกอบทกระบบปฏบตการจะมสวนทเรยกวา สวนตดตอผใช (User Interface) ค าสงควบคม (Command – Line: CLI) สวนตดตอกบผใชในแบบกราฟฟก (Graphics User Interface: GUI) แบทชไฟล (Batch) ทแตกตางกน ชดค าสงระบบปฏบตการจะตองสามารถทจะบรรจชดค าสงลงในหนวยความจ าและเรยกใชชดค าสงทสนสดการท างานไมวาจะปกตหรอผดปกตหรอขอผดพลาดทเกดขนได

2. การกระท าการในสวนของอปกรณรบและแสดงผลขอมล (I/O Operation) ในระหวางทชดค าสงท างาน อาจตองการท างานในสวนการน าเขามลเขาหรอออก การจดการไฟลขอมลหรอการใชงานหนวยรบและแสดงผลขอมลของอปกรณตอพวงอนๆ ระบบปฏบตการจะท าหนาทอ านวยความสะดวกในการด าเนนงานระหวางผใชไปยงอปกรณรบและแสดงผลขอมลนนๆ โดยทผใชไมจ าเปนตองค านงกระบวนหรอขนตอนการท างาน การสงขอมลไปยงอปกรณรบและแสดงผล

Operating System

Function

8. Protection

and Security 7.

Error Detection

1. Program

Execution

6. Accounting

5. Resource Allocation

4. Communicat

ion

3. File System

2. I/O

Operation

15

ขอมลทตองการ ส าหรบการปองกนการเขาถงการใชงานอปกรณรบและแสดงผลขอมลของผใชงานพรอมๆ กน เนองจากผใชงานไมสามารถควบคมการท างานอปกรณรบและแสดงผลขอมลไดโดยตรง เปนหนาทของระบบปฏบตการจะก าหนดการเขาถงการเขารบบรการอปกรณรบและแสดงผลขอมลของผใชงานพรอมกน โดยใหผใชทตองการใชงานอปกรณรบและแสดงผลขอมลรอจนกวาผครอบครองใชงานอปกรณรบและแสดงผลขอมลนนๆ เสรจสนกอน จงจะใชงานอปกรณรบและแสดงผลขอมลนนๆ ตอจากผครอบครองได

3. ระบบจดการระบบแฟมขอมล (File Systems) การจดการไฟล เปนทสงทส าคญ โดยเฉพาะในขณะทชดค าสงชดค าสงท างาน จ าเปนทจะตองอานและเขยนไฟลและบนทกขอมลลงในไดเรกทอร การสราง ลบและการคนหารายชอจากแฟมขอมลทตองการ การจดการไฟลตางๆ ตลอดจนการไดรบอนญาตในกระท าการทเกยวกบไฟลขอมล ระบบปฏบตการจะเปนตวจดการเกยวกบงานดงกลาวทงหมด ซงระบบปฏบตทดจ าเปนตองมฟงกชนการท างานทเปนประโยชน คอยอ านวยความสะดวกและสนบสนนการจดการระบบไฟลขอมลใหเกดประสทธภาพสงสดกบผใชงาน

4. การตดตอสอสาร (Communication) กระบวนการตดตอสอสารอาจมการแลกเปลยนขอมลภายในคอมพวเตอรเครองเดยวกน (Single Communication) หรอระหวางเครองคอมพวเตอรผานระบบเครอขาย (Multi-Communication) การสอสารอาจจะผานทางหนวยความจ าทใชรวมกนหรอผานทางขอความ (ผานแพคเกตยายจาก Operating System) โดยอาศยระบบปฏบตการเปนตวด าเนนการในการตดตอสอสารหรอสงขอมลจากระบบปฏบตการของคอมพวเตอรเครองแมขาย (Server) ไปยงระบบปฏบตการของคอมพวเตอรลกขาย (Client) กได ดงนนระบบปฏบตการจงท าหนาทเปนตวกลางในการตดตอสอสารระหวางกน เพอใหการด าเนนการในการตดตอสอสาร การสงผานขอมลทตองใหเปนไปอยางสมบรณ ถกตองและเกดประสทธภาพสงสด

5. การจดสรรทรพยากร (Resource Allocation) ระบบปฏบตการจะท าหนาทในการจดสรรทรพยากรอยางเหมาะสมและเกดประโยชนสงสด เมอมผใชหลายคนหรอท างานหลายงานพรอมกน ดงนนระบบปฏบตการตองมการจดการกบทรพยากรทมอยอยางจ ากดอยางทวถงและคลอบคลมเพอสนบสนนและชวยใหการท างานของผใชเรยกใชงานระบบคอมพวเตอรไดหลายสวน เชน การใชงานหนวยประมวลผลกลาง (Central Processing Unit) หนวยความจ า (Memory Unit) อปกรณรอบขาง (Peripheral Device) เครองพมพ (Printer) หนวยความจ าหลก (Main memory) และหนวยความจ าส ารอง (Secondary Storage) เปนตน

6. การจดการบญชผใช (Accounting) การใชงานหลาย ๆ ประเภทของแหลงขอมลบางอยาง ( เชนรอบการท างานของหนวยความจ าหลกและจดเกบไฟล) อาจมรหสการจดสรรพเศษอน ๆ เชน การใชงานอปกรณรบและแสดงผลขอมลเมอมการรองขอจากผใช การท าบญชผใชเพอชวยในการตดตามพฤตกรรมในการใช

16

งาน ระยะเวลาการใชงาน วาใชไปแลวเปนจ านวนเทาไร ประเภทของทรพยากรคอมพวเตอรทชดค าส งรองขอ สทธการเ ขาถงและใชงานขอมลบนระบบเคร อขายคอมพวเตอร ระบบระบบปฏบตการจะท าหนาทตามทผดแลระบบเปนผก าหนดขนมา

7. การตรวจสอบขอผดพลาด (Error Detection) ระบบปฏบตการทดจะตองสามารถตรวจจบเพอหาขอผดพลาดทเกดระหวางการด าเนนการตาง ๆ สงผลตอการท างานโดยรวมของระบบ ทงในสวนของฮารดแวร ซอฟตแวร ระบบไฟฟา ขอจ ากดทางกายภาพของระบบ รวมถงผทไมมสทธในการใชงานหรอเขาถง ซงขอผดพลาดทเกดขนในแตละประเภทระบบปฏบตการจะตองจดเตรยมและมวธการเบองตนไวรองรบและหาวธการแกปญหาทถกตองและเหมาะสมทสดในการแกไขและด าเนนการ ซงขอผดพลาดทเกดขนและพบบอยๆ ซงระบบปฏบตการจะตองเตรยมการแกไขและปองกน ไดแก 7.1 ขอผดพลาดทเกดขนในสวนของ CPU และ Memory เชน การบนทกขอมลลงบนหนวยความจ าผดพลาด (Memory error) ไฟฟาลดวงจร (Power failure) การตรวจสอบบตขอมลผดพลาด (Parity error on tape) การตดตอลมเหลวบนระบบเครอขาย (Connection failure on network) 7.2 ขอผดพลาดทเกดขนในสวนผใชงานชดค าสง เขน การหารดวยศนย (Arithmetic Overflow) การพยายามเขาถงพนทในหนวยความจ าทไมไดรบอนญาตในการเขาถง (Access an illegal memory) การใชเวลาในหนวยจ ามากเกนไป (too-great use of CPU time)

8. การปองกนและการรกษาความปลอดภย (Protection and Security) 8.1 การปองกน (Protection) จะเกยวของกบการมนใจวาการเขาถงทรพยากรของระบบทงหมดจะถกควบคม การเขาถงระบบคอมพวเตอรของผใชอาจตองการควบคมการใชขอมลทประมวลผลพรอมกนจะตองไมรบกวนกนและเปนอสระตอกน 8.2 การรกษาความปลอดภย (Security) จะเกยวของกบการตดตอสอสารของระบบจากบคคลภายนอกตองมการตรวจสอบสทธของผใชแตละคน อกทงยงรวมถงการปองกนการเขาถงอปกรณรบและแสดงผลขอมลจากความพยายามในการเขาถงทไมถกตอง การไดรบความคมครองและรกษาความปลอดภย การคนหารายชอแฟมขอมล การไดรบอนญาตในการเขาถง อาน และบนทกไฟลขอมล รวมถงการปองกนและการรกษาความปลอดภยของเครองคอมพวเตอรบนระบบเครอขายการตดตอสอสารดวย เชน ชดค าสงปองกนการรกษาบกรกจากบคคลภายนอก (firewall) การเขารหสขอมล (encryption) การตรวจจบขอผดพลาด (error detection) เปนตน

17

สรป

ระบบคอมพวเตอร (Computer System) เปนระบบทจ าเปนทตองใหอปกรณพนฐานทงในสวนของฮารดแวร (Hardware) และซอฟตแวร (Software) และบคลาการ (Peopleware) ทมสวนเกยวของกบการใชงานทงทางตรงและทางออม ตลอดจนการเกบขอมลทจ าเปนตองอาศยการเกบขอมลลงในหนวยความจ าหลก (Primary Storage) และหนวยความจ าส ารอง (Secondary Storage) เพอท าหนาทจดเกบขอมลท เกยวของกบการด าเนนการอปกรณท เกยวของ โดยมตวควบคมหนวยความจ า (Memory Controller) ทชวยในการจดสรรและแบงบนทรพยากรทมอยใหสอดคลองและเหมาะสมกบงาน ซงจ าเปนตองอาศยหนวยความจ าในการควบคมและสงการการด าเนนงานทเกยวของทงหมด ระบบปฏบตการ (Operating System) ท าหนาทเปนตวกลางเพอชวยใหการด าเนนการระหวางอปกรณฮารดแวรและซอฟตแวร โดยหนาทหลกคอ การจดสรรทรพยากรในระบบคอมพวเตอรเพอใหการตดตอระหวางฮารดแวรและซอฟตแวรตางๆ เปนไปอยางราบรน เชน การน าเขามลเขาจากแปนพมพหรอเมาส การประมวลผลขอมล (Processing) การน าเสนอขอมล (Output Display) และการจดเกบขอมลลงในหนวยความจ าหลก (Main memory) และหนวยความจ าส ารอง (Secondary Storage) เปนตน รวมทง การตดตอสอสารกนในคอมพวเตอรเครองเดยวกนหรอระหวางเครองคอมพวเตอรผานระบบเครอขาย การจดสรรทรพยากรทเหมาะสมใหกบผใช การจดการบญชผใช การตรวจสอบขอผดพลาด การปองกนและการรกษาความปลอดภยเพอไมใหผไมมสทธในการเขาถงระบบ เขามาใชงานระบบได

18

ค าถามทบทวน

1. จงอธบายวธการจ าแนกเครองคอมพวเตอรออกเปนกระบบ อะไรบาง 2. จงเปรยบเทยบการแบงประเภทของระบบปฏบตวามหลกเกณฑและวธการแบงแตกตางกนอยางไรบาง 3. จงอธบายรปแบบและกระบวนการท างานของระบบคอมพวเตอรตอไปน 3.1 ระบบการท างานแบบกลม (Batch Systems) 3.2 ระบบการท างานหลายชดค าสง (Multiprocessing Systems) 3.3 ระบบการแบงชวงเวลา (Time-Sharing Systems) 3.4 ระบบคอมพวเตอรสวนบคคล (Desktop Systems) 3.5 ระบบการประมวลผลหลายตว (Multiprocessor Systems) 3.6 ระบบการท างานแบบกระจาย (Distributed Systems) 3.7 ระบบเครอขายแม / เครอขายลก (Client/Server Systems) 3.8 ระบบการท างานแบบกลม (Clustered Systems) 3.9 ระบบการประมวลผลแบบทนท (Real-Time Systems) 3.10 ระบบคอมพวเตอรแบบพกพา (Handheld Systems) 4. จงอธบายและยกตวอยางการแบงประเภทของระบบปฏบตการวามอะไรบาง 5. ววฒนาการของระบบปฏบตการของคอมพวเตอรยคท 5 มการพฒนาทแตกตางกบคอมพวเตอรยคท 4 อยางไร สงใดแสดงใหเหนความแตกตางไดอยางเดนชด 6. จงอธบายหนาทการท างานของระบบคอมพวเตอรทงหมดวาประกอบดวยอะไรบาง

19

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556 , กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ ระบบปฏบตการ. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, พฤษภาคม 26, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553). ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสพศสถตย. (2552). ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

20

แผนบรหารการสอนประจ าบทท 2 หวขอเนอหา - การจดการหนวยความจ า (Memory Management) - การเชอมโยงต าแหนง (Address Binding) - การเชอมโยงระหวางพนททางกายภาพกบพนททางตรรกะ (Logical & Physical-Address Space) - การโหลดแบบพลวต (Dynamic Loading) - การใชไลบรารรวมกน และการเชอมโยงแบบพลวต (Dynamic Linking and Shared Libraries) - กลยทธในการจดการหนวยความจ า (Memory Strategy) - การจดสรรหนวยความจ าทตอเนองกน (Continues Memory Allocation) วตถประสงคเชงพฤตกรรม - สามารถเขาใจวธการการจดการหนวยความจ า - มความเขาใจเกยวกบการเชอมโยงต าแหนงและการเชอมโยงระหวางพนททางกายภาพกบพนท - มความเขาใจเกยวกบการใชไลบรารรวมกน และการเชอมโยงแบบพลวต - อธบายกลยทธในการจดการหนวยความจ า - มความรและความเขาใจเกยวกบการจดสรรหนวยความจ าของระบบปฏบตการ วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

21

บทท 2 การจดการหนวยความจ า (Memory Management)

หนวยความจ าถอเปนสวนทส าคญทสดในระบบคอมพวเตอร อกทงยงเปนศนยกลางใหการด าเนนการดานตาง ๆ ในระบบคอมพวเตอรเปนไปอยางราบรนและมประสทธภาพสงสด โดยภายในหนวยความจ าจะมการท างานหลายสวน เชน การท างานของชดค าสงจ านวนมาก ซงตองมการแบงพนทการใชงานและวธการจดการดานตางๆ ใหกบงาน (Task) เพอใหเกดประสทธภาพสงสด ในบทนจะกลาวถงรายละเอยด การจดการหนวยความจ า (Memory Management) การเชอมโยงต าแหนง (address binding) การบรรจขอมล (load) การใชคลงชดค าสง (library) การแบงสวน (Segmentation) การจดสรรพนทในหนวยความจ า (memory allocation) พอสงเขป (วกพเดย สารานกรมเสร, 2556)

2.1 การจดการหนวยความจ า (Memory Management) การจดการหนวยความจ าสามารถแบงออกไดเปน 2 สวน ไดแก หนวยความจ าหลก (Main Memory) และหนวยความจ าเสมอน (Virtual Memory) โดยแตละวธในการจดเกบขอมลทงสองสวนมขอดและขอเสยตางกนขนอยกบซอฟตแวรและฮารดแวรทเลอกใชวาสอดคลองและสนบสนนการท างานและวธการทจดเกบในหนวยความจ าทเลอกใชมากนอยเพยงใด ดงรปท 2.1 1. หนวยความจ าหลก (Main Memory) ประกอบไปดวยอารเรยขนาดใหญ (large array) ซงภายในประกอบเวรด (Words) และไบต (Bytes) ซงแตละทจะมเลขต าแหนง (Address) เปนของตวเองนอกจากนหนวยความจ าหลกยงท าหนาทเกบชนดกระบวนการในการประมวลผลค าสงเพอใหหนวยประมวลผลกลาง (Central Processing Unit: CPU) น าไปใชในการประมวลแลวจงสงผลลพธของค าสงนน ๆ กลบมาจดเกบกลบไวในหนวยความจ าหลกอกท

รปท 2.1 แสดงกระบวนการท างานของหนวยความจ าหลก (Main Memory)

จากรปท 2.1 แสดงใหเหนกระบวนการท างานของหนวยความจ าหลก (Main Memory) โดยทกระบวนการ A (Process A) จะถกบรรจ (load) เขาไปใชงานหนวยความจ าหลก ในขณะท

CPU หนวยประมวลผลกลาง

กลาง

หนวยความจ าหลก (Main Memory)

Process A

Process B

Process B

Process A

บส (Bus)

22

หนวยประมวลผลกลาง (CPU) กจะบรรจ ( load) กระบวนการ (Process) ทตองการจากหนวยความจ าหลก ผานเสนทางการรบและสงขอมล (Bus) เพอน าไปใชในการประมวลแลวจงสงผลลพธของค าสงนน ๆ กลบมาจดเกบกลบไวในหนวยความจ าหลกอกท

2. หนวยความจ าเสมอน (Virtual Memory) เปนเทคนคทอนญาตใหกระบวนการ (Process) สามารถประมวลผลไดนอกหนวยความจ าหลกโดยไมตองค านงถงขนาดพนทใชในการประมวลผลวาเพยงพอกบขนาดของชดค าสงหรอไม นอกจากนยงงายตอการแชรไฟล (Share files) พนทวาง (Address Space) และเพมประสทธภาพใหกระบวนการท างานไดเรวขน เพราะไมตองคอยตรวจสอบขนาดของหนวยความจ าทางกายภาพ

รปท 2.2 แสดงความสมพนธระหวางหนวยความเสมอน (Virtual Memory) และหนวยความจ าทางกายภาพ (Physical Memory)

จากรปท 2.1 แสดงใหเหนความสมพนธระหวางหนวยความเสมอน (Virtual Memory) และหนวยความจ าทางกายภาพ (Physical Memory) โดยหนวยความจ าเสมอนเกดขนจากการแบงหนวยความจ าตรรกะ (Logical Memory) ใหท างานเปนอสระจากหนวยความจ ากายภาพ โดยระบบปฏบตการจะท าการบรรจ (load) ชดค าสงเฉพาะสวนทใชประมวลผลเขาสหนวยความจ าตรรกะกอน สวนทไมจ าเปนตองประมวลผลจะไม ถกบรรจ (load) เขาสหนวยความจ า ท าใหพนทหนวยความจ าทางตรรกะมขนาดใหญกวาพนทหนวยความจ าทางกายภาพ โดยการท างานลกษณะนอาศยการสลบกระบวนการ (Process) เขาและออกจากพนทหนวยความจ าในขณะก าลงประมวลผล (พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย, 2553)

หนวยความจ าเสมอน(Virtual Memory)

Mapping

หนวยความจ าทางกายภาพ (Physical Memory)

หนวยความจ าส ารอง (Secondary Memory)

Page 1

Page 2

Page 3

Page N

23

2.2 การเชอมโยงต าแหนง (Address Binding) โดยทวไปกระบวนการ (Process) ทจะถกน าไปประมวลผลจะขนอยกบการจดการหนวยความจ าทเลอกใช กระบวนการอาจจะถกเคลอนยายกลบไปกลบมาระหวางจานบนทก (disk) และหนวยความจ ากอนทมนจะถกประมวลผล โดยระบบปฏบตการจะมการเกบกระบวนการทรอประมวลผลตามล าดบ (input queue) ของกระบวนการทจะน าเขามาประมวลผลในหนวยความจ ารวมทงยงเชอมโยงกบคาเรมตนของต าแหนง ระบบคอมพวเตอรมกเรมตนคาต าแหนงเชอมโยงทคาเรมตนทต าแหนง 0 และแบงคาทเชอมโยงต าแหนง ไดเปนคาจรง (Absolute address) ของกระบวนทอยในหนวยความจ า (Memory) และคาต าแหนงทสมพนธกน (Relative address) หรอชดค าสงตาง ๆ ทไดรบหลงจากการแปลชดค าสง (Compile) การจ าแนกการเชอมโยงของค าสงและต าแหนงของขอมลในหนวยความจ าสามารถแบงตามขนตอนแตละชวงเวลาไดดงน 1. ชวงเวลาแปลชดค าสง (Compile time) คอ ชวงเวลาทชดค าสงหรอขอมลถกแปลโดยตวแปลชดค าสง (Compiler) โดยตวแปลชดค าสงจะคนหาต าแหนงจรง (Absolute Code) ในหนวยความจ าเมอพบแลวจะสรางชดค าสงท าใหระบบปฏบตการสามารถประมวลผลค าสงหรอขอมลนนไดทนท แตหากต าแหนงจรงถกเปลยนแปลง ตวแปลชดค าสงกจะทวนการแปลชดค าสง (Recompile) ชดค าสงหรอขอมลนนขนใหมทกๆ ครง 2. ชวงเวลาบรรจ (Load time) ชวงเวลาทค าสงหรอขอมลถกบรรจเขาสหนวยความจ าโดยล าดบแรกตวแปลชดค าสงจะสรางชดค าสงทสามารถประมวลผลไดทนท (Relocation code) ขนมากอน หลงจากชดค าสงหรอขอมลถกบรรจเขาสหนวยความจ าแลวตวแปลชดค าสงจะท าการแปลต าแหนงทบรรจเขามาใหเปนต าแหนงจรง (Absolute Code) เพอใหระบบปฏบตการสามารถประมวลผลค าสงหรอขอมลนนไดโดยไมตองเสยเวลาในการแปลชดค าสงใหมทกครง แตจะเสยเวลาเฉพาะตอนบรรจค าสงหรอขอมลนนเขามาในหนวยความจ า 3. ชวงเวลาประมวลผล (Execution time) ชวงเวลาทค าสงหรอขอมลถกประมวลผล โดยตวแปลชดค าสง โดยจะท าการเชอมโยงต าแหนงและแปลชดค าสงค าสงหรอขอมลตรงต าแหนงนนๆ เขาไปเกบไวในหนวยความจ า ในขณะทอยในชวงเวลาประมวลผลระบบปฏบตการจะเสยเวลาในการแปลต าแหนงค าส งหรอขอมลตางๆ กอนถกน ามาเขาสกระบวนการประมวลผล ใหมทกคร ง (ศพทบญญต ราชบณฑตยสถาน, 2544)

24

รปท 2.3 แสดงชวงเวลาเชอมโยงต าแหนง (Address Binding)

จากรปท 2.3 แสดงชวงเวลาเชอมโยงต าแหนง (Address Binding) ในแตละชวง ดงน ชวงเวลาท 1 ชวงเวลาแปลชดค าสง (Compile time) ใชในการแปลชดค าสงในสวนเฉพาะ (module) เพอสงชดค าสงหรอขอมลทถกแปลแลวเขาสชวงท 2 ชวงเวลาบรรจ (Load time) ชดค าสงทงหมดเขาส ชวงเวลาท 3 ชวงเวลาประมวลผล (Execution time) ชวงเวลานชดค าสงหรอขอมลทถกประมวลผลทงหมดจะถกจดเกบลงในหนวยความจ าอกครงหนง

ภาษาชดค าสง

ตวแปลชดค าสง

สวนจ าเพาะ

ตวเชอมโยง สวนจ าเพาะ อนๆ

บรรจสวนจ าเพาะ

ตวบรรจ คลงโปรแกรม

ระบบ

หนวยความจ า (ไบนาร)

คลงโปรแกรม

ระบบ

(1) ชวงเวลาชดค าสง

(2) ชวงเวลาบรรจ

(3)

ชวงเวลาประมวลผล

25

2.3 การเชอมโยงระหวางพนททางกายภาพกบพนททางตรรกะ (Logical- Versus Physical-Address Space) การเชอมโยงพนทในหนวยความจ าจะตองมการอางองถงต าแหนงทเกยวของอย 2 ประเภท คอ

1. ต าแหนงพนททางตรรกะ (Logical Address Space) หรอเรยกอกชอหนงวา ต าแหนงเสมอน (Virtual Address) ซงถกสรางขน (Generate) โดยหนวยประมวลผลกลาง (CPU) เพอใชในการแลกเปลยนขอมล โดยกลมของต าแหนงพนททางตรรกะ (Logical Address Space) ทงหมดถกสรางโดยชดค าสง 2. ต าแหนงพนททางกายภาพ (Physical Address Space) คอต าแหนงจรงทท างานอยในหนวยความจ าหลก (Memory Unit) และท างานโดยตอบสนอง (Corresponding) กบต าแหนงทางตรรกะ (Logical Address) เสมอ โดยชวงเวลาทชดค าสงก าลงท างานอย (Run-Time) ต าแหนงทางตรรกะ (Logical Address) และต าแหนงทางกายภาพ (Physical Address) จะถกจบค (Mapping) โดยสวนเครองหรออปกรณ (Hardware) ชนดหนง ทเรยกวา หนวยจดการหนวยความจ า (Memory Management Unit : MMU) ท าหนาทในแปลงต าแหนงทางตรรกะ (Logical Address) ไปเปนต าแหนงทางกายภาพ (Physical Address) โดยน าคาทไดเกบไวในรจสเตอรพนฐาน (Base-Register) สวนการยายต าแหนง (Relocation Register) กจะน าคาทไดเกบไวในรจสเตอรพนฐาน (Base-Register) มาบวกกบคาต าแหนงทางตรรกะ (Logical Address) เพอใชในการหาคาของต าแหนงทางกายภาพ (Physical Address) แลวสงผลลพธทไดเขาสหนวยความจ า (Memory) โดยก าหนดคาเรมตนต าแหนงทางตรรกะ (Logical Address) ใหอยในชวงระหวางต าสด (คาเรมตนทคา 0 ) ถงคาสงสด (max) และก าหนดคาเรมตนต าแหนงทางกายภาพ (Physical Address) อยในชวงระหวาง R + 0 ถง R + max (R คอ Relocation Register เปนรจสเตอรส าหรบการยายต าแหนง) ดงรปท 2.4

รปท 2.4 แสดงตวอยางของการท างานของหนวยจดการหนวยความจ า (Memory Management Unit: MMU)

จากรปท 2.4 แสดงใหเหนตวอยางของการการท างานของหนวยจดการหนวยความจ า (Memory Management Unit: MMU) โดยทหนวยประมวลผลกลาง (CPU) จะไมสามารถเขาถงหนวยความจ า (Memory) ไดโดยตรงเปนหนาทของสวนเครองหรออปกรณ (Hardware) ทเรยกวา

Physical Address 99999

Logical Address

999 CPU

Relocation register

(หนวยความจ า) Memory +

99000

Memory Management Unit: MMU

26

หนวยจดการหนวยความจ า (Memory Management Unit : MMU) โดย MMU จะท าการแปลงต าแหนงทางตรรกะ (Logical Address) โดยน าเอาคาเรมตนทก าหนดขนมาคอคา 999 จบค (Mapping) หรอบวกเขากบคารจสเตอรส าหรบการยายต าแหนง (Relocation Register) คอคา 99000 ผลลพธทไดจะเปนคา 99999 คอคาของต าแหนงทางกายภาพ (Physical Address) หลงจากนน MMU สงผลลพธทไดเขาสหนวยความจ า (Memory) จงจะท าใหหนวยประมวลผลกลาง (CPU) เขาถงหนวยความจ า (Memory) ไดนนเอง

2.4 การบรรจแบบพลวต (Dynamic Loading)

เนองจากพนททใชในการประมวลผลในหนวยความจ าทางกายภาพ (Physical Memory) มการจ ากดขนาดขอมล ดงนนชดค าสงและขอมลทงหมดของกระบวนการ (Process) จะตองมขนาดเลกกวาหนวยความจ าทางกายภาพ (Physical Memory) ในขณะทบรรจขอมลทงหมดเขาสพนทวางในหนวยความจ า โดยในแตละครงจะตองมการตรวจสอบขนาดของขอมล เพอจะชวยใหการประมวลผลชดค าสงและการบรรจขอมลเขาหนวยความจ าท าไดรวดเรวยงขน ลกษณะการท างานดงกลาวนเรยกวา การบรรจแบบพลวต (Dynamic Loading) ซงวธการท างานจะไมบรรจชดค าสงยอย (Routine) จนกวาจะมการถกเรยกใชงาน (Call) ท าใหไมสนเปลองเนอทในหนวยความจ า โดยทกครงทชดค าสงหลก (Main Program) ถกบรรจเขาสหนวยความจ าเพอท าการประมวลผลและมการเรยกใชชดค าสงยอย (Routine) จะมการตรวจสอบชดค าสงยอยตวแรกกอน (Routine First) ควบคกบการบรรจชดค าสงยอยตวอนพรอมกนไปดวย กรณทไมมการบรรจชดค าสงยอย ตวเชอมโยงการยายต าแหนง (Relocation linking Loader) จะท าการบรรจชดค าสงยอยไปเกบไวในตารางเพอระบต าแหนง (Address Table) ซงตวชดค าสงจะท าการปรบเปลยนต าแหนงทมผลกระทบกบการเคลอนยายต าแหนงโดยไมตองอาศยระบบปฏบตชวยในการจดการ ซงตวชดค าสงจะเปนตวจดการเหตการณดงกลาวเอง

2.5 การใชคลงโปรแกรมรวมกนและการเชอมโยงแบบพลวต (Dynamic Linking and Shared Libraries)

วธการเชอมโยงแบบพลวต (Dynamic Linking) มความคลายกนกบการบรรจแบบพลวต (Dynamic Loading) ตางกนตรงเวลาทใชในการเชอมโยงทมากกวาเมอระบบตองการเรยกใชงานชดค าสงยอยในคลงโปรแกรม (Subroutine Libraries) จะมชดค าสงขนาดเลกทชอวา สตบ (Stub) ท าการตรวจสอบวามชดค าสงยอยในคลงโปรแกรมทตองการใชงานวาอยในหนวยความจ าแลวหรอยง ถายงไมม ชดค าสงสตบ (Stub) จะมหนาทท าการบรรจชดค าสงยอยใหมเขาสหนวยความจ าทนท พรอมกบแทนทคาต าแหนงชดค าสงยอยใหมทบต าแหนงชดค าสงยอยเดมโดยเรยกกระบวนการท างานนวา วธการเชอมโยงแบบพลวต (Dynamic Linking) โดยททกๆ กระบวนการจะใชภาษาในคลงโปรแกรมท าการประมวลมลเพยงหนงครงเทานน พรอมกบท าส าเนารหส (Library code) ซงเปนไฟลทมนามสกลเปน .dll พรอมกบท าการปรบปรงไฟลในคลงขอมลและสรางการเชอมโยงใหมทนท เพอใหระบบสามารถเรยกใชงานไฟล .dll รวมกนจากชดค าสงยอยในคลงโปรแกรมได (Shared Libraries)

27

2.6 การแบงสวน (Overlay)

เปนวธทใชในกรณทกระบวนการมขนาดใหญกวาหนวยความจ าทตองการจดเกบ จ าเปนทจะตองจดสรรหนวยความจ าใหเหมาะสมโดยการแบงสวน (Overlay) หลกการท างานของการแบงสวนโดยทค าสงและขอมลจะถกเกบอยในหนวยความจ าตามขนาดของหนวยความจ าทมอย ซงจะตองอาศยการท างานของตวขบในการแบงสวน (Overlay Driver) เพอบรรจค าสงทตองการใชงานหนวยความจ าเขามาใชงานจนเสรจกอนแลวจงสลบใหค าสงอนทตองการใชงานหนวยความจ าเขามาท าใชงานหนวยความจ าครงตอไป

ตวอยาง พจารณาจากตวแปลภาษาเอสเซมบล (Assembler) ในการจดการน า 2 กระบวนการเขาการท างาน โดยทกระบวนการ 1 ตองการทจะใชตารางสญลกษณ (Symbol Table) ขณะทกระบวนการ 2 ตองการทจะสรางค าสงภาษาเครอง (Machine-language code) เราอาจจะตองท าการแบงพารทชน (Partition) ใหตวแปลภาษาเอสเซมบล ในการจดการการน าเขาการท างานของค าสงในกระบวนการ 1 ค าสงในกระบวนการ 2 การใชงานตารางสญลกษณ (Symbol Table) และชดค าสงยอยปกต (Common Routine) ในหนวยความจ ารวมกนทงสองกระบวนการ โดยก าหนดขนาดการใชงานหนวยความจ าของแตละค าสงไดดงน

การน าเขาครงท 1 (Pass 1) 70 KB การน าเขาครงท 2 (Pass 2) 80 KB ตารางสญลกษณ (Symbol Table) 20 KB ชดค าสงยอยปกต (Common Routine) 30 KB

จากตวอยาง จะเหนวาการบรรจทกค าสงหนงครงจะตองใชหนวยความจ าถง 200KB ซงในระบบมขนาดของหนวยความจ าเพยง 150KB ท าใหไมสามารถประมวลผลกระบวนทง 2 กระบวนการทมอยได จากการสงเกตแลวพบวาการน าเขากระบวนครงท 1 และการน าเขากระบวนครงท 2 ไมตองการใชงานหนวยความจ าในเวลาเดยวกน แสดงไดดงรปท 2.4

รปท 2.5 แสดงการแบงสวนหนวยความจ าส าหรบการน าเขาของกระบวนการครงท 1 และครงท 2 ของตวแปลภาษาเอสเซมบล (Overlays for two-pass assembler)

ตารางสญลกษณ (Symbol Table)

โปรแกรมยอยปกต(Common Routine)

ตวขบการแบงสวน (Overlay Driver)

การน าเขาครงท 1 Pass 1

การน าเขาครงท 2 Pass 2

20K

30K

10K

80K 70K

28

จากรปท 2.5 แสดงวธการแกปญหา การแบงสวนหนวยความจ าส าหรบการน าเขาของกระบวนการครงท 1 และกระบวนการครงท 2 ของตวแปลภาษาเอสเซมบล (Overlays for two-pass assembler) โดยระบบจะแบงการท างานออกเปนสองสวน (Two Overlays) คอ Overlay A ท างานกบตารางสญลกษณ (Symbol Table) ชดค าสงยอยปกต (Common Routine) และการน าเขากระบวนการครงท 1 (Pass 1) สวน Overlay B กท างาน (Symbol Table) ชดค าสงยอยปกต (Common Routine) และการน าเขากระบวนการครงท 2 (Pass 2) ระบบจะท าการเพมตวขบในการแบงสวน (Overlay Driver) ขนาด 10 KB เพอบรรจค าสงใน Overlay A ทตองการใชงานหนวยความจ า 120KB จนท างานเสรจ แลวจงกระโดดกลบไปทตวขบในการแบงสวนอกครงเพอบรรจค าสงใน Overlay B ทตองการใชงานหนวยความจ า 130KB โดยเขาไปแทนท (Overwriting) Overlay A ซงจะท าใหตวแปลภาษาเอสเซมบล สามารถทจะประมวลบนพนทหนวยความจ าขนาด 150KB ทมอยอยากจ ากดได

2.7 กลยทธในการจดการหนวยความจ า (Memory Strategy)

การจดการหนวยความจ าถอวาเปนหนาทหนงของระบบปฏบตการ เพอจดสรรพนทหนวยความจ าใหกบชดค าสงหรอขอมลตางๆ ไดอยางถกตองเหมาะสม แบงออกเปน 3 วธ ดงน

1. กลยทธการบรรจ (Fetch Strategy) เปนกลยทธทใชในการบรรจค าสงหรอขอมลตาง ๆ จากหนวยเกบขอมลส ารองเขาสหนวยความจ าหลก แบงออกเปน 2 วธ 1.1 Demand Fetch Strategy คอ วธการบรรจเฉพาะค าสงหรอขอมลตาง ๆ ทตองการใชงานเขาสหนวยความจ าหลก ซงโดยปกตถอกนวาค าสงหรอขอมลตาง ๆ ของกระบวนการถกน าเขาหนวยความจ าหลกตอเมอถกอางองถงเทานน ซงมเหตผลทส าคญอยหลายประการคอ1.1.1 ในทางทฤษฎ เราไมอาจคาดเดาพฤตกรรมหรอเสนทางของการด าเนนโปรแกรมไดอยางเฉพาะเจาะจง ดงนนการพยายามบรรจค าสงหรอขอมลตาง ๆ ทคาดวาจะไดใชนน อาจเปนการบรรจผดค าสงหรอขอมลกเปนได 1.1.2 การบรรจค าสงหรอขอมลตาง ๆ ลงในหนวนความจ ารบรองไดวาจะถกเรยกใชงานแนนอน1.1.3 ประหยดเวลาและคาใชจายในแงการบรรจเมอถกเรยกใชงานมนอยทสด 1.2 Anticipate Fetch Strategy คอ วธการคาดเดาวาค าสงหรอขอมลใดจะถกบรรจเขาสหนวยความจ าหลกกอนทจะถกใชงานจรง โดยอาศยพจารณาจากพฤตกรรมของการด าเนนครงกอน ๆ และถาบางครงเกดการคาดเดาทผดพลาดอาจจะท าใหค าสงหรอขอมลทถกบรรจเขาไปลวงหนาไมไดถกใชงานจรงกจะท าใหเสยเวลา

29

2. กลยทธการวาง (Placement Strategy) เปนกลยทธทใชในการจดวางค าสงหรอขอมลใหมเขาสหนวยความจ าหลกบนพนทวางในหนวยความจ าทเรยกวา “โฮล (Hole)” เพอใหกบชดค าสงหรอขอมลตางๆ ไวใหเหมาะสมกบขนาดค าสงหรอขอมลนน

3. กลยทธการแทนท (Replacement Strategy) โดยระบบปฏบตการจะเปนสวนทชวยในการตดสนใจวาจะเลอกวธใดวธหนงในการแทนทค าสงขอมลลงบนหนวยความจ าหลก (Main Memory) ใหเหมาะสมทสด ซงมทงหมด 5 วธดงน 3.1 วธสม (Random) คอ การสมหาพนทวางในหนวยความจ า โดยค าสงหรอขอมลมโอกาสถกเลอกมาใชงานเทากน 3.2 วธมากอนไดใชกอน (First-in, First-out : FIFO) คอ ค าสงหรอขอมลใดถกบรรจเขาไปใชงานหนวยความจ าหลกกอนจะถกเลอกออกไปกอน 3.3 NFU (Not Frequency Use) คอ การเลอกค าสงหรอขอมลทถกใชงานนอยทสดออกไปกอนเนองจากค าสงหรอขอมลกลมนถกใชงานนอยโอกาสจะถกบรรจเขามาใชงานอก มโอกาศนอยตาม ไปดวย ดงนนจงควรน าออกจากหนวยความจ าหลก 3.4 LRU (Lead Recently Use) คอ วธทเกบเวลาการใชงานหนวยความจ าครงลาสด โดยค าสงหรอขอมลทไมไดถกน ามาใชงานนานทสดจะถกเลอกออกไปกอน 3.5 NRU (Not Recently Use) คอ วธนแตละค าสงหรอขอมลจะเพมบตขอมลทเกยวของ 2 บตดวยกนคอ บตอางอง (Reference Bit) และบตแกไข (Modify Bit) ซงจะมคาเปน 0 เมอมการเขาถงค าสงหรอขอมลและจะมคาเปน 1 เมอมการแกไข

2.8 การสบเปลยน (Swapping)

การสบเปลยน (Swapping) เปนวธทในการสลบกระบวนการทตองการจะเขาหรอออกเพอประมวลผลในหนวยความจ า โดยหลกการจะตองสลบกระบวนการเกาออกมากอนแลวจงน าเขากระบวนการใหมเขาไปใชงานหนวยความจ าโดยน าเขาไปเกบไวในระบบสนบสนนการจดเกบ (Backing Store) แสดงไดดงรปท 2.6 โดยระบบปฏบตการจะเปนสวนจดการเหตการณในการสลบกระบวนการเขา-ออก จากหนวยความจ าดงน 1. กระบวนการ (Process) ด าเนนการเสรจสน 2. กระบวนการ (Process) รองขอการใชงานอปกรณ I/O 3. กระบวนการ (Process) หมดเวลาการท างาน (Quantum Time) ดงนนหลกการส าคญในการสบเปลยน (Swapping) จะตองค านงถงระยะเวลาในการเคลอนยาย (Transfer) กระบวนการซงเปนสดสวนโดยตรงกบจ านวนขนาดหรอพนทในหนวยความจ าทมอยดวย

30

รปท 2.6 แสดงการสบเปลยนระหวาง 2 กระบวนการ ในการใชงานพนทจานบนทก (disk) ในการ จดเกบ (Swapping of two processes using a disk as a backing store)

จากรปท 2.6 อธบายการควบคมการสบเปลยน (Swapping) ของระบบปฏบตการ โดยใชอลกอรทมการก าหนดตารางล าดบความส าคญ (Priority-base Scheduling Algorithms) ถากระบวนการ P1 มล าดบความส าคญสงกวา (Higher-priority process) เขามาถงและตองการจะใชบรการหนวยความจ า ตวจดการหนวยความจ าสามารถทจะท าการสลบเอากระบวนการ P2 ทมล าดบความส าคญต ากวา (Lower-priority process) ออกไปกอน (Swap out) และสลบกระบวนการ P1 (Swap in) ซงมล าดบความส าคญสงกวา (Higher-priority process) เขามาท างานใหแลวเสรจกอน กระบวนการ P2 จงจะสลบกลบมา (Swap back) เพอท างานในหนวยความจ าตอไปได โดยบางครงอาจจะเรยกวธการสลบแบบนวาการหมนเขา (Roll in) หรอหมนออก (Roll out)

2.9 การจดสรรหนวยความจ าทตอเนองกน (Continues Memory Allocation)

หนวยความจ าหลกตองจ าเปนจะตองอ านวยความสะดวกใหกบระบบปฏบตการและความหลากของผใชงานกระบวนการ ดงนนในแตละกระบวนการ (Process) จงมความตองการใชพนทในหนวยความจ าอยางตอเนอง จงเปนหนาทของระบบปฏบตการในการจดสรรพนท วางอยางตอเนองภายในหนวยความจ าใหเกดประสทธภาพสงสด ซงโดยทวไปแลวหนวยความจ าหลก (Main Memory) จะถกแบงออกเปน 2 สวน เพอใหงายกบการจดการ แบงออกเปน

หนวยความจ าหลก (Main Memory)

ระบบสนบสนนการจดเกบ (Backing Store)

ระบบปฏบตการ

(Operating System)

พนทผใช (User Space)

P2

การสบเปลยนเขา (Swap in)

การสบเปลยนออก (Swap out)

P1

1

2

31

สวนท 1 หนวยความจ าระดบบน (High Memory) ซงเปนสวนทใชตดตอกบสวนของผใช (User) สวนท 2 หนวยความจ าระดบลาง (Low Memory) ซงเปนสวนของระบบปฏบตการ (Operating System) แสดงไดดงรปท 2.7

รปท 2.7 แสดงการแบงระดบของหนวยความจ าหลก (The Level of Main Memory)

นอกจากนการจดสรรพนทในหนวยความจ าหลก (Main Memory) เกยวของกบการปองกน ซงจะตองพจารณาจากผใชงานกระบวนการ (User Processes) และผทเกยวของกบการใชงานกระบวนการอนดวย โดยมการตรวจสอบคาต าแหนงในรจสเตอร (Register) ตางๆ เพอปองกนการแกไขค าสงหรอขอมลในสวนของระบบปฏบตการ (Operating System) และในสวนของผใช (User) ทก าลงท างานอย เชน 1. รจสเตอรยายต าแหนง (Relocation Register) เปนรจสเตอรทภายในบรรจคาทเลกทสดของต าแหนงทางกายภาพ (Smallest Physical) 2. รจสเตอรขอบเขต (Limit Register) เปนรจสเตอรทภายในบรรจขนาดหรอชวงของต าแหนงทางตรรกะ (Logical Address) เชน รจสเตอรยายต าแหนง (Relocation Register) = 100040 และรจสเตอรขอบเขต (Limit Register) = 74600 เปนตน โดยคาต าแหนงทางตรรกะ (Logical Address) ตองนอยกวารจสเตอรขอบเขต (Limit Register) เสมอ โดยหนวยจดการหนวยความจ า (Main Memory Unit: MMU) จะท าการจบค (Map) ต าแหนงทางตรรกะ (Logical Address) แบบพลวต (Dynamically) โดยการเพมคาลงไปในรจสเตอรยายต าแหนง (Relocation Register) แลวสงคาต าแหนงไปยงหนวยความจ า (Memory) อกท แสดงไดดงรปท 2.8

สวนผใช (User)

High Memory

ระบบปฏบตการ

(Operating System) Low Memory

512

0

หนวยความจ าหลก (Main Memory)

32

2.10 การจดสรรพนทในหนวยความจ า แบงออกเปน 2 รปแบบ ดงน 1. การจดสรรหนวยความจ าแบบพนทเดยว (Single-partition Allocation) วธนหนวยความจ าจะไมถกแบงพนท โดยกระบวนการในสวนของระบบปฏบตการจะอยในสวนหนวยความจ าระดบลาง (Low Memory) และสวนของกระบวนการของผใชอยในสวนหนวยความจ าระดบบน (High Memory) โดยเกยวของกบรจสเตอรยายต าแหนง (Relocation Register) ในการแยกกระบวนการ (Process) ในสวนของผใชออกจากสวนของระบบปฏบตการและรจสเตอรขอบเขต (Limit Register) เปนรจสเตอรทใชระบขนาดของคาต าแหนงทางตรรกะ (Logical Address) โดยคาต าแหนงทางตรรกะตองนอยกวารจสเตอรขอบเขตเสมอ 2. การจดสรรหนวยความจ าแบบหลายพนท (Multiple-partition Allocation) วธนหนวยความจ าจะถกแบงตามจ านวนกระบวนการ (Process) โดยมวธการจดสรรพนท 2 รปแบบ ดงน 2.1 การแบงแบบคงท (Fixed Partition) โดยการแบงพนทหนวยความจ าอออกเปนหลาย ๆ พารทชน (Partition) แตละพารทชนมขนาดเทากนและบรรจกระบวนการอยภายในเพยงหนงกระบวนการเทานน โดยทจ านวนพารท ชนถกก าหนดโดยจ านวนกระบวนการทมอยในหนวยความจ า ขอเสยของวธนคอ หากกระบวนการทบรรจอยในหนวยความจ ามขนาดเลกกวาพารทชนทก าหนดจะท าใหเหลอพนทในหนวยความจ า (พารทชนมพนทวางเหลอ) เรยกพนทวางทเหลอนวา “Internal Fragmentation” กรณทขนาดของกระบวนการมขนาดใหญกวาพารทชนทก าหนดกจะไมสามารถน ากระบวนการนนเขาไปใชงานพนทในหนวยความจ าหลกได 2.2 การแบงแบบพลวต (Dynamic Partition) เปนการแบงพนทตามขนาดของกระบวนการ โดยการใชพนทวางทางกายภาพทเรยกวา โฮล (Hold) เมอมกระบวนการตองการใชงานพนทในหนวยความจ า ระบบปฏบตการจะมหนาทในคนหาพนทโฮล (Hold) ทมขนาดใหญเพยงพอกบกระบวนการ แลวจงน ากระบวนการนนเขาไปใชงานหนวยความจ าและจะท าการเกบขอมลของ

+

รจสเตอรขอบเขต (Limit Register)

<

รจสเตอรยายต าแหนง (Relocation Register)

CPU

หนวยความจ าหลก (Main Memory)

ต าแหนงทางตรรกะ (Logical Address)

ต าแหนงทางกายภาพ (Physical Address) Yes

No

ต าแหนงผดพลาด Address Error

รปท 2.8 แสดงภาพฮารดแวรทสนบสนนการท างานของรจสเตอรยายต าแหนงรจสเตอรขอบเขต (Hardware Support for relocation and limit registers)

33

กระบวนการอนทยงไมไดน าเขาไปใชงานหนวยความจ าและพนทวาง (Free Partition Hold) ทยงไมไดถกจดสรรใหกบกระบวนการใดๆ ดวยแถวคอยการท างาน (Job Queue) โดยสมพนธกบเวลาทใชงานจรง (Use time) ของแตละกระบวนการดวย แสดงไดดงรปท 2.9

รปท 2.9 แสดงการแบงหนวยความจ าแบบพลวต (Dynamic Partition)

ปญหาการจดสรรพนทหนวยความจ าแบบพลวต (Dynamic Storage-allocation Problem) ทพบบอยคอการคนพนทหนวยความจ าใหกบระบบเมอกระบวนการไดท างานเสรจแลวท าใหเกดพนทวางในหนวยความจ า ซงเรยกพนทวางนวา “โฮล (Hold)” ดงนนเราจงใชวธการวาง (Placement) เพอใชแกปญหาดงกลาวซงจะท าใหการจดสรรพนทวางในหนวยความจ าใหเกดประโยชนสงสด ดงน 1. วธเลอกพนทวางแรกทพบ (First fit) เปนการเลอกโฮลตวแรก (First Hold) ทพบกอนและมขนาดใหญเพยงพอกบกระบวนการทจะน าเขาไปวางในหนวยความจ า ซงเปนวธทใชเวลานอยทสด 2. วธเลอกพนทวางเหมาะสมทสด (Best fit) เปนการเลอกโฮลทมขนากเลกทสด (smallest Hold) เพอใหเหมาะสมทสดกบ กระบวนการทจะน าเขาไปวางในหนวยความจ า ซงตองท าการคนหาทงรายการทเกบขนาดของโฮล (Hold) ทวาง ซงเปนวธจดสรรพนทวางในหนวยความจ าใหเกดประโยชนสงสดเพราะเหลอพนทวางโฮลนอยทสด (smallest leftover hold) แตกเสยเวลาการคนหา 3. วธเลอกพนทวางทมขนาดใหญทสด (Worst fit) เปนการเลอกโฮลขนาดทใหญทสด (Largest Hold) เพอใหเหมาะสมทสดกบกระบวนการทจะน าเขาไปวางในหนวยความจ า ซงตองท าการคนหาทงรายการทเกบขนาดของโฮล (Hold) ทวาง วธนอาจจะจดสรรเนอทในหนวยความจ าไดดกวาวธ Best fit เพราะเหลอพนทวางโฮลในหนวยความจ านอยกวา

ระบบปฏบตการ Operating System

Process1

Process2

Process3

260K

แถวคอยงาน (Job Queue)

กระบวนการ Process

หนวยความจ า (Memory)

เวลาทใช (Use Time)

Process1

Process2 Process3 Process4 Process5

600K

1000K

300K

700K

500K

10

5 20 8 15

0 K

400 K

1000 K

2000 K

2300 K

2560 K

34

รปท 2.10 แสดงวธการวาง (Placement) แบบตางๆ

วธการจดสรรพนทในหนวยความจ าใหกบแตละกระบวนการ อาจเกดการสญเปลาของเนอทวางของโฮล (Hold) หรอพนทวางทไมสามารถน าไปใชงานไดทงภายใน (Internal Fragmentation) และภายนอก (External Fragmentation) ทมอยกระจดกระจายอยเตมไปหมดในหนวยความจ าหลก (Main Memory) และมขนาดใหญหรอเลกเกนไปท าใหไมเหมาะสมกบขนาดของกระบวนการทจะน าไปใชงานได ซงมวธแกปญหาการจดสรรพนทสญเปลาดงกลาวอย 2 วธดงน 1. การบบอด (Compression) หรอการจดระเบยบพนท (Defragmentation) เปนการจดพนทวางระหวางกระบวนการใหม โดยการสบเปลยนต าแหนงของกระบวนการตาง ๆ ในหนวยความจ าใหเรยงตอกน ท าใหมพนทเพมขนหรอมขนาดใหญขนซงเหมาะกบการจดสรรพนทแบบพลวต (Dynamic Allocation) ระบบปฏบตการจะเปนตวจดการ โดยทกระบวนการตาง ๆ จะถกยายไปยงต าแหนงตาง ๆ โดยอตโนมต 2. อนญาตใหต าแหนงพนททางตรรกะ (Logical Address) ของกระบวนการทไมไดอยตดกน (Noncontiguous) โดยทกระบวนการจะถกจดสรรไวบนพนทหนวยความจ าทางกายภาพ (Allocated Physical Memory) ทใดกไดททกต าแหนงสามารถใชงานได

2.11 การแบงหนา (Paging)

การแบงหนา (Paging) เปนการจดสรรพนทวางบนหนวยความจ า โดยท าใหกระบวนการทอยบนหนวยความจ าไดโดยไมตองเรยงตอเนองกนทงกระบวนการเปนการใชพนทวางอยกระจดกระจายโดยไมสญเปลา และไมจ าเปนจะตองบบอดพนทวางในหนวยความจ ากอน แบงออกเปน 2 ประเภท ดงน

โฮล (Hold) 12KB

ระบบปฏบตการ Operating System

20 KB

First Fit

Best Fit

Worst Fit

Process1

13 KB

30 KB

35

1. การจดสรรหนวยความจ าทางกายภาพ (Paging Model of Physical Memory) เปนวธการแบงพนทใหมขนาดคงท (Fixed-Size Block) เรยกพนทในสวนนวา เฟรม (Frames) โดยทขนาดของเพจถกก าหนดโดยฮารดแวร ซงขนาดของเพจเปนเลขยกก าลง 2 ทมคาอยระหวาง 512 ไบต (Byte) ถง 16 (เมกะไบต) MB ตอหนงเพจ ขนอยกบสถาปตยกรรมของคอมพวเตอรแตละชนด

2. การจดสรรหนวยความจ าทางตรรกะ (Paging Model of Logical Memory) เปนวธการแบงพนทแบบบลอค (Block) เรยกพนทสวนนวา เพจ (Pages) โดยก าหนดขนาดเพจเทากบขนาดเฟรม แสดงไดดงรปท 2.11 แสดงภาพของฮารดแวรซงจะเปนตวจดการแบงหนา ทกๆ ต าแหนงจะถกจดสรรโดยหนวยประมวลผลกลาง (CPU) โดยแบงออกเปนสองสวน คอ 1. หมายเลขเพจ (Page Number: p) โดยหมายเลขเพจจะใชดรรชน (Index) เพอชไปยงตารางเพจ (Page Table) ซงภายในบรรจต าแหนงเรมตน (Base Address) ของแตละเพจในหนวยความจ าทางกายภาพ (Physical Memory) 2. ขอบเขตเพจ (Page Offset: d) คอ ต าแหนงจรงในหนวยความจ า ทน ามารวมกบต าแหนงเรมตน (Base Address) ทไดจากตารางเพจ (Page Table) เพอใชค านวณหาต าแหนงของหนวยความจ าทางกายภาพ (Physical Memory) แสดงไดดงรปท 2.11

รปท 2.11 แสดงฮารดแวรการแบงตาราง (Hardware Paging)

วธการจดสรรพนทวางบนหนวยความจ า ระบบปฏบตการจะมการแบงหนวยความจ าออกเปน 2 สวน คอหนวยความจ าแบบตรรกะและหนวยความจ าแบบกายภาพ แสดงไดดงรปท 2.11

หนวยความจ าทางกายภาพ (Physical Memory) ตารางเพจ (Page Table)

CPU

f

f0000 …. 0000

f0000 …. 0000

p d f d

ต าแหนงทางตรรกะ (Logical address)

ต าแหนงทางกายภาพ (Physical address)

f

f

d

36

รปท 2.12 แสดงรปแบบการแบงเพจในหนวยความจ าแบบตรรกะและหนวยความจ าแบบกายภาพ (Paging model of logical and physical memory)

2.12 ฮารดแวรกบการสนบสนนการแบงหนา (Hardware Support) การน าฮารดแวรกบการสนบสนนการจดการตารางเพจ (Page Table) ท าไดหลายทาง ซงการเขาถงต าแหนงในหนวยความจ าแตละครง จะตองมการอานขอมลจากหนวยความจ าทางกายภาพ (Physical Memory) ถงสองครง ครงทหนง จากตารางเพจ (Page Table) ครงทสอง จากต าแหนงขอมลทางกายภาพ (Physical Address) ท าใหเสยเวลาและการเขาถงหนวยความจ าลาชา ดงนนวธมาตรฐานทใชแกปญหาจ าเปนตองใชฮารดแวรขนาดเลกทมความเรว (Hardware Cache) ในการอานและจดเกบขอมลสง (Fast-Lookup) ซงเรยกฮารดแวรชนดนวา “Translation Look-aside Buffer (TLB)” ซงขอมลจะถกอานจากหนวยความจ าทางกายภาพ (Physical Memory) เพยงครงเดยว แลวจดเกบลง TLB ซงเปนหนวยความจ าทมความเรวสง (High Speed Memory) ซงประกอบไปดวยสองสวนดวยกน คอ สวนทหนงเกบกญแจ (Key) หรอเทกซ (Tag) สวนทสองเกบคา (Value) หากตองการอานขอมลจากหนวยความจ ากจะท าการเปรยบเทยบกญแจวาตรงกนหรอไม ถาพบรายการทคนหาทสอดคลองกบคาของฟลด (Value Field) กจะสงคนคากบไปให ซงประสทธภาพของการคนหาจะรวดเรว แตฮารดแวรชนดนจะมราคาแพง และคาของจ านวนขอมลทเขามาอยใน TLB จะมขนาดไมใหญมากนกมกมคาอยระหวาง 64 ถง 1024 ตว

0

2 3

0 1 2 3 4 5 6

หนวยความจ าทางกายภาพ (Physical Memory)

ตารางเพจ (Page Table)

2

5

1

3

Page 2

Page 0

Page 3

Page 1

หมายเลขเฟรม (frame number)

Page 0

Page 1

Page 2

Page 3

หนวยความจ าทางตรรกะ (Logical Memory)

1

37

จากรปท 2.13 เปนการอางถงต าแหนงทางตรรกะ (Logical Address) ซงในการคนหาจะใชการสงหมายเลขเพจ (Page Number) ทตองการคนหาเขาส TLB และเปรยบเทยบกบหมายเลขเฟรม (Frame Number) ทสมพนธกบหมายเลขเพจ (Page Numbers) ทกตวพรอมๆ กน ซงการคนหาต าแหนงใน TLB เรยกวธการ นวา “คนหาแบบคขนาน (Parallel Search)” กรณทไมพบหมายเลขเพจทตองการคนหาใน TLB กจะท า การคนหาจากตารางเพจ (Page Table) วาอยเฟรมใดในหนวยความจ าหลกอกท

รปท 2.13 แสดงฮารดแวรกบการสนบสนนการแบงหนาดวย TLB (Paging hardware with Table look-aside buffer)

ในกรณท TLB เตม ระบบปฏบตการกจะท าการเลอกหรอลบบางเพจออก (Flushed or Erased) และน าเพจทใชอยลาสดไปแทนท แตในบาง TLB จะไมอนญาตใหสามารถท าวธการแบบนได ซงจะท าใหเกดการ “Wired Down” เชน เพจทเกบค าสงในสวนของแกนกลาง (Kernel Code) เปนตน ดงนนเปอรเซนตของเวลาในการคนหาหมายเลขเพจ (Page Numbers) ทพบใน TLB เราเรยกวา “อตราสวนทพบ (Hit Ratio” เชน 80% อตราสวนทพบหมายความวา เราตองการคนหาหมายเลขเพจใน TLB แลวเจอ 80% ของเวลาทงหมดหรอถาเราใชเวลา 20 Nanoseconds ในการคนหา ใน TLB และ 100 Nanoseconds ในการเขาถงหนวยความจ า (Access Memory) ดงนนเวลาทงหมดทใชไป (Mapped-Memory Access) จะเทากบ 120 Nanoseconds เมอหมายเลขเพจ (Page Numbers) อยใน TLB แตถาไมพบหมายเลขเพจ (Page Numbers) ใน TLB ซงเสยเวลาไป 20 Nanoseconds และเสยเวลาครงแรกไปในการเขาถงหนวยความจ าส าหรบการคนหาในตารางเพจ (Page Table) 100 Nanoseconds และเสยเวลาครงทสองในการคนหาหมายเลขเฟรม (Frame Numbers)

CPU p d

ต าแหนงทางตรรกะ (Logical address)

หนวยความจ าทางกายภาพ (Physical Memory)

f d

ต าแหนงทางกายภาพ (Physical address)

หมายเลขเพจ (Page Number)

f

d

ตารางเพจ (Page Table)

TLB miss

TLB hit

หมายเลขเฟรม (Frame Number)

Table Look-aside Buffer (TLB)

38

อกเปนเวลา 100 Nanoseconds ซงจะใชเวลาทงหมดในการคนหาเทากบ 200 Nanoseconds ดงนน วธการค านวณหาประสทธภาพของเวลาในการเขาถงหนวยความจ า (Effective Memory-Access Time) สามารถคด

ไดจากคาถวเฉลยไปตามเหตการณตางทเกดขน จงสรปไดวา

Effective Memory-Access Time = 0.80 X 120 + 0.20 X 220 = 140 Nanoseconds สรปไดวา เวลาจะชาลงไปถง 40% ในการเขาถงหนวยความจ า (คอจาก 100 เปน 140 นาโนวนาท)

ตวอยาง ถา 98% ของอตราสวนทพบหมายความวาอยางไร อธบายไดดงน Effective Memory-Access Time = 0.98 X 120 + 0.02 X 220 = 122 Nanoseconds สรปไดวา เวลาจะชาลงไปถง 22% ในการเขาถงหนวยความจ า (คอจาก 100 เปน 122 นาโนวนาท)

2.13 การปองกนหนวยความจ า (Memory Protection) โดยปกตจ านวนบต (Bits) ทเกบอยในตารางเพจ (Page Table) เราสามารถก าหนดบตเพอใชการตรวจสอบและก าหนดเพจในการ อาน-เขยน (Read-Write) หรออานขอมลเทานน (Read-Only) ซงเรยกบตพเศษนวา “กลมบตปองกน (Associating Protection Bits)” ใหกบทกๆ เฟรม ทอยในหนวยความจ า (Main Memory) ซงแบงบตสถานะออกเปน 2 บต คอ 1. บตใชงานได (Valid Bit) เปนบตสถานะทบอกวาขอมลในเพจถกอานเขาสหนวยความจ าทางกายภาพแลว และสามารถน าไปใชงานไดทนท 2.บตใชงานไมได ( Invalid Bit) เปนบตสถานะทบอกวาขอมลในเพจนนไมมอยในหนวยความจ าทางกายภาพแลว (Physical Memory) และไมสามารถน าไปใชงานได อาจเกดจากกรณทระบบปฏบตการยงไมไดอานขอมลจากเพจเขาสหนวยความจ าหลก (Main Memory) หรอขอมลของเพจทตองการอานนนถกสลบ (Swapped) ออกจากหนวยความจ าแลว ซงจะท าใหเกดขอผดพลาดขนท เรยกวา “การผดหนา (Page Fault)” จงจ าเปนตองบรรจเพจขอมลเขาสหนวยความจ ากอนแลวจงเปลยนคาของบตใชงานไมได (Invalid Bit) ใหเปนบตใชงานได (Valid Bit) แลวจงท าการประมวลผลขอมลนนใหมอกครงหนง รปท 2.14 แสดงตาราง เพจของบตท ใ ช งานได -บตท ใ ชงานไม ได (V-I Bit) ของระบบปฏบตการ 14 บต (14-bit) ซงมพนทใชงานไดตงแตต าแหนงท 0 ถง 16383 และค าสงเพอใชงานต าแหนงตงแตเรมตนท 0 จนถง 10468 และมขนาดเพจ (Page Size) เทากบ 2 KB เรมต าแหนงเพจเรมตนท 0, 1, 2, 3, 4, 5 และท าการแมบ (Map) ไปยงตารางเพจ (Page Table) เขากบหมายเลขตารางเฟรม (Frame Number) 2, 3, 4, 7, 8, 9 เพอบอกสถานการณการใชงานพนทบนหนวยความจ าทางกายภาพ (Physical Memory) สวนตารางเพจท 6 และ 7 บอกสถานะบตเปนบตใชงานไมได (Invalid Bit) ระบบปฏบตการมหนาทในการบรรจเพจขอมลเขาสหนวยความจ าเสรจจงเปลยนคาบตทใชงานไมได (Invalid Bit) ใหเปนบตทใชงานได (Valid Bit) แลวท าการประมวลผลขอมลนนใหมอกท

39

รปท 2.14 แสดงตารางเพจของบตทใชงานได-บตทใชงานไมได (Valid (v) or Invalid (i) Bit in a Page Table)

2.14 การใชเพจรวมกน (Shared Pages)

เปนวธการแบงปนการใชเพจรวมกนในรปแบบการแบงเวลา (Time-Sharing) โดยขอมลนนจะเปนขอมลทใชอยในลกษณะไมสามารถเปลยนแปลงได (Non-Self-modifying Code) ในขณะทมการประมวลผล แตใชงานรวมกนได เรยกขอมลชนดนวา “Reentrant Code” หรอ “Pure Code” ซงจะเกบไวในต าแหนงทางตรรกะ (Logical Address) เดยวกน แตละกระบวนการมขอมลเพจ (Own Data Page) เปนของตวเอง รปท 2.15 แสดงการใชเพจรวมกนระหวางกระบวนการ ซงประกอบไปดวย 3 กระบวนการ คอ P1, P2, และ P3 ตองการใชงานชดค าสง Text Editor รวมกนใน Page 0, Page1 และ Page3 ทถกจดเกบไวในหมายเลขเฟรมท 3, 4 และ 6 ดงนนถาระบบปฏบตการมผตองการใชงาน 40 คน ก าลงใชงานชดค าสง Text Editor ซงใชพนท 150 KB และใชเพจส าหรบเกบขอมล 50 KB ดงนนหากกระบวนการตางใชงานพนทในหนวยความจ าไมรวมกนจะตองใชพนทในหนวยความจ าเทากบ 40 x (150 + 50) = 8000 KB แตหากกระบวนการทงหมดใชงานเพจรวมกนจะใชพนทในหนวยความจ าเทากบ 150 + (40 x 50) = 1250 KB ซงจะชวยลดการใชพนทในหนวยความจ าลงได แตกมขอเสยคอถากระบวนการใดกระบวนการหนงเสรจจะไมสามารถลบขอมลในเพจทใชงานรวมกน (Shared Pages) ได ตองรอจนกวากระบวนการอนจะใชงานขอมลในเพจทใชงานรวมกนเสรจกอนจง

Page 0

Page 1

Page 2

Page 4

ตารางเพจ (Page Table)

2

3

4

7

0 1 2 3

Page 0

Page 1

Page 2 2

Page 3

00000

Page 5

10,468 12,287

8

9

0

4 5 6

0 7

V

V V

V

V

V

I

I

0 1 2 3 4 5 6

บตทใชงานได (valid bit)

หนวยความจ าทางตรรกะ (Logical Memory)

หนวยความจ าทางกายภาพ (Physical Memory)

7 8 9

Page 3

Page 4 Page 5

Page n

หมายเลขเฟรม (Frame number)

บตทใชงานไมได (invalid bit)

40

จะลบขอมลในเพจได การใชงานของชดค าสงรวมกนแบบอน เชน คอมไพเลอร (Compilers) การประมวลผลในสวนไลบราร (Run-Time Libraries) ระบบฐานขอมล (Database System) เปนตน

รปท 2.15 แสดงภาพแวดลอมของการใชงานเพจรวมกน (Sharing of Code In a Paging Environment)

2.15 โครงสรางของตารางเพจ (Memory Protection) เทคนคการสรางตารางเพจแบงออกเปน 3 รปแบบ ไดแก 1. โครงสรางแบบล าดบชน (Hierarchical Paging) ระบบคอมพวเตอรสมยใหมจะสบบสนนต าแหนงพนททางตรรกะ (Logical-Address Space) ขนาดใหญ (232 ถง 264) ซงโครงสรางแบบล าดบชนเปนการแบงพนททางตรรกะออกเปนตารางเพจ (Page Table) หลายตาราง โดยใชขนตอนวธ (Algorithm) ในการแบงเพจแบบ 2 ระดบ (Two-Level Page Table) ไดแก 1.1 หมายเลขเพจ (Page Number) 1.2 ขอบเขตเพจ (Page Offset)

Data 1

Data 3

Ed 1

Ed 2

Ed 1

Ed 2

Ed 3 ge 2

Data 1

1 2 3 4 5 6

Process P1

หนวยความจ าทางกายภาพ (Physical Memory)

7 8 9

Ed 3

Data 2

3

4

6

1

ตารางเพจของ P1

00

10

Ed 1

Ed 2

Ed 3 ge 2

Data 2

Process P2

3

4

6

7

ตารางเพจของ P2

Ed 1

Ed 2

Ed 3 ge 2

Data 3

Process P3

3

4

6

2

ตารางเพจของ P3

41

ตวอยาง ระบบคอมพวเตอรขนาด 32 บต ประกอบดวยเพจขนาด (Page Size) 4 KB ต าแหนงทางตรรกะถกแบงเปน 2 สวน คอ สวนแรกขนาด 20 บต (Bits) เกบหมายเลขเพจ (Page Number) และสวนทสองขนาด 12 บต (Bits) เกบขอบเขตเพจ (Page Offset) ซงแสดงโครงสรางขอมลดงน

รปท 2.16 แสดงโครงสรางต าแหนงทางตรรกะแบบ 1 ระดบขนาด 32 บต ซงประกอบไปดวย กระบวนการ P1 เปนดชนทอางองไปยงตารางเพจสวนแรกทเรยกวา “ตารางเพจสวนนอก (The Outer Page Table)” หลงจากนนกจะอางองไปยงสวนทสองทเรยกวา “เพจของตารางเพจ (Page of Page Table)” โดยมกระบวนการ P2 อยในเพจของตารางเพจ

รปท 2.17 แสดงโครงสรางต าแหนงทางตรรกะแบบ 2 ระดบขนาด 32 บต (Address Translation for a Two-Level 32-Bit Paging Architecture)

2. โครงสรางแบบตารางเฮช (Hash Page Table) ระบบคอมพวเตอรทจะใชโครงสรางแบบน ตองมต าแหนงขนาดพนท (Address Space) มากกวา 32 บต โดยคาของเฮชจะอยภายในหมายเลขเพจเสมอน (Virtual-Page Number) ซงแตละหนวย (Elements) ในตารางเฮชภายในจะมลงกลสต (Link List) เชอมโยงไปยงหนวยทอยในพนทเดยวกน โดยขอมลในแตละหนวยจะประกอบไปดวย 2.1 คาหมายเลขเพจเสมอน (Virtual-Page Number) 2.2 คาดรรชนทชไปยงเฟรมเพจ (Page Frame) 2.3 คาของตวช (Pointer) ทชไปยงหนวยทเชอมโยงในลงกลสต (Link List)

หมายเลขเพจ (Page Number)

P1

P2

D

ขอบเขตเพจ (Page Offset )

10 10 12

P1

P2

D

P1

ตารางเพจสวนนอก (The Outer Page Table)

เพจของตารางเพจ (Page of Page Table)

P2

D

42

รปท 2.18 แสดงโครงสรางแบบตารางแฮช (Hashed Page Table)

จากรปท 2.18 แสดงอลกอรทมของหมายเลขเพจเสมอน (Virtual-Page Number) ในตารางเฮช (Hash Table) โดยจะท าการเปรยบเทยบคาของฟลด (Field) กบต าแหนงแรกในลงกลสต (Link List) ถาเหมอนกน (match) กจะสงคาของเฟรมเพจ (Page Frame) ทใชเชอมโยงไปยงต าแหนงทางกายภาพแตถาไมเหมอนกน (no match) กจะท าการคนหาคาทเหมอนกนทอยในคาหมายเลขเพจเสมอน (Virtual-Page Number) อกท

3.โครงสรางเพจแบบผกผน (Inverted Page Table) ระบบคอมพวเตอรทจะใชโครงสรางแบบน ตองมคณสมบตก าหนดโดยตารางเพจ (Page Table) จะมเพยงหนงกระบวนการใชงานพนทหนวยความจ า โดยชดค าสงหรอขอมลจะประกอบไปดวยต าแหนงของเพจเสมอน (Virtual-Address of Page) ทเกบอยในหนวยความจ าจรง (Real Memory) แสดงไดดงรปท 2.19 จะมเพยงหนงตารางเพจ (One Page Table) เทานนทอยในหนวยความจ า โดยแตละต าแหนงของเพจเสมอน (Virtual-Address of Page) ประกอบไปดวย <หมายเลขกระบวนการ (process-id), หมายเลขเพจ (page-number), ขอบเขต (offset)

p

d

Hash Function

ต าแหนงทางตรรกะ (Logical Address)

q s p r

r

d

ต าแหนงทางกายภาพ (Physical Address)

หนวยความจ าทางกายภาพ (Physical Memory)

ตารางแฮช (Hash Table)

43

โดยแตละตารางเพจแบบผกผน (Inverted Page Table) จะประกอบดวย <process-id, page-number> ซงจะท าการคนหาโดยการจบคต าแหนงของเพจทเหมอนกน (Match) ในตารางเพจ (Page Table) ถาพบกจะท าการ Map คาของ entry i กบต าแหนงทางกายภาพ (Physical Address) เพอสงเขาไปประมวลผลในหนวยความจ าหลก แตถาไมพบกจะท าการคนตอไปเรอยๆ ถงแมวาวธนจะใชงานหนวยความจ าไดอยางมประสทธภาพ แตกจะตองเสยเวลาทจะคนหาต าแหนงทอยในตารางอครงหนง กรณทมการอางองถงเหตการณทเกดขนกอนหนา

2.17 การแบงสวน (Segmentation)

วธการนเปนการจดสรรพนทในหนวยความจ าหลกออกเปนสวนๆ ตามขนาดของชดค าสงหรอโมดลยอย เรยกพนทนวา Segment โดยแตละโมดลจะถกแบงออกเปนสวนๆ ทมขนาดไมเทากน เชน ชดค าสงหลก ไรซเยอร ฟงกชน ตวแปร บลอก สแตก ตารางสญลกษณ และอารเรย ซงแตละโมดลจะมการท างานสมพนธกน แสดงไดดงรปท 2.20

pid

p

d

หนวยประมวลผลกลาง (CPU)

ต าแหนงทางตรรกะ (Logical Address)

ตารางเพจ( Page Table)

pid

p

i

d

i

ต าแหนงทางกายภาพ (Physical Address)

หนวยความจ าทางกายภาพ (Physical Memory) ท าการคนหา

(Search)

รปท 2.19 แสดงโครงสรางแบบผกผน (Inverted Page Table)

44

ตวอยาง จากรปท 2.21 ก าหนดใหมการแบงสวน (Segment) ออกเปน 5 สวน (Segment) มหมายเลขตงแต 0 ถง 4 โดยแตละสวน (Segment) ถกจดเกบอยในหนวยความจ าทางกายภาพ (Physical memory) ภายในตารางการแบงสวนมขอมลอยภายใน โดยก าหนดต าแหนงเรมตนเรยกวาต าแหนงฐาน (Base) และขนาดของการแบงสวนเรยกวา Limit อธบายไดดงน 1. ก าหนดให Segment 2 มความยาว 400 ไบตและต าแหนงเรมตน (Base of Segment) ท 4300 ดงนนถามการอางองไปยงไบตท 53 ของ Segment 2 กจะท าการจบค (Map) ไปยงต าแหนงเรมตนบวกกบต าแหนงทอางองถงจะไดเทากบ 4300 + 53 = 4353 2. ก าหนดให Segment 3 มความยาว 1000 ไบตและต าแหนงเรมตน (Base of Segment) ท 3200 ดงนนถามการอางองไปยงไบตท 852 ของ Segment 3 กจะท าการจบค (Map) ไปยงต าแหนงเรมตนบวกกบต าแหนงทอางองถงจะไดเทากบ 3200 + 852 = 4052 3.ก าหนดให Segment 0 มความยาว 1000 ไบตและต าแหนงเรมตน (Base of Segment) ท 1400 ดงนนถามการอางองไปยงไบตท 1222 ซงอยทต าแหนง Segment 0 มความยาวเพยง 1000 ไบต จงเปนหนาทของระบบปฏบตการในการเลอน (Tab) ไปยง Segment อนๆ ทมขนาดความยาวไบต (Bytes Long) พอดกบไบตทตองการ

สแตก (Stack)

โปรแกรมยอย (Sub Program)

ตารางสญลกษณ (Symbol Table)

ฟงกชน (Function)

โปรแกรมหลก (Main Program)

Segment 1

Segment 2

Segment 0

Segment 4

Segment 3

หนวยความจ าทางตรรกะ (Logical Memory)

รปท 2.20 แสดงโครงสรางแบบแบงสวน (Segmentation)

45

รปท 2.21 แสดงโครงสรางตารางการแบงสวน (Segmentation Table)

Segment 0

1400

01 2 3 4 4

หนวยความจ าทางกายภาพ (Physical Memory)

Segment 3

Segment 2

Segment 4

Segment 1

2400

3200

4300

4700

5700 6300

00

6700

สแตก (Stack)

โปรแกรมยอย (Sub Program)

ตารางสญลกษณ (Symbol Table)

ฟงกชน (Function)

โปรแกรมหลก (Main Program) Segment 1

Segment 2

Segment 0

Segment 4

Segment 3

ขนาดการแบงสวน (Segment Size)

พนฐานการแบงสวน (Segment Base)

1000 400 400 1100 1000

1400 6300 4300 3200 4700

หนวยความจ าทางตรรกะ (Logical Memory)

ตารางการแบงสวน (Segment Table)

46

สรป การจดการหนวยความจ า (Memory Management) เปนหนาทหนงของระบบปฏบตการ ซงมหนาทหลกในการจดสรรพนทในการใชงานใหกบหลายชดค าสง (Multiprogramming) หรอขอมลตางๆ โดยใชฮารดแวร (Hardware provided) เขาไปชวยสนบสนนวธการเขาถงต าแหนงในหนวยความจ าทงในสวนหนวยความจ าทางตรรกะ (Logical memory) และหนวยความจ าทางกายภาพ (Physical memory) ซงมหนวยประมวลผลกลาง (CPU) เปนตวประมวลผล (Generated) อกท อลกอรทมในการจดการหนวยความจ า (Memory Management Algorithms) ม 4 แบบ คอ 1. การจดสรรแบบตอเนอง (Contiguous allocations) 2. การแบงหนา (Paging) 3. การแบงสวน (Segmentation) 4. การผสมผสานระหวางวธแบงหนาและแบงสวน (Combination of Paging and Segmentation) โดยมกลยทธในการจดการหนวยความจ า (Memory Management Strategy) ใหเลอกใช ดงน 1. ความสามารถของฮารแวร (Hardware Support) เปนพนฐานทชวยสนบสนนการท างานของกระบวนการการแบงหนา (Paging) และการแบงสวน (Segmentation) โดยโครงสรางตารางการจบคระหวางขอมลและต าแหนงของหนวยความจ าหลก 2. ประสทธภาพ (Performance) วธทใชจดการหนวยความจ าหลกแตละวธจะมความซบซอน และใชระยะเวลาในการจบคระหวางหนวยความจ าทางตรรกะ (Logical memory) และหนวยความจ าทางกายภาพ (Physical memory) ดงนน ระบบปฏบตการจงตองเลอกใชวธทเหมาะสมและรวดเรว 3. การจดการพนท ว าง (Fragmentation) ในระบบคอมพวเตอรแบบหลายชดค าส ง (Multiprogramming) มความสามารถในการประมวลผลสง จะตองมการจดการพนทวางทเหมาะสมกบขนาดของกระบวนการ (Process) เพอปองกนปญหาทเกดขน 4. การยายต าแหนง (Relocation) การนจดการหนวยความจ าหลกทดควรสามารถยายกระบวนการ (Process) ในหนวยความจ าหลกไดอยางอตโนมตเพอแกปญหาการเกดพนทวาง (Fragmentation) ในหนวยความจ าหลก 5. การสลบ (Swapping) กลไกการสลบกระบวนการ (Process) เขา/ออก จากหนวยความจ าหลก ควรใหมการสลบกระบวนการใหนอยทสดภายในหนงหนวยเวลา 6. การใชงานรวมกน (Sharing) ระบบปฏบตการทดควรสามารถจดสรรโปรแกรมหรอขอมลตางๆ ใหสามารถท างานรวมกนได เพอใหกระบวนการ (Process) จ านวนมากสามารถท างานรวมกนได 7. การปองกน (Protection) การปองกนค าสงหรอขอมลตางๆ โครงสรางขอก าหนดเงอนไขในการอานหรอเขยนขอมล โดยระบบตองมการตรวจสอบค าส งหรอขอมลตางๆ ขณะก าลงประมวลผล พรอมทงแสดงขอผดพลาดได

47

ค าถามทบทวน

1. กลยทธในการจดการหนวยความจ า (Memory Strategy) มกวธอะไรบาง 2. ถาตองการคนหาหมายเลขเพจใน TLB แลวเจอ 70% ของเวลาทงหมดหรอถาเราใชเวลา 25 Nanoseconds ในการคนหา ใน TLB และ 120 Nanoseconds ในการเขาถงหนวยความจ า (Access Memory) ดงนนเวลาทงหมดทใชไป (Mapped-Memory Access) จะเทากบ 140 Nanoseconds เมอหมายเลขเพจ (Page Numbers) อยใน TLB แตถาไมพบหมายเลขเพจ (Page Numbers) ใน TLB ซงเสยเวลาไป 25 Nanoseconds และเสยเวลาครงแรกไปในการเขาถงหนวยความจ าส าหรบการคนหาในตารางเพจ (Page Table) 110 Nanoseconds และเสยเวลาครงทสองในการคนหาหมายเลขเฟรม (Frame Numbers) อก 110 Nanoseconds ซงจะใชเวลาทงหมดในการคนหาเทากบ 220 Nanoseconds จงค านวณหาประสทธภาพของเวลาในการเขาถงหนวยความจ า (Effective Memory-Access Time) 3. จงอธบายอลกอรทมในการจดการหนวยความจ า (Memory Management Algorithms) ตอไปน 3.1 การจดสรรแบบตอเนอง (Contiguous allocations) 3.2 การแบงหนา (Paging) 3.3 การแบงสวน (Segmentation) 3.4 การผสมผสานระหวางวธแบงหนาและแบงสวน (Combination of Paging and Segmentation) 4. ก ล ม บ ต ป อ ง ก น ( Associating Protection Bits) แ บ ง เ ป น ก ป ร ะ เ ภ ท อ ะ ไ ร บ า ง 5. เทคนคการสรางตารางเพจแบงออกเปนกรปแบบอะไรบาง

48

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556 , กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ ไลบราล. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, พฤษภาคม 27, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

49

แผนบรหารการสอนประจ าบทท 3 หวขอเนอหา - การจดการหนวยประมวลผลกลาง (CPU Management) - การจดตารางการท างานของหนวยประมวลผลกลาง (CPU Scheduling) - อลกอรทมส าหรบการจดตารางการท างาน (Scheduling Algorithms) - การจดตารางการท างานของระบบหลายกระบวนการ (Multiple-Processor Scheduling) - การจดตารางการท างานของระบบแบบทนท (Real-Time Scheduling) - ววฒนาการของอลกอรทม (Algorithm Evolution) วตถประสงคเชงพฤตกรรม - สามารถเขาใจการจดกระบวนการและการจดตารางการท างานของหนวยประมวลผลกลาง - สามารถจ าแนกวธการจดตารางการท างานของหนวยประมวลผลกลางระดบตางๆ - มความเขาใจอลกอรทมส าหรบการจดตารางการท างานแบบตางๆ - อธบายวธการจดตารางการท างานของระบบหลายกระบวนการและการจดตารางการ ท างานของระบบแบบทนทได - มความรและความเขาใจววฒนาการของอลกอรทม วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

50

บทท 3 การจดการหนวยประมวลกลาง (CPU Manageme)

หนวยประมวลมวลผลกลาง (CPU) เปนองคประกอบส าคญในระบบคอมพวเตอร ถอวาเปนสมองของคอมพวเตอร โดยมหนาทหลกคอ อานและแปลชดค าสง ประมวลผลชดค าสง ตดตอกบหนวยความจ า ตดตอรบสงขอมลกบผใช และยายขอมลตลอดจนค าสงระหวางหนวยงาน เปนตน ในระบบคอมพวเตอรทสามารถสลบการท างานหลายงานพรอมๆ กน (Multi-tasking) ไดระบบปฏบตการ (Operating System) จะตองท าการแบงเวลาใหกบงานหรอกระบวนการ (Process) ในแตละงาน สามารถประมวลผลไดอยางรวดเรวเสมอนวาท างานไดหลายๆ งานไดในเวลาเดยวกน ในบทนจะกลาวถงวธการการจดการกบหนวยประมวลผลกลาง (CPU Management) ซงเกยวของกบการจดกระบวนการ (Process) การจดตารางการท างาน (CPU Scheduling) การประยกตใชขนตอนวธ (Algorithm) เขาไปชวยในการจดตารางการท างานในระบบทม หนวยประมวลผลกลางหลายตว (Multiprocessor) การใชงานระบบการประมวลผลแบบทนท (Real Time) เพอใชในการจดกระบวนการท างานใหเกดประสทธภาพสงสด (ศพทบญญต ราชบณฑตยสถาน, 2544)

3.1 การจดตารางการท างานของหนวยประมวลผลกลาง (CPU Scheduling)

การจดตารางการท างานของหนวยประมวลผลกลาง (CPU Scheduling) เปนหนาทพนฐานของระบบปฏบตการ เกอบจะทกระบบคอมพวเตอรกอนกระบวนการ (Process) จะมการใชงานทรพยากรตางๆ หนวยประมวลผลกลางจะเปนสวนทใชจดตารางการใชทรพยากรดงน 3.1.1 ระดบการจดตารางการท างาน (Level Scheduling) คอ การเลอกกระบวนการ (Process) หรอจดสรรทรพยากรทมจ ากดใหกบกระบวนการแบงออกเปน 2 แบบ คอ 1. การจดตารางการท างานในระดบบน (High-Level Scheduling) เปนการจดล าดบงานใหกบกระบวนการ (Process) ทจะเขาไปใชงานทรพยากร CPU แบบกลมซงมจ านวนกระบวนการ (Process) มากเกนกวาระบบจะรบไดในชวงเวลาเดยวกน ดงนน ระบบปฏบตการจะมหนาทจดล าดบความเหมาะสมใหแตละกระบวนการ (Process) เพอใหเกดประโยชนสงสดโดยค านงถงปจจยตางๆ ไดแก ล าดบความส าคญ (Priority) และภาวะการตดตาย (Deadlock) เปนตน 2. การจดตารางการท างานในระดบลาง (Low-Level Scheduling) เปนการเลอกและสงกระบวนการ (Process) ทจะเขาไปใชงานทรพยากร CPU โดยเลอกกระบวนการทมสถานะพรอม (Ready State) จากควโดยจะถกสงโดยตวจดการเวลา (Dispatcher)

3.1.2 ระยะเวลาใชงานและรบสงของมลของ CPU (CPU-I/O Burst Cycle) ความส าคญของการจดเวลาของ CPU นน ขนอยกบคณลกษณะของกระบวนการ (Process) ซงโดยทวๆ ไป การประมวลผลกระบวนการ (Process Execute) จะประกอบดวยรอบเวลา (Cycle) ทใชงาน CPU และเวลาทตองคอยใชงานอปกรณ I/O ในขณะทมการประมวลผลกระบวนการ (Process Execute) จะม

51

การสลบการท างานระหวาง 2 ชวงเวลานเทานน คอ ระยะเวลาใชงาน (CPU Burst) และระยะเวลาในการรบ - สงขอมล (I/O Burst) ซงจะไมเกดขนพรอมกน การประมวลผล (Execute) มกจะเรมจากการใชงาน CPU แลวกจะตามดวย การคอยการใชงานอปกรณ I/O หลงจากใชงานอปกรณ I/O เสรจ กจะกลบมาใชงาน CPU ตอ สลบกนไปเรอยๆ จนกวาจะเสรจสนการประมวลผล ซงการสนสดการเสรจสนการประมวลผลนมกจะใชเวลา CPU (CPU Burst) มากกวาการรอคอยในระยะเวลาในการรบ - สงขอมล (I/O Burst) แสดงไดดงรปท 3.2

รปท 3.1 แสดงการสลบการท างานระหวางระยะเวลาใชงานและระยะเวลาในการรบ– สงขอมล (Alternating sequence of CPU and I/O bursts)

การคอยการใชงานอปกรณ I/O

ระยะเวลาในการใชอปกรณ I/O

(I/O Burst)

โหลดและจดเกบ ขอมลจากไฟล

(Load store and Store read from file)

ระยะเวลาในการใชงาน CPU (CPU Burst)

การคอยการใชงานอปกรณ I/O

ระยะเวลาในการใชอปกรณ I/O

(I/O Burst)

โหลดและจดเกบ ขอมลจากไฟล

(Load store and Store read from file)

ระยะเวลาในการใชงาน CPU (CPU Burst)

การคอยการใชงานอปกรณ I/O

ระยะเวลาในการใชอปกรณ I/O (I/O Burst)

โหลดและจดเกบ ขอมลจากไฟล

(Load store and Store read from file)

ระยะเวลาในการใชงาน CPU

(CPU Burst)

.

. .

.

.

.

52

รปท 3.2 แสดงฮสโตแกรมของระยะเวลาการใชงาน CPU (Histogram of CPU-burst times)

ตวจดตารางการท างานของ CPU (CPU Scheduler) เมอใดกตามท CPU วางระบบปฏบตการ (Operating System) จะตองเขามาด าเนนการน าเอากระบวนการ (Process) ใดกระบวนการหนงทคอยอยในควเขามาใชงาน CPU โดยการเลอกกระบวนการ (Process) เพอเขามาใชงาน CPU น จะถกจดการดวยสวนทเรยกวา ตวจดการเวลาชวงสน (Short-Term Scheduler) หรอ ตวจดการเวลา CPU ตวจดการเวลานจะเลอกกระบวนการ (Process) ทอยในหนวยความจ าทพรอมในการประมวลผล (Execute) ทสด เพอใหครอบครองเวลาการใชงาน CPU และทรพยากรทเกยวของกบกระบวนการนน (Process) นนภายใตบลอกควบคมกระบวนการ (Process Control Block : PCBs) ซงมอลกอรทมในการจดการควทมความพรอม (Ready Queue) ใหเลอกใชหลากหลาย เชน ควแบบมากอนไดรบบรการกอน (FIFO Queue) ควแบบเรยงตามล าดบอาวโส (A Priority Queue) ตนไม (Tree) หรอลงคลสตแบบไมเรยงล าดบ (Unordered Linked List) เปนตน

การใหสทธการจดเวลา (Preemptive Scheduling) การตดสนใจของ CPU ในการเลอกวากระบวนการใด (Process) จะถกประมวลผล (Execute) ขนอยกบสถานการณดงตอไปน 1. เมอมการกระบวนการ (Process) เปลยนสถานะของจากสถานะทประมวลผลอย (Running State) ไปเปน สถานะคอย (Waiting State) เชน การรองขอใชงานอปกรณ I/O เปนตน 2. เมอมการเปลยนสถานะของ process จากสถานะรน เปนสถานะพรอม

ระยะเวลาใชงาน CPU Burst duration (milliseconds)

160

140

100

80

60

40

20

0

8

16

24

32

40

ความ

ถ (F

requ

ency

)

120

53

3. เมอมการเปลยนสถานะของ process จากสถานะคอย เปนสถานะพรอม 4. เมอ process เสรจสนไปแลว

ตวจดการเวลา (Dispatcher) เปนคอมโพเนนต (Component) ทส าคญอกตวหนงทเกยวของกบฟงกชนในการจดเวลาในหนวยประมวลผลกลาง (CPU) ซงเปนโมดลทท าหนาทควบคมการครอบครองเวลาใน CPU ของกระบวนการ (Process) โดยฟงกชนนจะประกอบดวย • การยายไปในสวนของอธบายขยายความ (Switching Context) • การยายไปในสวนของผใช (User Mode) • การกระโดด (Jumping) ไปยงต าแหนงทเหมาะสมของชดค าสง เพอทจะเรมรนชดค าสงใหมอกครง นอกจากนตวจดการเวลา (Dispatcher) ควรมการท างานทเรวทสดเทาทจะท าได เพราะวาตวจดการเวลาจะตองท างานทกครงทมการยายกระบวนการ (Process) ซงเวลาทถกใชไปกบการท าการแบบนเรยกวา Dispatch Latency

เกณฑในการจดตารางการท างาน (Scheduling Criteria) ใชในการเปรยบเทยบความแตกตางของอลกอรทมทใชส าหรบกระบวนการ (Process) ในการเขามาใชงาน CPU หรอเปรยบเทยบวธการจดตารางการท างาน CPU วาวธใดเหมาะสมทสด ดงน1. การใช CPU ใหเกดประโยชน (CPU Utilization) สงสด (0-100%) เชน 40 % ส าหรบการบรรจเบาๆ (Lightly Load) และ ไมควรเกน 90 % ส าหรบการบรรจหนก (Hardily Load) 2. ปรมาณงาน (Throughput) ขณะทมการประมวลผล จะมจ านวนกระบวนการ (Process) ทท างานเสรจสมบรณภายในหนงหนวยเวลา (Per Time Unit) เทาใด 3. การวนรอบการท างาน (Turnaround Time) คอ ระยะเวลาทกระบวนการ (Process) เรมเขาไปประมวลผลจนกระทงท างานเสรจสมบรณ หรออาจจะเปนเวลาทกระบวนการ (Process) รอเพอทจะเขาไปใชงาน CPU รออยในแถวคอยเพอเปลยนสถานะเปนพรอม (Ready) ในการประมวลผล (Execute) บน CPU หรอรอเพอใชงานอปกรณ I/O เปนตน 4. เวลาทใชคอย (Waiting Time) รออยในแถวคอยเพอเปลยนสถานะเปนพรอม (Ready) 5. เวลาในการตอบสนอง (Respond Time) ระยะเวลาทกระบวนการ (Process) ใชในการสนองตอค าสงจากผใชทรองขอ (Request) จนกระทงไดผลลพธสงกลบมายงผใช โดยทเวลาในการตอบสนองมกจะขนอยกบความเรว (Speed) ของอปกรณแสดงผล (Output Device)

3.2 อลกอรทมส าหรบการจดตารางการท างาน (Scheduling Algorithms) หนาทหลกของตวจดการควคอ การคดเลอกกระบวนการซงรออยในสถานะพรอมทเหมาะสมทสดใหปรบเปลยนใหอยในสถานะรน (Run) เพอไดครอบครองและใชงานหนวยประมวลผลกลาง ดงนนจงเปนหนาทหลกของงระบบปฏบตการ โดยใชชอเรยกวาตวสง (dispatcher) ท าการคดเลอกกระบวนการและเรยกใหตวสง (dispatcher) สงกระบวนการทถกเลอกแลวเขาไปใชงานในหนวยประมวลผลกลาง โดยมขนตอนวธ (Algorithm) ในการจดการ ดงน (ศพทบญญต ราชบณฑตยสถาน, 2544)

54

1. การจดเวลาแบบมากอนไดกอน (FCFS : First-come First-served Scheduling) การจดควแบบมากอนไดกอน FCFS (first-come-first-served) เปนวธทงายทสด คอ กระบวนการไหนเขามารอในควกอนกจะไดครอบครองหรอใชบรการซพยกอน ตามล าดบเวลาของการเขามาอยในคว คอ "มากอนไดรบบรการกอน" กระบวนการทไดครอบครองซพยจะท างานไปจนเสรจ โดยไมระยะเวลาอนมาเกยวของ แตถากระบวนการมการเรยกใชงานอปกรณอนพต-เอาตพต (I/O Device) หรอรอเหตการณบางอยาง ของกระบวนการนนอยจ าเปนจะตองปลดปลอยซพย และออกจากสถานะรน (Running State) ไปอยในสถานะขดจงหวะ (Interrupted) เมอใดทกระบวนการท างานเสรจสนลงหรอเกดเหตการณทก าลงรออย กระบวนการนนกจะปรบเปลยนสถานะกลบเขาไปตอทายควใหมอกครง ซงการเปลยนสถานะของกระบวนการโดยใชการจดควแบบ FCFS ซงจะเหนวาแตกตางกบรปแสดงการเปลยนสถานะของกระบวนการทเคยกลาวมาคอ ไมมการเปลยนสถานะของกระบวนการจากสถานะรน (Running State) มายงสถานะพรอม (Ready State) โดยตรง

ตวอยาง ถามกระบวนการ (Process) เขามาใชงานตามล าดบดงน P1, P2, P3 และใชวธการแบบ FCFS แสดงอยในรปแบบ Gantt chart ไดดงน

P1 ใชเวลาในการคอย 0 มลลวนาท (millisecond), P2 ใชเวลาในการคอย 24 มลลวนาท (millisecond), P3 ใชเวลาในการคอย 27 มลลวนาท (millisecond) ดงนนใชเวลาเฉลยในการคอยเปน (0 + 24 + 27)/3 = 17 มลลวนาท (millisecond) แตถากระบวนการ (Process) เขามาใชงานเปลยนล าดบเปน P2, P3, P1 แสดงอยในรปแบบ Gantt chart ไดดงน

กระบวนการ (Process)

เวลาในการใชงาน CPU (Burst Time)

P1

P2 P3

24

3 3

P1

P2

P3

0

24

27

30

P2

P3

P1

0

3

6

30

55

ดงนนใชเวลาเฉลยในการคอยเปน (6 + 0 + 3)/3 = 3 มลลวนาท (millisecond) ซงจะเหนวาเวลาเฉลยในการคอยลดลง ดงนนสรปไดวาเวลาเฉลยในการคอยจะขนอยกบวธการเรยงล าดบหรออลกอรทมทเลอกใชและอาจเปลยนแปลงไปตามขนาดของกระบวนการ (Process) ทเขามาใชงานเวลาในหนวยประมวลผลกลาง

2. การจดเวลาแบบงานสนท ากอน (SJF: Short-Job-First Scheduling) การจดควแบบงานสนท ากอน SJN (shortest job next) การคดเลอกกระบวนการดวยวธน จะคดเลอกเอากระบวนการทตองการใชเวลาในการท างานในหนวยประมวลผลกลางนอยทสด ท าใหกระบวนการทตองการเวลาในการท างานนอยจบออกไปไดเรวขน จ านวนกระบวนการในระบบทรออยในควกจะมจ านวนลดลง ซงกจะท าใหเวลาท างานโดยเฉลยเสรจเรวขน แตวธการจดล าดบควแบบนกมขอเสยตรงทหากกระบวนการทตองการเวลาในการท างานนานกจะตองเสยเวลาคอย (Waiting times) มากดวยเชนกน

ตวอยาง ถามกระบวนการ (Process) เขามาใชงานตามล าดบดงน P1 , P2, P3, P4 และใชวธการแบบ SJF แสดงอยในรปแบบ Gantt chart ไดดงน

P1 ใชเวลาในการคอย 3 มลลวนาท (millisecond), P2 ใชเวลาในการคอย 16 มลลวนาท (millisecond), P3 ใชเวลาในการคอย 9 มลลวนาท (millisecond) และ P4 ใชเวลาในการคอย 0 มลลวนาท (millisecond) ดงนนใชเวลาเฉลยในการคอยเปน (3 + 16 + 9 + 0)/4 = 7 มลลวนาท (millisecond) แตถาใชวธการแบบ FCFS จะใชเวลาเฉลยในการคอยถง (0 + 6 +14 + 21)/4 = 10.25 มลลวนาท (millisecond)

กระบวนการ (Process)

เวลาในการใชงาน CPU (Burst Time)

P1

P2 P3 P4

6

8 7 3

P4

P1

0

3

9 24

P3

P2

16

56

3. การจดเวลาตามล าดบความส าคญ (Priority Scheduling) การจดควแบบล าดบความส าคญ (priority queue) คว แบบล าดบความส าคญมลกษณะแตกตางกบควธรรมดา ภายในควจะมการจดเรยงล าดบของกระบวนการตาง ๆ ตามล าดบความส าคญของกระบวนการนน กระบวนการทอยตนควจะมล าดบความส าคญมากทสด และลดลงเรอย ๆ กระบวนการทอยทายควคอกระบวนการทมล าดบความส าคญต าสด การคดเลอกกระบวนการจะเอากระบวนการทอยตนคว (มล าดบความส าคญสงสด) เขาไปครอบครองซพยกอน ดงนนถงแมวากระบวนการทเขาควทหลงแตมล าดบความส าคญสงกวากอาจได เขาไปครอบครองซพยกอน เชน กระบวนการ P5 เขาควเปนกระบวนการหลงสด แตจะไดครอบครองซพยกอนกระบวนการ P3 และ P4 เพราะมความส าคญสงกวา แตถากรณทกระบวนการมล าดบความส าคญเทากนจะใชวธมากอนไดกอนในการชวยพจารณา

ตวอยาง ถามกระบวนการ (Process) เขามาใชงานตามล าดบดงน P1, P2, P3, P4, P5 และใชวธการแบบตามล าดบความส าคญ Priority Queue แสดงอยในรปแบบ Gantt chart ไดดงน

P1 ใชเวลาในการคอย 6 มลลวนาท (millisecond), P2 ใชเวลาในการคอย 0 มลลวนาท (millisecond), P3 ใชเวลาในการคอย 16 มลลวนาท (millisecond) และ P4 ใชเวลาในการคอย 18 มลลวนาท (millisecond) และ P1 ใชเวลาในการคอย 1 มลลวนาท (millisecond) ดงนนใชเวลาเฉลยในการคอยเปน (6 + 0 + 16 + 18 + 1)/5 = 8.2 มลลวนาท (millisecond)

4. การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) การจดควแบบการวนรอบ (round-robin) เปนการจดล าดบควแบบมการวนรอบ ลกษณะคอมการคดเลอกกระบวนการในควในรปแบบ FCFS คอ "มากอนไดรบบรการกอน" แตตางกนตรงมการครอบครองซพยของกระบวนการในสถานะใชงาน (Running State) ทถกจ ากดเวลาไวดวยระยะเวลาควอนตม (Quantum Time) ท าใหกระบวนการทตองการเวลาในการท างานนานจะตองเปลยนสถานะวนรอบ (round-robin) ระหวางสถานะ พรอม (Ready State) และสถานะใชงาน

กระบวนการ (Process)

เวลาในการใชงาน CPU (Burst Time)

P1

P2 P3 P4 P5

10

1 2 1 5

ล าดบความส าคญ (Priority)

3

1 4 5 2

P2

P5

0

1

6 19

P1

P3

16

P4

18

57

(Running State) การจดควแบบการวนรอบสามารถแกปญหาการคอยนานของแตละกระบวนการทตองการเวลาท างานในหนวยประมวลผลกลางนอย ๆ ถาระบบก าหนดเวลาควอนตมเปน 4 มลลวนาท กระบวนการ P1 ตองมการวนรอบเปลยนสถานะระหวางสถานะรนและสถานะพรอม 6 ครง กระบวนการ P2 1 ครงกระบวนการ P3 1 ครง เมอกระบวนการ P1 เขาไปอยในสถานะรนครงแรกและกลบออกมา กระบวนการ P2 จะไดครอบครองซพยไดและ ท างานเสรจกระบวนการ P2 จบและออกจากระบบไปเลย กระบวนการถดไปทจดไดครอบครองซพยคอ P3 กระบวนการ P3 จะครอบครองซพย 3 มลลวนาท จนกระทงกระบวนการ P3 จบ เหลอกระบวนการ P1 เพยงกระบวนการเดยว จนเขามาด าเนนการใชงานหนวยประมวลผลกลางจนเสรจสน โดยมตวควบคมการสงกระบวนการใหเขาไปในควทเรยกวา Process Control Block (PCB) แสดงไดดงรปท 3.3 เปนแผนภาพแสดงการจดควแบบการวนรอบ (round-robin) ของกระบวนการทง 3 กระบวนการ

ก าหนด Quantum Time เปน 4 มลลวนาท

รปท 3.3 แสดงการครอบครองหนวยประมวลผลกลางแบบวนรอบ (round-robin)

ตวอยาง ถามกระบวนการ (Process) เขามาใชงานตามล าดบดงน P1, P2, P3 และใชวธการแบบวนรอบ (Round-Robin) และใชเวลาควอนตม (Time Quantum) เปน 4 มลลวนาท (millisecond) แสดงอยในรปแบบ Gantt chart ไดดงน

กระบวนการ (Process)

เวลาในการใชงาน CPU (Burst Time)

P1

P2 P3

24

3 3

PCB

P1

P3

P2

P1

20 3 3 24

PCB

PCB

PCB

PCB

CPU

Process Control Block (PCB) ZX

แทรกกลางคน

ด าเนนการเสรจสน

สถานะพรอม

สงโปรเซส

58

P1 ใชเวลาในการคอย 0 มลลวนาท (millisecond), P2 ใชเวลาในการคอย 4 มลลวนาท (millisecond), P3 ใชเวลาในการคอย 3 มลลวนาท (millisecond) ดงนนใชเวลาเฉลยในการคอยเปน [(10-4)+ 4 + 7 ]/3 = 17/3 = 5.66 มลลวนาท (millisecond)

5. การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) เปนวธการจดควโดยการแบงควออกเปนระดบ (Partition) แสดงไดดงรปท 3.4 มการก าหนดคณลกษณะของแตละกระบวนการ (Process) เชน ขนาดของหนวยความจ า ล าดบความส าคญของกระบวนการ และชนดของกระบวนการ แตละควจะมอลกอรทมการจดเวลาเปนของตวเอง และมจดล าดบความส าคญของแตละกระบวนการในรปแบบกระบวนการล าดบความส าคญต าสด (Lowest Priority) ไปจนถงกระบวนการล าดบความส าคญสงสด (Highest Priority)

6. การจดเวลาแบบควหลายระดบแบบยอนกลบ (Multilevel Feedback Queue Scheduling) เปนการจดเวลาแบบล าดบควเพอใหเกดประสทธภาพสงสด จงมการผสมผสานการจดการล าดบควหลาย ๆ เทคนคมาประยกตรวมเขาดวยกน โดยค านงถงล าดบความส าคญ (Piority Queue) ของงาน ท าใหงานทมความส าคญเหมอนกนอยในควเดยวกนและใหงานส าคญนอย ๆ อยในควทส าคญนอยดวยเชนกน แสดงไดดงรปท 3.5

P1

0

4

P2

P3

10

P1

14

P1

18

P1

22

P1

26

P1

30 7

รปท 3.4 แสดงการจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling)

System processes

Interactive processes

Interactive editing processes

Batch processes

Student processes

Highest priority

Lowest priority

59

รปท 3.5 แสดงการจดเวลาแบบควหลายระดบแบบยอนกลบ (Multilevel Feedback Queue Scheduling)

3.3 การจดตารางการท างานของระบบหลายกระบวนการ (Multiple-Processor Scheduling) การท างานในลกษณะทมหนวยประมวลผลกลางหลายตวตางกมระบบการจดเวลาของตวเอง จะตองมการออกแบบอยางระมดระวงในเรองของการทกระบวนการแตละกระบวนการอาจจะตองการใชขอมลในฐานขอมลในเวลาเดยวกน รวมทงตองระวงไมใหหนวยประมวลผลกลางวางงานพรอมกน ในระบบคอมพวเตอรบางระบบทมการพฒนาเพอใหไดประสทธภาพสงสด ไดมการใชหนวยประมวลผลกลางแยกตางหากระหวางงานภายในของระบบ และกบงานทเปนของผใชซงการท างานแยกกนของหนวยประมวลผลกลางแบบน ท าใหการออกแบบระบบปฏบตการมความซบซอนนอยลงมาก เนองจากมหนวยประมวลผลกลางเพยงตวเดยวทจะเขาไปใชขอมลของระบบปฏบตการ เพราะวา หนวยประมวลผลกลางตวอนๆ ไมวาจะกตวกตาม จะเขาถงไดเฉพาะขอมลของผใชภายนอกเทานน 3.4 การจดตารางการท างานของระบบแบบทนท (Real-Time Scheduling) Hard real-time คอระบบทสามารถท างานใดงานหนงใหเสรจตามเวลาทก าหนดได ซงงานทจะรบเขามาแตละงานนนจะมความตองการของเวลาทตองการให เสร จมาดวย ดงนนตวจดเวลาจะตองเปนตวตดสนใจวาจะรบงานเขามาท าหรอไม Soft real-time คอระบบทแบงเวลาธรรมดาทมการใหระดบความส าคญแกงานบางประเภท หรองานทถกเลอกไวลวงหนาวาเปนงานเรงดวน ซงอาจท าใหเกดปญหาของการท างานในระดบต า ๆ อาจไมไดรบเวลาของหนวยประมวลผลกลางเลย

Quantum = 8

Quantum = 16

FCFS

60

3.5 รปแบบของขนตอนวธ (Algorithm Evolution) การก าหนดกฎเกณฑและวธการเลอกใชอลกอรทมมกจะถกก าหนดจากการเขาไปใชงาน หนวยประมวลผลกลาง โดยมเวลาในการโตตอบ (Respond Time) หรอปรมาณงาน (Throughput) ทไดของแตละกระบวนการ ดงนนการเลอกใชขนตอนวธ (Algorithm) จะตองค านงถงการวดประสทธภาพการใชงานโดยพจารณาจากสงตอไปน (ศพทบญญต ราชบณฑตยสถาน, 2544)

1. การใชประโยชนจากหนวยประมวลผลกลางไดสงสดภายใตขอก าหนดของเวลาในการตอบสนอง (Maximum Respond Time) ใหไดอยางรวดเรวภายในหนงวนาท (หนงหนวยเวลา) 2. การใชประโยชนจาก CPU ไดสงสดของปรมาณงาน (Throughput) ทไดเมอเทยบกบอตราสวนของเวลาในการประมวลผล (Execution Time) กบจ านวนกระบวนการทท างานเสรจสมบรณภายในหนงหนวยเวลา ตงแตกระบวนการนนถกสงไปใชงานจนกระทงไดรบผลลพธกลบมาโดยมอลกอรทมหรอรปแบบใหเลอกใช ดงน

Deterministic Modeling วธนเปนวธการคดเลอกทเรยกวา analytic evaluation ซงจะน าเอาขนตอนวธ (Algorithm) ชนดตางๆ และลกษณะของงานมาสรางสตร เพอใชในการค านวณหาตวเลขของประสทธภาพทสามารถวดและเปรยบเทยบได

Queuing Models ลกษณะของงานทเขามาในระบบคอมพวเตอรนนมกจะมลกษณะทไมแนนอน ในแตละวนทมการใชระบบคอมพวเตอรนน งานตางๆทเขามาอาจมลกษณะทไมซ ากนเลย อยางไรกตามมสงหนงทเราอาจจะสามารถท านายหรอก าหนดได กคอ การกระจายของเวลาในการใชหนวยประมวลผลกลางและการใชเลอกอปกรณน าเขาหรอสงออก (Input/output) ซงเราสามารถทจะก าหนดแบบคราวๆได ซงกเชนเดยวกนกบเวลาของการมาถงระบบของงานตางๆทเรากสามารถก าหนดไวแบบไมเฉพาะเจาะจงเชนกน

Simulations วธการจ าลองระบบ การทเราจะเลอกวธการ หรอเลอกใชขนตอนวธ (Algorithm) ทถกตองตอระบบใดๆ อยางเปนจรงเปนจงแลว เราสามารถใชวธการของการจ าลองระบบ ซงวธการนจะสามารถค านวณตวเลขตาง ๆ ออกมาไดอยางเทยงตรงมากขน การท าการจ าลองระบบในทนจะเกยวของกบการใชชดค าสงคอมพวเตอร ซงจะตองมการเขยนชดค าสงเพอใชเปนตวแทนหรอหนจ าลองของระบบตางๆ ในคอมพวเตอร นอกจากนยงตองม การเขยนชดค าสงเพอเปนตวแทนของสงแวดลอมทเกยว ของกบระบบคอมพวเตอรนนๆอกดวย

Implementation วธการทดลองน าไปใชงานจรง ซงจ าใหพบขอผดพลาดทเกดขนไดงายกวาการสรางแบบจ าลองเพอมาทดสอบ โดยการสรางขนตอนวธ (Algorithm) ชนดตางๆ เพอทดลองใชกบชดค าสงกบระบบงานจรง ๆ ทถกก าหนดขนมา

61

สรป การจดการกบหนวยประมวลผลกลาง (CPU Management) จงเกยวของกบการจดกระบวนการ (Process) การจดตารางการท างาน (CPU Scheduling) การประยกตใชขนตอนวธ (Algorithm) เขาไปชวยในการจดตารางการท างานใหกบระบบคอมพวเตอรเพอใหเกดประสทธภาพสงสด โดยมขนตอนวธ (Algorithm) ใหเลอกใชหลายแบบดวยกน เชน

1. การจดเวลาแบบมากอนไดกอน (FCFS : First-come First-served Scheduling) เปนอลกอรทมประเภททไมสามารถแทรกกลางคนได (Non-preemptive) เหมาะกบการใชงานในระบบงานแบบกลม (Batch System) มขอดคองายตอการประยกตใชงานแตกมขอเสยทตามมาคอจะไมสามารถคาดเดาเหตการณของแตละกระบวนการในการเขาใชงานหนวยประมวลผลกลางได 2. การจดเวลาแบบงานสนท ากอน (SJF: Short-Job-First Scheduling) เปนอลกอรทมประเภททไมสามารถแทรกกลางคนได (Non-preemptive) เหมาะกบการใชงานในระบบงานแบบกลม (Batch System) มขอดคอ มคาเฉลยเวลาในการรอคอยในการใชงานหนวยประมวลผลกลางแตละกระบวนการนอยทสด ขอเสยคออาจท าใหเกดปญหาการขาดแคลนทรพยากร (Starvation) 3. การจดเวลาตามล าดบความส าคญ (Priority Scheduling) เปนอลกอรทมประเภททไมสามารถแทรกกลางคนได (Non-preemptive) เหมาะกบการใชงานในระบบงานแบบกลม (Batch System) มขอดคอ ล าดบงานทมความส าคญจะไดรบการประมวลผลกอนเสมอ ขอเสยคออาจท าใหเกดปญหาการขาดแคลนทรพยากร (Starvation) 4. การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) เปนอลกอรทมประเภททสามารถแทรกกลางคนได (Preemptive) เหมาะกบการใชงานในระบบงานแบบโตตอบ (Interactive System) มขอดคอ สามารถตอบสนองตอผใชงานไดอยางรวดเรว ขอเสยคอตองมการก าหนดระยะเวลาการใชงาน (Quantum Time) ทแนนอนใหกบแตละกระบวนการ 5. การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) เปนอลกอรทมประเภททสามารถแทรกกลางคนไดหรอไมสามารถแทรกกลางคนได (Preemptive/Non- Preemptive) เหมาะกบการใชการใชงานในระบบงานแบบกลม (Batch System) และงานในระบบงานแบบโตตอบ (Interactive System) มขอดคอ มความยดหยนในการใชงาน (Flexibility) ขอเสยคอม overhead ในการจากการตรวจสอบล าดบควการจดตารางงานของระบบตวประมวลผลหลายตว (Multiprocessor)

62

ค าถามทบทวน

1. การเลอกกระบวนการหรอจดสรรทรพยากรทมจ ากดใหกบกระบวนการแบงออกเปนกแบบอะไรบาง 2. จงเปรยบเทยบและแสดงใหเหนวาระยะเวลาใชงาน (CPU Burst) และระยะเวลาในการรบ - สงขอมล (I/O Burst) มความเกยวพนกนอยางไร 3. จงแสดงขนตอนการใหสทธการจดเวลา (Preemptive Scheduling) การตดสนใจของหนวยประมวลผลกลางในการเลอกวากระบวนการใด (Process) จะถกประมวลผล (Execute) ขนอยกบสถานการณใดบาง 4. ตวจดการเวลา (Dispatcher) มหนาทการท างานอยางไร 5. เกณฑทใชเปรยบเทยบความแตกตางของอลกอรทมทใชส าหรบกระบวนการ (Process) ในการเขามาใชงานหนวยประมวลผลกลางหรอเปรยบเทยบวธการจดตารางการท างานหนวยประมวลผลกลางวาวธใดเหมาะสมทสดท าไดอยางไรบาง 6. จากตารางทใหมาจงใชอลกอรทมตอไปนแสดงวธการหาเวลาเฉลยในการคอยวาเปนเทาใด

6.1 การจดเวลาแบบมากอนไดกอน (FCFS: First-come First-served Scheduling) 6.2 การจดเวลาแบบงานสนท ากอน (SJF: Short-Job-First Scheduling) 6.3 การจดเวลาตามล าดบความส าคญ (Priority Scheduling) 7. จงอธบายความแตกตางระหวาง hard real-time และ soft real-time 8. การเลอกใชอลกอรทมจะตองค านงถงการวดประสทธภาพการใชงานโดยพจารณาจากสงใดบาง

กระบวนการ (Process)

เวลาในการใชงาน CPU (Burst Time)

P1

P2 P3 P4 P5

15

5 2 4 8

ล าดบความส าคญ (Priority)

5

1 2 4 3

63

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556, กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ หนวยประมวลผลกลาง. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, ตลาคม 15, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

64

แผนบรหารการสอนประจ าบทท 4 หวขอเนอหา - แนวคดเกยวกบไฟล (File Concept) - โครงสรางของไฟล (File Structure) - โครงสรางภายในไฟล (Internal File Structure) - วธการเขาถงไฟล (File Access Methods) - โครงสรางไดเรกทรอร (Directory Structure) - การใชไฟลรวมกน (File Sharing) - การปองกน (Protection) วตถประสงคเชงพฤตกรรม - สามารถเขาใจความหมาย โครงสรางภายในไฟล - สามารถจ าแนกวธการเขาถงไฟลแบบตางๆ ได - มความเขาใจโครงสรางไดเรกทรอรและการใชไฟลรวมกน - มความรและความเขาใจเกยวกบการปองกนไฟลในระบบคอมพวเตอร วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

65

บทท 4 การจดการเกยวกบไฟล (File Management)

ส าหรบผใชงานโดยทวไปการจดการเกยวกบไฟล (File Management) จะเกยวของกบหนาทของระบบปฏบตการโดยตรงในการสนบสนนการจดเกบและการดการไฟล ซงระบบไฟล (File System) อาจจะประกอบไปดวย ขอมล (Data) โครงสรางสารบบ (Directory Structure) การแบงไฟล (Partitions) การปองกนไฟล (File Protection) รวมถงการใชไฟลรวมกน (Share File) ในบทนจะกลาวถงวธการจดการเกยวกบไฟล (File Management) ซงเปนสวนหนงของการท างานบนระบบคอมพวเตอรในปจจบนเปนหลก อธบายไดตามหวขอตางๆ ดงน

4.1 แนวคดเกยวกบไฟล (File Concept)

ไฟล (File) คอ กลมขอมลหรอสารสนเทศทมความสมพนธกนและถกจดเกบไวบนหนวยความจ ารอง (Secondary Storage) เพราะขอมลไมสามารถจดเกบลงบนหนวยความจ าไดโดยตรงจะตองจดเกบไวในรปแบบของไฟล โดยทวไปไฟลจะจดเกบโดยล าดบของบต (Bits) ไบต (Bytes) หรอ เรคคอรด (Recodes) โดยผใชเปนผสรางขน แบงออกเปน 2 ประเภท เชน 1. ไฟลชดค าสง (Program File) เชน ไฟลขอความ (Text File) ไฟลเฉพาะ (Specific File) ไฟลส าหรบประมวลผล (Execute File) ไฟลไลบราร (Library File) 2. ไฟลขอมล (Data File) เชน ตวเลข (Numeric) ตวอกษร (Alphabetic) สญลกษณ (Alphanumeric) หรอเลขฐานสอง (Binary) การจดเกบไฟลจะมรปแบบทแตกตางกน ขนอยกบผใชเปนผสรางขน โดยไฟลแตละประเภทจะมการก าหนดโครงสราง (Structure) ทแนนอน โดยใชวธการจดเกบทางตรรกะ (Logical Secondary Storage) หรอวธการจดเกบขอมลทมความสมพนธกนเกบอยในทเดยวกน เชน - ไฟลขอความ (Text File) เปนไฟลทเกบรวบรวมกลมของขอความทประกอบขนจากหลายบรรทดเอาไวทเดยวกน - ไฟลชดค าสง (Source File) เปนไฟลทเกบรวบชดค าสงยอย (Subroutines) และฟงกชนการท างานเอาไวทเดยวกน - ไฟลวตถ (Object File) เปนไฟลทเกบรวบรวมกลมขอมลของไบต (Bytes) และจดเกบไวในรปบลอก (Blocks) เอาไวทเดยวกน - ไฟลประมวลผล (Executable File) เปนไฟลทเกบรวบรวมชดค าสงเพอทจะสามารถบรรจเขาไปประมวลผลยงหนวยความจ าได

4.1.1 คณลกษณะของไฟล (File Attributes) 1. ชอไฟล (Name) เปนกลมของตวอกษรหรอสญลกษณทมนษยสรางขนเพอใชสอความหมายตางๆ และแสดงคณสมบตชองไฟลนน

66

2. ลกษณะเฉพาะของไฟล (Identifier) เปนแทกเฉพาะ (Unique Tag) ใชตวเลขระบโดยรวมเขากบไฟลภายในระบบไฟล (File System) 3. ประเภทของไฟล (Type) เปนขอมลเพอใชระบวาเปนไฟลชนดอะไร โดยทระบบปฏบตการเปนตวจดการเพอรองรบความแตกตางของไฟลแตละชนดกน 4. ต าแหนง (Location) เปนขอมลทใชอางองเครองมอและต าแหนงของไฟลทใชจดเกบบนอปกรณตางๆ 5. ขนาด (Size) เปนขนาดปจจบนของไฟลทจดเกบอย เชน ไบต (Bytes) เวรด (Words) หรอบลอค (Block) เปนตน โดยขนาดสงสดทจดเกบไดจะระบไวในคณลกษณะของไฟล 6. การปองกน (Protection) เปนการควบคมการเขาถง (Access-control) ขอมล การก าหนดสทธในการอาน (Reading) การเขยน (Writing) การประมวลผล (Executing) เปนตน 7. เวลา (Time) วนท (Date) และการระบคณลกษณะผใช (User Identification) ซงขอมลเหลานจะใช เพอระบ ควบคม ปองกนและรกษาความปลอดภยในการใชงานได เชน การสราง (Creation) การเปลยนแปลงครงลาสด (Last Modify) การใชงานครงลาสด (Last Use) เปนตน

การจดการเกยวกบไฟล (File Operating) ระบบปฏบตการทกประเภทมค าสงพนฐานทใชเพอใชจดการเกยวกบไฟลผานค าสงใน System Call พนฐาน 6 ค าสงดงน 1. การสรางไฟล (Creating a file) ประกอบดวย 2 ขนตอน คอ 1.1 หาทวางส าหรบสรางไฟล 1.2 ระบไฟลทสรางขนมาใหมไวในสารบบ ทบรรจ ชอไฟล ต าแหนง หรอขอมลดานอนๆ 2. การเขยนไฟล (Writing a file) เปนการใชค าสงใน System Call ในการเขยนชอและขอมลตางๆ ของไฟล โดยระบบปฏบตการจะท าการคนหาสารบบ ทระบต าแหนงไฟล โดยระบบจะเกบตวช (Pointer) ส าหรบระบต าแหนงทตองการเขยนลงบนไฟล และมการปรบปรงต าแหนงตวช ใหมทกครงเมอมการเขยนไฟลเกดขน (ศพทบญญต ราชบณฑตยสถาน, 2544) 3. การอานไฟล (Reading a file) เปนการใชค าสงใน System Call ในการระบชอและทอยเพอเพอทจะคนหาไฟลทตองการจากสารบบ และท าการจดเกบตวช ของไฟลทถกอานหรอเขยนไวในตวช ณ ต าแหนงไฟลปจจบน (Current-File-Position Pointer) โดยไฟลทถกอานหรอเขยนจะจดเกบไวเพยงตวชเดยวเทานน ซงท าใหชวยประหยดพนทและลดความซ าซอนของตวชในหนวยความจ า 4. การยายต าแหนงภายในไฟล (Repositioning Within a File) เปนการคนหาไฟลในสารบบ และก าหนดคาตวช ใหชไปยงต าแหนงไฟลปจจบน (Current-File-Position) เพอยายไฟลไปยงต าแหนงใหมทตองการ เราเรยกวธการแบบนวา การคนหา (Seek) 5. การลบไฟล (Deleting a file) เปนการใชค าสงใน System Call ในการลบไฟลทตองการ และคนพนทวางทเกดหลงจากการลบไฟลใหกบระบบปฏบตการเพอด าเนนการเพอจดสรรพนทวางใหกบไฟลอนตอไป 6. การตดทอนไฟล (Truncating a file) ผใชอาจจะตองการลบเนอหาบางสวนของไฟลออกแตยงคงเกบคณลกษณะของไฟลเดมไว โดยฟงกชนนจะท าใหคณสมบตเดมของไฟลไมเปลยนแปลง ยกเวนความยาวของไฟล

67

นอกจาก 6 พนฐานในการด าเนนการเกยวกบไฟลแลว ยงมวธการด าเนนการอนอกในการจดการกบไฟล เชน การตอทาย (Appending) การเปลยนชอไฟล (Renaming) และการคดลอกไฟล (Copy) เปนตน การด าเนนการคนหาไฟลในสารบบ เปนหนาทของระบบปฏบตการ โดยมการเรยกใชค าสงใน System Call ในการเปด (Open) ไฟลเพอท าการคนหาไฟลในต าแหนงทระบชอไฟลนนไว ในขณะเดยวกนกจะมการสรางตารางส าหรบจดเกบขอมลเกยวกบการเปดไฟลทงหมดไวใน Open File Table เพอใชเปนดชนใหกบตวด าเนนการเกยวกบไฟลในการคนหาไฟลในครงตอไป ท าใหไมตองเสยเวลาคนหาไฟลในสารบบ อก และในกรณทไมตองการใชงานไฟลนนแลว ระบบปฏบตการกจะท าการปด (Close) ไฟลนนทนทแลวน าขอมลออกจาก Open File Table โดยการเปดไฟลทกครงจะเกยวของกบไฟลตอไปน - ตวชต าแหนงไฟล (File Pointer) ใชส าหรบชไปยงต าแหนงทถกอานหรอเขยนเปนครงสดทาย - ตวนบการเปดไฟล (File Open Count) ใชส าหรบนบจ านวนครงของการเปดไฟล - ต าแหนงของไฟลบนจานบนทกม (Disk location of the File) ใชระบต าแหนงไฟลบนจานบนทก (disk) เมอมการเปลยนแปลงขอมลภายในไฟล - การใหสทธในการเขาถง (Access rights) แตละกระบวนการทตองการการเขาถงเพอเปดไฟลระบบปฏบตการเปนตวจดการวาจะอนญาตหรอปฏเสธในการเขาถงไฟลหรออปกรณ I/O ได

4.1.3 ประเภทของไฟล (File Type) โดยทวไปแลวทกๆ ระบบปฏบตการควรจะรจ า (Recognize) และสนบสนนประเภทของไฟลหลงจากมการสรางปละจดเกบไฟลเกดขนจ าเปนตองมการก าหนดประเภทของไฟล ซงแบงออกเปน 2 สวนคอ ชอ (Name) และนามสกล (Extension) และทงสองสวนจะม “ . ” (Period) ขนระหวางกน เชน work.pdf, os.doc, test.txt เปนตน

ตารางท 4.1 แสดงประเภทของไฟล

ประเภทของไฟล (File Type) นามสกล (Extention) หนาท (Function)

executable exe, com, bin or none ไฟลพรอมทจะถกประมวลผลโดยภาษาเครอง

object obi, o ไฟลทคอมไพลเปนภาษาเครองแลวแตยงไมพรอมทจะประมวลผล (not link)

source code c, cc, java, pas, asm, a ซอรซโคดของภาษาโปรแกรมตางๆ

batch bat, sh

68

4.2 โครงสรางของไฟล (File Structure)

ชนดของไฟลอาจจะใชแสดงถงโครงสรางทอยภายในไฟล ซงระบบปฏบตการจะสามารถประมวลผลไฟลไดกตอเมอเขาใจโครงสรางของไฟลกอน เปนการก าหนดวาระบบปฏบตการจะท าการบรรจไฟลไปเกบไวทต าแหนงใดและท าการตรวจสอบวาค าสงเรมตนอย ณ ต าแหนงใดในหนวยความจ าหลก ดงนนระบบปฏบตการโดยทวไปจะตองสนบสนนโครงสรางของไฟลอยางนอยหนงโครงสราง คอ ไฟลส าหรบประมวลผล (Executable File) ซงเปนไฟลทชวยใหระบบปฏบตการสามารถบรรจ (Load) และประมวลผลชดค าสง (Run Programs) ในต าแหนงทถกตองได ระบบปฏบตการแมคอนทอช (Macintosh) สนบสนนโครงสรางไฟลทมขนาดเลกได โดยแบงโครงสรางของไฟลออกเปน 2 สวน คอ 1. สวนของทรพยากร (Resource Fork) ใชบรรจสารสนเทศ (Information) ทผใชตองการ 2. สวนขอมล (Data Fork) ใชบรรจชดค าสงชดค าสง (Program Code) และขอมล (Data) การจดโครงสรางไฟลทใชกนโดยทวไปม 3 วธ 1. แบบไบตเรยงตอกน มการเกบเปนไบตเรยงตอ ๆ กนไป ดงเชนในระบบปฏบตการของ UNIX และ Windows การเกบไฟลในลกษณะนเปนแบบทไมมโครงสรางในการจดเกบ ไฟลทถกสรางใหมจะถกน ามาเรยงตอกนไปเรอย ๆ จนเตมเนอท โดยทตวระบบปฏบตการแทบจะไมท าหนาทอะไรเลย แสดงไดดงรปท 4.1

ประเภทของไฟล (File Type) นามสกล (Extention) หนาท (Function)

text txt, doc ไฟลทเปนขอความหรอเอกสารทวไป

word processor wp, tex, rtf, doc ไฟลทไดจากการประมวลผลขอความรปแบบตางๆ

library lib, a, sof, dll ไฟลไลบรารหรอโปรแกรมยอย

print of view ps, pdf, jpg ไฟลทจดเกบขอมลในรปแบบเอสก (ASCII) หรอรปแบบไบนารส าหรบพมพหรอแสดงผล

archive arc, zip, tar ไฟลทรวบรวมไฟลทงหมดใหเปนหนงไฟลหรอไฟลทเกดจากการบบอด (compressed) เพอประหยดพนทในการจดเกบ

multimedia mpeg, mov, rm ไฟลไบนารทภายในสามารถบรรจเสยงหรอภาพ (A/V information)

69

รปท 4.1 แสดงไฟลทถกจดเกบแบบเรยงล าดบ 2. แบบเรกคอรดเรยงตอกน โดยมขนาดของเรกคอรดคงท ในแตละไฟลจะถกจดเกบอยในรปของเรกคอรดจดเรยงกนไปตามล าดบจนถงเรกคอรดสดทาย ซงในเรกคอรดสดทายอาจจะไมเตมเรกคอรดกได ในการอานและเขยนจะท าไปทละเรกคอรด ในบางระบบอาจจะก าหนดใหแตละเรกคอรดมขนาดเทากบ 80 อกษร ซงเทากบ 1 บรรทดพอด เชนในระบบปฏบตการ CP/M แสดงไดดงรปท 4.2

รปท 4.2 แสดงไฟลทถกจดเกบแบบเรกคอรด 3. แบบตนไม แตละบลอกจะประกอบไปดวยเรกคอรด โดยมขนาดของเรกคอรดขนอยกบปจจยหลายประการ เชน ขนาดของไฟลขอมล เวลาทใชในการเขาถงขอมล (Access time) เปนตน วธนใชในระบบปฏบตการหลายเครองดวยกน แสดงไดดงรปท 4.3 รปท 4.3 แสดงไฟลทถกจดเกบแบบตนไม

1 ไบต (Byte)

80

ตวอษร

80

ตวอษร

80

ตวอษร

80

ตวอษร

80

ตวอษร

80

ตวอษร

A B C

A1 A2 B1 B2

B11 B12 B13

70

4.3 โครงสรางภายในไฟล (Internal File Structure) ระบบปฏบตแตละระบบจะมโครงสรางภายในการจดการไฟลทซบซอนและแตกตางกนออกไป การจดเกบไฟลลงบนพนทวางในจานบนทก (disk) ขนาดของบลอก (Block size) จะถกก าหนดโดยขนาดของเซกเตอร (Sector) โดยทขนาดความยาวของการบนทกทางตรรกะ (Logical Recode) จะตองมขนาดความยาวเทากบของการบนทกทางกายภาพ (Physical Record) โดยสวนใหญแลวจ านวนขนาดความยาวของการบนทกทางตรรกะ (Logical Recode) มกจะจดเกบเปนชด (Packing) และสมพนธกบบลอกในของขนาดความยาวทางกายภาพดวย (Physical Block) ซงชด (Packing) ขอมลทางกายภาพอาจจะถกก าหนดโดยผใชงานชดค าสงหรอระบบปฏบตการกได

4.4 วธการเขาถงไฟล (File Access Methods) การจดเกบไฟลขอมล เมอมการเรยกใชจะตองมการเขาถงและอานไฟลนนเขามาเกบยงหนวยความจ าหลก ซงขอมลทอยในไฟลสามารถเขาถงไดหลายวธ ดงนนระบบปฏบตการจะท าการเลอกวธทเหมาะสมเพยงหนงวธเทานนในการเขาถงไฟลและเลอกกระบวนการทเหมาะสมเพอใชในการแกปญหาการเขาถงไฟลไดดงน 4.4.1 การเขาถงแบบเรยงล าดบ (Sequential Access) เปนการอานและเขยนไฟลแบบเรยงล าดบ โดยการอานจะอานสวนถดไปของไฟลและท าการปรบเปลยนคาตวช โดยอตโนมตตามต าแหนง (Track) ของอปกรณ I/O นน โดยวธนคลายกบการเขยนไปยงทายไฟลและสามารถยอยกลบไปยงต าแหนงเรมตนของไฟลได ดงนนการเขาถงไฟลสามารถทจะยอนกลบไปมา (Forward or Backward) ระหวางจดเรมตนและจดสนสดได แสดงไดดงรปท 4.4 และการเขาถงแบบล าดบขนอยกบรปแบบการจดเกบไฟลลงเทปซงท างานไดดในอปกรณทเขาถงแบบเรยงล าดบมากกวาการเขาถงแบบสม

รปท 4.4 การเขาถงแบบเรยงล าดบ (Sequential Access)

4.4.2 การเขาถงแบบทางตรง (Direct Access) เปนการเขาถงไฟลทจดเกบในรปแบบของเรกคอรดทางตรรกะ (Logical Records) ทมขนาดความยาวคงทท าใหชดค าสงสามารถอานหรอเขยนเรกคอรดไดอยางรวดเรวเพราะไมตองสนใจล าดบในการเขาถง อาจจะเรยกวธการเขาถงแบบนวา “การเขาถงแบบสมพนธ (Relative Access) ” เปนลกษณะพนฐานของการท างานบนจานบนทก (disk) ซ งอนญาตให เ ขาถง ไฟลในบลอกแบบสม ( Random) ได ด งนนการ เ ขาถงแบบทางตรง

เรมตน (Beginning)

สนสด (End)

ต าแหนงปจจบน (Current Position)

ยอนกลบ (Rewind)

อาน/เขยน (Read or Write)

71

ระบบปฏบตการจะยอมใหอานหรอเขยนไฟล ณ ต าแหนงใดกไดในบลอกโดยไมมขอจ ากดมาควบคมการเขาถง ท าใหการเขาถงแบบทางตรงสามารถคนหาและด าเนนการตาง ๆ บนไฟลเรวกวาการเขาถงแบบล าดบโดยทไฟลทงหมดจะมการปรบปรงขอมลอยเสมอ โดยมการรวมหมายเลขบลอกเขาไวดวยกน เพอใชเปนพารามเตอรในการถงไฟล โดยผใชเปนผก าหนดหมายเลขบลอกทสมพนธกน (Relative Block Number) ใหกบระบบปฏบตการ ซงใชเปนดชนทสมพนธกบจดเรมตนของไฟล ซงมการเรยงล าดบเปน 0, 1, 2, …. โดยระบบปฏบตการจะเปนตวตดสนใจวาจะน าไฟลไปไว ณ ต าแหนงใดทสมพนธกบหมายเลขบลอก (มกจะเรมทหมายเลขบลอกท 0 หรอ บลอกท 1) รวมถงสามารถปองกนไมใหผทไมไดรบสทธเขามาใชงานไฟล

ตารางท 4.2 แสดงการจ าลองสถานการณของการเขาถงแบบล าดบใหเปนการเขาถงแบบทางตรง

4.4.3 การเขาถงแบบดชน (Index and Relative Files) เปนวธการใชดชน (Index) ในการเขาถงไฟลโดยภายในจะบรรจตวช และจดเกบไวในบลอกทแตกตางเพอใชคนหาเรกคอรดทอยภายในไฟล โดยล าดบแรกจะท าการคนหาดชนกอน หลงจากนนจะใชตวช ในการเขาถงไฟลโดยตรงเพอท าการคนหาเรกคอรดทตองการได แสดงไดดงรปท 4.5

รปท 4.5 แสดงตวอยางการใชดชนและความสมพนธของไฟล (Example of Index and Relative Files Access)

การน าไปใชงานกบการเขาถงแบบทางตรง (Implement for direct access)

การเขาถงแบบล าดบ (Sequential access)

reset cp = 0;

read next

write next

read cp; cp = cp + 1;

write cp; cp = cp + 1;

จตรจนเพญ

จรารศม

จนทรมาล

นามสกล (Last Name)

จฑาวฒ, จนทรมาล

ไฟลดชน (Index File)

Logical recode Number

อาชพ

อาย

ไฟลสมพนธ (Relative File)

72

4.5 โครงสรางสารบบ (Directory Structure) การจดเกบไฟลลงบนของคอมพวเตอร เปนหนาทขอระบบปฏบตการ ในการจดเกบลงบนพนทหนวยความจ าส ารอง (Seconder Memory) โดยทรจกดคอจดเกบลงบนพนทจานบนทก (disk) ซงบางระบบอาจจะสามารถเกบไฟลขนาดเทราไบต (Terabytes) ลงบนพนทจานบนทก (disk)ได ดงนนการจดเกบไฟลทงหมดจ าเปนจะตองจดโครงสรางสารบบ (Directory) ใหเหมาะสม กบพนทในจานบนทก (disk) โดยการจดโครงสรางของพนทจานบนทก (disk)สามารถแบงออกเปน 2 สวน คอ

สวนท 1 จานบนทก (disk) จะถกแบงออกเปน Partition เดยวหรอมากกวาหนง Partition ซงบางครงอาจจะเรยกพนทๆ แบงออกมานตามชนดของเครองคอมพวเตอร เชน IBM เรยกวา จานบนทก (disk) ขนาดเลก (Minidisks) เครอง PC เรยกวา ความจ (Volume) เครอง Macintosh เรยกวา อาณาเขต (Arenas)

สวนท 2 แตละ Partition จะบรรจขอมลทเกยวของกบไฟลทจดเกบไวภายใน โดยขอมลจะจดเกบไวในอปกรณสารบบ (Device Directory) หรอ ตารางแสดงรายการความจ (Volume Table of Content) และมกจะเรยกชอสนๆ วาสารบบ (Directory) โดยขอมลทบนทกอยในไฟลบน Partition จะประกอบดวย ชอ ต าแหนง ขนาด และชนด เปนตน การจดโครงสรางของระบบไฟลทแตกตางกน แสดงไดดงรปท 4.6

รปท 4.6 แสดงการจดโครงสรางของระบบไฟลโดยทวไป (A Typical File-System Organization)

สารบบ (Directory)

ไฟล (Files) Partition A

สารบบ (Directory)

ไฟล (Files)

Partition B

จานบนทก 1 (Disk 1)

สารบบ (Directory)

ไฟล (Files)

Partition C

จานบนทก 2 (Disk 2)

จานบนทก 3 (Disk 3)

73

การด าเนนการตางๆ บนสารบบ (Directory) 1. การคนหาไฟล (Search for a File) เปนการคนหาไฟล ณ ต าแหนงตางๆ ทอยในสารบบ 2. การสรางไฟล (Create a File) เปนการสรางไฟลและมการจดเกบลงในสารบบ 3. การลบไฟล (Delete a File) เปนการลบไฟลออกจากสารบบ 4. การแสดงรายชอสารบบ (List a Directory) เปนการแสดงรายชอและรายละเอยดทงหมดของแตละไฟลในสารบบ 5. การเปลยนชอไฟล (Rename a File) ชอไฟลตองเปลยนแปลงเพอใหสอดคลองกบเนอหาและรายละเอยดของไฟลเปลยนไปดวย 6. การทองไปของระบบไฟล (Traverse The File System) เปนเทคนคการคนหาหรอท าการคดลอกไฟลไปยงต าแหนงหรออปกรณตาง ๆ โดยสามารถเขาถงทก ๆ สารบบ หรอทก ๆ ไฟลภายในโครงสรางของสารบบ ได โครงสรางทางตรรกะของสารบบ สามารถจ าแนกตามลกษณะตางๆ ไดดงน 1. โครงสรางแบบสารบบเดยว (Single-Level Directory) เปนโครงสรางสารบบ ทธรรมดาทสดเพราะทก ๆ ไฟลบรรจอยในสารบบ เดยวกน สามารถจดการและท าความเขาใจไดงาย โดยโครงสรางขอมลแบบนมขอจ ากดตรงทเมอมจ านวนไฟลเพมมากขนหรอในระบบมผใชจ านวนมากและไฟลแตละประเภทตองอยรวมกน หากผใชสรางไฟลทมชอเดยวกนอาจจะเกดขอผดพลาดขนเพราะไฟลใหม ทสรางขนไปทบไฟลเกาเดมทมอย อกทงขอจ ากดการก าหนดความยาวตวอกษรในการตงชอไฟลของแตละระบบปฏบตดวย เชน MS-DOS อนญาตใหไมเกน 11 ตวอกษร และ UNIX อนญาตใหไมเกน 255 ตวอกษร โดยโครงสรางแบบสารบบเดยว แสดงไดดงรปท 4.7

รปท 4.7 แสดงโครงสรางแบบสารบบเดยว (Single-Level Directory)

2. โครงสรางแบบสองสารบบ (Two-Level Directory) เปนโครงสรางทแบงสารบบใหกบผใชแตละคนออกเปน 2 สวน คอ 1. สารบบของผใช (User File Directory: UDF) ใชเกบไฟลแตละคนของผใช 2. สารบบหลก (Master File Directory: MFD) ซงจะมดรรชนทชไปยงผใช (User Name) หรอ หมายเลขบญช (Account Name) ของผใชแตละคน โดยโครงสรางแบบสองสารบบ แสดง ไดดงรปท 4.8

สตว

สารบบ (Directory)

ไฟล (FIle)

ชอ

รายจาย

May

Yoo Cat

ขอมล

เอกสาร

บญช

Pay

Pdf

Doc

เกมส

ตวเลข

บนทก

Mem 123

Pacman

74

รปท 4.8 แสดงโครงสรางแบบสองสารบบ (Two-Level Directory)

3. โครงสรางสารบบแบบตนไม (Tree-Structure Directory) เปนโครงสรางทแบงสารบบ ออกเปนหลายระดบในลกษณะตนไมทแบงออกเปนระดบชนและอนญาตใหผใชแตละคนสามารถทจะสรางสารบบยอยและจดการไฟลแตละไฟลในภายในโครงสรางสารบบ โดยตนไมจะมสารบบราก (Root) และทก ๆ ไฟลในระบบจะมเสนทางเฉพาะเปนของตวเอง (Unique Path Name) ซงเชอมตอไปยงสารบบยอยทเกบไฟลทตองการโดยเฉพาะ สารบบ รากจะจดเกบไฟลหรอสารบบ รากตางๆ ทมโครงสรางภายในเหมอนกน และมการจดเกบบตเพอบอกสถานะ คอ บต 0 กรณเปนไฟลหรอบต 1 เปนสารบบยอยและใชค าสง System Call ในการสรางและลบสารบบ ซงโดยทวไปผใชแตละคนจะม “สารบบปจจบน (Current Directory)” ส าหรบจดเกบไฟลทผใชตองการใชในปจจบน เมอผใชอางองถงไฟลทตองการ ระบบปฏบตการจะท าการคนหาไฟลในสารบบ ในปจจบน กรณทไมพบไฟลทตองการ ผใชจะตองมการระบชอของเสนทาง (Path Name) ซง แบงเปน 2 ประเภท 1.ชอเสนทางแบบสมบรณ (Absolute Path Name) เปนเสนทางการคนหาไฟลทตองการจากราก (Root) ลงมายงไฟลทตองการ โดยมการระบชอสารบบ ทตองการคนหา 2.ชอเสนทางแบบสมพนธ (Relative Path Name) เปนเสนทางทก าหนดจากสารบบปจจบน

ตวอยาง ในโครงสรางสารบบ แบบทร ในการจดการระบบไฟล (โดยการอางองถงชอไฟลเดยวกน) แสดงไดดงรปท 4.9 ถาสารบบปจจบนคอ Root --> Document --> Excel จะไดวา - ชอเสนทางแบบสมพนธ (Relative Path Name) คอ Excel --> B.xls - ชอเสนทางแบบสมบรณ (Absolute Path Name) คอ Root --> Document --> Excel --> B.xls ในสวนของการลบสารบบ ของโครงสรางแบบตนไมนนขนอยกบระบบปฏบตการทเลอกใช เชน ถาเปนระบบปฏบตการ MS-DOS จะใชวธการลบสารบบ ยอยใหหมดกอนแลวจงไลขนมาจนถงสารบบทตองการลบ สวนในระบบปฏบตการ UNIX จะใชชดค าสง rmdir (remove directory) ใชลบสารบบ ซงทงไฟลและสารบบยอยจะถกลบออกทงหมด

ขอมล

เอกสาร

ผใชคนท 1

ผใชคนท 2

ผใชคนท 3

ผใชคนท 4

สารบบหลก (Master File) Directory)

บญช

Pay

Pdf

Doc

สารบบไฟลผใช (User File) Directory)

ไฟล (File)

ขอมล

Doc

เกมส

Pacman

ขอมล

Doc

บนทก

Mem

ขอมล

เอกสาร

บนทก

Mem

Pdf

Doc

75

รปท 4.9 แสดงโครงสรางสารบบแบบตนไม (Tree-Structure Directory)

4. สารบบกราฟแบบไมเปนวงจร (Acyclic-Graph Directory) เปนโครงสรางตนไมตนไมทมการเชอมสารบบ ตางๆ เขาดวยกนเพอจะไดสามารถท างาน หรอใชไฟลรวมกนได ท าใหเกดสารบบ ทมลกษณะเปนกราฟไมเปนวงจร (Acyclic Graph) โดยทไฟลหรอสารบบยอยเดยวกน อาจอยในสารบบ ทตางกนได เชน ระบบปฏบตการ UNIX จะใชวธการใชไฟลหรอสารบบยอยรวมกน โดยการสรางสารบบ ใหมทเรยกวา “ลงก (Link)” โดยมตวช (Pointer) ในการเชอมโยงไปยงไฟลหรอสารบบ ยอยอน ๆ แสดงไดดงรปท 4.10

Word

Excel

Document

Program

Load

ไดเรกทอรราก (Root Directory)

Acrobat

A.xls

B.xls

C.xls

C#

Java

PHP

Game

News

Word

Excel

Document

Work

Acrobat

A.xls

B.xls

C.xls

Acrobat

Excel

Dream

สารบบราก (Root Directory)

รปท 4.10 แสดงโครงสรางสารบบแบบไมเปนวงจร (Acyclic-Graph Directory)

76

5. สารบบแบบกราฟทวไป (General Graph Directory) ส าหรบสารบบกราฟแบบไมเปนวงจรนนการเชอมสารบบจะเปนการเชอมสารบบ ยอยของสารบบเขาดวยกนแตไมมการเชอมสารบบยอยสามารถยอนกลบไปหาสารบบหลกได โดยทสารบบแบบกราฟทวไปจะสามารถเชอมและยอนกลบไปมาระหวางสารบบยอยและสารบบหลกได แสดงไดดงรปท 4.11

รปท 4.11 แสดงโครงสรางสารบบแบบกราฟทวไป (General Graph Directory)

4.6 การใชไฟลรวมกน (File Sharing)

ระบบปฏบตการทดจะตองมการจดการไฟลทด ในกรณทมผตองการใชงานไฟลจ านวนมาก ระบบปฏบตการจ าเปนตองคดลอกไฟลใหกบผใชทกคนท าใหตองเสยพนทในหนวยความจ า และถาม การเปลยนแปลงแกไขหรอคดลอกไฟลกจ าเปนตองแจงใหกบผใชคนอนทราบดวยทกครง ท าใหยงยากและเสยเวลาซงอาจเกดขอผดพลาดและเกดความเสยหายกบไฟลได ดงนนการแกปญหาดงกลาวคอ การใชไฟลรวมกนและส ารองไฟล (Backup Files) ไปไวทเดยวกน เพอใหผใชแตละตนสามรถทจะเรยกใชไฟลทตองการรวมกนได ท าใหประหยดเวลาและการเขาถงไฟลท าไดรวดเรวขน โดยการใชไฟลรวมกนแบงออกเปน 3 รปแบบ ดงน 1. การก าหนดผใชไดหลายคน (Multiple Users) เปนการก าหนดใหไฟลและสารบบ ใหกบผใชโดยระบบปฏบตการจะเปนตวก าหนดกลมของผใชเพอตรวจสอบสทธและการเขาถงไฟลทตองการ โดยแบงออกเปน 2 กลม คอ 1.1 การระบเอกลกษณเฉพาะผใช (User Identifiers/User Ids/Security ID) เปนการระบตวตนของผใช โดยตวเลขทใชระบตวตนของผใชตองไมซ ากน และจดเกบเอกลกษณกลมผใชไวในรายการรายชอ (User Name List) เมอมการเขาถงจงมาเรยกใชบรการผานรายการรายชอทกครง

Word

Doc

Document

Work

Acrobat

Acrobat

Excel

Web

สารบบราก (Root Directory)

A.pdf

B.pdf

Dream

A.htm

B.htm

77

1.2 การระบเอกลกษณเฉพาะกลม (Group Identifiers) เปนการระบตวตนของผใชภายในกลม โดยทผใชอาจจะมตวตนในกลมเดยวหรอหลายกลมกไดขนอยกบระบบปฏบตการทเลอกใช แสดงไดดงรปท 4.12

รปท 4.12 แสดงการใชไฟลรวมกนแบบการก าหนดผใชไดหลายคน (Multiple Users)

2. ระบบการใชไฟลทางไกล (Remote File System) เปนการใชไฟลรวมกนระหวางคอมพวเตอรผานระบบเครอขาย (Network) โดยระบบเครอขายจะอนญาตใหผใชสามารถตดตอสอสารและใชไฟลรวมกนกนได โดยววฒนาการของระบบเครอขายและเทคโนโลยเกยวกบไฟลมวธการใชไฟลรวมกนดงน 2.1 การใชไฟลรวมกนระหวางเครองคอมพวเตอรผานทางชดค าสง โดยด าเนนการผานทางโปรโตคอล (Protocol) ในการตดตอสอสารเพอรบสงไฟลหรอขอมล เชน FTP (File Transfer Protocol) 2.2 การใชไฟลรวมกนแบบกระจาย ซงมการรองขอและสงไฟลหรอขอมลโดยการเชอมตอระหวางเครอขายแม/เครอขายลก (Client/Server) อาศยชดค าสงประยกตพฒนาขนมาและท างานในลกษณะทเรยกวา DFS (Distributed File System) 2.3 การใชไฟลรวมกนแบบ World Wide Web โดยอาศยบราวเซอร (Browser) เพอชวยในการเขาถงไฟลบนเครองแม (Server) แลวจงถายโอนไฟล (Transfer Files) ทตองการไปยงเครองลก (Client) ของผใช แสดงไดดงรปท 4.13

รปท 4.13 แสดงการใชไฟลรวมกนแบบระบบการใชไฟลทางไกล (Remote File System)

User

A User

B User

C

User

A

User Identifiers/User Ids/Security ID

File System

Server (User Program)

Ladebug (Client)

TCP/IP Link

Target Host

78

3. การระบความหมายใหสอดคลองกน (Consistency Semantic) เปนการระบเพอใหผใชแตละคนสามารถอางถงไฟลทตองการได ในกรณทมการใชไฟลรวมกนหากมการแกไขขอมลในไฟลโดยผใชคนใดคนหนงจะตองแจงใหผใชคนอนแกไขขอมลตามไปดวย การท างานจะสมพนธโดยตรงกบกระบวนการอยางตอเนองทเรยกวา Process Synchronization Algorithm โดยระบบทถกพฒนาขนมาเพอการระบความหมายใหสอดคลองกนเมอมการใชไฟลรวมกน คอ 3.1 The UNIX File System เปนระบบทอนญาตใหผใชสามารถเปดไฟลขนมาเพออานหรอเขยนและใชตวชรวมกนในการอางถงต าแหนงทเปนปจจบนไปยงไฟลทตองการใชงานได 3.2 The Andrew File System เปนระบบทมการเขารหสขอมลเพอชวยรกษาความปลอดภยใหกบขอมลในไฟลและรองรบการกระจายของขอมลเมอมการใชไฟลรวมกน แสดงไดดงรปท 4.14

รปท 4.14 แสดงการใชไฟลรวมกนแบบการระบความหมายใหสอดคลองกน (Consistency Semantic)

4.7 การปองกน (Protection)

ในระบบคอมพวเตอรทกระบบ การปองกนและควบคมการเขาถงไฟลโดยผไมไดรบสทธ (Unauthentication) หรอผไมหวงดรวมถงผบกรก (Hacker) ถอวาเปนสงส าคญอยางมากและสามารถท าไดหลายวธซงจะตองค านงถงปจจยหลายประเภท เชน ประเภทของการเขาถง การควบคมการเขาถง การปองกนโดยก าหนดรหสผาน ซงแตละวธม รายละเอยดการปองกนไฟล ดงน 1. ประเภทของการเขาถงไฟล (Type of Access) กลไกการปองกนหรอการจดเตรยมการควบคม การเขาถงไฟล โดยจ ากดชนดของการเขาถงไฟลสามารถท าไดและขนอยกบปจจยหลายประการรวมถงชนดของการรองขอเพอเขาถงไฟลมดงน

Cyrus-user bin

Andrew.cmu.edu/

public www Various files

Andrew ID/

Usr/

Private

afs/

/

….. Carnegie Mellon’s Cell on AFS

….. User’s Group

….. User’s Volumn

….. Andrew File System

….. Root

79

1.1 การอาน (Read) เปนการอานขอมลจากไฟล 1.2 การเขยน (Write) เปนการเขยนหรอแกไขขอมลในไฟล 1.3 การประมวลผล (Execute) เปนการสงใหประมวลผลขอมลในไฟล 1.4 การเพมขอมล (Append) เปนการเพมขอมลลงในไฟลโดยการเพมขอมลตอทายไฟลเดม 1.5 การลบ (Delete) เปนการลบไฟลและคนพนทกบสระบบเพอน าไปใชใหม 1.6 การแสดงรายชอ (List) เปนการแสดงชอและคณลกษณะของไฟล 2. การควบคมการเขาถง (Access Control) เปนการก าหนดสทธในการเขาถงไฟล ซงโดยทวไปการปองกนการเขาถงไฟลจะใชวธการระบตวตน (Identify) ของผใชและไฟลหรอสารบบ ทตองการเขาถงมกจะเกบไวในรายการการเขาถง (Access-Control List: ACL) หากเปนระบบทใชงานคนเดยว เชน ในเครองคอมพวเตอรสวนบคคล (Personal Computer) มกไมคอยมการก าหนดสทธในการใชขอมลในไฟลมากนกเพราะถอวามการใชงานเพยงคนเดยว แตในกรณทเปนระบบเครอขายคอมพวเตอร เชน Server ของเวปเพจ จะมการเขามาใชและแกไขขอมลในไฟลอยตลอดเวลาและมผใชบรการหลายคน ดงนนจงจ าเปนจะตองมการก าหนดสทธในการเขาถงไฟล ในระบบปฏบตการ UNIX จะมการก าหนดก าหนดสทธในการเขาถงขอมลไว 3 ชนด คอ R (Read), W (Write) และ X (Execute) และในการเขามาใชงานระบบแบบกลมหรอหลายคน ระบบตองมการจดระดบของผเขามาใชบรการ เพอจ ากดสทธในการเขาถงขอมล โดยในระบบ UNIX จะแบงผใชบรการเปน 3 กลม คอ 2.1 เจาของ (Owner) เปนกลมเจาของสารบบ นนๆ โดยมากจะก าหนดสทธในการเขาถงขอมลในไฟลไดทกไฟล 2.2 กลม (Group) เปนกลมผใชบรการทมสารบบ ของตวเองใน Server เชนเดยวกน แตไมใชเจาของไดเรกทอร บางครงระบบจะใหสทธในการเขาถงไฟลในสารบบ ตางๆดวย เชน สามารถเขาไปดขอมลในสารบบ ของคนอนได (ยกเวนเจาของจะไมอนญาต) แตจะไมมสทธในการแกไขขอมลในของคนอน 2.3 ผใชทวไป (Universe หรอ Other) เปนผใชบรการทเปนคนนอกทไมมสารบบ เปนของตนเอง ผใชบรการเหลานมกจะถกก าหนดสทธไวต าสด คออาจจะอานขอมลไดอยางเดยว หรออาจอานและประมวลผลได แตมกไมอนญาตใหแกไขขอมลได

ตวอยาง 1 ชใจสรางเวบไซตรบสมครงานขนมาและรบสมครพนกงานใหมเขามา 3 คน เพอชวยพฒนาเวบไซตไดแก มานะ ปต และมาน ชใจสรางไฟลชอ ”Web“ ส าหรบจดเกบรายละเอยด และปองกนการเขาถงไฟล โดยก าหนดสทธการใชงานใหกบผใชแตละคนดงน 1. ชใจ เจาของ (Owner) สามารถจะด าเนนการกบไฟลไดทกอยาง 2. มานะ ปต และมาน กลม (Group) สามารถอานและเขยนไฟลได แตไมสามารถลบไฟลนได 3. ผใชทวไป (Universe หรอ Other) สามารถเขามาอานไฟลนไดเทานน (ชใจตองการใหผสนใจเขามาเยยมชมเวบไซตของตวเอง) นอกจากนชใจยงสามารถปองกนไฟลไดโดยสรางกลมใหม (New Group) ขนมา โดยใชชอวา “Site” ซงก าหนดสทธใหมานะ ปต และมาน สามารถเขาถงไฟลไดและไฟล “Site” จะเกยวของกบไฟล“Web” และก าหนดสทธในการเขาถงไฟลตามเงอนไขทก าหนดไวเดม

80

ตวอยาง 2 ระบบปฏบตการ UNIX ก าหนดบตควบคมในการเขาถงไฟลจ านวน 3 บต คอ r, w และ x โดย r ควบคมการอาน (Read) w ควบคมการเขยน (Write) x ควบคมการประมวลผล (Execution) จากตวอยางท 1 สามารถปองกนไฟลโดยก าหนดสทธในการเขาถงไฟลไดดงนน 1. ชใจ เจาของ (Owner) สามารถควบคมการเขาถงไฟลไดทง 3 บต 2. มานะ ปต และมาน กลม (Group) สามารถควบคมการเขาถงโดยใชบต r และ w 3. ผใชทวไป (Universe หรอ Other) สามารถควบคมการเขาถงโดยใชบต r เทานน 3. การปองกนโดยก าหนดรหสผาน (Password Protection) โดยก าหนดกลมของรหสผานใหแตละไฟล การเขาถงไฟลในระบบคอมพวเตอรมกจะถกควบคมโดยรหสผาน วธอาจมขอเสยคอ 1. ถาจ านวนไฟลมมากผใชอาจจ ารหสผานไมไดทงหมด 2. ถาก าหนดใหใชเพยงหสผานเดยวในการเขาถงทกๆ ไฟลได หากถกคนพบอาจจะท าใหผใชสามารถน ารหสผานไปใชกบไฟลไดทงหมด 3. ปกตการใชรหสผานเพยงรหสเดยวในการก าหนดกลมของไฟลทงหมด ท าใหการปองกนการเขาถงไฟลขนพนฐานท าไดอยากจงจ าเปนจะตองก าหนดระดบรายละเอยดโดยใชรหสผานหลายตว

81

สรป ไฟล คอ กลมขอมลหรอสารสนเทศทมความสมพนธกนและถกจดเกบไวบนหนวยความจ าส ารอง แบงออกเปน 2 ประเภท คอ ไฟลชดค าสงและไฟลขอมล การจดเกบไฟลขอมล เมอมการเรยกใชจะตองม การเขาถงและอานไฟลนนเขามาเกบยงหนวยความจ าหลก ซงขอมลทอยในไฟลสามารถเขาถงไดหลายวธ ดงนนระบบปฏบตการจะท าการเลอกวธทเหมาะสมเพยงหนงวธเทานนในการเขาถงไฟลและเลอกกระบวนการทเหมาะสมเพอใชในการแกปญหาการเขาถงไฟล แบงออกเปน การเขาถงแบบเรยงล าดบและการเขาถงแบบทางตรง

โครงสรางสารบบ เปนกลไกทใชสรางและจดเกบแฟม (Folder) ทบรรจไฟลตางๆ ไว สามารถจ าแนกออกเปนลกษณะตางๆ เชน โครงสรางแบบสารบบ เดยว โตรงสรางสารบบ แบบ 2 ระดบ โครงสราง สารบบ แบบตนไม โครงสรางสารบบแบบกราฟไมเปนวงจรและโครงสรางสารบบแบบกราฟทวไป

การใชไฟลรวมกน เปนวธการส ารองไฟล (Back up) ไปวางไวเพยงทเดยว และใหผใชแตละคนสามารถทจะระบชอไฟลทตองการเรยกใชได โดยการใชไฟลรวมกนแบงออกเปน 3 รปแบบ คอ การก าหนดผใชไดหลายคน (Multiple User) ระบบการใชไฟลทางไกล (Remote File System) และการระบความหมายใหสอดคลองกน (Consistency Semantic)

สวนการปองกนและควบคมการเขาถงไฟลโดยผไมไดรบสทธ (Unauthentication) หรอผไมหวงดรวมถงผบกรก (Hacker) ถอวาเปนสงส าคญอยางยงของระบบปฏบตการสามารถท าไดหลายวธซงจะตองค านงถงปจจยหลายประเภท เชน ประเภทของการเขาถง การควบคมการเขาถง การปองกนโดยก าหนดรหสผานซงแตละวธมรายละเอยดการปองกนไฟล

82

ค าถามทบทวน

1. ไฟลแบงออกเปนกประเภทอะไรบาง 2. จงอธบายคณลกษณะของไฟล (File Attributes) วาประกอบดวยอะไร 3. ค าสงพนฐานทใชเพอใชจดการเกยวกบไฟลผานค าสงใน System Call พนฐานมค าสงอะไรบาง 4. การจดโครงสรางไฟลทใชกนโดยทวไปมกวธอะไรบาง 5. จงอธบายวธการเขาถงไฟล (File Access Methods) ดงตอไปน 5.1 การเขาถงแบบเรยงล าดบ (Sequential Access) 5.2 การเขาถงแบบทางตรง (Direct Access) 5.3 การจดเวลาตามล าดบความส าคญ (Priority Scheduling) 6. การจดโครงสรางของพนทจานบนทก (disk)สามารถแบงไดเปนกสวนอะไรบาง 7. จงอธบายโครงสรางทางตรรกะของสารบบ ตอไปน 7.1 โครงสรางแบบสารบบเดยว (Single-Level Directory) 7.2 โครงสรางแบบสองสารบบ (Two-Level Directory) 7.3 โครงสรางสารบบ แบบตนไม (Tree-Structure Directory) 7.4 สารบบกราฟแบบไมเปนวงจร (Acyclic-Graph Directory) 7.5 สารบบแบบกราฟทวไป (General Graph Directory) 8. การใชไฟลรวมกนแบงออกเปนกแบบอะไรบาง 9. จงยกตวอยางและอธบายวธการปองกนและควบคมการเขาถงไฟลมา 1 วธ

83

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556, กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ แฟมขอมล. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, พฤศจกายน 23, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011) Operating System Concepts. 8 th (ed), New York: McGra Hill.

84

แผนบรหารการสอนประจ าบทท 5 หวขอเนอหา - หลกการท างานและประเภทของ I/O System - ฮารดแวรของหนวยรบและแสดงผลขอมล (I/O Hardware) - สวนตอประสานงานในระบบรบและแสดงผล (Application I/O Interface) - ระบบรบหรอแสดงผลยอย (Kernel I/O Subsystem) - การสงขอมลอยางตอเนอง (Streams) - ประสทธภาพการท างาน (Performance) วตถประสงคเชงพฤตกรรม - สามารถเขาใจหลกการท างานและประเภทของ I/O System - มความเขาใจการเชอมตออปกรณ I/O ตางๆ เขากบระบบคอมพวเตอรได - มความเขาใจสวนตอประสานงานในระบบรบและแสดงผล - มความรและความเขาใจวธการสงขอมลอยางตอเนอง - สามารถเขาใจปจจยทมผลกบประสทธภาพการท างานของอปกรณ I/O วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

85

บทท 5 ระบบรบและแสดงผลขอมล (Input/output System) การตดตอระหวางอปกรณคอมพวเตอร ในการรบขอมลหรอสงผลลพธทไดจากการประมวลผลออกจ าเปนจะตองมระบบปฏบตการเพอใชควบคมการด าเนนการตางๆ เปนไปอยางอสระและมประสทธภาพ เรยกระบบจดการสวนนวา “ระบบรบและแสดงผลขอมล (I/O System)” ซงเปนระบบทใชควบคมการท างานของอปกรณตางๆ ทใชรบและแสดงผลขอมล การเชอมตอตลอดจนการลดชองวางระหวางอปกรณสวนตอประสาน (Hardware Interface) กบคอมพวเตอร ซงมลกษณะการท างานและวธการด าเนนการสวนตอประสาน (Application Interface) ทแตกตางกนใหสามารถท างานรวมกนได ในบทนจะกลาวถงระบบรบและแสดงผลขอมล (I/O System) ซงเปนสวนหนงของการตดตอระหวางคอมพวเตอรกบผใช การรบขอมลเขาหรอสงผลลพธทไดจากประมวลผลแลวออกไปใหอยในรปแบบทเหมาะสม อธบายไดตามหวขอตางๆ ดงน (ศพทบญญต ราชบณฑตยสถาน, 2544)

5.1 หลกการท างานและประเภทของ I/O System

ระบบรบและแสดงผลขอมล (I/O System) เปนระบบทใชควบคมการท างานของอปกรณตางๆ ทใชรบและแสดงผลขอมล ซงเรยกอปกรณประเภทนวา “อปกรณตอพวง (Peripheral Device)” แสดงไดดงรปท 5.2 ซงในปจจบนมการพฒนาอปกรณทท าหนาทในการรบหรอสงขอมลขนมาหลากหลายประเภท ดงน 1. อปกรณประเภทรบขอมลเขา เชน เมาส (Mouse) แปนพมพ (Keyboard) จอสมผส (Touch Screen) และไมโครโฟน (Microphone) เปนตน 2. อปกรณประเภทแสดงผลขอมลออก เชน จอภาพ (Monitor) ล าโพง (Speaker) และ เคร องพมพ (Printer) เปนตน 3. อปกรณประเภทบนทก เชน จานบนทก (disk) เทป (Tape) และซดรอม (CD-ROM) เปนตน

จะเหนวาอปกรณแตประเภทมลกษณะการท างานและความเรวในการรบสงขอมลทแตกตางกน ดงนนระบบปฏบตการจะตองใหการสนบสนนตลอดจนกลไกในการควบคมอปกรณแตละประเภทและจะตองทราบขนตอนและรปแบบการท างานของอปกรณแตละประเภทใหสามารถท างานไดอยางถกตองและเกดประสทธภาพสงสด

86

รปท 5.1 แสดงอปกรณตอพวงตางๆ (Peripheral Devices) ทมา : (https://www.google.co.th/search?q=Peripheral+Device)

ดงนนจงจ าเปนตองออกแบบและพฒนาระบบปฏบตการใหรองรบการท างานทเปนอสระตอประเภทและอปกรณแตละชนด (Device Independence) ซงจะมองอปกรณตางๆ เปนเพยงชองทางในการรบหรอสงขอมลเทานน โดยไมตองค านงถงคณลกษณะพเศษของอปกรณนนๆ จงท าใหระบบปฏบตการสามารถตดตอกบอปกรณทกประเภทไดอยางเปนอสระและมประสทธภาพ โดยเรยกระบบยอยทใชจดการภายใน (Kernel) ทเกยวของกบอปกรณ I/O นวา “ระบบรบและแสดงผลขอมล I/O System” คอยท าหนาทในการสงงาน ควบคม และตรวจสอบสถานะของอปกรณ I/O ทงหมด สามารถทจะเรยกใชอปกรณ I/O ไดอยางสะดวก แสดงโครงสรางการท างานของระบบรบและแสดงผลขอมล ซงแตละอปกรณทเชอมตอกบระบบปฏบตการจะมฮารดแวรทใชควบคมการท างานของอปกรณตางๆ โดยเฉพาะ ประกอบดวย ตวควบคมอปกรณ (Device Controller) ท าหนาทรบและสงขอมลและตวขบ (Device Driver) เปนซอฟตแวรท าหนาทตดตอกบอปกรณ I/O แตละประเภท แสดงไดดงรปท 5.2

รปท 5.2 แสดงโครงสรางพนฐานของระบบรบและแสดงผลขอมล (Infrastructure of I/O System)

OS Kernel

I/O Subsystem

อปกรณขบ (Device Driver)

อปกรณขบ (Device Driver)

อปกรณควบคม (Device Controller)

อปกรณควบคม (Device Controller)

อปกรณ A (Device A)

อปกรณ B (Device B)

87

5.2 ฮารดแวรของหนวยรบและแสดงผลขอมล (I/O Hardware)

ฮารดแวรของหนวยรบและแสดงผลขอมล (I/O Hardware) ประกอบดวยอปกรณของหนวยรบและแสดงผลประเภทตางๆ ทมความสมพนธกน ดงนนระบบคอมพวเตอรจะตองสามารถทจะใชซอฟตแวรเชอมตอเพอควบคมการท างานรวมกนระหวางอปกรณฮารดแวรจ านวนมาก ซงอปกรณฮารดแวรแตละประเภทกจะมวธการเชอมตอทแตกตางกนออกไป ดงนนการเชอมตออปกรณรบและแสดงผลขอมล (I/O Devices) ตางๆ เขากบระบบคอมพวเตอรจ าเปนจะตองมสวนตอประสานทเปนมาตรฐานเพอใชในการตดตอสอสารระหวางเครองคอมพวเตอรกบอปกรณตางๆ โดยการสงสญญาณไปตามสายสงผานสวนตอประสานชนดตางๆ เชน

1. การตดตอผานสวนตอประสานทเรยกวา “พอรต (Port”) เปนสวนตอประสานทตดตงมาพรอมกบตวเครองคอมพวเตอร มกใชเชอมตอกบอปกรณตวเดยวเขาดวยกน เชน การเชอมตอแบบอนกรม (Serial Port) การเชอมตอแบบขนาน (Parallel Port) การเชอมตอโดยใชเมาส (Mouse) เปนตน

2. การตดตอผานสวนตอประสานทเรยกวา “บส (Bus)” เปนสวนตอประสานทใชเชอมตอกบอปกรณหลกหลายตว โดยการออกแบบโปรโตคอลเพอใชกลมค าสงในการควบคมการสงสญญาณผายสายสง ซงเรยกวธการสงสญญาณแบบนวา “Daisy Chain” ซงเปนวธการทใชสายสญญาณหรอสวนตอประสานของอปกรณหลายประเภทเขาดวยกน แสดงไดดงรปท 5.3

สวนตอประสานอปกรณในระบบคอมพวเตอรโดยทวไป จะเชอมตอโดยผานจดเชอมตอทเรยกวา “PCI Bus” ทตอประสานกบจอภาพ (Monitor) หนวยประมวลผล (Processor) หนวยความจ า (Memory) และอปกรณประเภทอนทมความเรวสง ซงจะมระบบการเชอมตอโดยใชสวนตอประสานทเรยกวา SCSI (Small Computer System Interface) หรอสวนตอประสานทเรยกวา IDE (Integrated Development Environment) ซงเปนมาตรฐานอเลกทรอนกสในการใชสวนตอประสานวธหนงเพอเชอมตออปกรณและสามารถทจะแลกเปลยนขอมลระหวางอปกรณฮารดแวรกบบส เชน อปกรณจ าพวกจานบนทก (disk) นอกจากนยงประกอบไปดวยบสสวนขยาย (Expansion Bus) เพอใชเชอมตออปกรณทมความเรวต า เชน แปนพมพ (Keyboard) เปนตน โดยทอปกรณแตละประเภทจะมหนวยควบคม (Controller) ซงเปนแผงวงจรอเลกทรอนกสทประกอบเขาเปนตวซบ (Chip) บรรจลงบนแผนวงจร (Circuit Broad) ท าหนาทในการควบคมการท างานของอปกรณแตละประเภท ใหสามารถเชอมตอกนไดอยางมประสทธภาพสงสด

88

รปท 5.3 แสดงโครงสรางการเชอมตออปกรณแตละชนดของระบบคอมพวเตอร (A Typical PC Bus Structure)

ในการควบคมการรบสงค าสงและขอมลระหวางอปกรณผานทางจดเชอมตอ (Port) จะอยภายใต การควบคมของโดยหนวยประมวลผลกลาง (CPU) ซงจะมการใชค าสง (I/O Instruction) ในการสลบชองทาง (Triggers Bus Lines) เพอตดตอกบอปกรณและสงขอมลเขาออกในระดบบตซงจะท าใหเกดการเปลยนแปลงคารจสเตอร (Register) บางตวในหนวยควบคมอปกรณนนและเรยกวธการนวา “Memory-Mapped I/O” โดยต าแหนงของจดเชอมตอของอปกรณรบและแสดงผลแตละประเภท แสดงไดดงรปท 5.4 ซงจะเกยวของกบรจสเตอรทส าคญ 4 ชนด ดงน 1. รจสเตอรบอกสถานะ (The Status Register) ประกอบดวยบตเพอบอกสถานะวาสามารถอานขอมล หรอแสดงความผดพลาดของอปกรณ (Device Error) 2. รจสเตอรควบคม (The Control Register) ประกอบดวยค าสงในการควบคมอตราความเรวการรบสงขอมลรวมถงการใชบตตรวจสอบ (Parity Checking Bit) 3. รจสเตอรแสดงขอมลเขา (The Data-In Register) ประกอบดวยค าสงทแสดงวาพรอมทจะอานขอมลเขามาเกบในรจสเตอร 4. รจสเตอรแสดงขอมลเขา (The Data-Out Register) ประกอบดวยค าสงทแสดงวาพรอมทจะเขยน ขอมลและสงขอมลออกไปยงอปกรณ I/O

SCSI Controller

Disk

Disk

Disk

Monitor

Serial Port Parallel Port port

Expansion Bus Interface Keyboard IDE Disk Controller

Disk Disk

Processor

Cache

Memory

PCI bus

Expansion bus

SCSI

Bus

Graphic Controller Bridge/Memory controller

89

รปท 5.4 แสดงต าแหนงของจดเชอมตอของอปกรณรบและแสดงผลแตละประเภท (Device I/O Port Location on PCs :partial)

วธรบหรอสงขอมลระหวางหนวยประมวลผลกลางกบอปกรณน าเขา/แสดงผล (CPU with I/O Device ) 1. การโพลลง (Polling) เปนวธการสงสญญาณโตตอบกนระหวางหนวยประมวลผลกลาง (CPU) กบอปกรณ I/O เพอของทราบสถานะท างานของอปกรณ I/O นนๆ ซงเกยวของกบค าสงแสดงสถานะการท างาน ดงน 1.1 ค าสงพรอม (Command Ready) เปนค าสงทแสดงวาอปกรณพรอมทจะรบค าสงใหท างานตามค าขอ 1.2 ไมวาง-รอกอน (Busy-Waiting) เปนค าสงทแสดงวาอปกรณไมพรอมทจะท างาน เนองจากมการใชงานอปกรณ I/O นนอย ตองรอจนกวาอปกรณ I/O นนจะถกใชงานจนเสรจ 1.3 ผดพลาด (Error) เปนค าสงทแสดงวาอปกรณขดของ หรอไมสามารถรบค าสงใดๆ ได วธการแบบ Polling นมขอเสยตรงทวาหนวยประมวลกลาง (CPU) ตองเสยเวลาในการรอคอยการใชงานอปกรณ I/O บางประเภทเปนเวลานานๆ ท าใหไมสามารถท างานประเภทอนตอไปไดเพราะตองรอจนกวาอปกรณ I/O นนจะถกใชงาน

ต าแหนงของอปกรณรบและแสดงผล (เลขฐานสบหก)

ประเภทอปกรณ (Device)

000-00F ตวควบคมการเขาถงหนวยความจ าโดยตรง (DMA Controller)

020-021

ตวควบคมการขดจงหวะ (Interrupt Controller)

040-043 ตวควบคมเวลา (Timer)

200-20F ตวควบคมเกมส Game Controller

2F8-2FF พอรตแบบอนกรม (พอรต 2) Serial Port (Secondary)

320-32F ตวควบคมฮารดดสก Hard-Disk Controller

378-37F พอรตแบบขนาน Parallel Port

3D0-3DF ตวควบคมกราฟก

Graphics Controller

3F0-3F7 ตวควบคมดสกไดรฟ Diskettes-Drive Controller

3F8-3FF พอรตแบบอนกรม (พอรต 1) Serial Port (Secondary)

90

จนเสรจ เชน การอานหรอบนทกขอมลลงในจานบนทก (disk) เปนตน ซงมกเรยกสภาวะการทเกดขนนวา “Busy-Wait Cycle” 2. การขดจงหวะ (Interrupts) เปนวธทชวยใหหนวยประมวลกลาง (CPU) สามารถท างานอยางอนไดโดยไมตองรอการใชงานอปกรณ I/O จนเสรจ โดยการสงสญญาณการไปขดจงหวะ ( Interrupt) การท างานของหนวยประมวลกลาง (CPU) เพอบอกวาอปกรณ I/O พรอมทจะรบสงขอมลแลวผานทาง Interrupt-Request Line เมอ CPU ไดรบสญญาณขดจงหวะผานชองทางดงกลาวกจะหยดการท างานชวคราวเพอใหบรการกบอปกรณทรองขอการขดจงหวะเขามา ซงแสดงขนตอนการวนรอบการขดจงหวะของอปกรณรบและแสดงผลขอมล แสดงไดดงรปท 5.5

รปท 5.5 แสดงการวนรอบการขดจงหวะของอปกรณรบและแสดงผล (Interrupt-Device I/O Cycle)

3. การเขาถงหนวยความจ าหลกโดยตรง (Direct Access Memory) เปนวธทพฒนาขนมาเพอการรบหรอสงขอมลปรมาณมากๆ ในเวลาเดยวกน โดยใชอปกรณตวควบคมการด าเนนการในการรบสงขอมลระหวางหนวยความจ าหลก (Main Memory) กบอปกรณ I/O ทเรยกวา ตวควบคมการเขาถงหนวยความจ าหลกโดยตรง (Direct Access Memory: DMA) โดยไมจ าเปนตองผาน

ตวขบสงใหอปกรณ I/O เรมตนท างาน

CPU ไดรบสญญาณขดจงหวะและสงการควบคมไปยง Interrupt

Handler

Interrupt Handler ประมวลผลขอมลทไดรบสงคาการขดจงหวะ

กลบคนไป

CPU ตรวจสอบการขดจงหวะ

1

CPU ยอนกลบมาประมวลผลโปรเซสเดมทท างานคาวอยกอนท

จะถกขดจงหวะ

5

ขอมลพรอม

เตรยมความพรอมอปกรณ I/O เพอเรมตนท างาน

หนวยรบและควบคมการประมวลผล (I/O Controller)

หนวยประมวลผลกลาง (Central Processing Unit: CPU)

2

3

4

7 6

91

หนวยประมวลผลกลางจงท าให การรบหรอสงขอมลท าไดเรวขนเพราะหนวยประมวลผลกลางไมตองเสยเวลาในรอการท างานของอปกรณ I/O ท าใหสามารถใชงานหนวยประมวลผลกลางไดอยางเตมท ตวควบคมการเขาถงหนวยความจ าหลกโดยตรง (DMA Controller) จะท าการสงผานขอมลจ านวน X ไบต จากอปกรณหนวยความจ าหลก โดยสงสญญาณการขดจงหวะ ( Interrupt) การท างานไปยง หนวยประมวลผลกลาง เมอไดรบค าสงตอบกลบ (Acknowledge) เปนหนาทของหนวยควบคมการเขาถงขอมล (DMA Controller) จะท าการยดคลองบส (Bus) และเรมขบวนการสงผานขอมลซงในขณะนนหนวยประมวลผลกลางยงสามารถทจะท างานดานอน ๆ ตอไปได แสดงไดดงรปท 5.6

รปท 5.6 แสดงขนตอนการท างานของการเขาถงหนวยความจ าหลก (Step in a DMA Transfer)

5.3 สวนตอประสานงานในระบบรบและแสดงผล (Application I/O Interface) เปนมาตรฐานการใชงานอปกรณแตละประเภททมความแตกตางกนสามารถตดตอกนระหวางระบบปฏบตการกบอปกรณ I/O ทมความแตกตางกนในหลายๆ ดาน เชน บรษทผผลต ชนดหรอประเภทของอปกรณ เปนตน เรยกมาตรฐานนวา “สวนประสาน (Interface)” ซงความแตกตางของตวอปกรณ I/O จะถกซอนรายละเอยดไวภายในคอรเนลโมดล (Kernel Modules) โดยใชไดรเวอร (Driver) เปนตวควบคมการท างานของอปกรณ I/O แตละประเภท เพอใหการตดตอระหวางอปกรณตางๆ กบระบบปฏบตการใชมาตรฐานเดยวกน แสดงโครงสรางการเชอมตอคอรเนล (Kernel) ของหนวยรบและแสดงผลขอมล แสดงไดดงรปท 5.7

IDE Disk Controller

Disk Disk

DMA/Bus/Interrupt Controller

Cache

Memory

PCI bus

CPU

CPU Memory Bus Buffer

x

1. ตวขบอปกรณไดรบค าสงใหถายโอนขอมลจากดสกไปยงบฟเฟอร ณ ต าแหนง X 2. ตวขบอปกรณสงค าสงไปยงตวควบคมดสกใหถายโอนขอมลจ านวน C ไบต จากดสกไปยงบฟเฟอร ณ ต าแหนง X 5. ตวควบคม DMA ถายโอนขอมล

ไปยงบฟเฟอร ณ ต าแหนง X 6. เมอ C = 0 DMA จะสงสญญาณการขดจงหวะไปแจงให CPU ทราบวาถายโอนขอมลเสรจสนแลว

3. ตวควบคมดสกเรมกระบวน ถายโอนขอมลดวยวธการเขาถงหนวยความจ าหลกโดยตรง 4. ตวควบคมดสกท าการสงขอมลแตละไบตไปยงตวควบคมการเขาถงหนวยความจ าหลก

Hard

ware

So

ftwar

e

92

นอกจากนการพฒนาอปกรณ I/O ใหสอดคลองกบลกษณะการท างานรวมกบระบบปฏบตการแตละชนดซงตางกมมาตรฐานการใชอปกรณในการเชอมตอ (Device Driver interface) ทแตกตางกน ขนอยกบลกษณะการท างาน ฟงกชนและรปแบบการน าไปประยกตใชงานรวมกบระบบคอมพวเตอร

ตารางท 5.1 แสดงความแตกตางของลกษณะการท างานของอปกรณ I/O แตละประเภทในแงมมตางๆ

แงมม (Aspect)

ความแตกตาง (Variation)

อปกรณรบและแสดงผล (I/O Device)

รปแบบการสงขอมล (Data Transfer Mode)

ตวอกขระ (Character) บลอก (Bock)

วธการเขาถงขอมล (Access Method)

การระบการสง (Transfer Schedule)

เรยงล าดบ (Synchronous) ไมเรยงล าดบ (Asynchronous)

Keyboard Devices

Controller

SCSI Devices

SCSI Devices

Controller

SCSI Devices Driver

Keyboard

Keyboard Devices

Controller

Keyboard Devices Driver

Keyboard

Keyboard Devices Driver

PCI Bus

PCI Bus Devices

Controller

PCI Bus Devices Driver

Floppy-Disk Driver

Floppy Devices

Controller

Floppy Devices Driver

Disk, Tape

ATAPI Devices

Controller

ATAPI Devices Driver

Kernel I/O Subsystem

Kernel

อปกรณแสดงผล (Terminal) ดสก (Disk)

ตามล าดบ (Sequential) แบบสม (Random)

โมเดม (Modem) ซดรอม (CD-ROM)

เทป (Tape) แปนพมพ (Keyboard)

การใชงานรวมกน (Sharing)

ใชงานเฉพาะ (Dedicated) ท างานรวมกน (Sharable)

เทป (Tape) แปนพมพ (keyboard) ความเรวของอปกรณ

(Device Speed) Latency, Seek time Transfer rate, Delay between operations

อปแบบการเขาถงอปกรณ I/O (I/O Direction)

อานอยางเดยว (Read Only) เขยนอยางเดยว (Write Only) อานและเขยน (Read only)

ซดรอม (CD-ROM) ตวควบคมกราฟก (Graphic Controller) ดสก (Disk)

รปท 5.7 แสดงโครงสรางการเชอมตอคอรเนลของหนวยรบและแสดงผลขอมล (A Kernel I/O Structure)

93

ประเภทของอปกรณทท าหนาทตดตอกบระบบรบและแสดงผลขอมล (I/O System)

1. อปกรณทใชรบหรอสงขอมลเปนกลม (Block and Character Device) เปนอปกรณทใชรบหรอสงขอมลเปนกลม (Block) จะเกยวของกบอปกรณคอ จานบนทก (disk) (Disk) ซงบางครงอาจจะเรยกวธการเขาถงแบบนวา การรบหรอแสดงผลเปนแถว (Raw I/O) โดยค าสง System Calls เพอใชในการเชอมตออปกรณ I/O ดงกลาว เชน ค าสง Read () ค าสง Write () และค าสง Seek () เปนตน สวนอปกรณทเกยวของกบการรบหรอสงขอมลทละตวอกษร (Character) มกจะเกยวของกบอปกรณคอ แปนพมพ (Keyboard) เมาส (Mouse) และโมเดม(Modem) โดยค าสง System Calls เพอใชในการเชอมตออปกรณ I/O ดงกลาวเชน ค าสง (Get) และค าสง (Put) เปนตน 2. อปกรณทใชรบหรอสงขอมลบนเครอขาย (Network Devices) เปนอปกรณทใชรบหรอสงขอมลบนเครอขาย ผานชดค าสงทเชอมตอทเรยกวา Socket Interface โดยตดตงมากบระบบปฏบตการโดยเฉพาะ เชน UNIX และ Windows NT เปนตน ภายใน Socket จะมฟงกชนการท างานในการเชอมตอเพอรบและสงขอมลอยภายในเรยกวาฟงกชน Select () โดยหนาทหลกของฟงกชนนจะท าการสงคนคาสถานะในขณะนนกลบไปยงสวนทมการเรยกใชงานโดยจะม Socket Packet เพอคอยรบขอมลในฝงรบและม Socket Room ท าหนาสงขอมลในฝงสงตามทก าหนด 3. อปกรณสญญาณนาฬกาและอปกรณบอกเวลา (Clock and Timers) เปนอปกรณตดตงมากบเครองคอมพวเตอรโดยมท าหนาทหลก 3 อยาง คอ 1. แสดงวา ณ ปจจบน 2. แสดงเวลาทผานพนไป 3. ตงเวลาเพอทจะด าเนนการกระตน (Trigger) เชน เวลาทจะใชในการขดจงหวะ (Interrupt) ทง 3 หนาทอยภายใตการด าเนนการของระบบปฏบตการ โดยมอปกรณทใชแสดงเวลาทผานพนไปตงและตงเวลาเพอทจะด าเนนการกระตน (Trigger) เรยกวา “Programmable Interval Timer” โดยสามารถทจะตงเวลารอคอย (Wait) และเวลาทจะขดจงหวะ (Interrupt) ในการด าเนนการของกระบวนการ (Process) ในแตละครงได 4. อปกรณรบ/สงขอมลภายใตก าหนดเวลาทแนนอนและไมแนนอน (Blocking and Nonblocking I/O) บางครงอาจจะเรยกอปกรณประเภทนวา Synchronous and Asynchronous Device โดยอปกรณประเภททรบหรอสงขอมลทก าหนดเวลาทแนนอน (Synchronous) เชน เทป เปนตน หลกการท างานแบบนอยภายใตค าสงระบบเรยกใชงาน (System Call) โดยกระบวนการ (Process) ทก าลงประมวลผลอยจะหยดการท างานชวคราว เพอใหค าสงทระบบเรยกใชงาน (System Call) ท างานจนเสรจสนกอน จงจะสามารถกลบมาประมวลผลกระบวนการ (Process) เดมตอไปได ส าหรบอปกรณประเภททรบหรอสงขอมลทก าหนดเวลาทไมแนนอน (Asynchronous) เชน แปนพมพ (Keyboard) เมาส (Mouse) เปนตน กระบวนการ (Process) ทก าลงประมวลผลอยไมจ าเปนตองหยดการท างาน สามารถท างานจนเสรจสนกอน จงคอยใหค าสงทระบบเรยกใชงาน (System Call) เขามาประมวลผล ลกษณะการท างานแบบนเรยกวา เหตการณทเกดขนตอเนองกนหลายเหตการณ (Multithreading) เชน ขณะทใชงานอปกรณในการเขยนขอมล (Writer) ในขณะเวลาเดยวกนกสามารถประมวลผลอปกรณ I/O ควบคกนไปดวย เปนตน

94

5.4 ระบบรบหรอแสดงผลยอย (Kernel I/O Subsystem)

ระบบปฏบตการโดยทวไปจะมสวนคอรเนล (Kernel) ไวคอยสนบสนนการใหบรการตางๆ ทเกยวพนกบอปกรณ I/O หลายอยาง เชน การจดตารางอปกรณ (I/O Scheduling) ทพกขอมล (Buffering) การเกบขอมลไวในหนวยความจ า (Caching) การจดการขอผดพลาด (Error Handing) การจดโครงสรางขอมลภายในคอรเนล (Kernel Data Structures) เปนตน ซงถกจดการโดยระบบรบหรอแสดงผลยอย (Kernel I/O Subsystem) 1. การจดตารางอปกรณ (I/O Scheduling) เปนการก าหนดความส าคญในการใชงานอปกรณตางๆ อยางเปนระบบ โดยการบนทกขอมลการท างานของอปกรณ I/O แตละตวไวใน ตารางแสดงสถานะการท างานของแตละอปกรณ (Device-Status Table) เพอตรวจสอบสถานะวาอปกรณ I/O นนพรอมทจะท างานหรอไม ถาพรอม ระบบปฏบตการกจะท าการตรวจสอบสญญาณขดจงหวะ (Interrupt) วามาจากอปกรณ I/O ตวใดกจะท าการปรบเปลยนคาใหถกตองตามสญญาณขดจงหวะนน และพรอมกบท าการตรวจสอบวามอปกรณ I/O ใดเขาคว (Queue) กจะท างานตามค ารองขอ (Request) ถดไป เมอด าเนนการเสรจสนแลวกจะท าการคนคา การควบคมเพอกลบไปประมวลผลงานเดมกอนทจะถกขดจงหวะ 2. ทพกขอมล (Buffering) เปนพนทในหนวยความจ า (Memory) ทใชเกบขอมลขณะทมการถายโอนระหวางอปกรณ 2 ชนดกนหรอระหวางอปกรณกบงานทท าอย เนองจากอตราความเรวในการท างานของแตละอปกรณกบหนวยประมวลผลกลาง (CPU) มความเรวไมเทากน ดงนนจ าเปนจะตองมทพกขอมลชวคราว เพอใหการถายโอนขอมลระหวาง 2 อปกรณมความตอเนอง และเพมประสทธภาพการท างานใหกบระบบคอมพวเตอร แสดงไดดงรปท 5.8

รปท 5.8 แสดงความเรวในการโอนขอมลของแตละอปกรณ (Sun Enterprise 6000 Device-Transfer Rate: Logarithmic)

แปนพมพ (keyboard)

0 0.01 0.1 1 10 100 1000 10000 100000 1000000

เมาส (Mouse)

โมเดม (Modem)

เครองพมพเลเซอร (Laser Printer)

การดเครอขาย (Ethernet)

ฮารดดสก (Hard disk)

การดเครอขายชนดเรว (Fast Ethernet)

SCSI Bus

SBUS

Gigaplane Bus

95

3. การเกบขอมลไวในหนวยความจ า (Caching) โดยทแคลช (Cache) เปนหนวยความจ าความเรวสงทอยระหวางหนวยประมวลผลกลาง (CPU) และหนวยความจ าหลก (Main Memory) ท าหนาทในการพกขอมลไวชวคราว โดยการน าขอมลบางสวนมาใสไวในแคลช (Cache) เนองจากการอานขอมลไดเรวกวา แตถาไมมขอมลในแคลช (Cache) กจะไปอานขอมลในหนวยความจ าแทน การใชงานของแคลช (Cache) มรปแบบ การท างานทไมแตกตางจากทพกขอมล (Buffering) มากนก เพยงแตท างานไดเรวกวา แตมราคาคอนขางแพง ดงนนงานทตองการความเรวมกจะนยมใช แคลช (Cache) เปนตวจดการ

4. การพกขอมลชวคราว (Spooling and Device Reservation) เปนทพกขอมลชวคราวส าหรบจดเกบขอมลทจะถกสงออกไปยงอปกรณ I/O เพอแกปญหาของอปกรณทไมสามารถสลบการท างานหรอท างานพรอมกนระหวางกระบวนการ (Process) ได การใชเครองพมพรวมกน (Share Printer) ระบบปฏบตการจะวธการพกขอมลชวคราว (Spooling) เพอจดล าดบควงานในการสงขอมลเขามาใหกบเครองพมพ และในขณะเดยวกนกสามารถทจะยกเลกการพมพไดเพราะล าดบของควตางๆ ทเกบอยในทพกขอมลชวคราว (Spooling) ผใชสามารถควบคมการท างานผานระบบปฏบตการได

5. การจดการขอผดพลาด (Error Handing) ระบบปฏบตจะท าหนาทเปนตวกลางในการประสานการท างาน ระหวางอปกรณตางๆและชดค าสงส าเรจรป (Application Program) ของผใช ดงนนระบบปฏบตจะตองคอยปองกนการใชงานหนวยความจ า (Protected Memory) และจดการขอผดพลาดทอาจจะเกดขนในขณะสงผานขอมลหรอทมการเรยกใชงานอปกรณ I/O นนๆ อยเพอใหระบบไมเกดการตดขดและสามารถท างานตอไปได เชน ขอผดพลาดทเกดขนกบเครองพมพกรณการทใชพมพอยหมด ระบบปฏบตจะตองมการจดขอผดพลาดในการใชงานใหกบผใชทราบไดทนท เปนตน

6. การจดโครงสรางขอมลภายในคอรเนล (Kernel Data Structures) ภายในคอรเนล (Kernel) ตองการทจะเกบสถานะการท างานทเกยวของกบการใชงานอปกรณ I/O แตละชนด วธการหนงคอการจดโครงสรางขอมลภายในคอรเนล (Kernel Data Structures) เชน การเปดไฟล (Open-File) ดงรปท 5.9 แสดงตารางโครงสรางภายในคอรเนล (Kernel) ในการตดตาม (Track) การเชอมตอระบบเครอขาย การตดตอสอสารกบอปกรณสงผานขอมลอกขระ (Character-Device) หรอกจกรรมอนทเกยวของกบการใชอปกรณ I/O เปนตน

96

รปท 5.9 แสดงความเรวในการโอนขอมลของแตละอปกรณ (UNIX I/O Kernel Structure)

5.5 การสงขอมลอยางตอเนอง (Streams)

เปนวธการจดการในตดตอและการสงขอมลอยางตอเนองระหวางอปกรณตวขบ (Device Driver) กบผใชในระดบกระบวนการ (User-Level Process) ซงโครงสรางการสงขอมลอยางตอเนอง (Stream) ประกอบดวยสวนหวของการสง (Stream Head) โดยท าการเชอมตอกบสวนของกระบวนการผใชและตวขบสดทายหรอสวนสนสด (Driver end) ท าการควบคมอปกรณสตรมโมดล (Stream module) แตและตว โดยทสวนหวของ การสง (Stream Head) ตวขบสดทายหรอตวสนสด (Driver end) และแตละโมดลประกอบดวยคของแถวล าดบ จ านวนหลายค (Pair of Queues) เชน คของแถวล าดบการอาน (Read Queue) กบแถวล าดบการเขยน (Write Queue) โดยการสงผานขอมลจะกระท าโดยคแถวล าดบใน แตละแถวล าดบ แสดงไดดงรปท 5.10

Kernel Memory

System-wide open-file table

User-process memory

File-system record Inode pointer Pointer to read and write functions Pointer to select function Pointer to ioctl function Pointer to close function

Networking (socket) record Pointer to network info Pointer to read and write functions Pointer to select function Pointer to ioctl function Pointer to close function

Active-inode table

Active-inode table

Per-process open-file table

File descriptor

.

.

.

.

.

.

97

รปท 5.10 แสดงโครงสรางการสงขอมลอยางตอเนอง (The Streams Structure)

5.6 ประสทธภาพการท างาน (Performance)

ปจจยทมผลกบประสทธภาพการท างานของอปกรณ I/O ขนอยกบเหตการณหรองานทเขามาประมวลผลในหนวยประมวลผลกลาง (CPU) ควบคกบชดค าสงขบอปกรณ (Device-Driver Code) และการจดตารางการท างานใหแตละกระบวนการวามประสทธภาพดมากนอยเพยงไร ตลอดจนประสทธภาพของการรบหรอสงขอมลภายใตก าหนดเวลาทแนนอนและไมแนนอน (Block and Unblocked) อกทงยงขนอยกบสถาปตยกรรมของระบบคอมพวเตอรทเลอกใชงานอกดวย

สวนหวของการสง (Stream Head)

โปรเซส (User Process)

ล าดบการอาน (read queue) ล าดบการเขยน (write queue)

ล าดบการอาน (read queue) ล าดบการเขยน (write queue)

ล าดบการอาน (read queue) ล าดบการเขยน (write queue)

สวนทาย (Driver End)

ล าดบการอาน (read queue) ล าดบการเขยน (write queue)

โปรเซส (Diver)

โมดลการท างานแตละประเภท (Modules)

98

สรป พนฐานของระบบคอมพวเตอรแตละสวนจะเกยงของและตดตอประสานการท างานระบบรบและแสดงผลขอมล (I/O System) ซงมตวควบคมการท างาน (Device Controllers) เปนของตวเอง โดยหลกการท างานจะเปนการโอยยายขอมลระหวางอปกรณและหนวยความจ าหลก (Main Memory) ถกจดการโดยหนวยประมวลผลกลาง (CPU) ผานชดค าสงทใชจดการอปกรณ I/O หรอจดการอยภายในการควบคมการเขาถงหนวยความจ าหลกโดยตรง (Direct Access Memory) โดยมระบบปฏบตการเขามาควบคมเพอให การด าเนนงานตางเปนไปอยางราบรนและเกดประสทธภาพ ระบบการท างานยอยทท าหนาทในการควบคมการเขาถงอปกรณรบและแดงผลขอมลทเรยกวา “I/O Subsystem” ซงในปจจบนมการพฒนาอปกรณทท าหนาทในการรบหรอสงขอมลขนมาหลากหลายประเภท ดงน 1. อปกรณประเภทรบขอมลเขา เชน เมาส (Mouse) แปนพมพ (Keyboard) จอสมผส (Touch Screen) และไมโครโฟน (Microphone) เปนตน 2. อปกรณประเภทแสดงผลขอมลออก เชน จอภาพ (Monitor) ล าโพง (Speaker) และเครองพมพ (Printer) เปนตน 3. อปกรณประเภทบนทก เชน จานบนทก (disk) เทป (Tape) และซดรอม (CD-ROM) เปนตน โดยแตละอปกรณทเชอมตอกบระบบปฏบตการจะมฮารดแวรทใชควบคมการท างานของอปกรณตาง ๆ โดยเฉพาะ ประกอบดวย ตวควบคมอปกรณ (Device Controller) ท าหนาทรบและสงขอมลและตวขบ (Device Driver) เปนซอฟตแวรท าหนาทตดตอกบอปกรณ I/O แตละประเภท

วธรบ-สงขอมลระหวางหนวยประมวลผลกลางกบอปกรณน าเขาและแสดงผลขอมล (CPU with I/O Device) สามารถท าไดหลายวธ เชน วธการท า Polling วธการขดจงหวะ (Interrupts) วธการเขาถงหนวยความจ าหลกโดยตรง (Direct Access Memory) เปนตน นอกจากนอปกรณ I/O ยงสามารถแบงตามฟงกชน การท างานของชดค าสงประยกตทแตละบรษทผลตขนมาใชงาน เชน อปกรณทใชรบหรอสงขอมลเปนกลม (Block and Character Device) อปกรณทใชรบหรอสงขอมลบนเครอขาย (Network Devices) อปกรณสญญาณนาฬกาและอปกรณบอกเวลา (Clock and Timers) อปกรณรบ/สงขอมลภายใตก าหนดเวลาทแนนอนและไมแนนอน (Blocking and Nonblocking I/O) เปนตน โดยแตละวธจะมรปแบบการท างานทแตกตางกนขนอยกบสถาปตยกรรมของผออกแบบระบบปฏบตการทใชอยในปจจบน

99

ค าถามทบทวน

1. จงยกตวอยางพรอมอธบายอปกรณทท าหนาทในการรบหรอสงขอมลแตละประเภททนยมใชในปจจบน 2. จงอธบายความแตกตางระหวางการตดตอผานจดเชอมตอทเรยกวา “พอรต (Port”) และ “บส (Bus)” 3. อปกรณทเรยกวา Memory-Mapped I/O จะเกยวของกบรจสเตอรทส าคญ 4 ชนดอะไรบาง 4. จงอธบายวธรบหรอสงขอมลระหวางหนวยประมวลผลกลางกบอปกรณน าเขา/แสดงผลตอไปน 4.1 การโพลลง (Polling) 4.2 การขดจงหวะ (Interrupts) 4.3 การเขาถงหนวยความจ าหลกโดยตรง (Direct Access Memory) 5. จงแสดงโครงสรางการเชอมตอคอรเนลของหนวยรบและแสดงผลขอมล (A Kernel I/O Structure) 6. Programmable Interval Timer คออะไร 7. จงอธบายระบบรบหรอแสดงผลยอย (Kernel I/O Subsystem) ตอไปน 7.1 การจดตารางอปกรณ (I/O Scheduling) 7.2 ทพกขอมล (Buffering) 7.3 การเกบขอมลไวในหนวยความจ า (Caching) 7.4 การพกขอมลชวคราว (Spooling and Device Reservation) 7.5 การจดการขอผดพลาด (Error Handing) 7.6 การจดโครงสรางขอมลภายในคอรเนล (Kernel Data Structures) 8. จงอธบายโครงสรางการสงขอมลอยางตอเนอง (The Streams Structure) พรอมวาดรปประกอบ

100

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556, กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ อปกรณรอบขาง. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, ธนวาคม 10, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

101

แผนบรหารการสอนประจ าบทท 6 หวขอเนอหา - แนวคดเกยวกบกระบวนการ (Process Concept) - การจดตารางกระบวนการ (Process Scheduling) - การด าเนนการกบกระบวนการ (Operations on Processes) - การรวมกนของกระบวนการ (Cooperating Process) - การตดตอสอสารระหวางกระบวนการ (Interprocess Communication) วตถประสงคเชงพฤตกรรม - สามารถเขาใจวธการจดการกบกระบวนการในรปแบบตางๆ - มความเขาใจองคประกอบเพอชวยในการจดการกบกระบวนการ - มความเขาใจกระบวนการตางๆ ทอยในระบบสามารถประมวลพรอมกนไดภายในเวลาเดยวกน - มความรและความเขาใจการประมวลผลกระบวนการพรอมกนในระบบปฏบตการ - สามารถเขาใจวธการตดตอสอสารระหวางกระบวนการ วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

102

บทท 6 การจดการกระบวนการ (Process Management)

หนาทส าคญประการหนงของระบบปฏบตการ กคอการจดสรรทรพยากรของระบบการท างานทมอยทงภายในและภายนอก รวมทงอปกรณฮารดแวรและซอฟตแวร ไดอยางมประสทธภาพ สงทเกยวของหลกกคอ กระบวนการ (Process) ซงเปนขนตอนหรอวธการท างานตามค าสงตางๆ ทสมพนธกนกบการท างานของระบบคอมพวเตอร ดงนนระบบปฏบตการจะตองจะตองควบคมกระบวนการ (Process) ตางๆ ทเกยวของใหการท างานอยางเปนระบบและมล าดบการท างานทชดเจนส าเรจตรงตามวตถประสงคทตองการ โดยทก ๆ กระบวนการจะใหความส าคญในการประมวลผล ณ เวลาปจจบนกบหนวยประมวลผลกลาง (CPU) เปนหลก ในบทนจะกลาวถงวธการจดการกบกระบวนการ (Process) การท างานของกระบวนการ การจดตาราง การสลบและการตดตอสอสารระหวางกระบวนการ ภายใตการควบคมและสงการโดยระบบปฏบตการ (ศพทบญญต ราชบณฑตยสถาน, 2544)

6.1 แนวคดเกยวกบกระบวนการ (Process Concept)

การท างานของระบบคอมพวเตอรในอดต จะมวธการจดการกบกระบวนการ (Process) ในรปแบบกระประมวลผลทละค าสงหรอทละกระบวนการ (Single Process) ท าการใชงานทรพยากรทมอยไดไมเตมประสทธภาพ เนองจากระบบจะจดสรรทรพยากรทงหมดไวส าหรบงานทก าลงประมวลผลอยเทานน จงท าใหมการพฒนาเทคโนโลยสารสนเทศสมยใหมขนมาเพอรองรบการท างาน กรณทมผใชระบบคอมพวเตอรหลายคน (multi-user computer system) สามารถท างานหลายกระบวนการไปพรอมกนได ดงนนการท างานของงานหนง อาจมผลกระทบทางออมกบอกงานหนง โดยผานทางทรพยากรทใชรวมกน เพอมใหงานตางๆ สงผลกระทบกนอนจะกอใหเกดความเสยหายตอระบบ จงเปนหนาทหนงของระบบปฏบตการทจะตองสามารถควบคมงานหรอสบหลกการท างานของแตละชดค าสงทมาเกยวของ (interaction) หนาทนเรยกวา การเขาจงหวะกนของกระบวน หรอ การซงโครไนซกระบวนการ (process synchronization) เพอใหการท างานแตละงานไดอยางตอเนอง และมประสทธภาพ 6.1.1 เกยวกบกระบวนการ (The Process) กระบวนการ (Process) ไมไดหมายถงการท างานหรอชดค าสงทก าลงประมวลผลในชวงระยะเวลาใดเวลาหนงเทานน แตอาจจะรวมถงสวนของขอความ (Text Section) ทประกอบไปดวยคาของชดค าสงตวนบ (Program Counter) และรายละเอยดของรจสเตอรทเกยวของกบหนวยประมวลผลกลาง (CPU) ดงนนการท างานของระบบคอมพวเตอรจ าเปนจะตองมการจดการและจดสรรเวลาการท างานเปนอยางด เพอใหการด าเนนงานตางๆ เกยวกบกระบวนการ (Process) ทมอยทงหมดไดอยางมประสทธภาพ

103

6.1.2 สถานะของกระบวนการ (Process State) การด าเนนการของการประมวลผลของแตละกระบวนการ (Process) จะเกยวของกบการเปลยนสถานะ (State) ของการท างานทเกดขน 5 ขนตอน ดงน 1. New เพอแสดงถง การสรางกระบวนการใหม (Created) ขนมา 2. Running เพอแสดงถง ค าสงทจะไดรบการประมวลผล (Executed) 3. Waiting เพอแสดงถง กระบวนการ (Process) ทรอคอย (Waiting) บางเหตการณทก าลงจะเกดขน รอใชงานอปกรณ I/O หรอรอรบสญญาณ (signal) บางอยาง) 4. Ready เพอแสดงถง กระบวนการ (Process) ทรอเพอทจะใชงานหนวยประมวลผลกลาง (CPU) 5. Terminal เพอแสดงถง กระบวนการ (Process) ทประมวลผลเสรจสนแลว

การแสดงการเปลยนสถานะการท างานของแตละกระบวนการ (Process) จะมรปแบบทแตกตางกนไปตามหนาท (Function) หรอแสดงใหรวามกระบวนการ (Process) ทก าลงด าเนนการอะไรอยบาง ณ เวลาในขณะนน แสดงไดดงรปท 6.1

รปท 6.1 แสดงแผนภาพขนตอนการท างานของกระบวนการ (Diagram of Process State)

6.1.3 บลอกควบคมกระบวนการ (Process Control Block: PCB) อยภายในระบบปฏบตการมหนาทเปนตวควบคมการท างานของแตละกระบวนการ (Process) บางครงอาจเรยกวา “บลอกควบคมการท างาน (Task Control Block)” แสดงไดดงรปท 6.2 ซงประกอบไปดวย

New

Ready Running

Terminated

Waiting

การขดจงหวะ (Interrupt) พรอมด าเนนการ

(Admitted) ด าเนนการเสรจสน

(Exit)

รอใชงานอปกรณ I/O หรอ ด าเนนการเสรจ

(I/O or Event Completion)

รอใชงานอปกรณ I/O หรอ ด าเนนการเสรจ

(I/O or Event Completion)

ตวสงโปรเซส (Scheduler Dispatch)

104

รปท 6.2 บลอกควบคมกระบวนการ (Process Control Block: PCB)

1. สถานะของกระบวนการ (Process State) อาจจะเปนสถานะทเกดขนใหม (New) ของกระบวนการสถานะพรอม (Running) สถานะทก าลงประมวลผล (Running) สถานะคอย (Waiting) และสถานะหยดการท างานชวคราว (Halted) เปนตน 2. ชดค าสงนบ (Program Counter) จะใชแสดงต าแหนงของค าส งถดไปของกระบวนการ (Process) ทจะถกประมวลผล 3. รจสเตอรทเกยวกบหนวยประมวลผลกลาง (CPU Registers) ตวเลขและชนดของรจสเตอรทกตวจะขนอยกบสถาปตยกรรมคอมพวเตอรทเลอกใช นอกจากนยงเกยวของกบ ตวสะสมคา (Accumulator) รจสเตอรตวช (Index Register) สแตก (Stack) ตวช (Pointer) และ รจสเตอรทวไป (General-Purpose Registers) รวมไปถงค าสงเพอก าหนดเงอนไขตางๆ (Condition-Code Information) เปนตน โดยทชดค าสงตวชจะเกบสถานะของกระบวนการ (Process) เมอเกดมการขดจงหวะขน (Interrupt) และสามารถกลบมาท างานเดมตอไดภายหลง แสดงไดดงรปท 6.3 4. การจดตารางการท างานของหนวยประมวลผล (CPU-Scheduling Information) ขอมลทเกบอยจะเกยวของกบการจดล าดบความส าคญของกระบวนการ (Process Priority) ตวชไปยงทแถวล าดบ (Queues) และคาพารามเตอร (Parameters) อน ๆทจดเกบอยในตารางการท างานของหนวยประมวลผล 5. การจดการขอมลภายในหนวยความจ า(Memory-Management Information) ประกอบดวยรจสเตอรทใชเกบคาของต าแหนงต าสดของแตละกระบวนการ (Base Register) และเกบคาขนาดของแตละกระบวนการ (Limit Register) ลงบนตารางเพจ (Page Tables) หรอตารางเซกเมนต (Segment Tables) ซงขนอยกบระบบการจดการหนวยความจ า (Memory System) ของระบบปฏบตการ (Operating System) ทเลอกใช

ตวช (Pointer)

สถานะกระบวนการ (Process State)

เลขทกระบวนการ (Process Number)

โปรแกรมนบ (Program Counter)

รจสเตอร (Registers)

การจ ากดหนวยความจ า (Memory Limits)

รายการไฟลทเปด (List of Open Files)

. . .

105

6. บญชขอมล (Account Information) เปนขอมลเกยวกบจ านวนของหนวยประมวลผลทใช (Amount CPU) เวลาทใชงานจรง ๆ เวลาทงหมด (Limit Times) บญชตวเลข (Account Numbers) งาน (Job) และจ านวนกระบวนการทมอย (Process Numbers) 7. สถานะอปกรณรบและแสดงผลขอมล (I/O Status Information) เปนขอมลทมไวส าหรบแสดงรายการการจดสรร (Allocated) การใชงานอปกรณรบและแสดงผล ( I/O Devices) หรออาจจะเปน การเปดไฟล (Open Files) ของแตละกระบวนการ (Process) 6.1.4 หนวยงานยอยภายในกระบวนการ (Threads) เดมการพฒนาระบบปฏบตการนน ภายในกระบวนการ (Process) จะประกอบไปดวยหนวยงานยอยเพยงหนวยงานเดยวเทานน (Single Thread) ทไดรบการประมวลผล (Execution) ซงในเวลาตอมาไดมการพฒนาระบบปฏบตการใหกระบวนการหนงสามารถทจะมหนวยงานยอยภายในกระบวนการ (Threads) จ านวนมากได โดยการเพมประสทธภาพในกบหนวยการประมวลผลใหสามารถ ทจะประมวลผลหนวยงานยอยภายในกระบวนการ (Threads) พรอมๆ กนและเปนอสระตอกนได ท าใหประสทธภาพการท างานของกระบวนการ (Process) รวดเรวขน โดยกระบวนการ (Process) ทภายในประกอบดวยหนวยงานยอย (Threads) ท างานอยนวา “Multithreading”

6.2 การจดตารางกระบวนการ (Process Scheduling)

จดประสงคหลกของระบบการท างานตองการประมวลผลแตละกระบวนการ (Process) ไดอยางรวดเรวและมประสทธภาพและใชงานหนวยประมวลผลกลางไดอยางเตมท (CPU Utilization) ดงนนจ าเปนจะตองอาศยองคประกอบเพอชวยในการจดการกบกระบวนการ (Process) ทมการเปลยนแปลงสถานะอยตลอดเวลา ตลอดจนการจดการความถของกระบวนการ (Process) ในการสลบเขาและออกเพอเขาไปใชงานหนวยประมวลผลการ (CPU) โดยทผใชงานสามารถทจะใชงานชดค าสงไดขณะทกระบวนการ (Process) นนๆ ถกประมวลผลอย ดงนนการจดตารางการท างานของกระบวนการ (Process) จะตองประกอบไปดวยสงทเกยวของดงตอไปน

106

รปท 6.3 แสดงแผนภาพการท างานของหนวยประมวลผลกลางในการเปลยนสถานะระหวาง 2 กระบวนการ (Diagram Showing CPU Switch from Process to Process)

6.2.1 การจดตารางแถวล าดบ (Scheduling Queues) เมอกระบวนการ (Process) ถกน าเขาระบบ จะถกใสลงไปในแถวล าดบการท างาน (Job Queue) โดยทกระบวนการ (Process) ทมอยภายในหนวยความจ าหลก (Main Memory) ทอยในสถานะพรอม (Ready) และสถานะคอย (Wait) ทพรอมจะถกประมวลผลจะถกจดเกบลงบนรายการ (List) เรยกสถานะนวา สถานะพรอมของแถวล าดบ (Ready Queue) โดยทสถานะพรอมของแถวล าดบหว (Ready Queue Header) ภายในรายการ (Lists) จะมตวช (Pointers) ไปยงต าแหนงแรกและต าแหนงสดทายของบลอกควบคมกระบวนการ (Process Control Block: PCB) และสามารถทจะเพมจ านวนบลอกควบคมกระบวนการ (PCB) และมขอบเขตของตวช (Pointer Field) เพอชไปยงบลอกควบคมกระบวนการ (PCB) ตวถดไปได ซงระบบโดยทวไปทประกอบดวยหลายๆ กระบวนการ พนทบนจานบนทก (disk)อาจไมวางเมอมการรองขอการใชงานอปกรณ I/O จากบางกระบวนการ ดงนนกระบวนการจ าเปนตองคอยการใชพนทบนจานบนทก (disk) รายการ (List) ของกระบวนการทคอยใชงานอปกรณ I/O เรยกวา แถวล าดบการใชงานอปกรณ (Device Queue) โดยแตละกระบวนการ (Process) จะมล าดบการใชงานอปกรณเปนของตวเอง (Device) แสดงไดดงรปท 6.4

ก าลงประมวลผล (Executing) การขดจงหวะ/ค าสงเรยกระบบ

(Interrupt or System Call)

เกบสถานะลงในบลอกแรก (Save State into PCB0)

กระบวนการแรก ระบบปฏบตการ กระบวนการทสอง (Process P0) (Operating System) (Process P1) (Process P0) ก าลงประมวลผล (Executing)

โหลดสถานะจากบลอกทสอง (Reload state from PCB1)

ก าลงประมวลผล (Executing)

การขดจงหวะ/ค าสงเรยกระบบ (Interrupt or System Call)

เกบสถานะลงในบลอกแรก (Save State into PCB0)

โหลดสถานะจากบลอกทสอง (Reload state from PCB1)

ไมท างาน (Idle)

ไมท างาน (Idle)

ไมท างาน (Idle)

. . .

. . .

107

รปท 6.4 แสดงสถานะพรอมของควและล าดบการใชงานอปกรณรบและแสดงผล (The Ready Queue and Various I/O Device Queues) โดยปกตการแสดงการจดตารางล าดบของกระบวนการจะเกยวของกบแผนภาพแสดงล าดบการท างาน (Queuing Diagram) แสดงไดดงรปท 6.5 ซงกรอปสเหลยมแสดงแถวล าดบการท างาน (Queue) และรปวงรแสดงทรพยากรทคอยใหบรการแถวล าดบการท างาน โดยประกอบดวยแถวล าดบทแสดงสถานะพรอม (Ready Queue) และกลมของอปกรณทแถวล าดบเรยกใช (Device Queue) และลกศรแสดงทศทางการไหลของกระบวนการท างานในระบบ เรมตนโดยทกระบวนการใหม (New Process) ถกใสลงในสถานะพรอมของแถวล าดบ (Ready Queue) และคอยจนกระทงถกเลอกเพอเขาเขาไปประมวลผล (โดยตวจดสง Dispatcher) ในหนวยประมวลผลกลาง (CPU) โดยระหวางการด าเนนการอยนนอาจมเหตการณใดเหตการณหนงสามารถทจะเกดขนไดดงน 1. กระบวนการ (Process) รองขอการใชงานอปกรณ I/O จงถกจดใหรออยในแถวล าดบ 2. กระบวนการ (Process) สรางกระบวนการยอยและคอยจนกวากระบวนการยอยด าเนนการเสรจ 3. กระบวนการ (Process) สามารถทถกยายออกจากหนวยประมวลผลกลาง (CPU) เนองจากมการขดจงหวะ (Interrupt) และเปลยนสถานะเปนสถานะพรอมของแถวล าดบ (Ready Queue)

Head

Tail Registers

หวล าดบ (Queue Header) บลอกควบคม

(PCB7) สถานะพรอมของคว (Ready Queue)

. . .

Registers

บลอกควบคม(PCB2)

.

Head

Tail

เทปหนวยท 1 (Mag Tape Unit0)

Head

Tail

เทปหนวยท 2 (Mag Tape Unit0)

Head

Tail

ดสกหนวยท 1 (Disk Unit0)

Head

Tail

อปกรณแสดงผลหนวยท 1

(Terminal Unit0)

บลอกควบคม(PCB3)

. . .

บลอกควบคม(PCB14)

บลอกควบคม(PCB6)

บลอกควบคม(PCB5)

. .

108

รปท 6.5 แสดงแผนภาพการท างานของแถวล าดบของการจดตารางกระบวนการ (Queuing-Diagram Representation of Process Scheduling)

6.2.2 การจดตารางการท างาน (Scheduler) เปนการจดการกระบวนการ (Process) ทเหมาะสมเขาหรอออกจากตารางแถวล าดบ (Scheduling Queues) ซงเปนหนาทของระบบปฏบตการ ในระบบงานแบบกลมการจดการกระบวนการมกจะน าไปพกไวชวคราว (Spooled) ณ อปกรณหนวยความจ าส ารองทมความจขนาดใหญ (Mass-Storage Device) เชน จานบนทก (disk) เปนตน เพอทจะน าไปประมวลผลในเวลาตอมาซงมวธการจดตารางการท างานหลายวธ ดงน 1. การจดตารางการท างานระยะยาว ( Long-term scheduler) หรอเรยกวธนวา การจดตารางงาน(Job Scheduler) วธนการท างานจะท าการเลอกกระบวนการ (Processes) ทเกบพกไวชวคราว (Spool) แลวท าการบรรจ (Load) ขอมลเขามาในหนวยความจ าเพอท าการประมวลผลความถในการประมวลผลจะถกเรยกใชไมบอยมากนกระหวางการสรางกระบวนการขน ในระบบ นอกจากนการจดตารางการท างานระยะยาวจะท าการควบคมระดบของการท างานหลายๆ ชดค าสงพรอมกน (Degree of Multiprogramming) ระหวางการประมวลผล 2. การจดตารางการท างานระยะกลาง (Medium-term scheduler) บางระบบปฏบตการจะมวธการจดตารางการท างานแบบน เชน ระบบการแบงปนเวลาในการท างาน (Time-Sharing Systems) ซงกระบวนการ (Process) ทเขามาใชงานหนวยความจ าจะมสบเปลยนเขามา (Swapped in) และสบเปลยนออก (Swapped Out) เปนตน แสดงไดดงรปท 6.6 3. การจดตารางการท างานระยะสน (Short-term scheduler) หรอเรยกวธนวา การจดการหนวยประมวลผลกลาง (CPU Scheduler) วธนการท างานจะท าการเลอกกระบวนการ (Processes) ทอยในสถานะพรอม (Ready) เพอน ามาประมวลผล (Execute) และจดสรรเนอทการใชงาน ประมวลผลกลางกลาง (CPU) ใหกบกระบวนการนนทเลอกมา

สถานะพรอมของแถวล าดบ (Ready Queue)

รองขอการใชงานอปกรณ (I/O Request)

รองขอการใชงานอปกรณ (Time Slice Expired)

กระบวนการยอย (Fork a Child)

คอยเพอขดจงหวะ (Wait for an Interrupt)

แถวล าดบอปกรณ (I/O Queue)

CPU

I/O

ประมวลผลกระบวนการยอย (Child Executes)

เกดเหตการณขดจงหวะ (Interrupt Occurs)

109

รปท 6.6 แสดงแผนภาพการเพมวธการจดตารางการท างานระยะกลาง (Addition of Medium-Term Scheduling to The Queuing Diagram)

6.2.3 การสลบกระบวนการท างาน (Context Switch) การสลบ (Switching) ใหกระบวนการ (Process) อนเขามาใชงานหนวยประมวลผลการ (CPU) เพอจดเกบคาสถานะเดมของกระบวนการ (Old Process) ขณะเดยวกนกจะท าการบรรจและจดเกบคาสถานะใหกบกระบวนการใหม (New Process) ลกษณะการด าเนนงานดงกลาว เรยกวา การสลบกระบวนการท างาน (Context Switch) โดยการสลบกระบวนการท างาน จะอยภายในบลอกควบคมกระบวนการ (PCB) ซงจดเกบคารจสเตอรของหนวยประมวลผลกลางไว (CPU Register) โดยสถานะของกระบวนการ (Process State) แสดงไดดงรปท 6.1

6.3 การด าเนนการกบกระบวนการ (Operations on Processes) กระบวนการ (Process) ตางๆ ทอยในระบบสามารถประมวลพรอมกนไดภายในเวลาเดยวกน ขณะเดยวกนการสราง (Created) และลบ (Deleted) กระบวนการกเกดขนไดตลอดเวลาเชนเดยวกน ดงนนระบบปฏบตการจะตองมกลไกหรอความสามารถในการสรางกระบวนการ (Process Creation) และเมอกระบวนการด าเนนการเสรจสน (Process Termination) กสามารถทจะลบกระบวนการนนท งไปได ซงสามารถอธบายการด าเนนกบกระบวนการตางๆ ไดดงน 6.3.1 การสรางกระบวนการ (Process Creation) กระบวนการ (Process) อาจจะสรางขนมาใหมโดยผานทางค าสงระบบ (System Call) โดยเรยกกระบวนการทถกสรางขนมาใหมนวา กระบวนการพอหรอแม (Parent Process) และเรยกกระบวนการทถกสรางขนภายหลงวา กระบวนการลก (Children Process) นอกจากนแตละกระบวนการกสามารถทจะสรางกระบวนใหมตามล าดบในรปแบบตนไม แสดงไดดงรปท 6.7 โดยทวไปแลว กระบวนการจะตองการใชทรพยากร เชน เวลาใชงานหนวยประมวลผลกลาง (CPU Time) หนวยความจ า (Memory) ไฟล (File) อปกรณรบและแสดงผล (I/O Device) เปนตน เพอจะใหงานทด าเนนการเสรจสมบรณ เมอกระบวนการไดสรางกระบวนการยอยขนมา กระบวนการยอย (Subprocess) อาจจะใชงานทรพยากรไดโดยตรงจากระบบปฏบตการหรอใชงานผานกลมงานยอยของกระบวนการพอหรอแมกได (Parent) และเมอหลงจากประมวลผลกระบวนการ (Process)

แถวล าดบคอยใชงานอปกรณ (I/O Waiting Queue)

CPU

I/O

สถานะพรอมของแถวล าดบ (Ready Queue)

การสบเปลยนกระบวนการเพยงบางสวนออกไปประมวลผล (Partially Executed Swapped-Out)

Processes)

สบเปลยนเขา (Swap in)

สบเปลยนออก (Swap out)

จบการท างาน (End)

110

เสรจสนแลวจะตองคนทรพยากรทใชในการท างานกลบคนสระบบ และกระบวนการกจะลบหรอท าลายทงตามกลไกการท างานของระบบปฏบตการ

รปท 6.7 แสดงโครงสรางตนไมในการสรางกระบวนการใหมของระบบปฏบตการ UNIX (A Tree of Processes on a typical UNIX System) 6.3.2 การสนสดกระบวนการ (Process Termination) จะเกดขนเมอค าสงสดทายถกประมวลผลจนเสรจและสงค าถามไปยงระบบปฏบตการวาจะท าการลบกระบวนการนเพอออกจากระบบโดยเรยกใชค าสงระบบ (System Call) ณ จดนกระบวนการ (Process) อาจจะสงขอมลออกไปยงกระบวนการพอหรอแม (Parent) กได ดงนนกระบวนการพอหรอแมยงสามารถท างานหรอสรางกระบวนการลกขนมาใหมไดตามตองการ กระบวนการพอหรอแม (Parent) สามารถทจะยกเลกการท างานของกระบวนการลก (Children) ไดหลายเหตผล ดงน 1. กระบวนการลก (Children) ใชบางทรพยากรทมอยในระบบมากเกนไป ดงนนกระบวนการพอหรอแม (Parent) จ าเปนตองมกลไกการตรวจสอบสถานะของกระบวนการลก (Children) ดวย 2. งานทมอบหมายใหกบกระบวนการลก (Children) ไมมความจ าเปน 3. กระบวนการพอหรอแม (Parent) ประมวลผลเสรจแลวและระบบปฏบตการมาอนญาตใหกระบวนการลก (Children) ไมสามารถท างานตอไดถากระบวนการพอหรอแม (Parent) สนสดการท างานแลวทกกระบวนการลก (Children) ตองสนสดการท างานเหมอนกน ปรากฏการณลกษณะนมกเรยกวา การสนสดการเชอมโยง (Cascading Termination) ถกจดการโดยระบบปฏบตการ 6.4 การรวมกนของกระบวนการ (Cooperating Process) การประมวลผลกระบวนการ (Process) พรอมกนในระบบปฏบตการ แตละกระบวนการอาจจะเปนอสระจากกน (Independent) โดยเมอกระบวนการหนงก าลงประมวลผลอยจะไมมสงผลกระทบ (Effect) กบอกกระบวนการหนงหรอการรวมกนของกระบวนการ (Cooperating) ถากระบวนการหนงก าลง

Root

Pagedaemon

Swapper

Init

User 1

User 2

User 3

111

ประมวลผลอยจะมผลกระทบ (Effect) กบอกกระบวนการหนง เพราะมการใชขอมลบางตวรวมกนอย โดยเราสามารถทจะก าหนดสภาพแวดลอมทอนญาตใหการรวมกนของกระบวนการดวยเหตผลทวไปตอไปน 1. การใชขอมลรวมกน (Information Sharing) เชน การใชไฟลรวมกน (Shared File) เปนตน 2. การเพมความเรวในการค านวณ (Computation Speedup) กรณทตองการใหงานทประมวลผลเรวขน จ าเปนตองแบงงานออกเปนงานยอย (Subtask) โดยแตละงานยอย (Subtask) จะประมวลผล ในรปแบบคขนาน (Parallel) ดงนนความเรวจะเพมขนไดถาคอมพวเตอรมตวประมวลผลหลายตว (Multiple Processing Elements) เชน หนวยประมวลผลกลาง (CPUs) หรอชองของการรบและแสดงผล (I/O Channels) เปนตน 3. การแบงเปนโมดล (Modularity) เปนการแบงกระบวนการ (Process) ออกเปนโมดลยอย ๆ 4. ความสะดวงสบาย (Convenience) หมายถงผใชแตละอาจจะท างานไดหลายๆ งานในเวลาหนง เชน เพมขอมล (Editing) การพมพ (Printing) และการแปลชดค าสงในระบบคขนาน (Compiling in Parallel) เปนตน 6.5 การตดตอสอสารระหวางกระบวนการ (Interprocess Communication) ในระบบคอมพวเตอรโดยสวนใหญสามารถทจะประมวลผลไดหลายๆ ชดค าสงในเวลาเดยวกน (Multiprogramming) มการเชอมโยงและตดตอสอสารกนในระบบเครอขาย รวมทงมการแบงปนทรพยากรและใชงานกระบวนการ (Process) รวมกนได ซงบางครงเราจะเรยกวธการตดตอสอสารแบบนวา การตดตอสอสารระหวางกระบวนการ (Interprocess Communication: IPC) โดยทระบบจะมกลไกการท างานโดยจะอนญาตใหแตละกระบวนการ (Processes) ตดตอและสงขอมลระหวางกนไดอยางตอเนอง (Synchronize) โดยไมอนญาตใหใชพนทวางต าแหนงเดยวกน ซงการตดตอสอสารระหวางกระบวนการ สามารถแบงออกไดดงน 6.5.1 ระบบการสงขอความ (Message-Passing System) หนาทของระบบการสงขอความ จะยอมใหกระบวนการ (Processes) ตดตอสอสารกบกระบวนการ (Processes) อนโดยไมตองการทจะใชทรพยากรหรอขอมลรวมกน เพยงตองการทจะสงขอความดวยวธการตดตอสอสารกบ ไมโครคอรเนล (Microkernels) เทานน ปกตการบรการจะค านงถงผใชกระบวนการ (Processes) เปนหลก โดยการด าเนนการจะอยภายนอกคอรเนล ซงการสอสารของผใชกระบวนการ (Processes) ทงหมดจะเกยวของกบการสงผานขอความเทานน และการตดตอสอสารระหวางกระบวนการ ( IPC) จะใชตวด าเนนการ 2 ตว คอ สงขอความ (send(message)) และรบขอความ (receive(message)) โดยมตวเชอมการตดตอสอสาร (Communication Link) ในการสงขอความระหวาง 2 กระบวนการ (Processes) วธการทางกายภาพทสามารถน าไปใชจดการกบการเชอมโยงระหวางตวด าเนนการสงและรบขอความ (Send/Receive Operations) ท าไดดงน 1. การสอสารทางตรงหรอทางออม (Direct or Indirect Communication) 2. การสอสารแบบสมมาตรหรอไมสมมาตร (Symmetric or Asymmetric Communication) 3. ทพกขอมลทแนนอนหรออตโนมต (Automatic or Explicit Buffering) 4. สงแลวท าส าเนาหรอสงแลวท าการอางอง (Send by Copy or Send by Reference) 5. ระบขนาดขอความทแนนอนหรอขอความทแนนอน (Fixed-Sized or Variable-Sized Massage)

112

6.5.2 การระบชองทางสอสาร (Naming) กระบวนการ (Process) ทตองการตดตอสอสารระหวางกนตองมการอางถงทศทางในการสอสาร เชน การสอสารแบบทางตรง (Direct Communication) หรอการสอสารแบบทางออม (Indirect Communication) เปนตน 6.5.2.1 การสอสารทางตรง (Direct Communication) เปนการตดตอสอสารโดยตรงระหวางกระบวนการ (Process) โดยระบชอผสงตนทางและผรบปลายทางใหถกตองโดยใชของค าสงทตดตอสอสารระหวางกนดงน การระบต าแหนงแบบสมมาตร (Symmetry) send(P, message) หมายถง สงขอความขาวสารไปยงกระบวนการ (Process) P Receive(Q, message) หมายถง รบขอความขาวสารจากกระบวนการ (Process) Q โดยการเชอมโยงการตดตอสอสารประกอบดวยคณสมบตดงตอไปน - สรางการเชอมโยงเพอตดตอสอสารระหวางกระบวนการ (Process) ทกค (ผสงและผรบ) อยางอตโนมตและแตละกระบวนการ (Process) จะมความสมพนธเมอมการตดตอสอสารและเชอมโยงกนเทานน - การเชอมโยงของกลมทแนนอนระหวางสองกระบวนการ (Process) - ระหวางกระบวนการ (Process) ทกค (ผสงและผรบ) จะมเสนทางการเชอมโยงภายเพยงหนงเสนทางเทานน การระบต าแหนงแบบไมสมมาตร (Asymmetry) send (P, message) หมายถง สงขอความขาวสารไปยงกระบวนการ (Process) Receive (id, message) หมายถง รบขอความขาวสารจากกระบวนการ (Process) ใด ๆ โดยระบตวแปร id เพอบอกกลมชอของกระบวนการ (Process) เพอใชในการ 6.5.2.2 การสอสารทางออม ( Indirect Communication) เปนการตดตอสอสารระหวางกระบวนการ (Process) ขอมลขาวสารจากผสงไปถงผรบผานตวกลางทเรยกวา กลองขอความ (Mail Box) หรอชองทางการสอสาร (Port) โดยกลองขอความจะใชจดเกบขอความของกระบวนการ (Process) เพอจดสงไปยงกระบวนการ (Process) อนตอไปและแตละกลองขอความจะมหมายเลขทระบไวไมซ ากน (Unique) และการตดตอสอสานระหวางกระบวนการไปยงกระบวนการ (Process) อนผานทางหมายเลขกลองขอความทแตกตางกน ระหวางกระบวนการ (Process) สามารถทจะใชกลองขอความรวมกนได โดยการสงและการรบสามารถก าหนดไดดงน send (A, message) หมายถง สงขอความขาวสารไปยงกลองขอความ (Mail Box) A Receive(A, message) หมายถง รบขอความขาวสารจากกลองขอความ (Mail Box) A โดยการเชอมโยงการตดตอสอสารประกอบดวยคณสมบตดงตอไปน - สรางการเชอมโยงเพอตดตอสอสารระหวางกระบวนการ (Process) ทกค (ผสงและผรบ) เฉพาะคทมการใชขอมลในกลองขอความ (Mail Box) รวมกนเทานน - การเชอมโยงของกลมมการเชอมโยงไปยงกระบวนการอนมากกวาสองกระบวนการ (Process) - การเชอมโยงระหวางกระบวนการ (Process) อาจท าไดหลายเสนทาง แตจะมเพยงหนงเสนทางทเชอมโยงไปยงกลองขอความ (Mail Box) เดยวเทานน

113

6.5.3 การสงขอความประสานกนหรอไมประสานกน (Synchronization or Asynchronization) เปนวธการสงขอมลในรปแบบบลอกขอความ (Blocking) ทตองประสานการสงหรอการสงขอมลในรปแบบบลอกขอความทไมตองประสานการสง (Nonblocking) โดยแตละรปแบบมวธการสงขอความ (Send) และการรบขอความ (Receive) ดงน รปแบบการสงขอความประสานกน (Synchronization) แบงออกเปน 1. การประสานงานฝงสง (Blocking Sent) เปนวธการสงกระบวนการ (Process) ในรปแบบบลอกขอความ โดยทขอความใหมจะถกสงตอไปไดตองไดรบสญญาณยนยน (Acknowledgement) หรอการตอบกลบมาจากฝงผรบวาไดรบบลอกขอความทสงไปแลว 2. การประสานงานฝงรบ (Blocking Receive) เปนวธการรบกระบวนการ (Process) ในรปแบบบลอกขอความ โดยทฝงผรบจะตองรอคอยสญญาณขอความจากฝ งผสง โดยฝงผรบจะไมสามารถท างานอยางอนตอไปไดตองรอจนกวาบลอกขอความจะถกสงมาจนครบแลว รปแบบการสงขอความไมประสานกน (Asynchronization) แบงออกเปน 1. วธการประสานงานฝงสง (Nonblocking Sent) เปนวธการสงกระบวนการ (Process) ในรปแบบบล อกขอความ โดยท ขอความใหมจะถกส งตอไปได โดยไม ตองรอสญญาณยนยน (Acknowledgement) หรอการตอบกลบมาจากฝงผรบวาไดรบบลอกขอความทสงไปแลว โดยฝงผรบจะตองมทพกขอมล (Buffer) ส าหรบจดเกบขอความทไดรบมาจากฝงผสง 2. การประสานงานฝงสง (Nonblocking Receive) เปนวธการรบกระบวนการ (Process) ในรปแบบบลอกขอความ การรบขอความในรปแบบน ฝงผรบสามารถท างานอยางอนไปพรอมๆ กนได โดยไมตองรอขอความตอบกลบมา 6.5.4 การพกขอมล (Buffering) ไมวาจะเปนจะเปนการตดตอสอสารทางตรง (Direct) หรอทางออม (Indirect) การแลกเปลยนขอความ การลดขนาดของกระบวนการ (Process) สอสารภายในแถวล าดบชวคราว การจดการเกยวกบควสามารถกระท าได 3 ทางดงตอไปน 1. ความจเปนศนย (Zero Capacity) แถวล าดบมความจสงสดมขนาดเทากบ 0 ดงนนการเชอมโยงจะไมมขอความทคอยอยในแถวล าดบ ในกรณน ผสงจะสงขอความประสานกนจนกระทงผรบไดรบขอความนน 2. ความจเตมขอบ (Bounded Capacity) แถวล าดบมความจเตมขอบมขนาดเทากบ n ดงนนขอความทงหมดจ านวน n สามารถทจะลดขนาด (Resize) ภายในแถวล าดบ ถาแถวล าดบไมเตมเมอมขอความใหมสงเขามาจะถกจดเกบลงในแถวล าดบ (ขอความจะถกคดลอกหรอตวชไปยงขอความจะถกจดเกบเชนเดยวกน) และผสงสามารถทจะประมวลผลขอมลตอไปไดโดยไมตรงรอการเชอมโยงทมความจเตมขอบ อยางไรกตามถาการเชอมโยงเตม ผรบตองสงขอความประสานกนระหวางกระบวนการวามเนอทวางในควทสามารถใชงานได 3. ความจเตมไมขอบ (Unbounded Capacity) แถวล าดบมความจไมเตม ดงนนทก ๆ จ านวนขอความสามารถรอคอยอยในแถวล าดบ ผสงไมจ าเปนตองสงขอความประสานกน

114

สรป หนาทส าคญประการหนงของระบบปฏบตการ กคอการจดสรรทรพยากรของระบบการท างานทมอยทงภายในและภายนอก รวมทงอปกรณฮารดแวรและซอฟตแวร ไดอยางมประสทธภาพ สงทเกยวของหลกกคอ กระบวนการ (Process) ซงเปนขนตอนหรอวธการท างานตามค าสงตาง ๆ ทสมพนธกนกบการท างานของระบบคอมพวเตอร

กระบวนการ (Process) ไมไดหมายถงการท างานหรอชดค าสงทก าลงประมวลผลในชวงระยะเวลาใดเวลาหนงเทานน แตอาจจะรวมถงสวนของขอความ (Text Section) ทประกอบไปดวยคาของชดค าสงตวนบ (Program Counter) และรายละเอยดของรจสเตอรทเกยวของกบหนวยประมวลผลกลาง (CPU) ดงนน การท างานของระบบคอมพวเตอรจ าเปนจะตองมการจดการทด และจดสรรเวลาการท างานเปนอยางด เพอใหการด าเนนงานตางๆ เกยวกบกระบวนการ (Process) ทมอยทงหมดอยางมประสทธภาพ

สถานะของกระบวนการ (Process State) การด าเนนการของการประมวลผลของแตละกระบวนการ (Process) จะเกยวของกบการเปลยนสถานะ (State) ของการท างานทเกดขน ดงน New เพอแสดงถง การสรางกระบวนการใหม (Created) ขนมา Running เพอแสดงถง ค าสงทจะไดรบการประมวลผล (Executed) Waiting เพอแสดงถง กระบวนการ (Process) ทรอคอย (Waiting) บางเหตการณทก าลงจะเกดขน (รอใชงานอปกรณ I/O หรอรอรบสญญาณ (signal) บางอยาง) Ready เพอแสดงถง กระบวนการ (Process) ทรอเพอทจะใชงานหนวยประมวลผลกลาง (CPU) Terminal เพอแสดงถง กระบวนการ (Process) ทประมวลผลเสรจสนแลว

จดประสงคหลกของระบบการท างานตองการประมวลผลแตละกระบวนการ (Process) ไดอยางรวดเรวและมประสทธภาพและใชงานหนวยประมวลผลกลางไดอยางเตมท (CPU Utilization) ดงนนจ าเปนจะตองอาศยองคประกอบเพอชวยในการจดการกบกระบวนการ (Process) ทมการเปลยนแปลงสถานะอยตลอดเวลา ตลอดจนการจดการความถของกระบวนการ (Process) ในการสลบเขาและออกเพอเขาไปใชงานหนวยประมวลผลการ (CPU) โดยทผใชงานสามารถทจะใชงานชดค าสงไดขณะทกระบวนการ (Process) นน ๆ ถกประมวลผลอย

กระบวนการ (Process) ตางๆ ทอยในระบบสามารถประมวลพรอมกนไดภายในเวลาเดยวกน ขณะเดยวกนการสราง (Created) และลบ (Deleted) กระบวนการก เกดขนไดตลอดเวลาเชนเดยวกน ดงนนระบบปฏบตการจะตองมกลไกหรอความสามารถในการสรางกระบวนการ (Process Creation) และเมอกระบวนการด าเนนการเสรจสน (Process Termination) กสามารถทจะลบกระบวนการนนทงไปได

ในระบบคอมพวเตอรโดยสวนใหญสามารถทจะประมวลผลไดหลาย ๆ ชดค าส งในเวลาเดยวกน (Multiprogramming) มการเชอมโยงและตดตอสอสารกนในระบบเครอขาย รวมทงมการแบงปนทรพยากรและใชงานกระบวนการ (Process) รวมกนได ซงบางครงเราจะเรยกวธการตดตอสอสารแบบนวา การตดตอ สอสารระหวางกระบวนการ (Interprocess Communication: IPC)

115

ค าถามทบทวน

1. จงอธบายการเปลยนสถานะตางๆ ของการด าเนนการของการประมวลผลของแตละกระบวนการ 2. บลอกควบคมการท างาน (Task Control Block) มหนาทอะไรและท างานอยางไร 3. Multithreading คออะไรจงอธบาย 4. จงแสดงแผนภาพการท างานของหนวยประมวลผลกลางในการเปลยนสถานะระหวาง 2 กระบวนการวามวธการท างานอยางไร 5. ในหนวยประมวลผลกลาง (CPU) โดยระหวางการด าเนนการอยนนอาจมเหตการณใดเหตการณหนงสามารถทจะเกดขนไดอยางไรบาง 6. จงอธบายวธการจดตารางการท างาน (Scheduler) ตอไปน 6.1 การจดตารางการท างานระยะยาว ( Long-term scheduler) 6.2 การจดตารางการท างานระยะกลาง (Medium-term scheduler) 6.3 การจดตารางการท างานระยะสน (Short-term scheduler) 7. การสนสดกระบวนการ (Process Termination) เกดขนไดอยางไรบางจงอธบาย 8. เราสามารถทจะก าหนดสภาพแวดลอมทอนญาตใหการรวมกนของกระบวนการดวยเหตผลใดไดบาง 9. จงอธบายวธการตดตอสอสารระหวางกระบวนการ (Interprocess Communication) 9.1 ระบบการสงขอความ (Message-Passing System) 9.2 การระบชองทางสอสาร (Naming) 9.3 การสงขอความประสานกนหรอไมประสานกน (Synchronization or Asynchronization) 9.4 การพกขอมล (Buffering)

116

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556, กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ กระบวนการ. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, ธนวาคม 21, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

117

แผนบรหารการสอนประจ าบทท 7 หวขอเนอหา - ประวตความเปนมา (History) - หลกการออกแบบ (Design Principle) - สวนประกอบของระบบ (System Components) - ระบบงานยอยทเกยวของ (Environmental Subsystems) - จดการไฟล (File System) - การจดการเครอขาย (Networking) - การจดการความปลอดภย (Security Management) วตถประสงคเชงพฤตกรรม - สามารถเขาใจประวตความเปนมาของระบบปฏบตการวนโดวรนตางๆ - มความเขาใจเปาหมายในการออกแบบระบบปฏบตการวนโดว - มความเขาใจโครงสรางสถาปตยกรรมของระบบปฏบตการวนโดวเอกพ - มความรและความเขาใจระบบงานยอยทเกยวของและจดการไฟลของระบบปฏบตการวนโดวเอกพ - สามารถเขาใจวธการจดการเครอขายและการจดการความปลอดภย วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงานและแบบฝกหด ใชวธการออกขอสอบขอเขยน

118

บทท 7 กรณศกษา (Case Study) ระบบปฏบตการวนโดว (Windows Operating System)

เนองจากความยากในการใชงานระบบปฏบตการดอส (Disk Operating System) บนเครองคอมพวเตอร บรษทไมโครซอฟตจงมแนวคดทจะพฒนาซอฟตแวรทเรยกวา วนโดวส (Windows) ทมลกษณะการโตตอบกบผใชในรปแบบกราฟก (Graphic-User Interface: GUI) แลดสวยงามและนาใชงานใกลเคยงกบระบบปฏบตการของบรษทแอปเบล ซงพฒนาระบบปฏบตการแมคอนทอชโอเอส (Mac OS X) ขนมาเพอใหการใชงานดอสท าไดงายขน แตวนโดวสกยงไมใชระบบปฏบตการทใชงานโดยล าพง ยงคงตองท างานอยภายใตการควบคมของระบบปฏบตการดอส กลาวคอผใชจ าเปนตองท าการตดตงระบบปฏบตการดอสกอนทจะตดตงระบบปฏบตการวนโดวสลงบนเครองคอมพวเตอรของตน ซงการท างานจะใชค าสงตาง ๆ ทมอยบนดอสไดโดยพมพจากแปนพมพโดยตรงผานทางระบบปฏบตการวนโดวส ซงจะท าใหงายและสะดวกกวามาก ดงนนจงมการพฒนาระบบปฏบตการวนโดวส (Windows Operating System) เพอรองรบการท างานส าหรบผใชคอมพวเตอรสวนบคคล ในองคกรหรอหนวยงานตางๆ ทงภาครฐและเอกชน ในบทนจะกลาวถงประวตความเปนมา หลกการออกแบบ สวนประกอบของระบบ ระบบงานยอย การจดการไฟล ตลอดจนการจดการเครอขายและการรกษาความปลอดภยของระบบปฏบตวนโดวส (Windows) อธบายไดตามหวขอตางๆ ดงน

7.1 ประวตความเปนมา (History) ระบบปฏบตการวนโดวสทถกพฒนาขนโดยบรษทไมโครซอฟต โดยรนแรกจะตดตงและทดลองใชงานกบเครองคอมพวเตอรของบรษทไอบเอม ซงใชชพประมวลผลหลายรน เชนซพยเบอร 80286 80386 และ 80486 และยงสามารถแบงตามยคการพฒนาไดหลายยคดงน

ระบบปฏบตการวนโดวสยคเรมตน-ยคท 3 Windows 1.0 พฒนาขนในป ค.ศ. 1985 เปนผลตภณฑระบบปฏบตการรนแรกของบรษทไมโครซอฟท ซงพฒนาขนมาใหสามารถใชงานรวมกบระบบปฏบตการดอส (Disk Operating System) Windows 3.0 พฒนาขนในป ค.ศ. 1990 ปรบปรงประสทธภาพใหสามารถใชงานไดงายและยงมฟเจอรทท าใหผใชงานเกดความคลองตวขนกวาวนโดวสรนแรก Windows 3.1 พฒนาขนในป ค.ศ. 1992 ปรบปรงประสทธภาพการแสดงผลดานกราฟกในรปแบบการโตตอบระหวางผใชงาน (Graphic User Interface: GUI) ใหสะดวกรวดเรวขน

ระบบปฏบตการวนโดวสยคท 4 Windows 95 พฒนาขนในป ค.ศ. 1995 เปนระบบปฏบตการวนโดวสอยางแทจรงทสรางขนมาเพอแทนระบบปฏบตการดอส (Disk Operating System) และยงไดมการพฒนา Windows 98 ในปค.ศ. 1998 ออกจ าหนายตามมาอก Windows NT พฒนาขนมาเพอจดมงหมายทตางจาก Windows 95 โดยมจดมงหมายในการพฒนาขนมาเพอใชในระบบปฏบตการเครอขายใหสามารถเชอมโยงระบบคอมพวเตอรหลายตวเขาดวยกนโดยท

119

คอมพวเตอรแตละตวสามารถทจะใชทรพยากรรวมกนได ซงตางจากระบบปฏบตการ Windows 95 ถงแมจะรปแบบหรอวธการใชงานทคลายกน โดยค าวา NT ยอมาจาก New Technology หมายถงการน าเทคโนโลยใหมมาใช เปนการพฒนาระบบปฏบตการเครอขายของบรษทไมโครซอฟททตองการแยกระบบปฏบตการตามบานออกจากระบบปฏบตการทใชในส านกงานหรอองคกรทางธรกจใหอยในรปแบบเครอขาย (Networks) ซงแยกเปน 2 สวน คอ สวนทเปนแมขาย ( Windows NT Server) และ สวนทเปนลกขาย (Windows NT Client) โดยใชการเชอมโยงในรปแบบเครอขายภายในองคกร (Local Area Network: LAN) ระหวางเครอขายแมและเครอขายลก (Client/Server) จดมงหมายหลกเพอตองการใหเครองคอมพวเตอรแตละตวสามารถใชทรพยากรรวมกน (Share Resource) ได เปนการเพมประสทธภาพในการท างานและลดคาใชจายภายในองคกรไดมาก

ระบบปฏบตการวนโดวสยคท 5 Windows 2000 พฒนาขนในป ค.ศ. 2000 โดยมรากฐานมาจากระบบปฏบตการ Windows NT ซงพฒนาตอจาก Windows NT รนท 4 แทนทจะเรยกการพฒนาในรนนวาเปน Windows NT รนท 5 แตทางบรษทไมโครซอฟทไมใชชอนกลบเปลยนไปใชชอระบบปฏบตการนภายใตชอ Windows 2000 ซงแบงเปน 2 สวนเชนเดยวกบ Windows NT รนท 4 แตใชชอเรยกตางออกไปโดยเครองทเปนลกขายใชชอเรยกวา Windows 2000 Professional สามารถใชงานไดกบคอมพวเตอรสวนบคคล (Personal Computer) Windows Millennium พฒนาขนในป ค.ศ. 2000 เปนวนโดวสตระกล Windows 95/98 รนสดทายของบรษทไมโครซอฟทซงมนโยบายทจะเลกพฒนาวนโดวสตระกลนไปถกพฒนามาเพอการคาเพอใหรองรบกบปสหสวรรษใหมและท าใหทางบรษทมผลตภณฑออกมาสทองตลาดอยางตอเนอง Windows XP Home Edition พฒนาขนในป ค.ศ. 2001 เปนวนโดวสสายพนธวนโดวส Windows NT พฒนาขนมาใหส าหรบผทใชงานตามบาน อกทงยงสามารถเชอมตอบนเครอขายขนาดเลกทไมตองมความเขมงวดในความปลอดภยมากนก Windows XP Professional พฒนาขนในป ค.ศ. 2001 เชนเดยวกบ Windows XP Home Edition เปนระบบปฏบตการวนโดวสขนาด 32/64 บต พฒนาขนมาใชงานภาคธรกจ สามารถเชอมตอบนเครอขายขนาดเลกทไมตองมความเขมงวดในความปลอดภยของขอมลในระดบสง

ระบบปฏบตการวนโดวสยคท 6 Windows XP Vista พฒนาขนในป ค.ศ. 2006 ไดปรบปรงคณสมบตดานความมนคงและความปลอดภยของระบบ เชน เครองมอในการซอมระบบ การบต (Boot) ทรวดเรว สนบสนนเอกสารในรปแบบ Metadata

ระบบปฏบตการวนโดวสยคท 7 Windows 7 พฒนาขนในปลายป 2009 มหนาตาททนสมย เปลยนไปจาก Windows รนกอน ๆ อยางมาก ชดค าสงตางๆ ทมาพรอมกบตว Windows ทดจะมประโยชนมากกวา Windows รนทผาน ๆ มาดานประสทธภาพ และความเสถยรในการใชงานสงกวา Windows รนกอนๆ มาก รวมถงความสามารถใหม ๆ อยาง Windows XP Mode, Aero Peek, Aero Snap และอนๆ อกมากมายทถกเพมเขามาใน Windows 7 ทเมอใชแลวรสกไดถงความสะดวก และเปนมตรกบผใชงาน

120

ระบบปฏบตการวนโดวสยคท 8 Windows 8 เรมน ามาใชงานในปลายป 2011 มาพรอมกบคณสมบตใหมๆ มการเปลยนแปลงอนเตอรเฟซหลกทเรยกวา "Metro-Styled" ม ลกษณะเดยวกบอนเตอรเฟสของระบบปฏบตการวนโดวสโฟน 7 ไมใชแคการใชงานบน NoteBook และ PC แตระบบปฏบตวนโดวส 8 ยงท างานไดบน Tablets และนอกจากนยงมการเปลยนแปลงอน ๆ เชน Internet Explorer 10 เชอมตอและใชงานรวมกบสงคมออนไลน (Social Network ) สนบสนนการใชงานกบอปกรณแบบ Touchscreen ปรบปรงสมรรถนะการท างานทใหรวดเรวทเรยกวา "Metro interface" ม Windows Appplication Store เพมประสทธภาพการรกษาความปลอดภยความเปนสวนตวของผใชและเสถยรภาพของระบบ ใชทรพยากรหนวยความจ านอยลงกวาเดมท าใหท างานไดในเครองคอมพวเตอรทมคณสมบตของเครองไมสงมากนก สามารถใชงานไดในทกๆ อปกรณ (Device) รวมไปถงแอพพลเคชนตาง ๆ ทใชงานอยบนระบบปฏบตการวนโดวส 7 กสามารถน ามาใชงานบนระบบปฏบตการวนโดวส 8 ไดเชนเดยวกน 7.2 หลกการออกแบบ (Design Principle) มเปาหมายในการออกแบบดงน 7.2.1. ความปลอดภย (Security) ระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบใหมความปลอดภยสง โดยใชเทคโนโลยดานความปลอดภย ดงน 1.1 Kerberos เปนโปรโตคอลส าหรบพสจนตวตนบนระบบเครอขายโดยอาศยวธการเขารหสขอมลกอนสงและสามารถอานไดโดยใชรหสรวมเทานน 1.2 ACL (Access Control List) เปนตารางรายการส าหรบก าหนดสทธในการเขาถงขอมลตางๆ เชนการอาน (Read) การเขยน (Write) การประมวลผล (Execute) เปนตน ของผใชงานบนระบบเครอขายแตละคน 1.3 Packet Filter Firewall ใชส าหรบตรวจสอบและกลนกรองแพกเกจทผานเขาหรอออกบนระบบเครอขาย 1.4 ระดบมาตรฐาน C2 ของกระทรวงกลาโหมสหรฐ 7.2.2 ความสามารถในการขยายระบบ (Extensibility) ระบบปฏบตการวนโดวเอกพ (Windows XP) ก าหนดใหการด าเนนการพนฐานของระบบอยในระดบปองกนภายในคอรเนล (Kernel Space หรอ Protection Mode) สวนชดค าสงของผใชจะท างานในระดบพนทผใช (User Space) โดยด าเนนการผานทาง สภาพแวดลอมของระบบยอย (Environment Subsystem) เชน Security Subsystem, OS/2 Subsystem, Win32 Subsystem, POSIX Subsystem เปนตน อกทงยงสามารถขยายเพมเตมไดโดยไมมผลกระทบตอการท างานของชดค าสงตลอดจนสามารถเพมอปกรณ I/O ไดงาย แสดงไดดงรปท 7.1

121

รปท 7.1 แสดงโครงสรางสถาปตยกรรมในระดบชนของระบบปฏบตการวนโดวเอกพ (Windows XP) 7.2.3 ความเชอถอได (Reliability) ระบบปฏบตการวนโดวเอกพ (Windows XP) ไดผานการทดสอบการท างานทครอบคลมในทกๆ ดาน โดยมการทดสอบรหสตนฉบบ (Source Code) ทใชงานกวา 63,000 บรรทด เพอจะไดพบขอบกพรองของชดค าสง (Bug) นอยทสด รวมทงการตรวจสอบคนหาไดรเวอรอตโนมต (Auto Detected) เพอแกไขขอผดพลาดทอาจจะเกดขน (ศพทบญญต ราชบณฑตยสถาน, 2544) 7.2.4 การท างานรวมกนไดกบระบบปฏบตการวนโดวและมาตรฐานการตอประสานระหวางชดค าสงและระบบปฏบตการ (Windows and POSIX Application) เปนการท าใหชดค าสงส าเรจรปตางๆ (Application Program) สามารถท างานไดกบทกระบบปฏบตการ (Application Compatibility) โดยระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบใหมระบบตดตอกบผใช (User Interface) และระบบตดตอกบชดค าสงส าเรจรปตางๆ (Application Program interface: API) ตลอดจนชดค าสงทพฒนาโดยใชมาตรฐาน POSIX (Portable Operating System Interface) ซงเปนมาตรฐานในการตอประสานระหวางชดค าสงและระบบการโดยมระบบปฏบตยนกส (UNIX) เปนบรรทดฐาน ซงในปจจบนอยภายใต การควบคมของ Interix ซงเปนชดค าสงทท าใหผใชสามารถใชงานแอปพลเคชนของยนกส (UNIX) บนเครองทใชงานระบบปฏบตการวนโดวเอกพ (Windows XP) โดยไมตองแกไขชดค าสง

กระบวนการผใช (Native API Interface)

Executive

กระบวนการผใช (User Process)

กระบวนการผใช (User Process)

(Dynamic Link Library: DLL)

สภาพแวดลอมของระบบยอย (Environment Subsystem)

ระดบชนส าหรบการจดการกบฮารดแวรโดยตรง (Hardware Abstraction Layer: HAL)

Microkernel อปกรณขบ (Device Driver)

Hardware

Plug and Play Manager

Security Reference Monitor

Power Manager I/O Manager

Object Manager Configuration Manager

Cache Manager Virtual Memory

Manager

สวนของผใช (User Mode) พนทแกนกลาง (Kernel Space)

Physical Hardware

122

7.2.5 สมรรถนะสง (High Performance) ระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบใหมสมรรถนะสงทงในดานความเรวในการท างานและการตอบสนองผใชงานเนองจากมระบบยอยทเรยกวา Local Procedural Call: LPC ซงท าหนาทเปนผใหบรการส าหรบชดค าสงลกขายทอยในเครองเดยวกนสามารถเรยกใชงานโดยการสงขอความถงกนอยางมประสทธภาพ 7.2.6 ความสามารถในการใชงานไดในทกระบบ (Portability) ระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบมาใหสามารถท างานบนเครองคอมพวเตอรทมสถาปตยกรรมของฮารดแวรทแตกตางกน เนองจากมการแบงระดบชนส าหรบการจดการกบฮารดแวรโดยตรง (Hardware Abstraction Layer: HAL) ซงท าหนาทเปนตวประสานการท างานระหวางฮารดแวรและซอฟตแวรเพอใหการท างานรวมกนไดอยางมประสทธภาพ โดยจะท าการซอนความแตกตางของฮารดแวรจากสวนคอรเนล (Kernel) ของระบบปฏบตการ ท าใหชดค าสงค าสงสามารถท างานไดบนระบบคอมพวเตอรทมฮารดแวรตางกน 7.2.7 สนบสนนการใชงานไดหลายภาษา (International Support) ระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบมาใหสนบสนนการใชงานไดหลายภาษา (National-Language-Support: NLS) โดยมสวนระบบตดตอกบชดค าสงส าเรจรปตางๆ (Application Program interface: API) ซงเปนชดค าสงพเศษทใชส าหรบก าหนดรปแบบวนท (Date) เวลา (Time) และสกลเงน (Currency) ตาง ๆ ทวโลก โดยวธการเปรยบเทยบชดสายอกขระ (String) เพอก าหนดชดอกขระทแตกตางกน (Unicode) และสนบสนนชดอกขระในกลม ANSI โดยการแปลงไปเปนอกขระในกลม Unicode กอน โดยชดอกขระของระบบจะถกจดเกบในรปแบบของไฟลและสามารถเลอกปรบเปลยนไดตามการตดตงคาใหกบระบบ 7.3 สวนประกอบของระบบ (System Components) โครงสรางสถาปตยกรรมของระบบปฏบตการวนโดวเอกพ (Windows XP) แบงออกเปน 2 สวนคอ 1. สวนของผใช (User Mode) เปนสวนสามารถเขาถงทรพยากรอยางจ ากด เพราะตองปองกนไมใหม การแกไขขอมลเพอไมใหเกดความเสยหายตอระบบปฏบตการ โดยออกเปน 2 กลมยอย คอ 1.1 Environment Subsystem เปนสภาพแวดลอมการท างานของระบบยอยทจ าลองเปน ระบบปฏบตการทตางกน 1.2 Protection Subsystem เปนระบบยอยทท าหนาทดานการรกษาความปลอดภยของระบบ 2. สวนแกนกลาง (Kernel Mode) เปนสวนสามารถเขาถงทรพยากรอยางตางๆ อยางไมจ ากด แบงออกเปนระดบชน (Layer) ของแตละโมดล ไดแก 2.1 ระดบชนส าหรบการจดการกบฮารดแวรโดยตรง (Hardware Abstraction Layer: HAL) คอ ระดบชนของซอฟตแวรทซอนความแตกตางของฮารดแวรจากสวนคอรเนล (Kernel) ของ ระบบปฏบตการ ท าใหชดค าสงค าสงสามารถท างานไดบนระบบคอมพวเตอรทมฮารดแวรตางกน 2.2 ระดบชนแกนกลาง (Kernel) จดเปนออปเจก (Object) รปแบบหนง ประกอบดวยชด ออปเจก (Object) 2 ชด คอ

1. ชด Dispatcher Object 2. ชดของการประสานการท างานของระบบ แสดงดงตารางท 7.1 และตารางท 7.2

123

ตารางท 7.1 แสดงชด Dispatcher Object

ตารางท 7.2 แสดงชดการประสานการท างานของระบบ

2.3 ระดบชนประมวลผล (Executive) เขยนดวยภาษาซ (C Language) ประกอบดวย คอมโพเนนต (Component) ตางๆ ภายในประกอบดวยกระบวนการ (Procedure) ท สามารถท างานรวมกนไดซงคอมโพเนนตทอยในชนนประกอบดวย 2.3.1 Object Manager ท าหน าท ในการจ ดการก บออปเจกต (Object) ต างๆ ใน ระบบปฏบตการ วนโดวเอกพ (Windows XP) รวมไปถงกระบวนการ (Process) กระบวนการยอยภายใน กระบวนการ (Thread) ไฟล (File) สารบบ (Directory) และอปกรณรบและแสดงผล (I/O Device)

ค าอธบาย (Description) วตถ(Object)

ใชบนทกเหตการณทเกดและท าการประสานการท างาน Event Object

ควบคมการเกด Mutual Exclusion ใน Kernel Mode และ User Mode Mutant Object

เปน Object ทมเฉพาะใน Kernel Mode เปนตวชวยไมใหเกดตดตาย (Deadlock) Mutex Object

ท าหนาทเหมอนตวนบเพอควบคมจ านวน Thread ทใชทรพยากร Semaphore Object

เปน Object ท Run โดย Kernel และมความสมพนธกบ Process Object Thread Object

จะตดตามเวลาและสญญาณการขอเวลานอกเมอระบบใชเวลานานๆและการขดจงหวะ (Interrupt)

Timer Object

ค าอธบาย (Description) วตถ(Object)

ใชหยดการท างานของ Thread ทก าลงประมวลผล (Execute) อยและเรยกใชโปรแกรมยอย (Procedure)

Asynchronous Procedure Call (APC)

เปน Object ทรวมการใหบรการขดจงหวะยอย (Interrupt Service Routine) ไวส าหรบการขดจงหวะหลก (Interrupt Source)

Interrupt Object

เปน Object ทใชเรยกโปรแกรมยอย (Routine) พเศษโดยอตโยมตเมอระบบไฟฟาขดของ

Power Notify Object

เปน Object ทใชสถานะ (Status) เมอระบบไฟฟาวาขดของหรอไม Power Status Object

ท าหนาทแสดงต าแหนงของหนวยความจ าเสมอน (Virtual Memory) และควบคมขอมลทส าคญเพอท าการประมวลผล (Execute) ชดกระบวนการยอย (Thread)

Process Object

ท าหนาทเกบคาเวลาทใชในแตละชดของโคดโปรแกรม (Code) Profile Object

124

2.3.2 Virtual Memory Manager ท าหนาทในการจดการหนวยความจ าเสมอนในระบบปฏบตการวนโดวเอกพ (Windows XP) โดยท าการแมป (Map) ไปยงหนวยความจ าหลก (Main Memory) ใชการจดการพนฐานแบบเพจ(Page Base) ขนาด 4 KB เกบไวในเพจไฟล (Paging File) บนจานบนทก (disk) โดยทแตละกระบวนการ (Process) มหนวยความจ าเสมอนไดถง 4 GB โดยแบงพนท 1GB ส าหรบระบบปฏบตการและพนท 3GB ส าหรบการท างานของกระบวนการ (Process)

2.3.3 Process Manager ท าหนาทในการสราง (Create) การลบ (Delete) กระบวนการ (Process) และกระบวนการยอยภายในกระบวนการ (Thread)

2.3.4 Local Procedure Call Facility ท าหนาทสงผานค ารองขอและผลลพธระหวางกระบวนการ (Process) ลกษณะการท างานจะเหมอนกบการรองขอเพอใหสงขอมลทางไกล (Remote Procedure Call) โดยมากจะใชการสงระหวางเครอขายในรปแบบเครอขายแมและเครอขายลก (Client/Server) ผานชองทาง (Port) สอสาร

2.3.5 I/O Manager ท าหนาทจดการกบระบบไฟล (File System) อปกรณขบ (Device Driver) อปกรณขบระบบเครอขาย (Network Driver)

2.3.6 Cache Manager ท าหนาทในการตรวจสอบเมอมการใชเนอทจานบนทก (disk) วามขอมลสวนนนอยบนหนวยความจ าหรอไมเพอสามารถเรยกมาใชงานไดเรวขน สวนมากจะเกยวของกบการจดการไฟลมากกวาโดยขนาดของ Cache จะเปลยนแปลงแบบพลวต (Dynamic) ขนอยกบขนาดของหนวยความจ าใชงานไดในระบบ

2.3.7 Security Reference Monitor (SRM) ท าหนาทเกยวของกบการเขาถงขอมลเพอตรวจสอบความถกตองในชวงเวลาทมการประมวลผล (Run Time) นอกจากนจะท าการตรวจสอบประสทธภาพในการเขาถงขอมลของผใชงานในระบบ

2.3.8 Plug and Play Manager ท าหนาทแจงเตอนทนทเมอมอปกรณใหมเชอมตอเขากบระบบคอมพวเตอรในขณะทบต (Boot) เครองหรอขณะทระบบก าลงท างานอย

125

ขอดของระบบปฏบตการวนโดวเอกพ คอ การตดตอสอสารระหวางโมดลท าไดงาย แสดงไดดงรปท 7.2

รปท 7.2 แสดงโครงสรางสถาปตยกรรมของระบบปฏบตการวนโดวเอกพ (Windows XP) จากรปท 7.2 แสดงใหเหนถงโครงสรางสถาปตยกรรมของระบบปฏบตการวนโดวเอกพ (Windows XP)

ซงแบงเปน 2 สวนคอ 1. สวนของผใช (User Mode) เปนสวนทสามารถเขาถงทรพยากรไดอยางจ ากด เพราะตองปองกนไมใหมการแกไขขอมลเพอไมใหเกดความเสยหายตอระบบปฏบตการ แบงออกเปน Environment Subsystem เปนสภาพแวดลอมการท างานของระบบยอยทจ าลองเปนระบบปฏบตการทตางกนและสวนทเรยกวา Protection Subsystem เปนระบบยอยทท าหนาทดานการรกษาความปลอดภยของระบบ 2. สวนแกนกลาง (Kernel Mode) เปนสวนสามารถเขาถงทรพยากรอยางตางๆ อยางไมจ ากด แบงออกเปนระดบชน (Layer) ของแตละโมดล ไดแกระดบชนส าหรบการจดการกบฮารดแวรและระดบชนแกนกลางจดเปนออปเจก (Object) ซงประกอบดวยชด Dispatcher Object และชดของการประสานการท างานของระบบ

Local Procedure

Call Manager

Virtual Memory Manager

Process Manager

Plug and Play

Manager

Object Manager

Security Reference Monitor

ตวจดการอปกรณ I/O (I/O Manager)

ระดบชนส าหรบการจดการกบฮารดแวรโดยตรง (Hardware Abstraction Layer: HAL)

แกนกลาง (Kernel)

Hardware

Windows Manager

File System

สวนของผใช (User Mode)

Executive

Cache Manager

Device Driver

Network Driver Graphic Device

Manager

Win32 Subsystem

Logon Process OS/2 Applications

Win16 Applications

Win32 Applications

MS-DOS Applications

POSIX Applications

OS/2 Subsystem

Win16 VDM

Security Subsystem

Authentication Package

Security Account Manager Database

MS-DOS VDM

POSIX VDM

สวนแกนกลาง (Kernal Mode)

126

7.4 ระบบงานยอยทเกยวของ (Environmental Subsystems)

เปนกระบวนการ (Process) ทอยในสวนของผใช (User Mode) ท าใหระบบปฏบตการวนโดวเอกพ (Windows XP) สามารถประมวลผล (Run) ชดค าสงทถกพฒนาจากระบบปฏบตการอนได เชน Windows 16 Bits, MS-DOS, POSIX, Character-Based of OS/2 แตละระบบงานยอยจะม 1 ชดค าสงส าเรจรปเพอใชตดตอ (Application Program Interface: API) โดยระบบปฏบตการวนโดวเอกพ (Windows XP) จะม Win32 เปนระบบงานหลกทท าหนาทในการเรมตน (Start) ทกกระบวนการ (Process) ทมการประมวลผล (Execute) โดย Win32 จะเรยกใชงานตวจดการหนวยความจ าเสมอน (Virtual Memory Manager) เพอบรรจชดค าสง (Load Code) และสงสถานะกลบไปยง Win32 จะท าการตรวจดวามระบบยอยทเหมาะสมประมวลผล (Run) อยหรอไม ถาไมมมนจะเรมตนกระบวนการ (Process) ในสวนของผใช (User Mode) แลวสรางกระบวนการ (Process) เพอประมวลผล (Run) งาน (Application) และสงการควบคมไปยงระบบงานยอยทเกยวของ (Environmental Subsystems) โดยท Win32 สามารถแสดงผลในรปของกราฟกและตวอกษรได โดยทตวอกษรจะแสดงผลเปนแอสก (ASCII) สวนกราฟกจะแสดงผลใน Windows

7.5 การจดการไฟล (File System)

ระบบปฏบตการวนโดวเอกพ (Windows XP) สนบสนนการจดการไฟลหลายรปแบบ ดงน 1. FAT-16 (File Allocation Table-16 Bits) ใชแอดเดรส (Address) แบบ 16 บต ขนาดของจานบนทก (disk) สามารถก าหนดพารทชน (Partition) มขนาดไดไมเกน 2 กกะไบต (GB) 2. FAT-32 (File Allocation Table-32 Bits) ใชแอดเดรส (Address) แบบ 32 บต ขนาดของจานบนทก (disk) สามารถก าหนดพารทชน (Partition) มขนาดไดไมเกน 2 เทราไบต (2TB = 2048 GB) 3. NTFS (New Technology File System) เปนระบบไฟลแบบใหมทสนบสนนงานทงระบบปฏบตการวนโดวเอกพ (Windows XP) และระบบปฏบตการวนโดวเอนท (Windows NT) ใชแอดเดรส (Address) แบบ 64 บต ขนาดของจานบนทก (disk) สามารถก าหนดพารทชน (Partition) มขนาดไดถง 264 ไบต (Byte) 4. OS/2 HPFS (High Performance File System) เปนระบบไฟลทน าไปใชงานรวมกบระบบปฏบตการ OS/2 ของ IBM เวอรชน 1.2 HPFS ใชส าหรบจดการไฟลขนาดใหญ 2 กกะไบต (GB) บนพนทของจานบนทก (disk) จ านวนมากได (มขนาดไดสงสดถง 2 เทราไบต) และก าหนดชอไฟลมขนาดความยาวไดถง 256 ไบต แสดงดงตารางท 7.3

ตารางท 7.3 แสดงการจดการไฟลรปแบบตางๆ

รปแบบไฟล

FAT-16

FAT-32

NTFS

OS/2 HPFS

ขนาดแอดเดรส

16 บต

32 บต

64 บต

64 บต

ขนาดพารทชน

< 2 GB

< 2 TB

264 ไบต

< 2 TB

ความยาวของไฟล

80

128

128

256

127

7.6 การจดการเครอขาย (Networking)

ระบบปฏบตการวนโดวเอกพ (Windows XP) นอกจากจะใชจดการกบคอมพวเตอรสวนบคคลแลว ยงสนบสนนการท างานบนระบบเครอขายแบบเพยรทเพยร (Peer-to-Peer) และเครอขายไคเอนดเซฟทเวอร (Client/Server) โดยมเครองมอในการจดการระบบเครอขาย การสงขอมล กระตดตอกนระหวางกระบวนการ (Interprocess Communication) การใชไฟลขอมลรวมกนบนเครอขาย (Sharing Files) โดยมสวนตอประสาน (Interface) ในเครอขายทสนบสนน การท างาน 2 รปแบบคอ 1. NDIS (Network Device Interface Specification) เรมพฒนาขนในป ค.ศ. 1989 โดยความรวมมอ ระหวางบรษทไมโครซอฟท (Microsoft Corporation) และบรษททรคอม (3Com) เพอแยกระบบ Network Adaptor ออกจากโปรโตคอลในระดบชนทรานสปอต (Transport) เพอไมใหเกดผลกระทบกบสวนอนทอยระหวางระดบชน Data Link Control และ Media Access Control รปแบบของสถาปตยกรรมเครอขายมาตรฐานในชอของ " รปแบบ OSI " (Open System Interconnection Model) และมโปรโตคอลทสามารถท างานไดหลายเครอขายทแตกตางกน (Network Adapter) 2. TDI (Transport Driver Interface) เปนรปแบบ (Model) ของ OSI โดยจะท าการเชอมตอ (Interface) ระหวางชนทราสปอต (Transport) และชนเซสชน (Session) ซงสามารถสงขอมลไดโดยแบบทตองมการสรางการตดตอกนกอน (Connection) และแบบทไมตองมการสรางการตดตอ (Connectionless) ในระหวางการสงขอมลบนระบบเครอขาย

7.6.1 โปรโตคอล (Protocol) ซงระบบปฏบตการวนโดวเอกพ (Windows XP) สนบสนนการท างานโดยมโปรโตคอลทเกยวของ ดงน 1. SMB (Server Massage Block) เปนโปรโตคอลทเรมทใชงานในระบบปฏบตการดอส (MS-DOS 3.1) ใชการสงค ารองขอ I/O Request ผานทางเครอขาย โดยม Message 4 ประเภททเกยวของ คอ 1.1 Session Control เปนค าสงเพอเรมตนและจบการเชอมตอเพอใชงานทรพยากรรวมกน 1.2 File เปน Message ทใชเขาถงไฟลในเซรฟเวอร 1.3 Printer เปน Message เพอสงขอมลไปยงแถวล าดบ (Queue) เพอสงพมพงานจาก เครองระยะไกลและรบขอมลเพอบอกสถานะ (Status) กลบมา 1.4 Message เปน Message ทใชตดตอสอสารกบเครองคอมพวเตอร (Workstation) ตวอน 2. NetBIOS (Network Basic Input/output System) เปนโปรโตคอลทพฒนาขนมาในชวงป ค.ศ. 1980 ส าหรบเครอขายในรปแบบ Hardware Abstraction Interface โดยสราง Login Name และสราง Logical Connection เพอการถายโอนขอมลระหวาง Session บนระบบเครอขายทงสอง 3. NetBEUI (NetBIOS Extended User Interface) เปนโปรโตคอลทพฒนาขนในชวงป ค.ศ. 1985 โดยบรษทไอบเอม (IBM) ใชงานบนระบบปฏบตการวนโดว 95 (Windows 95) สนบสนนการใชทรพยากรรวมกนบนเครอขาย แตมขอจ ากดจะใชชอคอมพวเตอรเพอบอกต าแหนง (Address) ไมสนบสนนการท างานในรปแบบ Routing จงมการพฒนาโปรโตคอลเพอใชเชอมตอระบบคอมพวเตอรทตางสถาปตยกรรม (Platform) เขาดวยกน เชน SNMP (Simple Network Management Protocol), DHCP (Dynamic Host-Configuration Protocol), WINS (Windows Internet Name Service) เปนตน

128

4. PPTP (Point-to-Point Tunneling Protocol) เปนโปรโตคอลทใชเพอตดตอสอสารระหวางเซฟทเวอร (Remote Access Server) ของระบบปฏบตการวนโดวเอกพ (Windows XP) กบไคลเอนต (Client) โดยท าการเชอมตอผานทางอนเตอรเนต (Internet) สนบสนนการท างานในรปแบบ Multiprotocol และการเขา รหสในรปแบบ VPN (Virtual Private Network) อกดวย 5. (Data Link Control) เปนโปรโตคอลทใชเพอตดตอสอสารกบเครองคอมพวเตอรเมนเฟรม (Mainframe) และเครองพมพของฮวเลตเพกการด (Hewlet Package) ผานทางอนเตอรเนต (Internet) 6. AppleTalk เปนโปรโตคอลทออกแบบโดยบรษทเอปเปล (Apple) เพอใหเครองคอมพวเตอรแมคอนทอช (Macintosh)สามารถทจะเชอมตอและใชไฟลรวมกนได และท าใหระบบปฏบตการวนโดวเอกพ (Windows XP) เชอมตอกบคอมพวเตอรแมคอนทอช (Macintosh) โดยสามารถทจะใชไฟลและเครองพมพรวมกนได 7.6.2 กลไกการประมวลผลขอมลแบบกระจาย (Distributed-Processing Mechanisms) ซงแมระบบปฏบตการวนโดวเอกพ (Windows XP) จะไมใชระบบปฏบตการแบบกระจาย แตกลไกการท างานสามารถสนบสนนการประมวลผลขอมลแบบกระจายได เชน NetBEUI, Named Pipes and Mailslots, Windows Sockets, ROC และ Network Dynamic Data Exchange (NetDDE)

7.7 การจดการความปลอดภย (Security Management) ระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบใหมความปลอดภยสง ระดบ

มาตรฐาน C2 ของกระทรวงกลาโหมสหรฐ เชน การใชชอลอกอน (Login Name) และการใชรหสผาน (Password) ส าหรบเขาสระบบ เปนตน และผใชทกคนจะถกก าหนดดวยรหสการรกษาความปลอดภย (Security ID) โดยประกอบดวยเลขฐานสองก าหนดเปนสวนหวแลวตามดวยเลขสม หลกการท างานเมอมผใชเรมตนกระบวนการ (Process) ระบบงานยอยภายในกระบวนการ (Thread) จะสามารถประมวลผล (Run) ภายใต SID ของผใชหรอกลมของผใชทไดรบอนญาตเทานน สวนหลกการพนฐานอนๆ คอ การใชตวควบคมความปลอดภย (Security Descriptor) โดยททก Object จะมตวควบคมความปลอดภยทสมพนธกบตวเองเพอแสดงใหเหนวาผใชคนใดสามารถด าเนนการใดไดบาง แตถาไมมตวควบคมความปลอดภย (Security Descriptor) จะใชการเขาถงแบบเฉพาะแทน (Access Token)

129

สรป บรษทไมโครซอฟตไดมการพฒนาซอฟตแวรทเรยกวา วนโดวส (Windows) ทมลกษณะเปนงานแบบกราฟก (Graphic-User Interface: GUI) ใกลเคยงกบแมคอนทอชโอเอส (Mac OS X) เพอใหการใชงานดอสท าไดงายขน แตวนโดวสจะยงไมใชระบบปฏบตการจรง ๆ เนองจากมนจะท างานอยภายใตการควบคมของดอสอกท กลาวคอจะตองมการตดตงดอสกอนทจะตดตงระบบปฏบตการวนโดวส และผใชจะสามารถเรยกใชค าสงตาง ๆ ทมอยในดอสไดโดยผานทางวนโดวส ซงจะงายกวาการออกค าสงโดยพมพจากแปนพมพโดยตรง รองรบการท างานส าหรบผใชคอมพวเตอรสวนบคคล หนวยงานตางๆ และผใชในภาคธรกจทงขนาดเลกและขนาดใหญขนมา นอกจากนระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบมาใหสามารถท างานบนเครองคอมพวเตอรทมสถาปตยกรรมของฮารดแวรทแตกตางกน เนองจากมการแบงระดบชนส าหรบการจดการกบฮารดแวรโดยตรง (Hardware Abstraction Layer: HAL) ซงท าหนาทเปนตวประสานการท างานระหวางฮารดแวรและซอฟตแวรเพอใหการท างานรวมกนไดอยางมประสทธภาพ โดยจะท าการซอน ความแตกตางของฮารดแวรจากสวนคอรเนล (Kernel) ของระบบปฏบตการ ท าใหชดค าสงค าสงสามารถท างานไดบนระบบคอมพวเตอรทมฮารดแวรตางกน

130

ค าถามทบทวน

1. เราสามารถแบงการพฒนาระบบปฏบตการวนโดวออกเปนกรนอะไรบาง 2. ระบบปฏบตการวนโดวเอกพ (Windows XP) ถกออกแบบใหมความปลอดภยสง โดยการน าเทคโนโลยดานความปลอดภยใดมาใชจงอธบาย 3. จงอธบายโครงสรางสถาปตยกรรมในระดบชนตางๆ ของระบบปฏบตการวนโดวเอกพ (Windows XP) 4. โครงสรางสถาปตยกรรมของระบบปฏบตการวนโดวเอกพ (Windows XP) แบงออกเปนกสวนอะไรบาง 5. ระบบปฏบตการวนโดวเอกพ (Windows XP) สนบสนนการจดการไฟลแบบใดบาง 6. จงอธบายวธการจดการเครอขาย (Networking) ตอไปน 6.1 NDIS (Network Device Interface Specification) 6.2 TDI (Transport Driver Interface) 7. จงอธบายโปรโตคอล (Protocol) ของระบบปฏบตการวนโดวเอกพทสนบสนนการท างานตอไปน 7.1 SMB (Server Massage Block) 7.2 NetBIOS (Network Basic Input/output System) 7.3 NetBEUI (NetBIOS Extended User Interface) 7.4 PPTP (Point-to-Point Tunneling Protocol) 7.5 DLC (Data Link Control) 7.6 AppleTalk 8. จงอธบายวธการจดการความปลอดภย ระดบมาตรฐาน C2 ของกระทรวงกลาโหมสหรฐ

131

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556, กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ ระบบปฏบตการวนโดวส. (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, ธนวาคม 20, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

132

แผนบรหารการสอนประจ าบทท 8 หวขอเนอหา - ประวตความเปนมา (History) - เปาหมายของการออกแบบ (The Gold of Design) - การจดการหนวยความจ า (Memory Management) - การจดการกระบวนการ (Process Management) - การจดการอปกรณในการรบและแสดงผล (I/O Device Management) - การจดการไฟล (File Management) วตถประสงคเชงพฤตกรรม - สามารถเขาใจประวตความเปนมาของระบบปฏบตการยนกซ (UNIX) - มความเขาใจเปาหมายในการออกแบบระบบปฏบตการยนกซ (UNIX) - มความเขาใจโครงสรางการจดการหนวยความจ าและการจดการกระบวนการ - มความรและความเขาใจจดการอปกรณในการรบและแสดงผลของระบบปฏบตการยนกซ (UNIX) - สามารถเขาใจวธการจดการไฟล วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

133

บทท 8 กรณศกษา (Case Study) ระบบปฏบตการยนกซ (UNIX Operating System)

ยนกซ (UNIX) เปนระบบปฏบตการทไดรบความนยมในกลมนกวจยและผพฒนาระบบปฏบตการทวโลกระบบหนงเพราะมจดเดนดวยกนหลายประการ เชน มความยดหยน (Flexibility) สามารถทจะแกไขหรอปรบปรงใหเขากบระบบอนไดตามตองการ รองรบการท างานทงในระบบงานภายในองคกรขนาดกลางและองคกรขนาดใหญ เปนระบบทมซอฟตแวรโอเพนซอรซ (Open Source) ท าใหผพฒนาหรอผทสนใจสามารถทจะเขาไปคนควาและท าการศกษาไดดวยตนเอง อกทงยงเปนระบบปฏบตการทไมยดตดกบอปกรณ (Device) หรอฮารดแวร (Hardware) ทเกยวกบกบระบบอกดวย เปนตน ในบทนจะกลาวถงประวตความเปนมา หลกการออกแบบ สวนประกอบของระบบ ระบบงานยอย การจดการไฟล ตลอดจนการจดการเครอขายและการรกษาความปลอดภยของระบบปฏบตยนกซ (UNIX) อธบายไดตามหวขอตางๆ ดงน (วกพเดย สารานกรมเสร, 2557)

8.1 ประวตความเปนมา (History)

ในป ค.ศ.1960 สถาบน MIT (Massascusetts Institute of Technology) และบรษท GE (General Electric) ประเทศสหรฐอเมรกา ไดรวมกนพฒนาโครงการภายใตชอวา Multics เพอพฒนาระบบปฏบตการใหสามารถท างานรวมกบเครองคอมพวเตอรเมนเฟรม (Mainframe Computer) รน GE และมความสามารถท างานในลกษณะแบบโตตอบ (Interactive) กบผใชอกทงยงมระบบทชวยอ านวยความสะดวกตอการใชแฟม (File) และขอมล (Data) ใหสามารถท างานรวมกนได ซงตอมาไดเกดปญหาขนมากมายหลายประการ จนกระทงในป ค.ศ. 1969 สถาบนวจย Bell Labs ไดถอนตวออกจากโครงการ แตโครงการกยงด าเนนการตอโดย Ken Thompson และ Dennis Ritchie ไดรวมกนพฒนาระบบปฏบตการใหมขนมาเพอใหสามารถท างานบนเครองคอมพวเตอรรน PDP-7 และใชชอวาระบบปฏบตการทรวมกนพฒนาขนมาใหมนวา ระบบปฏบตการยนกซ (UNIX Operating System) เพอใหออกเสยงใกลเคยงกบระบบ Multics ดงนนตนก าหนดของระบบปฏบตการยนกซกคอ Multics นนเอง ไมวาจะเปนชอระบบแฟมขอมล (File Name) ทใช แนวคดของตวแปรค าสง (Shell) ระบบปฏบตการยนกซไดมการพฒนาอยางตอเนองมาเปน Version 2 เพอท างานบนเครองคอมพวเตอรไดหลายรน โดนเฉพาะกบเครองคอมพวเตอรรน PDP-11/20 โดยใชภาษา Assembly เปนภาษาเครอง (Machine Language) และไดตอมา ในป ค.ศ. 1976 ไดพฒนาและปรบปรงดวยภาษาซ (C Language) เปนระบบปฏบตการยนกซ Version 6 เผยแพรไปสมหาวทยาลยตาง ๆ ใหสามารถใชงานกนอยางแพรหลายดวย ในป ค.ศ. 1978 สถาบน AT&T ผรบผดชอบหลกของระบบปฏบตการยนกซ ซงเปนองคกรแมของหองวจย Bell Labs ไดพฒนาระบบปฏบตการยนกซ Version 7 ซงเปนตนแบบของระบบปฏบตการยนกซ (UNIX Operating System) รนใหมๆ ออกมาอยางตอเนองท าให

134

ระบบปฏบตการยนกซกลายเปนผลตภณฑทมใชงานกนอยางแพรหลายแทนทจะเปนเครองมอวจยเฉพาะทางดานตางๆ ภายในสถาบน โดยมชอใหเรยก ภายใตชอรนตางๆ แลวแตปทไดพฒนา เชน ในป 1982 พฒนาใชชอรนวา System III และ ในป 1993 พฒนาใชชอรนวา System V เปนตน

เนองจากมผสนใจพฒนาระบบปฏบตการยนกซ (UNIX Operating System) เพมขนมาหลายแหง สามารถแยกตามสถาบนทพฒนาและมชอเรยกแตกตางกนออกไปไดดงน - University of California at Berkley ไดพฒนา BSD UNIX (Berkley Software Distribution) - กระทรวงกลาโหมของสหรฐฯ (Defense Advanced Research Projects Agency - DARPA) ไดใหทนกบ Berkley ในการพฒนาระบบปฏบตการยนกซ ใหมขดความสามารถดานเครอขายเพมขน เชน 1. รน DARPA Version 4BSD สนบสนนการท างานในระบบเครอขายของ ซงมโปรโตคอลทใชในการ ตดตอสอสาร คอ TCP/IP 2. รน DARPA Version Version 4.4 BSD สนบสนนการท างานของโปรโตคอล X.25 - บรษทไมโครซสเตม (Sun Microsystem Co.,Ltd) ไดพฒนา SunOS และ Solaris - บรษท DEC ไดพฒนา Ultrix และเปลยนชอเปน OSF/1 - บรษทไมโครซอฟต ไดพฒนา XENIX - บรษทไอบเอม ไดพฒนา AIX เปนตน ซงจะเหนวาไมวาจะเปนสถาบนใดทพฒนาระบบปฏบตการยนกซ (UNIX Operating System) กตาม ตางกยดแนวทางของสถาบน BSD UNIX (Berkley Software Distribution) หรอไมกใชระบบปฏบตการยนกซ (UNIX Operating System) รน System V มาเปนตนแบบเพอพฒนาใหเปนรปแบบของตวเอง

ระบบปฏบตการยนกซ (UNIX Operating System) ทใชงานอยในปจจบนมการจดทะเบยน (Registered Trademark) ภายใตเครองหมายการคาทชอวา The Open Group ซงเปนผก าหนดและรบรองมาตรฐานโดยพจารณาจาก 2 คณลกษณะดวยกน คอ

1. ระบบปฏบตการทไดรบรองมาตรฐาน UNIX เชน Digital UNIX, IBM's Open Edition MVS, SCO UNIX เปนตน

2. ระบบปฏบตการไมไดจดทะเบยนรบรองมาตรฐาน UNIX ซงบางครงอาจเรยกวาระบบปฏบตการทคลายกบ UNIX (UNIX Compatible) เชน Linux, IBM AIX, Sun Solaris, เปนตน

8.2 เปาหมายของการออกแบบ (The Gold of Design) เนองจากยนกซ (UNIX) เปนระบบปฏบตการขนาดใหญ ดงนนเปาหมายหลกของการออกแบบ คอ การท างานหลายๆ งานพรอมกน (Multitasking) และผใชหลายคนสามารถท างานไดพรอมกน (Multi-User) อกทงยงเปนระบบปฏบตการทพฒนามาใหใชงานไดกบเครองคอมพวเตอรขนาดใหญ เชน เครองคอมพวเตอรเมนเฟรม (Mainfram Computer) มนคอมพวเตอรและเวรกสเตชน (MiniComputer and Workstation) เครองไมโครคอมพวเตอร (MicroComputer) อกทงยงรองรบการท างานกบเครองคอมพวเตอรทม ผใช (User) สามารถเชอมตอเขามาไดมากถง 120 ตว ไดพรอม ๆ กน

135

ในเวลาเดยวกน เหมาะกบการเชอมตอบนระบบเครอขายคอมพวเตอร (Computer Network) นอกจากนนยงสามารถเคลอนยายงานและแอพพลเคชนไปมาระหวางตางสถาปตยกรรม (Multi-Platform) ได งานทประมวลผลอยบนระบบปฏบตการดอส (DOS) หรอระบบปฏบตวนโดว (Windows Opearating System) กยงสามารถโอนยายมาใชประมวลผลบนระบบปฏบตการยนกซและยงมอรรถประโยชน (Utility) ทคอยชวยเหลอใหผใชงานงายและสะดวกขนอกดวย

8.3 การจดการหนวยความจ า (Memory Management) เปนระบบปฏบตการยนกซ (UNIX) จะใชวธการจดการหนวยความจ าโดยใชเทคนควธการสลบเขา/ออก (Swapping) หรอเทคนควธจดการเพจตามความตองการ (Demand Paging) โดยพจารณาจากงาน (Task) หรอกระบวนการ (Process) ทเขามาใชงานในระบบ ดงน เทคนควธการสลบเขา/ออก (Swapping) จะเหมาะกบงานหรอกระบวนการทมขนาดเลกโดยจะเกบงานหรอกระบวนการทตองการประมวลผล (Execute) ลงในหนวยความจ าหลก (Main Memory) แตวธกมขอจ ากดเกดขนตรงทวาการก าหนดขนาดของงานหรอกระบวนการทเขามาประมวลผล เชน ถาระบบมขนาดหนวยความจ า 256 MB ตองใชพนทส าหรบจดเกบระบบปฏบตการขนาด 128 MB เหลอพนทส าหรบกระบวนการอย 128 MB ซง ณ เวลาหนงถามงานหรอกระบวนการขนาดเทากบหนวยความจ าทเหลอแสดงวาจะมเพยงกระบวนการเดยวเทานนทประมวลผลอย หากกระบวนการอนทมขนาดเลกหรอใกลเคยงกบกระบวนการแรกตอหยดรอ (Wait) ใหกระบวนการแรกท างานเสรจกอนจงจะสลบเอากระบวนการอนเขามาประมวลผลแทนกระบวนการเดมท าใหตองเสยเวลาและใชประสทธภาพของระบบไมดเทาทควร เทคนควธจดการเพจตามความตองการ (Demand Paging) เปนวธการท างานควบคกบเทคนคการจดการหนวยความจ าเสมอน (Virtual Memory) ท าใหงานหรอกระบวนการทมขนาดใหญสามารถเขามาประมวลผลในหนวยความจ าทเลกกวาได โดยน างานหรอกระบวนการทตองการประมวลผลไวในหนวยความจ าหลกสวนงานหรอกระบวนการทรอการประมวลผลถกบรรจเขาไปเกบไวในหนวยความจ าส ารอง แสดงไดดงรปท 8.1

รปท 8.1 แสดงสวนประกอบตางๆ ของหนวยความจ าในระบบปฏบตการยนกซ (UNIX)

สแตก (Stack)

ขอมล (Data)

ขอมล (Data)

โคดโปรแกรม (Program Code)

. . .

136

จากรปท 8.1 แสดงสวนประกอบตางๆ ของหนวยความจ าในระบบปฏบตการยนกซ โดยก าหนดสวนสแตก (Stack) และสวนขอมล (Data) เปนสวนเฉพาะทงานและกระบวนการนนๆ ท างานเทานนเมอท างานเสรจกจะคนพนทหนวยความจ าทใชแลวคนระบบ ไลขนไปจนถงสวนบนสดของหนวยความจ าจะเปนสแตก (Stack) ซงใชเกบขอมลค าสงในการเรยก (Call) หรอค าสงในการขดจงหวะ ( Interrupt) สวนการท างานของชดค าสงชดค าสง (Program Code) จะถกแบงปน (Share) เพอใหทกกระบวนการ (Process) สามารถทจะเรยกใชงานไดแตจะก าหนดสทธเฉพาะอานอยางเดยว (Read) โดยชดค าสงชดค าสงจะถกกนไวใหแตละกระบวนการท างานจนเสรจสน โดยระบบปฏบตการยนกซจะใชตารางตวอกษร (Text Table) ส าหรบเกบรอบ (Track) ของกระบวนการทใชงานชดค าสงชดค าสง ขณะทระบบปฏบตการยนกซท างาน หนวยความจ าจะเกบสวนทเปนคอรเนล (Kernel) ไวตลอดเวลา เพราะคอรเนล (Kernel) เปนกลมของชดค าสงทท างานพนฐานและเกบเฉพาะเพจ (Page) ทจ าเปนตองใชไวหนวยความจ าเทานน โดยคอรเนล (Kernel) จะมค าสงเรยก (System Call) เพอคอยใหบรการกระบวนการ (Process) ทรองขอการท างานบางอยาง เชน การรบสงขอมลระหวางเครอขาย การเรยกใชอปกรณในการรบและแสดงผล (I/O Device) ขอมล เปนตน 8.4 การจดการกระบวนการ (Process Management) ระบบปฏบตการยนกซ (UNIX Operating System) ภายในคอรเนล (Kernel) จะมฟงกชน (Function) ในการจดการกระบวนการ (Process Management) ทเกยวของกบการจดสรรเวลาในการใชงานหนวยประมวลผลกลาง (Central Processing Unit: CPU) การจดตารางการท างาน (Process scheduling) ซงจะเกยวของกบการคดเลอกกระบวนการ (Process) ทเปลยนสถานะจาก สถานะพรอม (Ready) เขามาประมวลผล (Execute) ตามรปแบบของอลกอรทมและเวลาทจดสรรไว ซงสวนใหญจะใชอลกอรทมแบบแถวล าดบตามความส าคญ (Priority Queue) ในการเลอกกระบวนการ (Process) เขามาประมวลผล (Execute) สวนกระบวนการ (Process) ทใชเวลาของ CPU มากจะถกบรรจเขาไปเกบไวในหนวยความจ าส ารองแทน เชน ฮารดจานบนทก (disk) (Hard disk) เปนตน ระบบปฏบตการยนกซจะมค าสงส าหรบจดการกระบวนการ ดงน ค าสง Fork เปนค าสงทยอมใหชดค าสง a สามารถด าเนนการตางกบชดค าสง b ได เชน เปดไฟล บนทกขอมลของชดค าสง b โดยแบงส าเนา (Copy) ออกเปน 2 ชด เมอมการประมวลผล (Execute) จะสราง Process ID (PID) ขนมาใหมและจะม PID ทไมซ ากน

ค าสง Wait เปนค าสงทบอกใหกระบวนการ (Process) หยดรอ ค าสง Exec ใชส าหรบสงใหชดค าสงเรมท าการประมวลผลใหม

8.5 การจดการอปกรณในการรบและแสดงผล (I/O Device Management) ระบบปฏบตการยนกซ (UNIX Operating System) สามารถควบคมการท างานของอปกรณในการรบและแสดงผล (I/O Device Management) ทตางชนดกนไดโดยใชไฟลชนดพเศษท

137

ชอวา “i-node” ทอยภายในสารบบ ซงเกบขอมลและรายละเอยดของอปกรณ (Device Directory) ในขณะทมการรบสงขอมลระหวางหนวยความจ าหลก (Main Memory) กบอปกรณตอพวง (Peripheral Device) และม ชดค าส งท ใ ชควบคมการท างานของอปกรณทตดตงอย ในระบบปฏบตการทเรยกวา “อปกรณขบ (Device Driver)” ซงโดยทวไปจะมไฟลทเกยวของเพอใชเกบขอมลของอปกรณอยในสารบบ (Directory) ทชอวา /dev นอกจากนระบบปฏบตการยนกซยงมไฟล conf.c ทใชเกบคาพารามเตอร (Parameter) ส าหรบใชควบคมทรพยากรตางๆ เชน ขนาดของทพกขอมล (Buffer) ของคอรเนล (Kernel) หรอขนาดพนทส าหรบการสลบ (Swap) กระบวนการ (Process) เขาหรอออกเมอมการเรยกใชงานอปกรณในการรบและแสดงผล ( I/O Device) เปนตน โดยระบบปฏบตการยนกซแบงระบบ I/O ส าหรบจดการอปกรณตอพวงตางๆ เปน 2 ประเภท ไดแก 1. ระบบ I/O ทเกยวของกบการจดการอปกรณทเกบขอมลเปนบลอก (Block) เชน จานบนทก (disk) (Disk) เทปแมเหลก (Magnetic Tap) ซงอาจจะเรยกอปกรณกลมนวา อปกรณทสงขอมลเปนบลอก (Block Device) เปนตน 2. ระบบ I/O ทเกยวของกบการจดการอปกรณทเกบขอมลเปนตวอกษร (Character) หรออปกรณทเกบขอมลแบบไมเปนโครงสราง (Unstructured I/O) เชน เครองพมพ (Printer) ซงอาจจะเรยกอปกรณกลมนวา อปกรณทตองตดตอสอสารเพอสงขอมล (Communication Device) หรออปกรณทรบสงขอมลเปนตวอกขระ (Character Device) เปนตน 8.6 การจดการไฟล (File Management) การจดการไฟลในระบบปฏบตการยนกซ (UNIX Operating System) จะใชวธการจดการไฟลในรปแบบไดเรกทอรเดยว (Single Directory) แตมหลายระดบชน (Multi-Level) เรมตงแตรท (root) ไลลงมาเรอย ๆ จนถงผใชไฟลตาง ๆ ไมวาจะเกบลงในจานบนทก (disk) (Disk) ตวไหน เทป (Tape) มวนไหน กจะรวมอยในไดเรกทอรเดยวกนทงหมด 8.6.1 ประเภทของไฟล (File Type) โดยยนกซ (UNIX) แบงไฟลออกไดเปน 3 ชนด ไดแก ไฟลธรรมดา (Ordinary File) ไฟลพเศษ (Special File) และ สารบบ (Directory) ดงน 1. ไฟลธรรมดา (Ordinary File) คอกลมของขอมลหลายๆ ไบตวางเรยงตอกนไมมโครงสรางของขอมลใด ๆ เชน ไฟลขอมล ไฟลชดค าสง เปนตน การทยนกซมองไฟลเปนกลมของไบตทไมมโครงสรางขอมลน สรางความยดหยนในการท างานของชดค าสงตาง ๆ ชดค าสงทตองการเกบขอมลไวในไฟลตองจดการเรองโครงสรางขอมลเอาเองทงหมด ชดค าสงจงมอสระในการจดโครงสรางขอมลไฟลไดอยางเตมท 2. ไฟลพเศษ (Special File) คอ ไฟลทสามารถอางองไปถงอปกรณตาง ๆ ในระบบ ยนกซมองอปกรณตาง ๆ ในระบบเปนไฟล เชน เครองพมพ 1 เครองเปน 1 ไฟล จอภาพ 1 จอภาพเปน 1 ไฟล ไฟลเหลานจะตดตอกบตวขบอปกรณของอปกรณนน ๆ ดงนนการทจะสงขอมลหรอรบขอมลจากอปกรณตาง ๆ ตองสงหรอรบขอมลผานทางไฟลของอปกรณนนๆ ซงวธนเกดผลดในแงของการถายเทขอมลของกระบวนการตาง ๆ 3. ไฟลสารบบ (Directory) คอ ไฟลทยนกซก าหนดโครงสรางขอมลไวให โดยมโครงสรางเปนสารบบของระบบคอ ขอมลหนงตวจะประกอบไปดวยชอไฟล และหมายเลขไอโหนดของไฟลนน

138

นอกจากนสารบบยงสามารถเชอมโยงถงกนไดดวยสารบบ (directory) และไฟลทเกบรวมอยในจานบนทก (disk) หรอเทป หรออปกรณอน ๆ ทไมไดเปนสารบบ เดยวกนกบสารบบ ของยนกซ สามารถน ามาตอเชอมโยงเขากบสารบบ ของระบบเปน ไดเรกทอรยอยหนงได โดยยนกซมค าสงพเศษคอค าสง mount เพอใชเชอมสารบบ อนเขากบสารบบ ของระบบ และในท านองเดยวกนยนกซกมค าสง unmount เพอตดสารบบ ยอยออกจากระบบทงค าสง mount และ unmount นมประโยชนส าหรบการใชจานบนทก (disk) หรอเทปทถอดเขาออกจากตวขบได 8.6.2 การตงชอไฟลในระบบปฏบตการยนกซ ชอไฟลในระบบปฏบตการยนกซจะเปนแบบ Case Sensitive คอ การใชอกษรตวใหญและอกษรตวเลกจะมความหมายทไมเหมอนกน เชน ROOT, root, Root และ Root จะถอวาเปนชอไฟลทไมเหมอนกน ซงชอไฟลทใชในการตงชอสามารถก าหนดความยาวไดถง 255 ตวอกษรโดยมการใชโครงสรางตนไมในการแสดงการอางถงสารบบ (Directory) และไฟลตางๆ จะเครองหมาย Slash (/) จากจดบนสด (Root) ของโครงสรางตนไม ผานล าดบชน (Level) ตางๆ ลงมา แตหากตองการอางองขนไปหนงระดบจากสารบบ ปจจบน (Current Directory) จะใชเครองหมาย 2 จดตดกน (..) แสดงไดดงรปท 8.2 นอกจากนระบบปฏบตการยนกซ (UNIX Operating System) ยงไดจดเตรยมค าสงส าหรบเรยกดรายละเอยดในไดรกทอร โดยเรยกดผานค าสง ls (ยอมาจากค าสง List) ซงมรายละเอยดทเกยวของดงน - l เปนการก าหนดใหแสดงผลลพธแบบยาว (Long Format) - a แสดงไฟลขอมลทงหมด - F แสดงเครองหมาย / หลงชอสารบบ และแสดงเครองหมาย * หลงไฟลทก าลงประมวลผล (Execute) ได รปท 8.2 แสดงตวอยางโครงสรางล าดบชนของการจดการไฟลในระบบปฏบตการยนกซ (UNIX)

/

/bin Essential programs

/dev Device files

/etc Admin files & programs

/tem Temporary files

/public Access for all users

/bin More Programs

/lib

/tmp

/local

/yoo

/bee

/tom

สารบบราก (Root Directory)

/usr

/user user files

139

ระบบปฏบตการยนกซ (UNIX Operating System) สามารถก าหนดสทธในการเขาถงไฟลในแตละชดไดดงตวอยางตอไปน

r-- หมายถง อานอยางเดยว rw- หมายถง อานและเขยนได r-x หมายถง อานและประมวลผล (Execute) ได rwx หมายถง อาน เขยนและประมวลผล (Execute) ได

8.6.3 ค าสงตางๆ ในระบบในระบบปฏบตการยนกซ โดยจดการผานระบบโหมดค าสง (Command Mode) ซงค าสงตางๆ จะอยในรปตวอกษรยอทผใชงานสามารถจดจ าค าสงไดงาย โดยรปแบบค าสง มดงน โดยท command หมายถง ค าสงของยนกซ (UNIX) ทตองการใช argument หมายถง ทางเลอกของค าสง filename หมายถง สารบบ หรอเสนทาง ค าสงทส าคญและมกใชงานอยเปนประจ าในระบบปฏบตการยนกซ แสดงไดดงตารางท 8.1 ตารางท 8.1 แสดงค าสงตางๆ ทเกยวของกบการจดไฟลในระบบปฏบตการยนกซ (UNIX)

command argument filenname

ค าสง ความหมาย ค าอธบาย

ls List Directory แสดงรายการชอไฟลทอยในไดเรกทอร

ls -l Long List แสดงรายการขอมลทงหมดในไดเรกทอร

cd Change Directory เปลยนไดเรกทอร

cp copy ท าการคดลอกไฟลหรอไดเรกทอร

rm Remove ลบไฟลหรอไดเรกทอร

mv Move ยายไฟลหรอไดเรกทอร

lpr Print พมพไฟล

mkdir Make Directory สรางไดเรกทอรใหม

format Format ท าการฟอรแมท

pwd Print Working Directory แสดงชอของไดเรกทอรทก าลงท างานอย

140

8.6.4 Shell และ Script File Script File (Command File/Shell File) ใชเพอท างานเดมซ า ๆ แตละค าสงภายในไฟลซงมรปแบบ การท างานดงน 1. การประมวลผลแบบตอเนอง (Synchronous Execution) จะท างานตามล าดบ โดยท าทละค าสงตอเนองกนไปจนเสรจสนจงจะสามารถรบค าสงจากผใชเขามาประมวลผลใหมได ซงบางครงอาจจะเรยกการท างานในลกษณะนวา “โหมดสวนหนา (Foreground Mode)” 2. การประมวลผลแบบไมตอเนอง (Asynchronous Execution) จะท างานแบบไมเปนล าดบ โดยสามารถรบค าสงจากผใชเขามาประมวลผลใหมไดโดยไมตองค านงถงวาค าสงทประมวลผลกอนหนาจะแลวเสรจซงบางครงอาจจะเรยกการท างานในลกษณะนวา “โหมดสวนหลง (Background Mode)” Shell จะท าหนาทรบค าสงจากผใช เพอสงใหกบระบบปฏบตการท างานตามค าสงทผใชก าหนดไว เชน 1. Bourne Shell (sh) เปน Shell มาตรฐานทมในระบบปฏบตการยนกซทกเวอรชน (Version) 2. C Shell (csh) พฒนามาจากภาษาซ (C Language) มประสทธภาพการท างานสงกวา Bourne Shell 3. Korn Shell (ksh) เปน Shell ทน า Bourne Shell และ C Shell มาปรบปรงใหมประสทธภาพการท างานสงกวา Shell ทงสองและเพมคณสมบตใหสามารถเขยน Shell Script ไดงายแตตวชดค าสงทใชเขยนมาขนาดใหญ 4. Bourne Again Shell (bash) เปน Shell ทน า Bourne Shell มาพฒนาตอจนกลายเปน Shell มาตรฐานของระบบปฏบตการลนกซ (Linux Operating System) สามารถประมวลผล (Run) ไดทง Script File ของ Bourne Shell และ C Shell

141

สรป ยนกซ (UNIX) เปนระบบปฏบตการทมความยดหยน (Flexibility) สามารถทจะแกไขหรอปรบปรงใหเขากบระบบอนไดตามตองการ รองรบการท างานทงในระบบงานภายในองคกรขนาดกลางและองคกรขนาดใหญ เปนระบบทมซอฟตแวรโอเพนซอรซ (Open Source) ท าใหผพฒนาหรอผทสนใจสามารถทจะเขาไปคนควาและท าการศกษาไดดวยตนเอง อกทงยงเปนระบบปฏบตการทไมยดตดกบอปกรณ (Device) หรอฮารดแวร (Hardware) ทเกยวกบกบระบบอกดวย การจดการหนวยความจ า (Memory Management) ระบบปฏบตการยนกซ (UNIX Operating System) โดยทยนกซ (UNIX) จะใชวธการจดการหนวยความจ าโดยใชเทคนควธการสลบเขา/ออก (Swapping) หรอเทคนควธจดการเพจตามความตองการ (Demand Paging) โดยพจารณาจากงาน (Task) หรอกระบวนการ (Process) ทเขามาใชงานในระบบโดยใชเทคนควธการสลบเขา/ออก (Swapping) จะเหมาะกบงานหรอกระบวนการทมขนาดเลกโดยจะเกบงานหรอกระบวนการทตองการประมวลผล (Execute) ลงในหนวยความจ าหลก (Main Memory) แตวธกมขอจ ากดเกดขนตรงทวาการก าหนดขนาดของงานหรอกระบวนการทเขามาประมวลผล การจดการไฟลในระบบปฏบตการยนกซ (UNIX Operating System) จะใชวธการจดการไฟลในรปแบบไดเรกทอรเดยว (Single Directory) แตมหลายระดบชน (Multi-Level) เรมตงแตรท (root) ไลลงมาเรอย ๆ จนถงผใชไฟลตาง ๆ ไมวาจะเกบลงในจานบนทก (disk) (Disk) ตวไหน เทป (Tape) มวนไหน กจะรวมอยในไดเรกทอรเดยวกนทงหมดโดยยนกซ (UNIX) แบงไฟลออกไดเปน 3 ชนด ไดแก ไฟลธรรมดา (Ordinary File) ไฟลพเศษ (Special File) และสารบบ (Directory)

142

ค าถามทบทวน

1. มาตรฐานของระบบปฏบตการ UNIX มกลกษณะอะไรบาง 2. ยนกซ (UNIX) แบงไฟลออกไดเปนกชนดอะไรบาง 3. ระบบปฏบตการยนกซสามารถก าหนดสทธในการเขาถงไฟลในแตละชดไดอยางไรบาง 4. จงอธบาย Script File (Command File/Shell File) ตอไปน 4.1 การประมวลผลแบบตอเนอง (Synchronous Execution) 4.2 การประมวลผลแบบไมตอเนอง (Asynchronous Execution) 5. จงอธบาย Shell ตอไปน 5.1 Bourne Shell (sh) 5.2 C Shell (csh) 5.3 Korn Shell (ksh) 5.4 Bourne Again Shell (bash)

143

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556 , กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ ซอฟตแวรโอเพนซอรซ. (2557). วกพเดย สารานกรมเสร. สบคนเมอ 2557, มกราคม 14, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

144

แผนบรหารการสอนประจ าบทท 9 หวขอเนอหา - ประวตความเปนมา (History) - เปาหมายของการออกแบบ (The Gold of Design) - การจดการหนวยความจ า (Memory Management) - การจดการกระบวนการ (Process Management) - การจดการอปกรณรบและแสดงผล (I/O Device Management) - การสอสารระหวางกระบวนการ (Interprocess Communication) - โครงสรางระบบเครอขาย (Network Structure) - การรกษาความปลอดภย (Security) วตถประสงคเชงพฤตกรรม - สามารถเขาใจประวตความเปนมาของระบบปฏบตการลนกซ (Linux) - มความเขาใจเปาหมายในการออกแบบระบบปฏบตการลนกซ (Linux) - มความเขาใจการจดการหนวยความจ าและการจดการกระบวนการของระบบปฏบตการลนกซ - มความรและความเขาใจการสอสารระหวางกระบวนการของระบบปฏบตการลนกซ - สามารถเขาใจวธการจดการเครอขายและการรกษาความปลอดภย วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต ตรวจรายงานและ ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

145

บทท 9 กรณศกษา (Case Study) ระบบปฏบตการลนกซ: ภาคทฤษฎ (Linux Operating System I) ลนกซ (Linux) เปนระบบปฏบตการทถกออกแบบใหมโครงสรางการท างานทไมซบซอน สามารถใชงานไดกบระบบคอมพวเตอรทกรน สามารถพฒนาใหเปนระบบปฏบตการบนโทรศพทมอถอหรออปกรณอนๆ ทใชระบบปฏบตเปนตวควบคมกระบวนการท างาน ท าใหไดรบความนยมจากองคกรขนาดใหญ ภาคธรกจเอกชน หนวยงานตางๆ รวมทงบคคลผสนใจซอฟตแวรโอเพนซอรซ (Open Source) เทยบเทากบระบบปฏบตการวนโดว (Windows Operating System) ซงในปจจบนระบบปฏบตการลนกซมองคกรหรอผรวมมอชวยพฒนาและปรบปรงจากทวทกมมโลก ใหเปนระบบปฏบตการททนสมยและงายกบการใชงานมากขนกวาเดมเมอเทยบกบอดตทผานมา ในบทนจะกลาวถงประวตความเปนมา หลกการออกแบบ สวนประกอบของระบบ ระบบงานยอย การจดการไฟล ตลอดจนการจดการเครอขายและการรกษาความปลอดภยของระบบปฏบตลนกซ (Linux) อธบายไดตามหวขอตางๆ ดงน (วกพเดย สารานกรมเสร, 2557) 9.1 ประวตความเปนมา (History) ลนกซ(Linux) ถอก าเนดขนในป ค.ศ. 1980 โดยนกศกษาชาวฟนแลนดทชอวา ลนส โทรวลดส (Linus Benedict Torvald) ขณะทก าลงศกษาอยภาควชาวทยาการคอมพวเตอร (Computer Science) ณ มหาวทยาลยเฮลซงก (University of Helsinki) ไดเขยนขอความและโพสตขนไปยงเวบไซตของยสเนต (www.comp.os.minix) วาเขาไดสรางระบบปฏบตการขนาดเลก (Mini operation) ทมหนาตาเหมอนกบระบบปฏบตการยนกซ (Unix Operating System) ขนและตงชอระบบปฏบตการตวใหมนวา ลนกซ(Linux) ซงเปนการพฒนาตอยอดมาจากระบบปฏบตการส าหรบเครองคอมพวเตอรของมหาวทยาลยทชอวามนกซ (Minix) พฒนาขนโดยศาสตราจารยแอนดรว ทาเนนบาวม (Andrew S. Tanenbaum) ซงเขาเหนวายงมประสทธภาพและความสามารถยงไมเพยงพอตอความตองการของผใชงานอยางแทจรง จงเรมพฒนา ระบบปฏบตการลนกซ (Linux Operating System) เวอรชนแรกขนมาและไดมการน าไปเผยแพรใหกบสาธารณชนหรอผทมสนใจสามารถทจะดาวนบรรจชดค าสงตนฉบบ (source code) ไดจากเวบไซต ftp://nic.funet.fi โดยไดออกลนกซ (Linux) เวอรชน 0.01 ในชวงแรก ตอมาไดพฒนาลนกซ (Linux) เวอรชน 0.02 ใหมความสามารถทจะรน Shell (เชลล) แบบ bash (GNU Bourne Again Shell ) และ Shell (เชลล) แบบ gcc (GNU C Compiler) ได หลกจากนนกไดพฒนาตอเนองเปนเวอรชน 0.03 และกระโดดขามไปเปนเวอรชน 0.10 และไดพฒนาอยางตอเนองโดยชดค าสงเมอรทวทกมมโลกและสนสดทเวอรชน 0.95 จนกระทงในเดอนมนาคม ป ค.ศ.1992 ไดมการพฒนาเวอรชน 1.0 ขนอยางเปนทางการทสามารถใชงานไดทงในบานและส านกงานทน าไปตดตง

146

ปจจบนระบบปฏบตการลนกซ (Linux Operating System) เปนระบบปฏบตการทมความคลายคลงกบระบบปฏบตการยนกซ (Unix-liked) อกทงยงมความสมบรณแบบในหลาย ๆดานและยงไดรบความสนใจจากกลมคนจ านวนมาก จนสามารถกาวขนเปนระบบปฏบตทมผใชงานเพมมากขนในทก ๆป ในทวทกมมโลกจนในบางครงบางกลมคนอาจจะเรยกไดวาเปนระบบปฏบตการหลก (Mainstream Operating System) ทใชงานจรงอยภายในหนวยงานและองคกร อกทงยงเปนคแขงส าคญในตลาดซอฟตแวรในระดบการใชงานระบบปฏบตการทมอยในปจจบนกวาได ประสทธภาพและความสามารถของระบบปฏบตการลนกซ (Linux Operating System) ไดถกพฒนาเพมมากขนอยางตอเนองอยางรวดเรว จะสามารถพฒนาใหเขากบสถาปตยกรรม (Architechture) หรอแพลตฟอรม (Platform) อนๆ มากมาย เชน Sparc ,Alpha และ Macintosh เปนตน ท าใหชดค าสงเมอรทวทกมมโลกเรมทจะพฒนาชดค าสงประยกต (Application Program) ออกมาใหสนบสนนการท างานของระบบปฏบตการลนกซ (Linux Operating System) เพมขนเรอยๆ ท าใหซอฟตแวรโดยสวนใหญทมขายตามทองตลาดเรมจะมราคาถกลงอกทงบางครงอาจจะใหผใชงานสามารถทจะเลอกดาวนบรรจใชงานฟร (Free Down Load) กได แถมยงเปดเผยชดค าสงตนฉบบ (Open Source Code) ใหเปนผสนใจมสวนรวมในการพฒนาชดค าสงประยกต (Application Program) นนๆ ได ในป ค.ศ. 1998 สถาบนจดอนดบ IDC (International Data Corporation of Framingham, Messachusette) ไดประเมนไววา การเตบโตของระบบปฏบตการลนกซ (Linux Operating System) จะมสวนแบงตลาดถงเปนรอยละ 17.2 ของการใชงานการใชงานระบบปฏบตของบรษททวทกมมโลก ซงระหวางชวงเวลา 4 - 5 ป ทผานมามบรษทพฒนาซอฟตแวรหลายแหงไดน าสวนทเรยกวาคอรเนล (Kernel) ของระบบปฏบตการลนกซ (Linux Operating System) มาพฒนาและน าออกสทองตลาดมทงซอฟตแวรส าหรบผสนใจสามารถทจะดาวนบรรจฟร (Free Down Load) และซอฟตแวรเพอจดจ าหนายส าหรบดาวนบรรจเพอการคา (Commercial Distribution) จนสามารถทจะพฒนาและเกดเปนลนกซดสโทร (Linux Distribution) สายพนธตาง ๆ ขนมากมาย ซงมชอเรยกตามคายทพฒนา ดงน

Slackware Linux ถกพฒนาขนในป ค.ศ. 1993 ถอเปนลนกซดสโทรทเกาแกมากทสด แตยงคงมผใชงานอยในปจจบน พฒนาขนโดยชดค าสงเมอรชาวอเมรกน ทชอ Patrick Volkerding มรปแบบการตดตงและใชงานแบบเทกซโหมด (Text Mode) คลายกบระบบปฏบตการยนกส (UNIX Oprating System) ท างานในรปกราฟกโหมด (GUI) ท าใหผใชงานเรยนรไดงาย มทงรนเดสกทอบ (Desktop) และเวรกสเตชน (Workstation)

Mandrake Linux ถกพฒนาขนในป ค.ศ. 1998 พรอม ๆ กบลนกซดสโทร (Distro) Red Hat Linux (Version 5.1) กอนทจะแยกตวออกมาพฒนาเปนของตนเองโดยใชใหมวา Mandriva Linux เปนลนกซดสโทรทมดวยกนหมายเลขเวอรชน (Version) ทงแบบไมเสยคาใชจายในการดาวนบรรจ(open source software) และเสยคาใชจายในการดาวนบรรจ (business and server editions ) พฒนาอยางตอเนองทกๆ 6 เดอน คลายกบลนกซดสโทร (Distro) สายพนธ Ubuntu และ ลนกซดสโทร (Distro) สายพนธ Fedora ป โดยเวอรชน (Version) ลาสด (ป ค.ศ. 2011) ใชชอวา Hydrogen

Red Hat / Fedora Core Linux ถกพฒนาขนในป ค.ศ. 1993 ประเทศสหรฐอเมรกา เปนลนกซดสโทร (Distro) ทมความมนคงในการด าเนนงานมากทสด เพราะมรวมกลมและการกอตงเปนสมาคมขนาดใหญ ด าเนนกจการในรปแบบธรกจโอเพนซอรส (open source software) หลาย

147

รปแบบตดตง อกทงยง มใหเลอกใชงานไดหลายเพทตฟอรม (Platform) อาทเชน ซอฟตแวรระบบ (system platforms) ซอฟตแวรเกยวกบองคกรขนาดกลาง (middleware) ) ซอฟตแวรเกยวกบ งานเฉพาะทาง (applications) ซอฟตแวรเกยวกบการจดการผลต (management products) การบรการดานการสนบสนนองคกร (support) การฝกอบบรม (training) การบรการเปนทปรกษาในการท าธรกจ (consulting services) ปจจบนลนกซดสโทร (Distro) Red Hat ไดแบงสายการพฒนาซอฟตแวรออกเปน 2 สวน คอ 1. สวนทเปนการท าธรกจ โดยใชชอเรยกวา Red Hat Enterprise Linux (RHEL) ซงเปนสนคา (Products) ภายใตเครองหมายการคาเพอหวงผลก าไร เพอความอยรอดขององคกร มการพฒนาผลตภณฑอยางตอเนองออกรนใหมทกๆ 2 ป 2. สวนทเปนสาธารณะหรอเพอชมชน โดยใชชอเรยกวา Fedora Core จะมลกษณะคลาย

งานวจยและพฒนาทภายชมชนทเรยกวา โอเพนซอรส (open source software) จะ รวมกนพฒนาแกไขขอบกพรองและใชประโยชนรวมกนจงท าใหซอฟตแวรมความทนสมยสามารถทจะพฒนาและออกรนใหมไดทกๆ 6 เดอน มประสทธภาพสงเปนทยอมรบของผรวมพฒนาขอแตกตางระหวาง RHEL กบ Fedora Core Linux คอ

1. RHEL เปนสนคาทตองซอพรอมสทธในการใชงานและขอรบการสนบสนนหลงการขาย สวน Fedora Core สามารถดาวนบรรจมาใชงานไดโดยไมมคาใชจายใดๆ ในเรองของประสทธภาพ

2. RHEL จะมการปรบแตง (Optimization) ใหท างานในฐานะเครองแมขาย (Server) โดยเฉพาะในขณะท Fedora Core มคณสมบตเขากบการท างานทหลากหลาย เชน เครองแมขาย (Server) เครองคอมพวเตอรตงโตะ (Desktop Computer) งานดานสอผสม (Multimedia)

3. RHEL จะตองผานกระบวนการทดสอบและรบรองมาตรฐาน (Test and Certified) จากผลตภณฑของบรษทคคา เชน บรษท IBM, บรษท Oracle, บรษท Sun, บรษท HP เปนตน เพอตรวจสอบวาสามารถท างานรวมกนไดครบถวนสมบรณ ในขณะท Fedora Core กระบวนการทดสอบและรบรองมาตรฐานดงกลาว ดงนน Red Hat Linux จงเปนลนกซดสโทร (Distro) ทมผนยมและดาวนบรรจมาใชงานทวโลกอกทงยงถกน าไปพฒนาตอยอดเปนลนกซดสโทร (Distro) สายพนธอนๆ อกมาก เชน OpenNA Linux, Linux TLE,Turbo Linux เปนตน

Debian Linux ถกพฒนาขนในป ค.ศ. 1996 ณ ประเทศองกฤษ โดยการรวมตวกนของชมชนภายใตโครงการทใชชอวา Debian Linux ซงตงชอเพอใหเปนเกยรตกบสามและภรรยาทชอ Deb และ Ian Murdock และรวมกนพฒนาระบบปฏบตการลนกซโดยไมเนนการด าเนนงานเชงธรกจหรอการคาอยางแทจรงและยงเปนตนแบบลนกซดสโทร (Distro) อนๆ อกเปนจ านวนมาก เชน Ubuntu ,MEPIS, Xandros, Linspire, Damn Small Linux, KNOPPIX เปนตน ระบบปฏบตลนกซ Debian เปนลนกซดสโทร (Distro) มการพฒนาแพกเกจและเครองมอประกอบใหมๆ เกดขนในวงการลนกซเปนอยางมาก เชน มการพฒนาแพกเกจจดการซอฟตแวร แพกเกจการตดตง และเครองมอหรอยทลต (Utility Tools) ส าคญๆ ขนมามากมาย เปนตน จนกลายเปนรปแบบการใชงานทไดมาตรฐานของการใชงานลนกซคายหนงเหมอนกบกลมลนกซดสโทรคาย Red Hat ทไดรบความนยมเปนอยางมากเชนเดยวกน สงทจดเดนประการหนงส าหรบ Debian Linux คอ ความ

148

เสถยร (Stable) อกทงหากผทสนใจตองการสอบใบอนญาต (Linux Certified) กบลนกซดสโทรคาย Red Hat จะมแยกแบบทดสอบออกเปน 2 ชด คอ ชดขอสอบส าหรบผช านาญการใชงานระบบปฏบตการลนกซของ Red Hat และชดขอสอบส าหรบผช านาญการใชงานระบบปฏบตการลนกซของ Debian Linux อยางชดเจน

SuSE Linux ถกพฒนาขนในป ค.ศ. 1994 ณ ประเทศเยอรมน ซงมชอเรยกเตมค าวา Software Und System-Entwicklung หรอ Software and systems development เปนระบบปฏบตการลนกซดสโทร (Distro) อกคายหนงทมขดสามารถไมแพคายอนทกลาวมา โดยจดเดนของระบบปฏบตการลนกซ SuSE Linux คอ สามารถทจะรวบรวมเทคโนโลยดานตางๆ ในทกแขนงเขาไวในระบบปฏบตตวเดยวกน ไดอยางเดนชด เชน เทคโนโลยดานเสยง (Audio) เทคโนโลยดานความงายจากการใชงาน (User Friendly) เทคโนโลยดานการตดตงและการเซตคอนฟกคาตางๆ ของระบบไวภายในเครองมอหลกเพยงตวเดยวทเรยกวา YaST (Yet Another Setup Tools) เทคโนโลยดานความประณตสวยงามทแสดงผลบนขนตอนการตดตง เทคโนโลยดานความสวยงามของหนาจอเดสทอป (Screen on Desktop) ทเทคโนโลยดานความนาทเชอถอ (Reliability) เปนตน จนในปจจบนระบบปฏบต SuSE Linux ไดรบการประกาศใหเปนระบบปฏบตการในหนวยงานภาครฐของกลมประเทศยโรป ตอมาในป ค.ศ. 2005 บรษท Novell Inc. ไดเขาซอกจการของ SuSE และไดพฒนาระบบปฏบตการลนกซภายใตโครงการทชอวา OpenSUSE มผลตภณฑออกใหกบผใชมากมาย เชน ระบบปฏบตการลนกซส าหรบผใชทวไป (Community Release) ทมความทนสมย สนบสนนอปกรณฮารดแวรเกอบทกชนด และยงพฒนาระบบปฏบตการลนกซส าหรบนกพฒนา (Developer) โดยใชชอรนนวา AppArmor (Application Armor) ซงเปนระบบปฏบตการลนกซรนทมระบบรกษาความปลอดภยแบบ Name-based Security พรอมความนาเชอถอตดตงเพมเขามา เปนตน

ในปจจบน ( ค.ศ. 2001 ) มการน า Linux มาใชงานในกจการตาง ๆ มากขน โดยทเนนไปทงานดานระบบเซรฟเวอร (Server) และเครอขาย (Network) เปนสวนใหญ สวนการประยกตใชงาน Linux เพอใชงานเปนเครองลกขาย (Client) หรอใชงานบนเครองเดสทอป (Desktop) นนยงคงเปนชวงเรมตนเทานน แตกมแนวโนมทชดเจนทจะพฒนา Linux เพอใหใชงานบนเดสทอปเพมมากขน ดงเชน Linux TLE 4.0 ของไทย หรอ Redmond Linux ของทางตางประเทศ กไดพฒนา Linux เพอใชงานดานนโดยเฉพาะ ซงมความเปนไปไดทระบบปฏบตการลนกซ (Linux Operating System) จะเขามามบทบาทในระดบผใชทวไป และอาจเปนคแขงทส าคญกบระบบปฏบตการวนโดวส (Windows Operating System) ไดในอนาคต 9.2 เปาหมายของการออกแบบ (The Gold of Design) ลนกซ (Linux) เปนระบบปฏบตการซงประกอบดวยชดค าสงคอรเนล(kernel) ซงท าหนาทเปนศนยกลางของระบบปฏบตการ (Center Operating System) ประกอบไปดวยชดค าสงขนาดเลกจ านวนมากทน ามารวมเขาไวดวยกน โดยแตละสวนประกอบจะมหนาทสนบสนนการท างานซงกนและกนเพอใหระบบคอมพวเตอรสามารถปฏบตงานตามความตองการของผใชงาน สวนประกอบทส าคญทสดภายในระบบปฏบตการกคอตวชดค าสงคอรเนล (Kernel) นนเอง โดยภายในคอรเนลจะมสวนชดค าสงยอยๆ

149

เรยกวา โมดล (Kernel Module) รวมกนไวภายใน แตละโมดลจะมหนาทชวยใหระบบปฏบตการมการท างานอยางมประสทธภาพขนอยกบความสามารถและจ านวนของโมดลภายในคอรเนล ด งนนระบบปฏบตการเกอบทกระบบ จะมคอรเนลเปนศนยกลางของระบบ แตความแตกตางกนของระบบปฏบตการทพฒนาขนมานนขนอยกบการพฒนาสวนคอรเนลใหรองรบการท างานดานตางๆ โดยคณสมบตทดของระบบปฏบตการลนกซทดตองประกอบไปดวย 5 คณสมบต ตอไปน

1. วธการตดตง (Installation Method) ควรมค าอธบายหรอขนตอนการตดตงทชวยใหผใชท าไดงาย แมแตกรณทผไมเคยใชงานคอมพวเตอรมากอนกสามารถท าไดดวยตนเอง 2. ความงายในการใชงาน (Ease of using) สนบสนนใหผใชงานรสกถงความงาย สะดวกทจะเลอกตอการใชงานลนกซดสโทร (Distro) แตละคาย เชน การใชเมาสคลกเพอโตตอบกบแอปพลเคชนตางๆ บนหนาจอคอมพวเตอร เปนตน 3. ซอฟตแวรและวธการสนบสนนซอฟตแวรทจดมาให (Bundle and Supported Software) จะตองมชดค าสงใชงานตางๆ รวมทงยทลต (Utility Tools) ตางๆ ทชวยอ านวยความสะดวกใหกบผใชตลอดการใชงานระบบปฏบตการลนกซดสโทร (Distro) แตละคายดวย 4. การสนบสนนการท างานทางเทคนคและทางเชงพาณชย ( Technical and Commercial Support ) เชน หากผใชซอผลตภณฑหรอเซนสญญาบรการรายปกบลนกซดสโทร (Distro) คายนน ๆ กจะไดรบสทธในการบรการหลงการขายตามเงอนไขหรอบรการทไดก าหนดไวในสญญา หรอหากกรณทผใชเลอกทจะขอไดรบการสนบสนนโดยชมชน (Community Support) หรอกลมผใชงานลนกซดสโทร (Distro) คายนน ๆ รวมตวกสามารถท าไดโดยไมตองเสยคาใชจายใด ๆ ทงสน แตผใชกตองยอมรบสภาพคณภาพของการไดรบบรการกไมสามารถรบประกนคณภาพไดเชนเดยวกน 5. การด าเนนงานเชงธรกจ (Business) ลนกซดสโทรแตละ (Distro) ควรมระเบยบและกฏเกณฑในการขบเคลอนระหวางผมสวนไดสวนเสย รวมทงมการก าหนดเปาหมายองคกรและการอยรอด (Survial) หากขาดการไดรบสนบสนนหรอผลตอบแทนทไดรบไมเพยงพอตอการด ารงอยขององคกร ดงนนการด าเนนงานเชงธรกจจงเปนสงจ าเปนอยางยงทลนกซดสโทรแตละ (Distro) ควรจะค านงเปนประการแรก เชน กรณศกษาของลนกซดสโทร (Distro) คาย RedHat Linux ทน าสามาถน ากจการของตวเองเขาสตลาดหลกทรพย ตลอดทงยงมสนคาและบรการใหเลอกใชงานเปนจ านวนมาก สามารถสรางความนาเชอถอใหกบผใชงานและองคกรตางๆ ทเลอกใชงานเปรยบเทยบกบลนกซดสโทร (Distro) คายอนๆ ทงหมด เปนตน

9.3 การจดการหนวยความจ า (Memory Management)

ระบบปฏบตการลนกซ (Linux Operating System) จะแบงพนทหนวยความจ าออกเปน 2 สวน คอ 1. สวนพนทคอรเนล (Kernel) 2. สวนของกระบวนการ (Process) ทก าลงประมวลผล ซงแบงเปน 3 สวน คอ 2.1 Process Code 2.2 Process Data 2.3 Library Process และ Stack

150

โดย Linux จะใชอลกอรทมแบบถกใชงานนอยทสดน าออกไปกอน (Least Recently Use: LRU) ในการจดสรรเพจ (Page) ในหนวยความจ าใหกบกระบวนการ (Process) และคอรเนล (Kernel) และสนบสนนการใชงานหนวยความจ าเสมอน (Virtual Memory) โดยมการใชตารางเพจ (Page Table) เพอใชใน การตรวจสอบวาเพจวางหรอไมวาง และใชเทคนคการสลบ (Swapping) และ/หรอ ความตองการใชเพจ(Demand Paging) ในการจดการหนวยความจ า โดยมอลกอรทมแบบ Buddy-Heap Algorithm ใชกบรอบ (Track) ของการเนอทเพจจรง (Physical Page) ในหนวยความจ า ดงรปท 9.1

รปท 9.1 แสดงการแบงแยกหนวยความจ าในลกษณะการจดสรรหนวยความจ าแบบฮฟค

(Splitting of Memory in a Buddy Heap Algorithm) 9.4 การจดการกระบวนการ (Process Management) ระบบปฏบตการลนกซ (Linux Operating System) ใชวธการจดกระบวนการ (Process) ผานค าสงเรยกระบบ (System Call) เพอสงขอความตดตอใหกระบวนการทอยนอกสามารถเขามาใชงานหนวยความจ าหลก (Main Memory) ไดโดยหนาทหลกของระบบปฏบตการลนกซ มดงน 9.4.1 การจดตารางการท างานกระบวนการ (Process Scheduling) ตวมตวระบ (Descriptor) เพอสรางรายการ (Fields) เพอใชเกบรายละเอยดของกระบวนการ โดยจดเกบไวในรปแบบรายการเชอมโยงแบบค (Double Link List) ใหกบกระบวนการไดโดยอตโนมต 9.4.2 การประสานการท างานกระบวนการ (Process Interface) โดยใชค าสงแถวล าดบทก าลงรอ (Wait Queue) ของกระบวนการ (Process) โดยจดเกบไวในรปแบบรายการเชอมโยงแบบวงกลม (Circular Link List) โดยใชสญญาณในการเชอมตอ ซงภายในโครงสรางรายการ (Fields) ประกอบดวย ตวนบสญญาณ (Countable Signal) จ านวนกระบวนการ (Process Number) ทก าลงรอ และรายชอของกระบวนการ (Process Name) ทก าลงรอสญญาณ วาจะสามารถเขามาใชทรพยากรไดเมอใด 9.5 การจดการอปกรณรบและแสดงผล (I/O Device Management) ระบบปฏบตการลนกซ (Linux Operating System) มฟงกชนเพอชวยประสานการท างานรวมกบอปกรณฮารดแวรของระบบคอมพวเตอรไวอยางครอบคลม โดยระบบปฏบตการ ลนกซสามารถจ าแนกประเภทของอปกรณไดโดยก าหนดหมายเลข (Number) ใหกบอปกรณ ดงน

หนวยความจ าขนาด

(16K)

หนวยความจ าขนาด (8K)

หนวยความจ าขนาด (8K)

หนวยความจ าขนาด (8K)

หนวยความจ าขนาด (4K)

หนวยความจ าขนาด (4K)

151

1. หมายเลขอปกรณหลก (Major Device Number) ใชเปนตงช (Index) เพอระบประเภทของอปกรณ 2. หมายเลขอปกรณรอง (Minor Device Number) ใชระบรายละเอยดของอปกรณนน ซงหมายเลขอปกรณทงสองจะถกสงไปเปน (Argument) ของชดค าสงขบอปกรณ (Device Driver) เพอใชระบการเขาถงและควบคมการท างานของอปกรณ I/O ระบบปฏบตการลนกซแยกอปกรณออกเปน 3 คลาส (Class) คอ อปกรณทเกยวกบตวอกขระ (Character Device) อปกรณทเกยวกบบลอกขอมล (Block Device) และอปกรณเชอมตอเครอขาย (Network Interface) ดงรปท 9.2

รปท 9.2 แสดงโครงสรางของกลมอปกรณ I/O ของระบบปฏบตการลนกซ (Device-Driver Block Structure )

9.6 การสอสารระหวางกระบวนการ (Interprocess Communication) ระบบปฏบตการลนกซ (Linux Operating System) มฟงกชนเพอใชในการตดตอสอสารระหวางกระบวนการตามเหตการณตางๆ ทเกดขนหรอจะใชการสงผานขอมลจากกระบวนการ (Process) หนงไปยงกระบวนการอนๆ ทเกยวของ โดนมรปแบบการการด าเนนการ ดงน 9.6.1 สญญาณและการเขาจงหวะ (Synchronization and Signal) สญญาณสามารถสงผานกนไปมาระหวางกระบวนการ (Process) โดยคอรเนล (Kernel) จะเปนตวสราง (generates) สญญาณภายในขนมา เพอสงใหกบกระบวนการวาสามารถทจะสงขอมลผานชองทางการสอสารบนระบบเครอขายหรออาจจะสงสญญาณไปยงกระบวนการพอ (Parent Process) เมอกระบวนการลก (Child Process) ท างานเสรจหรอไดรบขอมลแลวหรอไมกตวจดการเวลาแจงสนสดเวลา (Timer Expires) ในการรบสงขอมลระหวางกระบวนการ โดยลนกซคอรเนล (Linux Kernel) จะไมสงสญญาณเพอใหเกดการตอตอสอสารขนในขณะทมกระบวนการก าลงประมวลผล (Running) อยภายในคอรเนลโหมด (kernel Mode) ขณะทกระบวนการอนจะตองหยดอยภายในแถวคอยล าดบ (Wait Queue) จนกวากระบวนการ (Process) ภายในคอรเนลโหมด จะประมวลผลจนเสรจกอนจงจะสงสญญาณไปบอกเพอใหกระบวนการอนเขามาประมวลผลได

ระบบแฟมขอมล (File System)

อปกรณทเกบแฟมขอมลทเปนบลอก (Block Device File)

ทพกขอมล (Buffer Cache)

ตวจดการการรองขอ (Request Manager)

อปกรณทเกยวกบบลอก

ขอมล (Block Device

Driver)

ตงจดการการเชอมตอแบบ SCSI (SCSI Manager)

อปกรณขบการเชอมตอแบบ SCSI (SCSI Device Driver)

อปกรณทเกบแฟมขอมลทละตวอกษร (Character

Device File)

ชองสญญาณเพอเชอมตอเครอขาย

(Network Socket)

โปรโตรคอลตวขบ(Protocol Driver)

อปกรณขบเพอเชอมตอเครอขาย (Network

Device Driver)

อปกรณขบชนดทละตวอกษร (Character Device Driver)

TTY Driver Line Discipline

152

9.6.2 การสงผานขอมลในแตละกระบวนการ (Passing of Data Amount Process) ลนกซ (Linux) จะใชกลไกในการสงผานขอมลในแตละกระบวนการโดยใชมาตรฐานของ UNIX ทเรยกวา “ทอสง (Pipe)” รปแบบการท างานจะเปนแบบกระบวนการลก (Child Process) จะสบทอดคณสมบต (Inherit) ชองทางการตดตอสอสารจากกระบวนการพอ (Parent Process) เพอใชในการเขยนหรออานขอมลผานทอสง ซงระบบปฏบตการลนกซ (Linux Operating System) จะมชดค าสงพเศษทใชจดการเหตการณดงกลาวเรยกวา ซอฟตแวรระบบเสมอนในการจดการไฟล (Virtual File System Software) และแตทอสงจะมคของแถวคอยล าดบ (Wait Queue) ในการเขาจงหวะเพออานและเขยนไฟลในเวลาเดยวกน 9.7 โครงสรางระบบเครอขาย (Network Structure) ระบบปฏบตการลนกซ (Linux Operating System) มฟงกชนในการตดตอระหวางเครอขายไมเฉพาะแตเครองขายโดยมาตรฐานโปรโตคอลระหวางระบบปฏบตการยนกซกบยนกซ (UNIX to UNIX) เทานนยงรองรบการตดตอระหวางเครอขายทไมใชตระกลของระบบปฏบตการยนกซดวย (Non-UNIX) ซงแตเดมการเชอมตอเครอขายจะเปนการท างานบนเครองคอมพวเตอรสวนบคคล (PC) มากกวาเครองเวรกสเตชนขนาดใหญ (Large Workstations) หรอในกลมของระบบเครองคอมพวเตอรแมขาย (Server Class System) โดยมโปรโตคอลทใชคอ AppleTalk และ IPX เทานน โดยลนกซคอรเนล (Linux Kernel) มชดค าสงทใชจดการในระดบเครอขายอย 3 ระดบคอ 1. การเชอมตอของชองสญญาณ (The Socket Interface) 2. ตวขบโปรโตคอล (Protocol Driver) 3. อปกรณตวขบการเชอมตอบนระบบเครอขาย (Network Device Drivers) 9.8 การรกษาความปลอดภย (Security) ระบบปฏบตการลนกซ (Linux Operating System) มรปแบการรกษาความปลอดภยคลายกบระบบระบบปฏบตการยนกซ (UNIX) โดยแบงการรกษาความปลอดภยออกเปน 2 กลม ดงน 9.8.1 การยนยนตวบคคล (Authentication) เปนการทจะแนใจไดวาไมมใครทสามารถเขาถงระบบโดยเปนการยนยนเบองตนวาเปนบคคลทถกตองเขามาในระบบ ซงระบบปฏบตการยนกซ (UNIX) แบบเดมมกจะใชรหสผาน (Password) เพอปองกนการเขาถงระบบ อกทงเมอมการเชอมตอระบบบนเครอขายยงมการเขารหส (Encrypted Password) ในการเขาถงไฟล (File) ถาไมมกญแจสาธารณะ (Publicly Readable) ในการอานขอมลในไฟลและยงก าหนดเวลา (Limit the Times) ในการเขาถงอกดวย ในปจจบนมการน าวธการยนยนตวแบบใหมมาใช เรยกวา รปแบบการยนยนตวบคคลโดยจ ากดสทธใหกบผใชงาน (Pluggable Authentication Model: PAM) เชน วธการยนยนตวบคคล ระดบการเขาถงไฟล บญชผใชงาน การเปลยนแปลงรหส เปนตน

153

9.8.2 การควบคมการเขาถง (Access Control) ภายใตระบบปฏบตการยนกซ (UNIX) รวมถงระบบปฏบตการลนกซ (Linux) จะก าหนดการควบคมเขาถงโดยใชตวเลขทไมซ ากน (Unique Numeric Identifiers) ดงน 1. กรณเปนผใชคนเดยว (Single User) ก าหนดการเขาถงโดยใชรปแบบเปน User Identifier (uid) 2. กรณเปนผเปนกลม (Group User) ก าหนดการเขาถงโดยใชรปแบบเปน Group Identifier (gid) การควบคมการเขาถงถกประยกตใชกบวถตทแตกตางกน (Various Object) ในระบบ โดยทก ๆ การใชงานไฟลในระบบจะถกปองกนดวยกลไกมาตรฐานการควบคมการเขาถง นอกจากนน การใชวตถรวมกน เชน สวนการใชหนวยความจ ารวมกน Semaphores และการใชการเขาถงระบบเดยวกน เปนตน

154

สรป ลนกซ (Linux) เปนระบบปฏบตการไดรบความนยมจากทกกลมผใชงานทวโลก เพราะเปนระบบปฏบตการทเปดเผยชดค าสงตนฉบบ (Open Source Code) มความยดหยน (Flexibility) และสามารถท างานกบเครองคอมพวเตอรหลายสถาปตยกรรม (Multi Platforms) มสวนตดตอกบผใช (User Interface) และสวนตดตอกบชดค าสง (Programming Interface) ภายใตมาตรฐานของระบบปฏบตการยนกซ (UNIX) สามารถประมวลผลไดกบงานจ านวนมากและใชไดกบการท างานทหลาก รองรบการท างานใหกบหนวยงานภาครฐและภาคธรกจ องคกรขนาดเลกและขนาดใหญ ระบบปฏบตการลนกซ (Linux Operating System) ใชวธการจดกระบวนการ (Process) ผานค าสงเรยกระบบ (System Call) เพอสงขอความตดตอใหกระบวนการทอยนอกสามารถเขามาใชงานหนวยความจ าหลก (Main Memory) ไดโดยหนาทหลก คอ การจดตารางการท างานกระบวนการ (Process Scheduling) และ การประสานการท างานกระบวนการ (Process Interface) และยงมฟงกชนเพอใชในการตดตอสอสารระหวางกระบวนการตามเหตการณตางๆ ทเกดขนหรอจะใชการสงผานขอมลจากกระบวนการ (Process) หนงไปยงกระบวนการอนๆ ทเกยวของ โดนมรปแบบการการด าเนนการ คอ การใชสญญาณและการเขาจงหวะ (Synchronization and Signal) และการสงผานขอมลในแตละกระบวนการ (Passing of Data Amount Process) ระบบปฏบตการลนกซ (Linux Operating System) มฟงกชนในการตดตอระหวางเครอขายไมเฉพาะแตเครองขายโดยมาตรฐานโปรโตคอลระหวางระบบปฏบตการยนกซกบยนกซ (UNIX to UNIX) เทานนยงรองรบการตดตอระหวางเครอขายทไมใชตระกลของระบบปฏบตการยนกซดวย (Non-UNIX) นอกจากนยนกซ (UNIX) จะก าหนดการควบคมเขาถงโดยใชตวเลขทไมซ ากน (Unique Numeric Identifiers) เชน ผใชคนเดยว (User Identifier: uid) และผใชเปนกลม (Group Identifier: gid) เปนตน

155

ค าถามทบทวน

1. จงอธบาย Linux Distribution ตอไปน 1.1 Slackware Linux 1.2 Mandrake Linux 1.3 Red Hat / Fedora Core Linux 1.4 Debian Linux 1.5 SuSE Linux 2. คณสมบตทดของระบบปฏบตการลนกซประกอบไปดวยอะไรบาง 3. ระบบปฏบตการยนกซสามารถก าหนดสทธในการเขาถงไฟลในแตละชดไดอยางไรบาง 4. จงแสดงการแบงแยกหนวยความจ าในลกษณะการจดสรรหนวยความจ าแบบฮฟค 5. ระบบปฏบตการลนกซใชวธการจดกระบวนการอยางไร 6. จงแสดงโครงสรางของกลมอปกรณ I/O ของระบบปฏบตการลนกซ 7. จงอธบายรปแบบการสอสารระหวางกระบวนการ (Interprocess Communication) ตอไปน 7.1 สญญาณและการเขาจงหวะ (Synchronization and Signal) 7.2 การสงผานขอมลในแตละกระบวนการ (Passing of Data Amount Process) 8. วธการยนยนตวบคคล (Authentication) ในระบบปฏบตการลนกซท าไดอยางไร 9. จงอธบายวธการควบคมการเขาถง (Access Control) ภายใตระบบปฏบตการลนกซ (Linux)

156

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556 , กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ ระบบปฏบตลนกซ. (2557). วกพเดย สารานกรมเสร. สบคนเมอ 2557, กมภาพนธ 2, เขาถงไดจาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

157

แผนบรหารการสอนประจ าบทท 10 หวขอเนอหา - ท าความรจกระบบปฏบตการ Ubuntu - ลกษณะเดนของระบบปฏบตการ Ubuntu - รปแบบการตดตงระบบปฏบตการ Ubuntu - ขนตอนและวธการตดตงระบบปฏบตการ Ubuntu 12.04 LTS - ขนตอนการเรมใชงานระบบปฏบตการ Ubuntu 12.04 LTS - สวนประกอบตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS วตถประสงคเชงพฤตกรรม - สามารถเขาใจประวตความเปนมาของระบบปฏบตการ Ubuntu - มความเขาใจลกษณะเดนของระบบปฏบตการ Ubuntu - มความเขาใจรปแบบและวธการตดตงระบบปฏบตการ Ubuntu - มความรและความเขาใจขนตอนการเรมใชงานระบบปฏบตการ - สามารถเขาใจสวนประกอบตางๆ ของระบบปฏบตการ Ubuntu วธสอนและกจกรรมการเรยนการสอน - บรรยาย - สบเสาะหาความร - คนควาเพมเตม - ตอบค าถาม สอการเรยนการสอน - สออเลกทรอนกส - ตอบค าถาม - ภาพ - เอกสารอางองประกอบการคนควา การวดผลและประเมนผล ใชวธการสงเกตและจดบนทกไวเปนระยะ - สงเกตจากงานทก าหนดใหไปท ามาสง - สงเกตจากการตอบค าถาม - สงเกตจากการน าความรไปใช การประเมนผล วธตรวจผลงานตางๆ ทใหท า - ตรวจผลงานภาคปฏบต - ตรวจรายงาน - ตรวจแบบฝกหด ใชวธการออกขอสอบขอเขยน

158

บทท 10 กรณศกษา (Case Study) ระบบปฏบตการลนกซ: ภาคปฏบต (Linux Operating System: II) ในปจจบนระบบปฏบตการลนกซ (Linux Operating System) นนเขามามบทบาทในการท างานของคนทวทกมมโลก ซงคณสมบตเดนกคอซอฟตแวรโอเพนซอรซ (Open Source) ตามเงอนไขของ GPL (General Public License) ซงเปนโมเดลของซอฟตแวรโอเพนซอรซ (Open Source) ทมการเปดเผยรหสการพฒนาใหทกคนไดเขาถง และตอยอดการพฒนาตอไปไดอยางไมมขอจ ากด ในวนนลนกซ (Linux) ไดแพรกระจายออกไปอยางกวางขวาง ภายใตขอก าหนดของ Free Software คอ ผใชมเสรในการรนหรอใชซอฟตแวรส าหรบทกๆวตถประสงค ผใชมเสรในการปรบปรงแกไขซอฟตแวร เพอใหเหมาะสมกบความตองการ ผใชมเสรในการท าส าเนาซอฟตแวร (Copy Software) เพอเผยแพรไปยงผอน และผใชมเสรในการเผยแพรซอฟตแวรทไดรบการปรบแตงใหเหมาะสมตามความตองการแลวซงมหนวยงานทควบคมเงอนไข อยางเชน GNU ยอมาจากค าวา “GNU’s Not Unix” จงท าใหมขอแตกตาง จากระบบปฏบตการอน ๆ ทมการจ าหนายเชงธรกจ และมราคาคอนขางแพง เปนตน ในบทนจะกลาวอธบายวธการตดตงและใชงานระบบปฏบตการ Ubuntu ซงสามารถเรยนรและฝกฝนการใชงานเบองตนเพอพฒนาทกษะเบองตนตามหวขอตางๆ ดงน (วกพเดย สารานกรมเสร, 2556) 10.1 ท าความรจกระบบปฏบตการ Ubuntu ระบบปฏบตการอบนตนนเปนลนกซดสโทร (Distro) ทไดรบความนยมในกลมผใชระบบปฏบตการอยางตอเนองและเพมมากขนเรอย ๆ ในทกๆ เปนระบบปฏบตเปดททกคนหรอชมชนสามารถเขามามสวนรวมในการพฒนาหรอดาวนบรรจไปตดตงใชงานจงเปนระบบปฏบตการทถกเรยกวาชอวา ระบบปฏบตการโอเพนซอรส (Opensource Operating System) สวนค าวาลนกซดสโทร (Distro) มาจากค าเตมวา Linux Distribution ซงหมายถงลนกซสายพนธทมการรวมกนพฒนาและกระจายใหกบผอนสามารถทจะเลอกน าไปตดตงใชงานเหมอนลนกซสายพนธอนๆ ทมอยเลอกใชงานกอนแลว เชน Redhat, SUSE, Mandriva เปนตน ระบบปฏบตการอบนตนนเปนลนกซดสโทร (Distro) ทมพฒนาโดยอางองจากชดค าสงตนแบบเดม คอจากคายของ Debian GNU/Linux ซงเปนฐานในการพฒนาเพอตอยอดใหมประสทธภาพเพมมากขนกเปนค ากลาวทไมผดอะไร แตสาเหตทท าใหระบบปฏบตการอบนตนนเปนทนยมอยางรวดเรวอาจเปนเพราะมจดเดนทไมเหมอนระบบปฏบตการคายอนคอ สามารถทจะคดเลอกชดค าสงในสวนทจ าเปนและส าคญจรง ๆ ใหกบผใช อกทงยงมแผนซดส าหรบตดตงเพยงแผนเดยวเทานน (Only One CD for Install) และยงมใหเลอกส าหรบรนคอมพวเตอรตงโตะ (Laptop Computer) และรนแมขาย (Sever) ใหผใชงานสามารถเลอกใชงานไดอยางเหมาะสมกบระบบงานอกดวย

159

10.2 ลกษณะเดนของระบบปฏบตการ Ubuntu 1. การปรบปรงระบบอยางตอเนอง (System Update) ระบบปฏบตการอบนตเปนลนกซสายพนธ Debian ทมการน าระบบการจดการชดค าสงส าเรจรปตางๆ ทเรยกวา APT (Advanced Package Tool) มาใชท าใหมจดเดนตรงทผใชงานสามารถเลอกตดตงชดค าสงเสรม (Package Software) โดยเชอมตอเพอดาวนบรรจและท าการตดตงผานเครอขายอนเทอรเนต (Internet) ไดตลอดเวลาและยงมสวนทชวยจดการปรบแตงคาพนฐานตางๆ ใหกบระบบคอมพวเตอรของผใชงานไดโดยอตโนมต 2. การตดตงแบบกราฟก (Graphic Installation) ระบบปฏบตการอบนตมรปแบบกราฟกของผใชและคอมพวเตอร (Graphic User Interface) ท าใหมความสะดวกและงายตอการตดตงเพอใชงานจรง 3. ลองใชงานกอนทจะตดตงจรง (Try before You Install) ระบบปฏบตการอบนตยอมใหผใชสามารถทดลองตดตงเพอใชงานกอน โดยทไมตองตดตงลงในเครองคอมพวเตอรของผใช จนกวาผใชงานจะมความแนใจและมนใจวาจะเลอกใชงานจรงจงเลอกทจะตดตงลงในจานบนทก (disk) ของผใชเปนการถาวรได 4. ใชซดเพยงแผนเดยวเทานน (One-Cd Only) ระบบปฏบตการอบนตมความสามารถในการจดชดชดค าสง (Software Package) ทเหมาะสมทสด ซงจะท าใหไฟลและชดค าสงส าหรบตดตงจ านวนไมมากจนเกนไปซงบรรจลงไดในแผนซดเพยงแผนเดยว เพอไมท าใหผใชงานเกดความสบสนหรอลดความซ าซอนในการตดตงและใชงาน ท าใหใชเวลาในการตดตงชดค าสงไมยาวนานจนเกนไป 5. มทนสมยอยตลอดเวลา (Up to Date) ระบบปฏบตการอบนตจะมเวอรชน (Version) ออกใหมในทกๆ 6 เดอน (โดยก าหนดออกในทกเดอนเมษายนและเดอนตลาคมของทกๆ ป) พรอมทงระบบรกษาความปลอดภยทผใชงานสามารถทจะดาวนบรรจเพอปรบปรงใหโปรแกมมความทนสมยอยตลอดเวลา 10.3 รปแบบการตดตงระบบปฏบตการ Ubuntu ระบบปฏบตการ Ubuntu สามารถดาวนบรรจ (Download) ผานทางเวบไซต (Website) http://www.ubuntu.com โดยสามารถเลอกรปแบบการดาวนบรรจเพอใชในการตดตงแยกเปน 3 รปแบบโดยแตละกลมทเลอกขนอยกบความตองการของผใช ดงน 1. Download Ubuntu Server: ไฟลในรปแบบนจะสรางออกมาเปนแผนทสามารถรองรบใชงานไดส าหรบองคกรทตองการความมนคงมากขนส าหรบการใชงานขนาดใหญ (Long Term Support: LTS) 2. Download Ubuntu: ไฟลในรปแบบ Desktop เปนแผนทสามารถใชงานไดโดยไมตองตดตง หรอใชส าหรบตดตงดวยกได ซงจะเปนการตดตงผานอนเทอรเฟสแบบ GUI ทสามารถใชเมาสคลกเพอตดตง และก าหนดคาตางๆ ระหวางตดตงได 3. Alternate Download: ไฟลนจะสรางออกมาเปนแผนทส าหรบตดตงโดยเฉพาะ และเปนการตดตงผาน Text base UI (คลายการตดตง Windows XP) เมอตดตงเสรจเรยบรอยแลวจะใชงานไดเหมอนกบทตดตงผานแผน Desktop CD ทกประการ

160

10.4 ขนตอนและวธการตดตงระบบปฏบตการ Ubuntu 12.04 LTS (Precise Pangolin) Daily Build กรณศกษา (Case Study): ระบบปฏบตการลนกซ: ภาคปฏบต ของบทเรยนบทท 10 ผสอนจะเนนการเรยนการสอน โดยใหผเรยนทดลองตดตงระบบปฏบตการ Ubuntu 12.04 LTS (Precise Pangolin) Daily Build ลงบนอปกรณบนทกขอมลแบบพกพา (Thumb Drive/ Flash Drive) เพอใหงายและสะดวกในจดการเรยนการสอนโดยผสอนสามารถแสดงขนตอนการดาวนบรรจไฟลและวธการตดตง ดงน ขนตอนท 1 การดาวนบรรจไฟล 2 ไฟลลงบน Desktop ของเครองคอมพวเตอร 1. Universal-USB-Installer-1.8.9.0.exe 2. precise-desktop-i386.iso สามารถแสดงขนตอนตางๆ ของการดาวนบรรจไฟลดงน

1. ดาวนบรรจ Download Pen Drive Linux's USB Installer ผานทางเวบไซต (Website) http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/#button

2. คลก (Click) เลอก Download Universal-USB-Installer-1.8.9.0.exe

3. คลก (Click) เลอก บนทกแฟม Save File ลงบน Desktop

161

4. บลคลก (Double-Click) ทไฟล Universal-USB-Installer-1.8.9.0.exe ทดาวนบรรจมา

5. คลก (Click) เลอกรน (Run)

6. เลอก I Agree

162

7. คลก (Click) เลอก Ubuntu 12.04 Desktop Daily Build

8. คลก (Click) เลอก Download the iso (Optional) แลว คลก (Click) เลอก Yes

9. คลก (Click) เลอก precise-desktop-i386.iso แลว คลก (Click) เลอก Save as

163

10. Save File ทชอ precise-desktop-i386 ลงบน Desktop ของเครองคอมพวเตอร

ขนตอนท 2 การตดตง Ubuntu 12.04 LTS Desktop ลงบน Flash drive 1. ดบเบลคลก (Double-Click) ทไฟล Universal-USB-Installer-1.8.9.0.exe ทดาว

นบรรจมา

2. คลก (Click) เลอกรน (Run)

164

3. เลอก I Agree

4. Step 1: คลก (Click) เลอก Ubuntu 12.04 Desktop Daily Build

5. Step 2: คลก (Click) เบราว (Browse)

165

6. คลก (Click) เลอก precise-desktop-i386

จะเหนวาขอความใน Step 2 จะเปลยนจาก สเหลอง --> เปนสเขยว C:\Users\mooky\Desktop\precise-desktop-i386.iso

7. Step 3: คลก (Click) เลอก USB Flash Drive ทเตรยมไว (ตองเสยบ USB Flash

Drive ไวกอนหนาตงแต Step 1)

166

8. Step 4: แดรกเมาส (Drag Mouse) ไปทางขวาเลอกขนาดความจของระบบปฏบตการ

Ubuntu ทตองการ (แนะน าใหเลอกขนาดความจสงสดทเลอกได

9. คลก (Click) เลอก Create แลวตอบ Yes ระบบจะเรมท าการตดตงระบบปฏบตการ

Ubuntu ลงบน USB Flash Drive

10. แสดงความกาวหนาในการตดตง (Execute)

167

11. การตดตงสมบรณ (Installation Complete) คลก (Click) ปด (Close)

10.5 ขนตอนการเรมใชงานระบบปฏบตการ Ubuntu 12.04 LTS (Precise Pangolin) Daily Build 1. ท าการ Set Bios ใหเครองคอมพวเตอรของผเรยน โดยการก าหนดให Bios ท าการบต (Boot) จาก Flash Drive เปนล าดบแรก (1st) แลว Save คา Bios แลวรบตเครอง (Reboot) เครองคอมพวเตอรอกครง 2. เสยบ Flash Drive ทไดตดตงระบบปฏบตการ Ubuntu ไวแลวเมอเครองคอมพวเตอรบตขนมาจะปรากฏหนาตา Ubuntu 12.04 LTS (Precise Pangolin) Daily Build for Desktop ดงรปขางลาง

168

10.6 สวนประกอบตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS แสดงไดดงรปท 10.1 10.6.1 หนาจอการท างาน ซงประกอบดวยสวนตางๆ ดงน

รปท 10.1 แสดงสวนประกอบตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS

1. เมน Search ใชส าหรบคนหาและเรยกใชงานชดค าสงตางๆ

169

2. Install Ubuntu 12.04 LTS ส าหรบตดตงระบบปฏบตการ Ubuntu ลงบนเนอทฮารดดกส

3. Home แสดงโฟรเดอรทบรรจไฟลตางๆ

4. FireFox Web Brower ส าหรบทองโลกอนเตอรเนต

170

5. LibreOffice Writer ชดค าสงส าหรบพมพงานเอกสาร (คลายกบชดค าสง MS-Word)

6. LibreOffice Calc ชดค าสงส าหรบงานตาราง (คลายกบชดค าสง MS-Excel)

7. LibreOffice Inpress ชดค าสงส าหรบงานน าเสนอ (คลายกบชดค าสง MS-PowerPoint)

171

8. Ubuntu Software Center ส าแหลงรวมแอปพลเคชน (Application) และซอฟตแวร (Software) ส าหรบดาวนบรรจ

9. Ubuntu One สถานทลงทะเบยนเปนสมาชก Ubuntu One ในการมพนทสวนตวในการจดเกบไฟล (File) รปภาพ (Photo) เพลง (Music) อกทงยงเปนแหลงในการแลกเปลยนไฟล (post online) ใหกบเพอนสมาชกในกลมไดอกดวย

A. System Settings การตงคาและปรบแตงคาตางๆ ของระบบ ซงแบงออกเปน 3 สวน คอ 1. Personal การตงคาและปรบแตงเครองคอมพวเตอร Desktop 2. Hardware การตงคาและปรบแตงอปกรณตางๆ 3. System การตงคาและปรบแตงขอมลทเกยวของกบระบบคอมพวเตอร

172

B.Workspaces Switcher ส าหรบสลบหนาจอการท างานเสมอน

C.Trash ถงขยะเกบไฟลทถกลบแลว

173

10.6.2 เมนหลก ของ Ubuntu 12.04 LTS ประกอบไปดวยเมนทงหมด 5 เมน ดงน 1. Applications 2. Recently Used 3. File and Folder 4. Music Collection 5. Video ซงเมนแตละอยางจะมหนาทตางกนดงน

1. เมน Applications ชดค าสงตางๆจะถกจดหมวดหมเกบไวเปนอยางดในเมนนซงคณสามารถเรยกใชชดค าสงตางๆ ทมผานทางเมน Applications

2. เมน Recently Used ทเมนนจะเกบขอมลการใชงานลาสดของผใช

174

3. เมน File and Folder เปนเมนทจดเกบแฟมขอมล (File) และ โฟวเดอร (Folder) ทงหมดทมอย

4. เมน Music Collection เปนเมนทจดเกบขอมลไฟลเพลงทมอยทงหมดในระบบ

5. เมน Video เปนเมนทจดเกบขอมลวดโอทมอยทงหมดในระบบ

175

10.6.3 การปรบแตงการแสดงผลของ Ubuntu 12.04 LTS ในสวนของการแสดงผล Ubuntu สามารถปรบแตงการแสดงผลไดในระดบหนง ซงสามารถด าเนนการไดดงน 1. การปรบความละเอยดหนาจอ Ubuntu 12.04 LTS จะเลอกความละเอยดมากทสดเทาทจอภาพและการดแสดงผลรองรบ ซงบางครงถาใชความละเอยดมากเกนไปจะท าใหไอคอนและตวหนงสอตางๆนนอาจจะดเลกไป ดงนนผใชสามารถปรบความละเอยดของหนาจอใหตรงตามความตองการได ซงการปรบคาความละเอยดหนาจอนน สามารถท าไดโดยไปท เมน Dash Home > System Settings > Hardware > Displays หนาตางการตงคาความละเอยดหนาจอจะถกเรยกขนมา ซงผใชสามารถเลอกความละเอยดไดตามตองการ เสรจแลวกดท Apply เพอใชงานคาทเลอกได

2. การเปลยนภาพพนหลง กอนทจะเรมเปลยนภาพพนหลงกนไดนน (wallpapers) ระบบตองมภาพพนหลงทจะใชกอน ซงผใชสามารถใชภาพในฟอรแมทใดกไดมาท าเปนภาพพนหลง โดยพยายามท าใหภาพนนมความละเอยดไมนอยไปกวา Resolution ของหนาจอ เมอไดภาพทตองการมาท าเปนภาพพนหลงแลว ใหใหผใชเลอกไปทเมน Dash Home > System Settings > Personal > Appearance ภายในหนาจอผใชจะเหนภาพหนาจอทมใหอยแลวจ านวนหนงโดยสามารถเลอกทภาพและใชงานไดทนท แตถาผใชไมอยากใชภาพพนหลง ผใชกสามารถเซตใหเปนสเดยวกได โดยเขาไปเซตทชอง Wallpapers ใหเลอก No Wallpaper และเลอกสทตองการทชอง Desktop Colors

176

สวนการน าภาพทตองการมาท า Wallpaper นนใหคลกทปมเครองหมายบวก (+) แลวเลอกไฟลภาพทผใชตองการ ภาพทตองการกจะปรากฏขนมาเปน 3. การปรบเปลยนและตดตงคาตางของระบบ ใน Ubuntu มเมนทชวยในการปรบเปลยนและตดตงระบบทชอวา System settings ใชในการตงคาและปรบแตงคาตางๆ ของระบบ แสดงดงเมนดานลาง

องคประกอบของ System settings กอนทผใชจะท าการตงคาและปรบแตงคาตางๆ ของระบบ ผใชตองเขาใจองคประกอบของวาในเมนของ System settings แบงออกเปน 3 สวน คอ 1. Personal การตงคาและปรบแตงเครองคอมพวเตอร Desktop 2. Hardware การตงคาและปรบแตงอปกรณตางๆ 3. System การตงคาและปรบแตงขอมลทเกยวของกบระบบคอมพวเตอร องคประกอบตางๆ นผใชสามารถเลอกตงคาและปรบแตงคาตางๆ ของระบบทตองการได เชน การตดตงคาภาษาทตองการท Language Support ในสวนของ Personal คลกเลอก Install/Remove Languages คลกเลอกภาษาทตองการในชอง Installed แลวคลกทปม Apply Changes เปนอนเสรจขนตอนการตดตงคาภาษาทผใชตองการ เปนตน

177

4. การเปลยนฟอนตทใชแสดงผล แบบอกษร (Style) หรอทเรยกวาฟอนต (Font) ทใชในการแสดงผล ในสวนตางๆของ Ubuntu ผใชสามารถเปลยนเปนรปแบบอกษรแบบอนไดตามตามตองการ วธการเปลยนแบบอกษรใหผใชไปทเมน System > Preferences > Font จะปรากฏหนาตางการตงคา Font Preferences แสดงขนมา ซงผใชสามารถเลอกแบบอกษรใหกบสวนประกอบตางๆของหนาจอไดตามตองการ

10.6.4 ชดค าสงพนฐาน เมอท าการตดตง Ubuntu 12.04 LTS เสรจเรยบรอยแลว จะมชดค าสงพนฐานมาใหพรอมใชงานไดทนท ซงไมจ าเปนตองตดตงเพมแตอยางใด ซงชดค าสงพนฐานประกอบไปดวย 1. Home ชดค าสงจดการไฟลใน Ubuntu 12.04 LTS จะมชอเรยกวา Nautilus ทกครงทมการเปดโฟลเดอรรปบานหรอดบเบลคลก (Double Click) ทโฟลเดอรใดๆกตาม Nautilus จะถกเรยกขนมาท างาน (ซง Nautilus นมหนาตาคลายกบ File Manager ของระบบปฏบตการ Windows)

178

2. เทคนคในการใชงาน การแสดงแฟมทถกซอนอย ท าไดโดยใหผใชกด Ctrl+H ชดค าสงจะแสดงไฟลและแฟมทถกซอนขนมา ซงสวนไฟลใหญจะเปนไฟลทใชในการบนทกการตงคาสวนตว การสรางแฟมซอนนนเพยงแคเปลยนชอไฟลหรอแฟมนนๆ แลวใส “จด” น าหนา เชน โฟลเดอรชอ hidden เปลยนชอเปน .hidden ไฟลหรอแฟมดงกลาวกจะถกซอนในทนท ในสวนของต าแหนงในหมายเลข 3 ถาผใชรต าแหนงทแนนอนทตองการไป เชน /media/cdrom ผใชสามารถพมพต าแหนงทตองการลงไปไดเลย โดยการกด Ctrl+L แถบทใชบอกต าแหนงดวยปมจะเปลยนเปนแถบยาวๆ คลายกบ Web Browser เพอใหผใชพมพต าแหนงทตองการลงไป ซงเมนดานขางผใชสามารถเปลยนจากสถานทส าคญเปนขอมลของแฟมหรอมมมองแบบรากไมกได ดวยการคลกทขอความทเขยนวา Places แลวเลอกตวเลอกทตองการ 3. Web Browser ชดค าสง Web Browser หรอชดค าสงทองอนเทอรเนตนนจะเปนชดค าสง Firefox ซงวธการใชงาน (เหมอนกบ Firefox ทเปนเวอรชนของ Windows) วธเรยกใชชดค าสง Firefox นสามารถเรยกไดปมรปหมาปาทเรยกวา Firefox Web Browser

179

4. การตงคาภาษาไทย การตงคาภาษาไทยส าหรบ Firefox เพอใชเวบไซตภาษาไทยนน ผใชจะตองท าการตงคาเพอใชงานส าหรบการเขารหสสองแบบคอ UTF-8 และ TIS-620 วธการตงคาภาษาไทยนนใหผใชคลกท Edit > Preferences หนาตางการตง คาจะถกเปดขนมา ใหเลอกท Content (ทคลายหนากระดาษ) ชดค าสงจะแสดงสวนปรบตง คาส าหรบการแสดงผลของเวบไซตขนมา ดทกรอบ Fonts & Colors ทชอง Default Font ใหเลอก Loma ซงเปนฟอนตทนยมมากตวหนง จากนนทายชอง Default Font ใหคลกท Advanced หนาตางส าหรบตงคาฟอนต (Font) จะเปดขนมา ทชองบนสดใหคลกเลอกเปน Thai กอน เพอปรบแตงคาส าหรบเวบไซตทเขารหสแบบ TIS-620 ทชอง Serif และ Sans-serif ใหเลอกผใชเลอกฟอนตเปน Loma เสรจแลว ไปททชอง Fonts for เลอกเปน Thai และใหเปลยนเปน Western เพอตงคาการแสดงผลส าหรบเวบทเขารหสแบบ UTF-8 ทชอง Serif และ Sans-serif ใหเลอกเปน Loma เชนเดม เสรจแลวไปทกรอบ Character Encoding ดานลาง ใหเลอกเปน Thai (TIS-620) เพอใหหนาเวบทไมไดก าหนดรหสภาษาใชการเขารหสแบบ TIS-620 โดยอตโนมต

5. การใชงาน Movie Player ชดค าสงดหนงใน Ubuntu จะมชอวา Totem ใชส าหรบเลนไฟลภาพยนตรตางๆ รวมถง CD และ DVD ดวย ตวชดค าสงสามารถเรยกไดทาง เมน Applications > Sound &Video > Movie Player โดยหลงจากทตดตง Ubuntu เสรจแลว กสามารถเลอกใชงานชดค าสงดงกลาวไดทนท

180

6. การเขยนซด ใน Ubuntu 2.04 LTS นนใหผใชสามารถเขยนซดผานชดค าสง Brasero Disc Burner ได ทนท โดยถาหากผใชใสแผนซดเปลาเขามาในเครองคอมพวเตอร กจะปรากฏหนาตาง Create a new project ขนมาถามผใชวาตองการทจะสรางซด (CD) หรอดวด (DVD) ในรปแบบใด เชน การสรางไฟลเพลงดจตอล (Audio project) การสรางไฟลขอมล (Data Project) การสรางไฟลวดโอ (Video project) ท าการ คดลอกลงบนจานบนทก (disk) หรอการเบรนไฟลอมเมทลงบนแผน (Burn image) เปนตน

7. HUD (Head-up Display) มลกษณะทเปนชองพมพค าสงเหมอนชองคนหาใน Unity launcher ซงน ามาใชงานแทน Global memus ใน Ubuntu รนกอนหนา หนาทหลกของ HUD ใชเพอพมพเพอคนหาค าสงในเมนยงสามารถสงงานชดค าสงตางๆ ไดอกดวย เชน การใชเปลยนสถานะใน Emphathy หรอเปลยนเพลงใน Banshee เปนตน วธใชงานใหผใชงานกด Alt คางไวชดค าสง HUD จะปรากฏขนมาใหผใชสามารถพมพค าสงเพอใชคนหา ชดค าสงทตองการกจะปรากฏขนมาเพอใหผใชเลอนแทบเมนลงมาแลวเลอกซอฟตแวรทตองการใชแลวกด Enter เพอใชงานชดค าสงดงกลาวไดทนท แสดงดงรปขางลาง

181

10.6.4 ชดค าสงเสรม ระบบปฏบตการ Ubuntu 12.04 LTS จะมชดค าสงทชวยใหผใชสามารถดาวนบรรจ (Downloads) ชดค าสงเสรมทชอวา Ubutu Software Center มาตดตงลงบนเครองคอมพวเตอรของตวเองไดตามใจชอบซงระบบปฏบตการ Ubuntu 12.04 LTS ไดจดชดค าสงเสรมตางๆ ไวเปนหมวดหมดงน

1. Accessories ใชส าหรบตดตงซอฟตแวรยอยเบดเตลดทมใหผใชสามารถเลอกดาวนบรรจมากมาย

2. Book & Magazines ใชส าหรบตดตงซอฟตแวรทเกยวกบหนงสอและแมกกาซนตางๆ ทชนชอบ

ทงแบบเสยคาใชจายและไมเสยคาใชจาย

182

3. Developer Tools ใชส าหรบตดตงซอฟตแวรทเกยวของกบชดค าสงหรอซอฟตแวรส าหรบ

นกพฒนาภาษาชดค าสงตางๆ ใหเลอกบรรจมากมาย

4. Educations ใชส าหรบตดตงซอฟตแวรเกยวของกบการศกษาหรอแหลงการเรยนรทวทกมมโลก

5. Fonts ใชส าหรบตดตงฟอนตทสนบสนนภาษาตาง ๆทผใชตองการเพยงแคพมพภาษาทตองการ คนหาเพอตดตง ฟอนตของภาษาทตองการกจะแสดงขนมาใหเลอกตดตงไดทนท

183

6. Games ใชส าหรบตดตงซอฟตแวรเกยวของกบเกมส ซงมใหผใชงานเลอกบรรจไดทงแบบเกมสสองมตและเกมสแบบสามมตตางๆ มากมาย

7. Graphics ใชส าหรบตดตงซอฟตแวรเกยวของกบงานดานกราฟฟกตางๆ

8. Internet ใชส าหรบตดตงซอฟตแวรเกยวของการใชงานดานอนเตอรเนต เชน การแชรไฟล (File Sharing) การพดคยระหวางบคคล (Chat) การสงเมล (Mail) เวบเบารเซอร (Web Browsers) เปนตน

184

9. Office ใชส าหรบตดตงซอฟตแวรเกยวของกบงานดานส านกงานตางๆ

10. Science & Engineering ใชส าหรบบรรจซอฟตแวรทเกยวของกบวทยาศาสตรหรอวศวกรรมศาสตร

11. Sound & Video ใชส าหรบบรรจซอฟตแวรทเกยวของกบดหนงหรอฟงเพลง

185

12. System เปนซอฟแวรทไวตดตงชดค าสงทเกยวของกบสวนตางๆ ของระบบทผใชตองการ ตดตงเพมเตมหลงจากทตดตงระบบปฏบตการ Ubuntu เสรจเรยบรอยแลว

13. Themes & Tweaks เปนซอฟแวรทใชส าหรบปรบแตงสวนประกอบหนาจอและ

สวนประกอบตางๆ ของระบบปฏบตการ ubuntu

14. Universal Access เปนซอฟแวรทใชส าหรบการเขาถงโครงขายพนฐานการใชงานระหวาง คอมพวเตอรและการเชอมตออยางทวถง

186

สรป

ระบบปฏบตการอบนต (Ubuntu Operating System) นนเปนลนกซดสโทร (Linux Distro) ทไดรบความนยมมากจากผพฒนาและผใชงานทวทกมมโลก เนองจากเปนระบบปฏบตการทม ความประสทธภาพและมขดความสามารถสง เปบระบบปฏบตการทเนนในรปแบบกราฟกของผใชและคอมพวเตอร (Graphic User Interface) ใหมความสะดวกและงายตอการใชงาน สามารถท างานและประมวลผลบนเครอขายอนเตอรเนตความเรวสง (High speed Internet) โดยทผใชงานไมจ าเปนจะตองดาวนบรรจหรอท าการตดตงซอฟตแวรเสรม (Enhanced Software) ใดๆ เพมเตม ซงระบบปฏบตการอบนต (Ubuntu Operating System) จะเมนเสรมเพมเตมเขามาทเรยกวาจดรวมซอฟตแวร (Ubutu Software Center) ใหผใชงาน สามารถเลอกเพอดาวนบรรจ (Downloads) ซอฟตแวรทตนเองตองการตดตงลงบนเครองคอมพวเตอรและยงมระบบทคอยจดการไฟลทดาวนบรรจมาใหอยเปนหมวดหมใหโดยอตโนมต ซงคณสมบตเดนอกประการหนงคอจะมเวอรชน (Version) ออกใหมในทกๆ 6 เดอน (โดยก าหนดออกในทกเดอนเมษายนและเดอนตลาคมของทก ๆป) ชงเวอรชน (Version) ทออกใหมทผใชงานมกนยมทจะดาวนบรรจ (Download) มาตดตงลงบนคอมพวเตอรของตวเองมกจะนยมเลอก เวอรชน (Version) ทมค าวาตอทายวา LTS (Long Term Support) ตามมาเสมอ ซงหมายถงวาผพฒนาระบบจะมการพฒนาตวระบบปฏบตการและท าการอพเดท (Update) สวนตางๆ ในระบบอยางตอเนองท าใหผใชงานเกดความมนใจวาจะมชดค าสงเสรมเพอตดตงหรอแกไขขอบกพรอมเดมของตวชดค าสงเองอยตลอดไป กลาวคอคอส าหรบรนคอมพวเตอรตงโตะ (Laptop Computer) สนบสนนเปนเวลานานถง 3 ปเตม สวนในรนแมขาย (Sever) สนบสนนเปนเวลานานถง 5 ปเตมตามมาเปนล าดบ เพราะเหตนเองจงท าใหระบบปฏบตการอบนต (Ubuntu Operating System) เปนระบบปฏบตการโอเพนซอรส (Opensource) ทมผเลอกใชงานมากทสดในโลก

187

ค าถามทบทวน

1. จงอธบายลกษณะเดนของระบบปฏบตการ Ubuntu วามอะไรบาง 2. ณ เวบไซต http://www.ubuntu.com สามารถเลอกรปแบบการดาวนบรรจเพอใชในการตดตง ระบบปฏบตการ Ubuntu แยกไดเปนกรปแบบอะไรบาง 3. การตดตง Ubuntu 12.04 LTS Desktop ลงบน Flash drive ประกอบดวยขนตอนอยางไรบาง 4. สวนประกอบตางๆ ของระบบปฏบตการ Ubuntu 12.04 LTS มส าคญมอะไรบางจงอธบาย 5. การตงคาและปรบแตงคาตางๆ ของระบบ (System Settings) ซงแบงออกเปนกสวนอะไรบาง 6. ระบบปฏบตการ Ubuntu 12.04 LTS for Desktop จะมชดค าสงทชวยใหผใชสามารถดาวนบรรจ (Downloads) ชดค าสงเพอตดตงเพมเตมทชอวา Ubutu Software Center ประกอบไปดวยกกลมอะไรบางจงอธบายพอสงเขป 7. ค าวา Long Term Support หมายถงอะไรและมความเกยวของกบระบบปฏบตการ Ubuntu อยางไร

188

เอกสารอางอง ราชบณฑตยสถาน. (2544). ศพทบญญต ราชบณฑตยสถาน. สบคนเมอ 2556, กรกฎาคม 26, เขาถงไดจาก: http://rirs3.royin.go.th/coinages/ ระบบปฏบตการอบนต (2556). วกพเดย สารานกรมเสร. สบคนเมอ 2556, พฤษภาคม 23, เขาถงได จาก: http://th.wikipedia.org/wiki/ พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. Silberschartz, Galvin, Gangne. (2011). Operating System Concepts. 8 th (ed), New York: McGra Hill.

189

บรรณานกรม ประวตความเปนมาของอบนต:The Ubuntu Story. (2547). สบคนเมอ 2556, พฤษภาคม 23, เขาถงไดจาก: http://www.ubuntu.com/about/about-ubuntu พเชษฐ ศรรตนไพศาลกลและคณะ. (2549). ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพเอช เอนกรป จ ากด. พระพนธ โสภาสถตย. (2552).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย, พรพร หมนสนท, สธ พงศาสกลชย, อจจมา เลยงอย. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : เคทพ แอนด คอนซลท. ยรรยงค เตงอ านวย. (2533).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพ จฬาลงกรณ มหาวทยาลย. สจตรา อดลยเกษม. (2552).ทฤษฎระบบปฏบตการ: Operating Systems. กรงเทพฯ : ส านกพมพโปรวชน. อรพน ประวตบรสทธ. (2553).ระบบปฏบตการ: Operating Systems. กรงเทพฯ : บรษท ซเอด ยเคชน จ ากด (มหาชน). Andrew S. Tanenbaum. (1987).Operating Systems: Design and Implementation. New York: Prentice Hall, Harvey M. Deitel, Paul J. Deitel, David R. Choffnes. (2004).Operating Systems. 3 th (ed), New York: Prentice Hall. Silberschartz, Galvin, Gangne. (2011).Operating System Concepts. 8 th (ed), New York: McGra Hill. Trent Jaeger. (2008).Operating System Security. Texas: Morgan & Clay Pool Publishers. William Stallings. (2011).Operating Systems: Internals and Design Principles. 7 th (ed), New York: Prentice Hall.