Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Operating System Chapter 1

28,726 views

Published on

Computer Operating System Concept

Published in: Technology

Operating System Chapter 1

  1. 1. บทที่ 1 Introduction <ul><li>ระบบปฏิบัติการ Operating System คืออะไร </li></ul><ul><li>ระบบเมนเฟรม Mainframe Systems </li></ul><ul><li>ระบบเดสค์ทอป Desktop Systems </li></ul><ul><li>ระบบมัลติโปรเซสเซอร์ Multiprocessor Systems </li></ul><ul><li>ระบบกระจาย Distributed Systems </li></ul><ul><li>ระบบคลัสเตอร์ Clustered System </li></ul><ul><li>ระบบเรียลไทม์ Real -Time Systems </li></ul><ul><li>ระบบมือถือ Handheld Systems </li></ul><ul><li>การเปลี่ยนแปลงคุณลักษณะพิเศษต่างๆ Feature Migration </li></ul><ul><li>สภาพแวดล้อมในการคำนวณ Computing Environments </li></ul>
  2. 2. ระบบปฏิบัติการคืออะไร What is an Operating System? <ul><li>ระบบปฏิบัติการคือโปรแกรมที่ทำงานเป็นตัวกลางระหว่างผู้ใช้งานกับคอมพิวเตอร์ฮาร์ดแวร์ </li></ul><ul><li>จุดประสงค์หลักของระบบปฏิบัติการ </li></ul><ul><ul><li>เพื่อทำการเอ็กซ์ซีคิวท์ โปรแกรมของผู้ใช้และช่วยทำให้ปัญหาต่างๆ ที่ผู้ใช้ต้องการให้คอมพิวเตอร์ทำงานให้ถูกแก้ไขหรือประมวลผลให้สำเร็จลุล่วงโดยง่าย </li></ul></ul><ul><ul><li>ทำให้ระบบคอมพิวเตอร์สามารถถูกใช้งานได้โดยสะดวก </li></ul></ul><ul><ul><li>สามารถอำนวยให้ผู้ใช้ใช้งานฮาร์ดแวร์คอมพิวเตอร์ได้อย่างเต็มประสิทธิภาพ </li></ul></ul>
  3. 3. ส่วนประกอบต่างๆ ของระบบคอมพิวเตอร์ Computer System Components <ul><li>ฮาร์ดแวร์ Hardware หมายถึงอุปกรณ์อิเล็กทรอนิกส์ต่างๆ ซึ่งเป็นทรัพยากรพื้นฐานของระบบคอมพิวเตอร์ อาทิเช่น ซีพียู หรือหน่วยประมวลผลกลาง หน่วยความจำ อุปกรณ์อินพุท เอ้าท์พุท </li></ul><ul><li>ระบบปฏิบัติการ Operating system หมายถึง โปรแกรมที่ใช้ควบคุม ประสานงาน ในการใช้งานฮาร์ดแวร์ต่างๆ กับแอพพลิเคชั่นโปรแกรมหรือโปรแกรมอรรถประโยชน์ ของผู้ใช้งาน </li></ul><ul><li>แอพพลิเคชั่นโปรแกรม Applications programs หมายถึง โปรแกรมที่ใช้งานเฉพาะทางต่างๆ เพื่อแก้ไขปัญหา หรือความต้องการของผู้ใช้ อาทิเช่น คอมไพเลอร์ compilers ระบบฐานข้อมูล database systems วิดีโอเกมส์ โปรแกรมทางธุรกิจ </li></ul><ul><li>ผู้ใช้ระบบ หมายถึง บุคคล เครื่องจักร หรือคอมพิวเตอร์อื่น (people, machines, other computers) </li></ul>
  4. 4. ส่วนประกอบของระบบ Abstract View of System Components
  5. 5. ขอบเขตของระบบปฏิบัติการ Operating System Definitions <ul><li>ผู้จัดสรรทรัพยากรต่างๆ ของระบบ Resource allocator มีหน้าที่ในการจัดสรรทรัพยากรต่างๆ ของระบบให้สามารถถูกใช้งานได้อย่างต่อเนื่องมีประสิทธิภาพ </li></ul><ul><li>ควบคุมโปรแกรม Control program หมายถึงหน้าที่ในการควบคุมการเอ็กซีคิวท์โปรแกรมของผู้ใช้ และควบคุมการปฏิบัติหน้าที่ของอุปกรณ์อินพุทเอ้าท์พุทต่างๆ </li></ul><ul><li>เคอร์เนล Kernel หมายถึง โปรแกรมหนึ่งที่ทำงานอยู่ตลอดระยะเวลาที่เครื่องทำงาน เป็นแกนของระบบปฏิบัติการ </li></ul>
  6. 6. ระบบเมนแฟรม Mainframe Systems <ul><li>สามารถช่วยลดระยะเวลาในการทำงานโดยอาศัยการทำงานแบบแบทช์ กับการทำงานหลายๆ งาน </li></ul><ul><li>การจัดลำดับการทำงานแบบอัตโนมัติ โดยจะทำงานเปลี่ยนการควบคุมจากงานหนึ่งไปยังอีกงานหนึ่งโดยอัตโนมัติ ซึ่งเป็นคุณสมบัติพื้นฐานเบื้องต้นของระบบปฏิบัติการ </li></ul><ul><li>เฝ้าติดตามการทำงานใดๆ ที่เกิดขึ้น โดย </li></ul><ul><ul><li>สร้างการควบคุมในการเฝ้าติดตาม </li></ul></ul><ul><ul><li>เปลี่ยนการควบคุมไปยังงานต่างๆ </li></ul></ul><ul><ul><li>เมื่อการทำงานใดๆ เสร็จสิ้น ก็จะทำการเปลี่ยนไปสู่การเฝ้าติดตาม </li></ul></ul>
  7. 7. รูปแบบการจัดสรรหน่วยความจำแบบระบบแบทช์พื้นฐาน Memory Layout for a Simple Batch System
  8. 8. ระบบมัลติโปรแกรมแบทช์ Multiprogrammed Batch Systems โดยงานหลายๆ งานจะถูกจัดเก็บอยู่ในหน่วยความจำหลัก ในเวลาเดียวกัน ในขณะที่หน่วยประมวลผลทำการประมวลผลงานต่างๆ ไปพร้อมๆ กัน
  9. 9. คุณสมบัติที่จำเป็นของระบบปฏิบัติการเพื่อการทำงานแบบหลายโปรแกรมแกรม หรือมัลติโปรแกรมมิ่ง OS Features Needed for Multiprogramming <ul><li>I/O routine ระบบต้องสามารถรองรับการทำงานของส่วนอินพุทเอ้าท์พุทแบบรูทีน ( แบบวัตรปฏิบัติ ) </li></ul><ul><li>Memory management ต้องสามารถบริหารจัดการหน่วยความจำ โดยระบบต้องสามารถจัสรรพื้นที่บนหน่วยความจำให้กับงานที่เกิดขึ้นหลายๆ งานพร้อมๆกัน </li></ul><ul><li>CPU scheduling ความสามารถในการกำหนดการทำงานของหน่วยประมวลผล โดยระบบต้องสามารถเลือกงานที่พร้อมจะทำงานเพื่อเข้าใช้งานหน่วยประมวลผลอย่างมีประสิทธิภาพ </li></ul><ul><li>Allocation of devices ความสามารถในการจัดสรรอุปกรณ์ต่างๆ </li></ul>
  10. 10. ระบบแบ่งสรรเวลา Time-Sharing Systems การคำนวณผลเชิงโต้ตอบ Interactive Computing <ul><li>หน่วยประมวลผลจะทำงานกับงานหลายๆ งานไปพร้อมๆ กัน โดยหน่วยประมวลผลจะทำงานเฉพาะกับงานที่อยู่ในหน่วยความจำเท่านั้น ไม่สามารถทำงานกับงานใดๆ ที่อยู่ในหน่วยจัดเก็บได้ </li></ul><ul><li>งานแต่ละงานจะเกิดการสลับเข้าออกจากหน่วยความจำกับดิสค์ อยู่ตลอดเวลา </li></ul><ul><li>รองรับการสื่อสารแบบออนไลน์ On-line ระหว่างผู้ใช้กับระบบ เมื่อระบบปฏิบัติการทำการเอ็กซ์ซีคิวท์คำสั่งใดๆ เสร็จสิ้น ระบบจะค้นหาคำสั่งในการควบคุมถัดไปจากแป้นพิมพ์โดยอัตโนมัติ </li></ul><ul><li>ระบบออนไลน์ On-line system ต้องพร้อมที่จะอำนวยให้ผู้ใช้สามารถเข้าถึงข้อมูลและโค้ดต่างๆ ได้เสมอ </li></ul>
  11. 11. ระบบเดสค์ทอป Desktop Systems <ul><li>คอมพิวเตอร์ส่วนบุคคล Personal computers หมายถึงระบบคอมพิวเตอร์ที่ถูกออกแบบมาเพื่อให้ผู้ใช้งานหนึ่งคนเข้าใช้งานระบบ </li></ul><ul><li>อุปกรณ์อินพุทเอ้าท์พุท I/O devices อาทิเช่น แป้นพิมพ์ เม้าส์ จอแสดงผล เครื่องพิมพ์ขนาดเล็ก </li></ul><ul><li>การอำนวยความสะดวกให้แก่ผู้ใช้งาน และความสามารถในการตอบสนองผู้ใช้งานจากระบบ </li></ul><ul><li>สามารถพัฒนาดัดแปลงเทคโนโลยีไปสู่ระบบปฏิบัติการขนาดใหญ่ </li></ul><ul><ul><li>ระบบส่วนใหญ่ที่ออกแบบสำหรับผู้ใช้งานรายบุคคลมักไม่มีคุณสมบัติในการรองรับการทำงานเพื่อเพิ่มประสิทธิถาพของหน่วยประมวลผล รวมทั้งระบบความปลอดภัย </li></ul></ul><ul><li>สามารถทำงานด้วยระบบปฏิบัติการประเภทต่างๆ อาทิ วินโดวส์ แมคโอเอส ยูนิกส์ ลินุกซ์ (Windows, MacOS, UNIX, Linux) </li></ul>
  12. 12. ระบบขนาน Parallel Systems หรือระบบหน่วยประมวลผลหลายตัว <ul><li>ระบบที่มีหน่วยประมวลผลมากกว่าหนึ่งตัว multiprocessor systems ทำงานร่วมกันโดยอาศัยระบบการสื่อสารระยะใกล้ </li></ul><ul><li>ระบบคู่ขนานแบบสัมพันธ์แน่นหนา Tightly coupled system กล่าวคือ เป็นระบบที่มีหน่วยประมวลผลหลายตัวทำงานร่วมกันโดยใช้งานหน่วยความจำและสัญญาณเวลาร่วมกัน </li></ul><ul><li>ประโยชน์ของระบบขนาน </li></ul><ul><li>เพิ่มสมรรถนะ throughput ของระบบ </li></ul><ul><li>ประหยัด </li></ul><ul><li>เพิ่ม ความน่าเชื่อถือให้กับระบบ </li></ul><ul><ul><li>ลดความผิดพลาด </li></ul></ul><ul><ul><li>ปัญหาความล้มเหลวในการทำงานของตัวระบบเอง </li></ul></ul>
  13. 13. ระบบขนาน Parallel Systems (Cont.) <ul><li>การทำงานมัลติโปรเซส แบบไม่สัมพันธ์ Asymmetric multiprocessing </li></ul><ul><li>หน่วยประมวลผลแต่ละตัว จะได้รับมอบหมายหรือมีหน้าที่ในการทำงานแตกต่างกันออกไป โดยมีหน่วยประมวลผลหลักหนึ่งตัวทำหน้าที่แจกจ่ายงานให้กับหน่วยประมวลผลรองอื่นๆ </li></ul><ul><li>การทำงานมัลติโปรเซส แบบสัมพันธ์ Symmetric multiprocessing (SMP) </li></ul><ul><li>หน่วยประมวลผลแต่ละตัวจะทำงานและมีสำเนาระบบปฏิบัติการเป็นของตนเอง </li></ul><ul><li>สามารถทำงานหลายโปรเซสไปพร้อมๆ กันโดยที่ประสิทธิภาพไม่ลดลง </li></ul><ul><li>ระบบปฏิบัตการสมัยใหม่ส่วนใหญ่รองรับการทำงานแบบสัมพันธ์ </li></ul>
  14. 14. สถาปัตยกรรมการประมวลผลแบบหลายโปรเซสเชิงสัมพันธ์ Symmetric Multiprocessing Architecture
  15. 15. ระบบกระจาย Distributed Systems <ul><li>หมายถึงการกระจายงานการประมวลผลให้กับหน่วยประมวลผลที่อาจมีความแตกต่างทางกายภาพหลายๆ ตัวได้ </li></ul><ul><li>ระบบที่ไม่มีการเชื่อมโยงกัน Loosely coupled system หมายถึงหน่วยประมวลผลแต่ละตัวจะมีหน่วยความจำท้องถิ่นเป็นของตนเอง </li></ul><ul><ul><li>หน่วยประมวลผลจะสื่อสารกันโดยอาศัยสายสื่อสารที่หลากหลาย อาทิเช่น บัสความเร้วสูง หรืออาจใช้ สายโทรศัพท์ก็ได้ </li></ul></ul><ul><li>ประโยชน์ที่ได้รับจากระบบกระจาย </li></ul><ul><ul><li>สามารถแบ่งสรรทรัพยากรเพื่อใช้งานร่วมกัน Resources Sharing </li></ul></ul><ul><ul><li>เพิ่มความเร็วในการคำนวณ และแบ่งเบาภาระงาน load sharing </li></ul></ul><ul><ul><li>เพิ่มความน่าเชื่อถือ Reliability </li></ul></ul><ul><ul><li>เกิดการสื่อสาร Communications </li></ul></ul>
  16. 16. ระบบกระจาย Distributed Systems (cont) <ul><li>จำเป็นต้องอาศัยโครงข่ายการเชื่อมโยงพื้นฐาน </li></ul><ul><li>มีการเชื่อมโยงแบบเครือข่ายเฉพาะที่ หรือเครื่อข่ายระยะไกล Local area networks ( LAN ) or Wide area networks ( WAN ) </li></ul><ul><li>อาจเป็นได้ทั้งระบบ ไคลเอนท์เซอร์ฟเวอร์ client-server หรือระบบเพียร์ต่อเพียร์ peer-to-peer </li></ul>
  17. 17. โครงสร้างทั่วไปของระบบ ไคลเอนท์เซิร์ฟเวอร์ General Structure of Client-Server
  18. 18. ระบบคลัสเตอร์ Clustered Systems <ul><li>ระบบคลัสเตอร์ทำให้ระบบตั้งแต่สองระบบขึ้นไป สามารถแบ่งปันการใช้งานหน่วยจัดเก็บข้อมูลร่วมกัน </li></ul><ul><li>ทำให้เกิดความน่าชื่อถือต่อระบบเป็นอย่างดี </li></ul><ul><li>การทำคลัสเตอร์แบบไม่สัมพันธ์ Asymmetric clustering </li></ul><ul><ul><li>หมายถึงเซิร์ฟเวอร์หนึ่งมีแอพพลิเคชั่นทำงานอยู่ หรือแอพพลิเคชั่นรอรับคำสั่งเพื่อทำงานบนเซิร์ฟเวอร์อื่นๆ </li></ul></ul><ul><li>การทำคลัสเตอร์แบบสัมพันธ์ Symmetric clustering </li></ul><ul><ul><li>หมายถึงโฮสท์ทุกๆ N โฮสท์ มีแอพพลิเคชั่นหนึ่งหรือหลายๆ แอพพลิเคชั่นทำงานอยู่ </li></ul></ul>
  19. 19. ระบบเรียลไทม์ Real-Time Systems <ul><li>โดยมากนิยมใช้เพื่อการควบคุมอุปกรณ์ ด้วยแอพพลิเคชั่นต่างๆ อาทิเช่น การควบคุมเครื่องมือการตรวจวัดทางวิทยาศาสตร์ ใช้กับระบบภาพทางการแพทย์ ระบบะการควบคุมทางงานอุตสาหกรรม และในระบบแสดงผลบางระบบ </li></ul><ul><li>สามารถกำหนดขอบเขตของเวลาได้เป็นอย่างดี </li></ul><ul><li>ระบบเรียลไทม์ อาจเป็นได้ทั้งแบบฮาร์ด และแบบซอฟท์ hard or soft </li></ul>
  20. 20. ระบบเรียลไทม์ Real-Time Systems (Cont.) <ul><li>เรียลไทม์แบบฮาร์ด Hard real-time </li></ul><ul><ul><li>มีการจำกัดขนาดของหน่วยจัดเก็บข้อมูลรอง Secondary storage โดยข้อมูลต่างๆ จะถูกจัดเก็บอยู่ในหน่วยความจำหรือใน ROM เพียงระยะเวลาสั้นๆ </li></ul></ul><ul><ul><li>จะแตกต่างจากระบบแบ่งสรรเวลา time-sharing systems โดยไม่สามารถใช้กับระบบปฏิบัติการทั่วๆ ไปได้ </li></ul></ul><ul><li>เรียลไทม์แบบซอฟท์ Soft real-time </li></ul><ul><ul><li>มีการใช้งานจำกัดอยู่เพียงในระบบการควบคุมหุ่นยนต์ ทางอุตสาหกรรม </li></ul></ul><ul><ul><li>สามารถใช้งานร่วมกับระบบแบ่งสรรเวลาได้ </li></ul></ul><ul><ul><li>มีประโยชน์มากกับระบบที่ต้องการระยะเวลาในการตอบสนองที่ดี อาทิ มัลติมีเดีย และความจริงเสมือน (multimedia, virtual reality) </li></ul></ul>
  21. 21. ระบบมือถือ Handheld Systems <ul><li>อุปกรณ์ Personal Digital Assistants (PDAs) </li></ul><ul><li>โทรศัพท์มือถือ </li></ul><ul><li>ข้อจำกัด </li></ul><ul><ul><li>มีหน่วยความจำจำกัด </li></ul></ul><ul><ul><li>หน่วยประมวลผลมีความเร็วต่ำ </li></ul></ul><ul><ul><li>มีพื้นที่ในการแสดงผลขนาดเล็ก </li></ul></ul>
  22. 22. Migration of Operating-System Concepts and Features
  23. 23. สภาพแวดล้อมในการคำนวณ Computing Environments <ul><li>การคำนวณแบบดั้งเดิม Traditional computing </li></ul><ul><ul><li>พีซี เซอร์ฟเวอร์ จำกัดการเข้าถึงจากระยะไกล </li></ul></ul><ul><li>การคำนวณแบบเว็บเบส Web-Based Computing </li></ul><ul><ul><li>ไคลเอนท์เซิร์ฟเวอร์ และเว็บเซอร์วิส เป็นระบบที่อำนวยความสะดวกในการเข้าถึงจากระยะไกล ไม่คำนึงถึงที่ตั้งของเซอร์ฟเวอร์ </li></ul></ul><ul><li>การคำนวณแบบขยาย Embedded Computing </li></ul><ul><ul><li>คอมพิวเตอร์จำนวนมาก ไม่ว่าจะเป็น หน่วยควบคุมเครื่องยนต์ในรถยนต์ หน่วยควบคุมในเตาอบไมโครเวฟ </li></ul></ul><ul><ul><li>ระบบปฏิบัติการมีความสามารถในการทำงานที่จำกัด </li></ul></ul><ul><ul><li>มีส่วนติดต่อกับผู้ใช้งานขนาดเล็กหรือไม่มีเลย แต่สามารถเข้าถึงจากระยะไกลได้ </li></ul></ul>

×