ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
ระบบคอมพิวเตอร์และระบบปฏิบัติการ
โครงสร้างระบบและสถาปัตยกรรมคอมพิวเตอร์ วิเชษฐ์ พลายมาศ นงลักษณ์ พรมทอง
2
วัตถุประสงค์การเรียนรู้
เพื่อให้รู้จักสาระสำคัญเกี่ยวกับระบบคอมพิวเตอร์ ระบบปฏิบัติการ วิวัฒนาการและชนิดของคอมพิวเตอร์และระบบปฏิบัติการ เพื่อให้เข้าใจหน้าที่ของระบบปฏิบัติการในการติดต่อระหว่างอุปกรณ์รอบข้างกับหน่วยประมวลผลกลาง เพื่อศึกษาเกี่ยวกับการเรียกระบบ และระบบไมโครคอมพิวเตอร์
3
หัวข้อบรรยาย Computer System Components What is an Operating System?
Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู System Call ไมโครคอมพิวเตอร์และระบบปฏิบัติการ
5
ส่วนประกอบของระบบคอมพิวเตอร์ Computer System Components
ฮาร์ดแวร์ (h/w) ทำหน้าที่จัดหาทรัพยากรเพื่อการคำนวณพื้นฐาน ได้แก่ ซีพียู หน่วยความจำ i/o devices เป็นต้น ระบบปฏิบัติการ (Operating System) ควบคุมและประสานงานการใช้ฮาร์ดแวร์เหล่านั้นที่ถูกเรียกใช้โดยหลายแอพพลิเคชันโปรแกรม สำหรับผู้ใช้ต่างๆ แอพพลิเคชันโปรแกรม (application program) กรรมวิธีที่ทรัพยากรระบบจะถูกใช้เพื่อแก้ปัญหาในทางคำนวณของผู้ใช้งาน เช่น คอมไพเลอร์ ระบบฐานข้อมูล เกมส์วีดิโอ ซอฟต์แวร์ธุรกิจ เป็นต้น ผู้ใช้ (users) ได้แก่ คน เครื่องคอมพิวเตอร์ และคอมพิวเตอร์เครื่องอื่นๆ
6
Abstract View of System Components
7
ระบบปฏิบัติการ OS: Operating Systems
คือ กลุ่มโปรแกรมที่ทำหน้าที่เป็นตัวกลางระหว่างผู้ใช้ กับเครื่องคอมพิวเตอร์ มีจุดมุ่งหมายเพื่อจัดหาสภาพแวดล้อมที่เหมาะสมเพื่อให้ผู้ใช้กระทำการกับโปรแกรม (execute programs) โดยมีเป้าหมายหลักเพื่อให้การใช้ระบบคอมพิวเตอร์ของผู้ใช้เป็นไปอย่างสะดวก และการใช้ฮาร์ดแวร์เป็นไปอย่างมีประสิทธิภาพ
8
แบบจำลองพื้นผิวแต่ละชั้นที่แสดงปฏิสัมพันธ์ระหว่างผู้ใช้, โปรแกรมประยุกต์, ระบบปฏิบัติการ และฮาร์ดแวร์ Operating System Concepts
9
Operating System Definitions
ผู้จัดสรรทรัพยากร (Resource allocator) ทำหน้าที่จัดการและจัดสรรทรัพยากร โปรแกรมควบคุม (Control program) ควบคุมการกระทำการ (execution) ของโปรแกรมผู้ใช้และปฏิบัติต่างๆ (operations) ของอุปกรณ์ i/o เคอร์แนล (Kernel) โปรแกรมชนิดหนึ่งที่รันอยู่ตลอดเวลา เพื่อให้แอพพลิคชันโปรแกรมอื่นๆ สามารถดำรงอยู่ได้
10
วิวัฒนาการและชนิดของระบบปฏิบัติการ
วิวัฒนาการและชนิดของระบบปฏิบัติการ ระบบปฏิบัติการและสถาปัตยกรรมคอมพิวเตอร์มีอิทธิพลซึ่งกันและกันอย่างมาก พบได้จากวิวัฒนาการของคอมพิวเตอร์ ตั้งแต่อดีตจากหลอดสุญญากาศที่ไม่มีระบบปฏิบัติการ ซึ่งเป็นสิ่งที่ทำให้ต้องมีการเพิ่มประสิทธิภาพของระบบปฏิบัติการให้มีโครงสร้างที่ทันสมัยเหมาะสำหรับการใช้งาน ถูกพัฒนามาจากระบบเครื่องเมนเฟรมที่ต้องการเพียงระบบปฏิบัติการอย่างง่ายๆ สำหรับทำงานกับแอพพลิเคชันเพียงอย่างเดียว จนกระทั่งถึงระบบแบ่งกันใช้เวลาที่ซับซ้อน จากนั้น จึงพัฒนาไปอยู่บนระบบคอมพิวเตอร์ขนาดเล็กอย่างคอมพิวเตอร์แบบตั้งโต๊ะ มาเป็นระบบคอมพิวเตอร์แบบมือถือ และอุปกรณ์แบบเคลื่อนได้ในปัจจุบัน
11
พัฒนาการที่สำคัญของระบบปฏิบัติการ
Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems
12
ระบบเชิงกลุ่ม (Batch Systems)
เป็นระบบแบบง่ายๆ ตามสถาปัตยกรรมคอมพิวเตอร์ มีหน้าที่หลักคือส่งการควบคุมโดยอัตโนมัติจากงานหนึ่งไปยังงานถัดไป ระบบปฏิบัติการต้องอยู่ในหน่วยความจำตลอดเวลา เพื่อทำให้การประมวลผลเร็วขึ้น ผู้ดูแลระบบทำการรวมกลุ่มงานที่มีความต้องการสิ่งที่เหมือนกันเข้าด้วยกันและดำเนินงานงานเหล่านั้นผ่านทางคอมพิวเตอร์เป็นกลุ่ม โปรแกรมเมอร์สามารถทิ้งโปรแกรมไว้กับพนักงานคุมเครื่องได้ และผู้ดูแลระบบจะเรียงโปรแกรมไว้เป็นกลุ่มที่ต้องการสิ่งที่เหมือนกันและเมื่อคอมพิวเตอร์ว่างก็จะดำเนินงานแต่ละโปรแกรมตามลำดับ
13
ภาพที่ 1.2 โครงร่างของหน่วยความจำสำหรับระบบเชิงกลุ่มอย่างง่าย
14
ระบบเชิงกลุ่มแบบอัตโนมัติ (Automatic Batch Systems)
เป็น os รุ่นแรกใช้กับเครื่อง IBM 701 os รุ่นนี้เป็นเพียงโปรแกรมฝังตัวเล็กๆ (resident monitor) ซึ่งวิ่งอยู่ภายในเครื่องตลอดเวลา และทำการส่งมอบการควบคุมเครื่องให้กับโปรแกรมของผู้ใช้ทีละโปรแกรมตามลำดับ ใช้ภาษาควบคุมงาน JCL (Job Control Language) ช่วงเวลารอคอย (turnaround time) คือตั้งแต่ส่งมอบงานเข้าเครื่อง (job submission) จนกระทั่งงานเสร็จสมบูรณ์ (job completion) ยังมีปัญหาในเรื่องความแตกต่างของความเร็วระหว่าง i/o กับ cpu ทำให้ประโยชน์ใช้สอยของซีพียู (cpu utilization) ยังทำไม่เต็มที่
15
ระบบบัฟเฟอร์ (Buffering)
มีหลักการทำงานคือ ให้ i/o ทำงานขนานไปพร้อมกับ cpu ให้มากที่สุด เพื่อลดเวลาที่ cpu รอ i/o ในขณะที่ cpu กำลังประมวลผล i/o จะอ่านข้อมูลถัดไปมาไว้ที่หน่วยความจำ ที่เรียกว่า บัฟเฟอร์ (buffer) บัฟเฟอร์ของ i/o ได้แก่ เครื่องอ่านบัตร (card reader) และเครื่องพิมพ์รายบรรทัด (line printer) i/o จะทำงานติดต่อกับ cpu โดยตรง เรียกว่า ระบบต่อตรง (On-Line)
16
ระบบบัฟเฟอร์ (Buffering) (cont.)
ถ้าการอ่าน/เขียนสำหรับข้อมูลแต่ละหน่วยใช้เวลาเท่ากับการประมวลผลแต่ละหน่วยพอดี i/o กับ cpu จะไม่มีการรอคอยซึ่งกันและกัน ปัญหาสำคัญของระบบนี้คือ ความเหลื่อมล้ำด้านเวลา cpu มีความเร็วสูงกว่า i/o มาก แม้จะมีบัฟเฟอร์เข้ามาช่วย cpu ก็ต้องรอi/o อยู่ดี หากเป็นงานประเภทต้องใช้ i/o มาก (I/O bounded) cpu ต้องรอ i/o หากเป็นงานประเภทต้องใช้ cpu มาก (CPU bounded) ทำให้ i/o ต้องรอ cpu
17
การประมวลผลออฟไลน์ (Off-Line Processing)
แบบไม่เชื่อมตรง แตกต่างจากระบบออนไลน์ ระบบออฟไลน์จะใช้เทปแม่เหล็ก (magnetic tape) แทนเครื่องอ่านบัตรและเครื่องพิมพ์ที่มีความเร็วต่ำมาก โดยคั่นระหว่าง input unit กับ cpu และ cpu กับ output unit การถ่ายเทข้อมูลผ่านเทปแม่สามารถทำได้โดยใช้เครื่องอ่านบัตรและเครื่องพิมพ์ที่ได้รับการออกแบบเป็นพิเศษ ให้สามารถถ่ายเทข้อมูลโดยไม่ต้องผ่านซีพียู หรือเพิ่มหน่วยประมวลผลขนาดเล็กที่ทำหน้าที่เฉพาะด้านนี้ เรียกว่า I/O Processor
18
ภาพที่ 1.3 การทำงานของ i/o (a) แบบออนไลน์ (b) แบบออฟไลน์
19
Off-Line Processing (cont.)
ระบบออฟไลน์ก็ยังมีข้อจำกัดดังนี้ โปรแกรมต้องผ่านขั้นตอนมากขึ้น จะมีค่าใช้จ่ายอื่น (overhead) สูง ต้องการระบบปฏิบัติการที่ซับซ้อนมากขึ้น ในการเก็บข้อมูลลงเทปจำเป็นต้องรอให้มีหลายๆ โปรแกรมเสียก่อน จึงค่อยนำเข้าสู่เครื่องใหญ่เสียทีหนึ่ง แม้จะทำให้ประโยชน์ใช้สอยของซีพียูดีขึ้น แต่ผู้ใช้ต้องมีเวลารอคอย (turnaround time) มากขึ้น
20
ระบบสพูลิง (Spooling)
ในยุคนี้เทคโนโลยีสื่อบันทึกได้พัฒนาจากเทปแม่เหล็กเป็นดิสก์ ซึ่งได้นำไปสู่การเปลี่ยนโฉมหน้าของการออกแบบระบบปฏิบัติการและแอพพลิเคชันในเวลาต่อมา ระบบสพูลิง หรือระบบการเก็บพักได้ใช้ระบบดิสก์แทนเทปแม่เหล็ก เทปไม่สามารถทำการประมวลผลข้อมูลในเทปในขณะที่กำลังถ่ายเทข้อมูลจากเครื่องอ่านบัตรลงในเทปม้วนเดียวกันได้ หลักการใช้ดิสก์แทนอุปกรณ์รับและแสดงผล เรียกว่า การเก็บพักหรือสพูลิง (spooling--Simultaneous Peripheral Operating On-Line)
21
Spooling (cont.) เทปแม่เหล็ก ดิสก์
เทปเป็นอุปกรณ์ประเภทที่มีการเข้าถึงข้อมูลแบบเรียงลำดับ (sequential-access device) การประมวลผลโดยอาศัยเทปเป็นแบบออฟไลน์ ดิสก์ ดิสก์เป็นอุปกรณ์ประเภทที่มีการเข้าถึงข้อมูลแบบสุ่ม (random-access device) สามารถเข้าถึงข้อมูลโดยตรง (direct access) ได้ จึงทำให้สามารถแยกงานออกจากกัน โดยสร้างตารางบ่งบอกว่าข้อมูลหรือผลลัพธ์อยู่ที่ส่วนใดของดิสก์ การประมวลผลของดิสก์เป็นแบบเชื่อมโดยตรงกับซีพียู (On-Line system) ดังนั้น หน่วยที่ใช้ในการถ่ายเทข้อมูลระหว่างดิสก์กับอุปกรณ์ไอ/โอ จึงต้องเป็นตัวเดียวกับหน่วยที่ใช้ประมวลผลงานของผู้ใช้ ใช้โปรแกรมพิเศษตัวหนึ่ง เรียกว่า โปรแกรม spool วิ่งคู่ขนานไปกับโปรแกรมของผู้ใช้ เพื่อทำการถ่ายเทข้อมูลกับดิสก์ จึงก่อให้เกิดระบบหลาบโปรแกรม (Multiprogramming) ขั้นพื้นฐาน
22
ภาพที่ 1.4 ระบบสพูลิง
23
ข้อแตกต่างระหว่างระบบบัฟเฟอร์กับสพูลิง
ระบบบัฟเฟอร์ เป็นการเหลื่อมกันระหว่างการประมวลผลกับหน่วยนำเข้า/ส่งออก ของโปรแกรมเดียวกัน ซึ่งไม่อาจทำได้มากนักด้วยข้อจำกัดของขั้นตอนการทำงานของโปรแกรมนั้นๆ ระบบสพูลิง เป็นการเหลื่อมกันของการประมวลผลกับการรับและแสดงผลของอีกงานหนึ่ง โดยผ่านโปรแกรมสพูล (spool) ระบบสพูลิง สามารถจัดการงานที่ถูกป้อนเข้ามาแบบเรียงลำดับได้โดยอิสระ เกิดเป็นกองกลางงาน (job pool) ซึ่งระบบปฏิบัติการสามารถเลือกงานเข้าประมวลผลตามความเหมาะสมก่อให้เกิดระบบการจัดลำดับงาน (job scheduling)
24
ระบบหลายโปรแกรม (Multiprogrammed Systems)
ความสามารถของการทำงานแบบหลายโปรแกรม (multiprogramming) ผู้ใช้ไม่สามารถใช้ cpu หรือ i/o แต่เพียงผู้เดียวตลอดเวลา การทำงานแบบหลายโปรแกรมเป็นการเพิ่มการใช้งาน cpu โดยการจัดงานให้กับ cpu ทำอยู่ตลอดเวลา งานหลายๆ งานจะถูกเก็บไว้ในหน่วยความจำพร้อมๆ กันในงานกองกลาง (job pool) os จะหยิบหนึ่งงานในหน่วยความจำมาดำเนินการจนกระทั่งงานนั้นอาจต้องรอให้งานบางอย่างเสร็จสมบูรณ์ ในระบบแบบหลายโปรแกรม os ต้องสับเปลี่ยนไปทำงานอื่น เมื่องานนั้นต้องหยุดรอบางอย่างอีก ซีพียูก็จะสลับไปทำงานอื่นอีกเป็นเช่นนี้ต่อไปเรื่อยๆ
25
ภาพที่ 1.5 โครงร่างหน่วยความจำสำหรับระบบหลายโปรแกรม จะมีหลายงานเก็บอยู่ในหน่วยความจำหลักพร้อมๆกัน และซีพียูจะเลือกมาหนึ่งงานเพื่อกระทำการ
26
Multiprogrammed Systems (cont.)
os ต้องเลือกว่างานใดจะสามารถเข้าใช้หน่วยความจำได้ก่อน การตัดสินใจนี้เรียกว่า การสับเปลี่ยนงาน (job scheduling) os ต้องเลือกว่าจะ run งานใดที่พร้อมถูก run ก่อน เรียกว่า การจัดลำดับการใช้ซีพียู (CPU scheduling) การที่มีหลายๆ งานดำเนินไปพร้อมๆ กัน ความสามารถของแต่ละงานที่จะมีผลกระทบต่องานอื่นต้องถูกจำกัดในทุกขั้นตอนของระบบปฏิบัติการ ได้แก่ การจัดลำดับกระบวนการ (process scheduling) หน่วยเก็บข้อมูลแบบจานบันทึก (disk storage) การจัดการหน่วยความจำ (memory management) การจัดสรร i/o (i/o allocation)
27
ภาพที่ 1.6 เปรียบเทียบการทำงานระหว่างสภาพแวดล้อมแบบโปรแกรมเดียวและแบบหลายโปรแกรม
28
ระบบการแบ่งกันใช้เวลา (Time-Sharing Systems)
เป็นเทคนิคที่ผู้ใช้หลายคนสามารถแบ่งปันการใช้ทรัพยากรคอมพิวเตอร์ร่วมกันในเวลาเดียวกัน os จะแบ่งเวลาออกเป็นช่วงสั้นๆ เรียกว่า เสี้ยวเวลา (time slice) เวียนกระทำการกับโปรแกรมหรือกระบวนการของผู้ใช้เป็นลำดับไป ช่วยให้เวลาการตอบสนอง (response time) ต่อผู้ใช้ทั้งหมดดีขึ้นและซีพียูทำงานได้เต็มประสิทธิภาพ เวลาการตอบสนอง หมายถึง ช่วงเวลาตั้งแต่ผู้ใช้ป้อนคำสั่งให้คอมพิวเตอร์จนกระทั่งคอมพิวเตอร์ตอบรับมา
29
Time-Sharing Systems (cont.)
แบบหลายภารกิจ (multitasking) หมายถึงสมรรถนะการทำงานแบบหลายโปรแกรมของระบบปฏิบัติการสำหรับผู้ใช้คนเดียว อย่างเช่นในคอมพิวเตอร์ส่วนบุคคล โดยที่ผู้ใช้คนหนึ่งสามารถดำเนินการ (run) หลายโปรแกรมในเวลาเดียวกันบนเครื่องเดียวกัน แบบมัลติเธรด (multithreading) สามารถแบ่งโปรแกรมหรือกระจายกระบวนการออกเป็นกระบวนการย่อยๆ เรียกว่า เธรด (thread) ซึ่งเป็นหน่วยย่อยที่เล็กที่สุดของกระบวนการที่สามารถกระทำการได้ (execution unit of process หรือ executable entity) ในระบบมัลติเธรด จะซอยโปรแกรม หรือกระบวนการออกเป็นหน่วยย่อยๆ แล้วทำงานคู่ขนานกันไป ซึ่งจะช่วยให้โปรแกรมทำงานเสร็จเร็วขึ้น
30
Time-Sharing Systems (cont.)
หน่วยเก็บเสมือน (virtual storage) เป็นเทคนิคในการแบ่งปันหน่วยความจำเพื่อให้สามารถกระทำการกับหลายโปรแกรมได้อย่างมีประสิทธิภาพ บางทีเรียกว่าหน่วยความจำเสมือน (virtual memory) โดยวิธีการแบ่งส่วนของโปรแกรมออกเป็นสองส่วน ส่วนแรกจะเก็บเฉพาะส่วนที่จำเป็นสำหรับการกระทำการไว้ในหน่วยความจำหลักจึงเรียกส่วนนี้ว่า หน่วยเก็บจริง (real storage) และส่วนที่เหลือจะเก็บไว้ในหน่วยเก็บรอง เช่นดิสก์ จึงเรียกส่วนนี้ว่า หน่วยเก็บเสมือน (virtual storage) โดยที่โปรแกรมประยุกต์จะถูกแบ่งออกเป็นส่วนๆ ลงในหน้า (page) ซึ่งมีขนาดคงที่ หรือ ส่วน (segment) ซึ่งมีขนาดที่แปรเปลี่ยนได้
31
ภาพที่ 1.7 หน่วยเก็บเสมือนเป็นเทคนิคที่ช่วยขยายหน่วยความจำหลักของคอมพิวเตอร์
32
ระบบคอมพิวเตอร์แบบตั้งโต๊ะ (Desktop Systems)
คอมพิวเตอร์ส่วนบุคคล (personal computer) ถูกออกแบบมาเพื่อรองรับการใช้งานสำหรับผู้ใช้คนเดียว อุปกรณ์ i/o ต่างๆ ได้แก่ แป้นพิมพ์ เมาส์ เครื่องพิมพ์ จอภาพ คุณลักษณะของระบบปฏิบัติการใหญ่ๆได้ถูกลดขนาดลงให้เหมาะกับพีซี มีความสามารถมากขึ้น เร็วขึ้น และระบบฮาร์ดแวร์ที่มีความซับซ้อนมากขึ้นได้ถูกพัฒนาขึ้นมา เน้นความสะดวกและการตอบสนองต่อผู้ใช้เป็นหลัก ไม่เน้นการใช้ประโยชน์จากซีพียูและระบบป้องกันที่มีอยู่บนระบบเมนแฟรม
33
ระบบหลายตัวประมวลผล (Multiprocessor Systems)
ระบบในปัจจุบันส่วนมากเป็นแบบตัวประมวลผลเดี่ยว (single-processor systems) แต่สามารถขยายขีดความสามารถได้หลายวิธี เช่น dual core, hyper threading, multi-core ระบบแบบหลายตัวประมวลผล (multiprocessor systems) บางทีเรียกว่าระบบขนาน (parallel systems) หรือระบบคู่แน่น (tightly coupled systems) เป็นระบบที่มีตัวประมวลผลมากกว่า 1 ตัวอยู่ในระบบสื่อสารแบบปิด มีการใช้บัสคอมพิวเตอร์ และนาฬิการ่วมกัน และบางครั้งรวมถึงหน่วยความจำและอุปกรณ์ต่อพ่วงด้วย
34
Multiprocessor Systems (cont.)
ข้อดีสำคัญของระบบหลายตัวประมวลผล การเพิ่มปริมาณงาน (throughput) การประหยัดอันเนื่องมาจากขนาด (economy of scale) เพิ่มความเชื่อถือได้ (increased reliability)
35
Multiprocessor Systems (cont.)
ระบบมัลติโพรเซสเซอร์แบบสมมาตร หรือ SMP (symmetric multiprocessing) ทุกตัวประมวลผลอยู่ในระดับเดียวกัน (peers) ไม่มีความสัมพันธ์แบบหลัก-รอง ระหว่างตัวประมวลผล แต่ละตัวประมวลผลจะดำเนินสำเนาของระบบปฏิบัติการชุดเดียวกันไปพร้อมๆ กัน ทุกตัวประมวลผลจะรันกระบวนการจำนวนเท่าๆ กัน ระบบปฏิบัติการส่วนใหญ่สนับสนุน SMP
36
Multiprocessor Systems (cont.)
แบบระบบมัลติโพรเซสเซอร์แบบอสมมาตร (asymmetric multiprocessing) ตัวประมวลผลแต่ละตัวจะถูกมอบหมายงานเฉพาะให้ทำ มีตัวประมวลผลหลัก (master processor) คอยควบคุมระบบ ส่วนตัวประมวลผลอื่นๆ อาจเรียกว่าตัวประมวลผลร่วม จะรอคำสั่งจากตัวหลัก หรืออาจทำงานที่กำหนดไว้ล่วงหน้า (predefined tasks) รูปแบบความสัมพันธ์นี้เรียกว่า ความสัมพันธ์แบบหลัก-รอง (master-slave relationship) ตัวประมวลผลหลักจัดตารางและกำหนดงานให้กับตัวประมวลผลร่วม
37
รูปที่ 1.7 สถาปัตยกรรมมัลติโพรเซสเซอร์แบบสมมาตร หรือ SMP
38
ระบบทำงานแบบทันที (Real-Time Systems)
ระบบทำงานแบบทันที การประมวลผลจะต้องถูกดำเนินการภายในเวลาที่กำหนด มิฉะนั้นระบบจะหยุดหรือล้มเหลว ถูกใช้เมื่อต้องการการตอบสนองแบบทันทีของการทำงานของตัวประมวลผลหรือกลไกลของข้อมูล มักถูกใช้เป็นอุปกรณ์ควบคุมในโปรแกรมประยุกต์เฉพาะงาน ตัวรับรู้ (sensors) นำข้อมูลเข้าสู่เครื่องคอมพิวเตอร์ และเครื่องคอมพิวเตอร์ต้องวิเคราะห์ข้อมูลและอาจจะปรับการควบคุมเพื่อแก้ไขการรับข้อมูลเข้าของตัวรับรู้ ประเภทของระบบทำงานแบทันที ระบบฮาร์ดเรียลไทม์ (hard real-time system) เป็นระบบที่รับรองว่าภารกิจวิกฤต (critical task) ต้องเสร็จตามเวลาที่กำหนด ระบบซอฟต์เรียลไทม์ (soft real-time system) ซึ่งงานที่วิกฤตจะได้รับลำดับความสำคัญ (priority) เหนือกว่างานอื่นๆ และจะได้รับลำดับความสำคัญนั้นจนกระทั่งงานเสร็จสมบูรณ์
39
ระบบกระจาย (Distributed Systems)
เครือข่ายคอมพิวเตอร์ที่ใช้ระบบแบบคู่หลวม (loosely coupled) หรือระบบแบบกระจาย ประกอบด้วยกลุ่มของตัวประมวลผลซึ่งไม่ได้แบ่งกันใช้หน่วยความจำหรือนาฬิการะบบ แต่ละตัวประมวลผลมีหน่วยความจำของตัวเอง (local memory) ตัวประมวลผลติดต่อกับผู้อื่นผ่านเส้นทางสื่อสารต่างๆ เช่น บัสความเร็วสูง หรือสายโทรศัพท์ ระบบปฏิบัติการเครือข่าย (network operating system-NOS) เป็นระบบปฏิบัติการที่มีคุณลักษณะ เช่น การแบ่งกันใช้แฟ้มข้อมูลข้ามเครือข่าย รูปแบบการติดต่อสื่อสารซึ่งอนุญาตให้กระบวนการต่างกันบนเครื่องคอมพิวเตอร์ต่างเครื่องกันได้แลกเปลี่ยนข้อมูลข่าวสารกัน เครื่องคอมพิวเตอร์ที่รัน NOS ปฏิบัติตัวอย่างเป็นอิสระจากคอมพิวเตอร์เครื่องอื่นบนเครือข่าย
40
Distributed Systems (cont.)
ระบบปฏิบัติการแบบกระจาย (distributed operating system) มีสภาพแวดล้อมที่เป็นอิสระน้อยกว่าระบบปฏิบัติการเครือข่าย แบ่งออกเป็น 2 ประเภท ระบบรับ-ให้บริการ (client-server systems) ระบบเพียร์ทูเพียร์ (peer-to-peer systems)
41
Distributed Systems (cont.)
ภาพที่ 1.8 โครงสร้างทั่วไปของระบบ client/server
42
Distributed Systems (cont.)
ต้องการโครงสร้างพื้นฐานของเครือข่ายรองรับ เช่น LAN หรือ WAN อาจใช้เป็นระบบ client/server หรือ peer-to-peer ก็ได้
43
Distributed Systems (cont.)
ข้อดี ใช้ทรัพยากรร่วมกัน (Resources Sharing) เพิ่มความเร็วในการคำนวณ แบ่งปันภาระงาน (Computation speed up – load sharing) เพิ่มความเชื่อถือได้ (Reliability) ระบบการสื่อสาร (Communications)
44
ระบบคลัสเตอร์ (Clustered systems)
ระบบคลัสเตอร์ยอมให้หลายระบบสามารถใช้ระบบหน่วยเก็บชุดเดียวกันได้ คล้ายกับระบบขนาน ซึ่งรวมหลายหน่วยประมวลผลกลางเข้าประมวลผลร่วมกัน หรือช่วยกันประมวลผลงานใหญ่ๆ ให้เสร็จในเวลาที่รวดเร็ว และยอมรับการเข้าถึงจากเครื่องของสมาชิก มีความเชื่อถือได้สูงมาก คลัสเตอร์แบบสมมาตร (Asymmetric clustering) 1 server runs แอพพลิเคชันในขณะที่ servers อื่นทำหน้าที่ standby. คลัสเตอร์แบบอสมมาตร (Symmetric clustering) ทุกโฮสต์ช่วยกันรันแอพพลิเคชัน (all N hosts are running the application)
45
ระบบคอมพิวเตอร์มือถือ (Handheld systems)
บางทีเรียกว่า ระบบเคลื่อนที่ได้ (Mobile system) รวมไปถึงพีดีเอ (PDA: personal digital assistants) เช่น พาล์ม (Palm), พ็อกเก็ตพีซี (Pocket PC) หรือโทรศัพท์แบบเซลลูลาร์ (cellular telephone) สมาร์ทโฟน iPod, iPhone Tablet และอุปกรณ์แบบเคลื่อนที่ได้อื่นๆ ซึ่งเชื่อมต่อเป็นเครือข่าย ผ่านระบบ Wi-Fi, Bluetooth เป็นต้น ฮาร์ดแวร์ของอุปกรณ์ประเภทพกพาได้รับการพัฒนาให้มีขีดความสามารถที่เพิ่มมากขึ้นเรื่อยๆ ประเด็นที่พึงพิจารณา ข้อจำกัดของหน่วยความจำ หน่วยประมวลผลความเร็วต่ำ ขนาดของหน่วยแสดงผล การบริโภคพลังงาน
46
หน้าที่ของระบบปฏิบัติการ
การจัดการกระบวนการ (process management) การจัดการหน่วยความจำหลัก (main memory management) การจัดการแฟ้ม (file management) การจัดการระบบไอ/โอ (I/O system management) การจัดการหน่วยเก็บรอง (secondary-storage management) เครือข่าย (networking) ระบบการป้องกัน (protection system) ระบบตัวแปลคำสั่ง (command interpreter system)
47
Migration of Operating-System Concepts and Features
48
Computing Environments
Traditional computing Web-Based Computing Embedded Computing Mobile Computing
49
การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู
การหยั่งสัญญาณ หรือพอลลิง (polling) การขัดจังหวะ หรืออินเทอร์รัพต์ (interrupt) ตู้ไปรษณีย์ หรือเมลบ็อกซ์ (mailbox)
50
การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู
การพอลลิง เป็นการติดต่อที่ช่วงเวลาหนึ่งๆ ซีพียู จะหยุดงานที่ทำอยู่ชั่วคราวเพื่อเข้าไปตรวจอุปกรณ์ไอ/โอแต่ละอุปกรณ์ว่ามีการขอบริการอะไรจาก ซีพียู บ้างจนครบทุกอุปกรณ์ แล้วจึงจะกลับไปทำงานที่ค้างไว้ต่อ การขัดจังหวะ จะเป็นลักษณะการติดต่อโดยการส่งสัญญาณการขัดจังหวะไปยัง interrupt driven โดยฮาร์ดแวร์หรือซอฟต์แวร์เพื่อบอกซีพียู เมื่อซีพียูรับรู้ก็จะหยุดทำงานรอจนกระทั่งการส่งข้อมูลจากอุปกรณ์นั้นเสร็จสิ้นลง จึงกลับไปทำงานต่อ ตู้ไปรษณีย์ ระบบจะกันเนื้อที่บางส่วนไว้ในหน่วยความจำเพื่อให้ i/o สามารถส่งข้อมูลเข้าไปเก็บในหน่วยความจำส่วนนี้ ในช่วงเวลาหนึ่ง ซีพียูจะหยุดงานที่ทำ เมื่อพบว่ามีข้อมูลก็จะโหลดข้อมูลเหล่านั้น จากนั้น ซีพียูจะกลับไปทำงานที่ค้างอยู่ต่อ ซึ่งวิธีนี้เป็นการผสมผสานวิธีแบบพอลลิงและการขัดจังหวะเข้าด้วยกัน
51
การเรียกระบบ (System Calls)
ทำหน้าที่จัดเตรียมส่วนต่อประสานระหว่างกระบวนการหนึ่งกับระบบปฏิบัติการ การเรียกระบบมักเป็นคำสั่งภาษาเอสแซมบลี หรืออาจเขียนด้วยภาษาระดับสูงก็ได้ เรียกว่า การเรียกระบบย่อย (subroutine call)
52
ภาพที่ 1.9 การส่งผ่านพารามิเตอร์โดยตารางในหน่วยความจำ
53
System Calls (cont.) ประเภทของ system call
การควบคุมกระบวนการ (process control) การจัดการแฟ้ม (file management) การจัดการอุปกรณ์ (device management) การใช้งานข้อมูลของระบบ (information maintenance) การสื่อสาร (communication)
54
ระบบปฏิบัติการสำหรับไมโครคอมพิวเตอร์
การบูต (booting) ภารกิจดูแลทั่วไปหรืองานแม่บ้าน (housekeeping tasks) ส่วนต่อประสานกับผู้ใช้ (user interface) การจัดการทรัพยากรคอมพิวเตอร์ (managing computer resources) การจัดการภารกิจ (managing tasks)
55
สรุป คอมพิวเตอร์และระบบปฏิบัติการ วิวัฒนาการและชนิดของระบบปฏิบัติการ
หน้าที่ของระบบปฏิบัติการ การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู การเรียกระบบ ไมโครคอมพิวเตอร์และระบบปฏิบัติการ
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.