1 / 40

Operating System Overview

Advance Operating System. Operating System Overview. Chapter 2. ตัวอย่าง. ระบบปฏิบัติการ. ระบบปฏิบัติการมีความจำเป็นกับเครื่องคอมพิวเตอร์ เนื่องจากระบบปฏิบัติการ

milica
Download Presentation

Operating System Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. www.themegallery.com Advance Operating System Operating System Overview Chapter 2

  2. ตัวอย่าง www.themegallery.com ระบบปฏิบัติการ ระบบปฏิบัติการมีความจำเป็นกับเครื่องคอมพิวเตอร์ เนื่องจากระบบปฏิบัติการ จะช่วยควบคุมอุปกรณ์ จัดสรรทรัพยากรเพื่อให้ระบบทำงานอย่างต่อเนื่องและมีประสิทธิภาพ ในยุคแรกๆการใช้คอมพิวเตอร์จะยุ่งยากมาก เนื่องจากผู้ใช้ ต้องรู้ภาษาเครื่อง (Machine Language) เพื่อสั่งให้เครื่องทำงาน 111001 แทนการบวก 100100 แทนการเก็บค่าลงในหน่วยความจำ

  3. ตัวอย่าง www.themegallery.com ระบบปฏิบัติการ ลักษณะคำสั่งจะแทนด้วยเลขฐาน 2 จำนวน 1 ชุด ทำให้จดจำได้ยาก จากนั้นมีผู้คิดค้นรูปแบบภาษาเพื่อให้ใช้งานได้สะดวกขึ้นเรียกว่า “ภาษาแอสเซ็มบลี” (Assembly Language) โดยจะมีตัวแปลคำสั่งจากภาษาแอสเซ็มบลีให้เป็นภาษาเครื่องที่เรียกว่า “แอสเซ็มเบลอร์” (assembler) ภาษาแอสเซ็มบลี ภาษาเครื่อง ความหมาย ADD 111001 การบวก MOVE 010110 ย้ายค่า

  4. www.themegallery.com ระบบปฏิบัติการ  ถึงแม้ภาษาแอสเซ็มบลีจะสื่อความหมายได้ดีกว่าภาษาเครื่อง แต่ก็ยังถือว่ายาก ในการทำความเข้าใจและต้องทราบโครงสร้างการทำงานของเครื่องอีกด้วย จึงเรียกภาษาแอสเซ็มบลีนี้ว่า “ภาษาระดับต่ำ” (Low Level Language)  ต่อมาได้มีการพัฒนารูปแบบภาษาขึ้นใหม่ โดยที่ผู้เขียนโปรแกรมไม่จำเป็น ต้องทราบโครงสร้างและการทำงานของเครื่อง เรียกว่า “ภาษาระดับสูง” (High Level Language) เช่น ภาษาเบสิก(Basic), ปาสคาล(Pascal), โคบอล(Cobol)  โดยโปรแกรมภาษาระดับสูงนี้ต้องมีตัวแปลภาษาที่เรียกว่า “อินเทอร์พรีเตอร์” (Interpreter) หรือ “คอมไพเลอร์” (Compiler) เพื่อเปลี่ยนภาษาในรูปแบบต่างๆ ให้เป็นภาษาเครื่อง

  5. www.themegallery.com ระบบปฏิบัติการ จะเห็นได้ว่าโปรแกรมเมอร์ต้องทราบโครงสร้างและการทำงานของเครื่องเป็นอย่างดีเพื่อควบคุมการทำงานของเครื่องได้ มีการพัฒนาโปรแกรมขึ้นมาอีกประเภทหนึ่งโดยโปรแกรมจะควบคุมการทำงานเบื้องต้นของเครื่องทันทีที่บูตเครื่อง เช่น บริหารจัดสรรทรัพยากรที่มีในระบบ ตลอดจนควบคุมอุปกรณ์เพื่อลดข้อผิดพลาดที่อาจจะเกิดขึ้นได้ในขณะทำงาน โปรแกรมนี้เรียกว่า “ระบบปฏิบัติการ” (Operating System)  ระบบปฏิบัติการ หมายถึง ระบบที่อาจจะเป็นฮาร์ดแวร์ หรือซอฟต์แวร์ ที่ช่วยในการจัดระเบียบในการอินเทอร์เฟซระหว่างผู้ใช้กับเครื่อง ตลอดจน ควบคุมการทำงานของอุปกรณ์ และการจัดสรรทรัพยากรในระบบให้ใช้งาน ร่วมกันได้อย่างมีประสิทธิภาพ

  6. www.themegallery.com หน้าที่ของระบบปฏิบัติการ หน้าที่ของระบบปฏิบัติการ แบ่งได้ 3 หน้าที่หลัก ดังนี้ 1.การติดต่อกับผู้ใช้ หรือยูเซอร์อินเตอร์เฟส (User Interface) ผู้ใช้สามารถติดต่อสั่งการให้เครื่องคอมพิวเตอร์ทำงานตามที่ผู้ใช้ต้องการได้ โดยการสั่งผ่านคีย์บอร์ด หรือใช้เมาส์ลากแล้วปล่อยคำสั่ง หรือไอคอนต่างๆ ระบบปฏิบัติการจึงเป็นตัวกลางในการรับคำสั่งจากผู้ใช้จากนั้นระบบปฏิบัติการ จะเรียกใช้คำสั่งผ่านทาง System Call เพื่อปฏิบัติสิ่งที่คุณต้องการ

  7. www.themegallery.com หน้าที่ของระบบปฏิบัติการ โปรแกรม ผู้ใช้ ฮาร์ดแวร์ ระบบปฏิบัติการ ลักษณะการเป็นตัวกลางของระบบปฏิบัติการ ระหว่างผู้ใช้กับฮาร์ดแวร์

  8. www.themegallery.com หน้าที่ของระบบปฏิบัติการ หน้าที่ของระบบปฏิบัติการ แบ่งได้ 3 หน้าที่หลัก ดังนี้ 2.ควบคุมดูแลอุปกรณ์ (Control Device) ผู้ใช้อาจไม่มีความจำเป็นต้องทราบการทำงานของเครื่องคอมพิวเตอร์ เนื่องจากระบบปฏิบัติการจะทำหน้าที่ควบคุมการทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานเป็นระบบและสอดคล้อง โดยไม่เกิดข้อผิดพลาด ระบบปฏิบัติการจะประกอบด้วยรูทีน หรือโปรแกรมย่อยมากมายที่ควบคุมอุปกรณ์แต่ละชนิดที่แตกต่างกันไป เช่นรูทีนควบคุมดิสก์ รูทีนควบคุมจอภาพ รูทีนนี้ผู้ใช้สามารถเรียกใช้ได้ทันทีผ่านทาง System Call ทำให้ประหยัดเวลาและควบคุมตามมาตราฐานเดียวกัน

  9. www.themegallery.com หน้าที่ของระบบปฏิบัติการ หน้าที่ของระบบปฏิบัติการ แบ่งได้ 3 หน้าที่หลัก ดังนี้ 3.จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources Management) ทรัพยากรหรือรีซอร์ส (Resources) คือสิ่งที่ถูกใช้ไปเพื่อให้โปรแกรมดำเนินไปอย่างต่อเนื่อง สาเหตุที่ต้องมีการจัดสรรทรัพยากร อาจจะเนื่องมาจาก • ทรัพยากรของระบบมีจำกัด โปรแกรมจะใช้ทรัพยากรมากบ้างน้อยบ้าง • แต่เนื่องจากทรัพยากรบางอย่างมีจำกัด ทำให้เมื่อมีการเรียกใช้โปรแกรมคราวละหลายโปรแกรม เช่นใน windows ทำให้หน่วยความจำถูกใช้ไปจนหมด หรือ ในระบบที่มีซีพียูเพียงตัวเดียว แต่ต้องทำงานหลายๆโปรแกรมพร้อมกัน

  10. www.themegallery.com หน้าที่ของระบบปฏิบัติการ หน้าที่ของระบบปฏิบัติการ แบ่งได้ 3 หน้าที่หลัก ดังนี้ 3.จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources Management) • ทรัพยากรมีหลายประเภท เนื่องจากในแต่ละโปรเซสหรือโปรแกรม • อาจจะมีความต้องการประเภทเดียวบ้าง หลายประเภทบ้าง ระบบปฏิบัติการ • จะทำหน้าที่จัดสรรทรัพยากรเหล่านี้ตามความเหมาะสม และตรงตามความต้องการของโปรเซส ดังนั้น จึงเป็นหน้าที่ของระบบปฏิบัติการที่จะต้องจัดสรรทรัพยากรที่มีอยู่อย่างจำกัดและหลายประเภทให้เกิดประโยชน์สูงสุด เพื่อให้ระบบทำงานได้อย่างมีประสิทธิภาพ รวดเร็ว และได้งานเพิ่มมากขึ้น

  11. www.themegallery.com ระบบคอมพิวเตอร์ จากวิวัฒนาการของคอมพิวเตอร์จากอดีตถึงปัจจุบัน ระบบปฏิบัติการที่ทันสมัยมีโครงสร้างที่เหมาะสมในการนำมาใช้งานได้อย่างมีประสิทธิภาพ ระบบคอมพิวเตอร์ตั้งแต่อดีตถึงปัจจุบันสามารถแบ่งตามคุณสมบัติการทำงานได้ดังนี้ 1.ระบบที่ไม่มีระบบปฏิบัติการ (Non Operating System) ระบบคอมพิวเตอร์ในยุคแรกๆ มีแต่เครื่องเปล่าๆ ไม่มีระบบปฏิบัติการ ผู้ใช้จะต้องเขียนโปรแกรมทั้งหมด ตั้งแต่ควบคุมเครื่อง เตรียมข้อมูล ทำงานตามโปรแกรม และตรวจสอบข้อผิดพลาด ทำให้ใช้ประโยชน์จากคอมพิวเตอร์ได้น้อยไม่คุ้มค่า และราคาแพง

  12. www.themegallery.com ระบบคอมพิวเตอร์ 2.ระบบงานแบ็ตซ์ (Batch System) ต่อมาเมื่อมีการพัฒนาการนำดีไวซ์สำหรับการนำข้อมูลเข้าระบบและนำข้อมูลออกจากระบบมาใช้งาน เช่น การ์ด, เทป, ดีไวซ์ที่นำข้อมูลจากระบบเช่น เครื่องพิมพ์ เทปและการ์ดเจาะรู การทำงานแบบนี้ผู้ใช้ไม่ได้ติดต่อกับระบบโดยตรง เป็นเพียงผู้เตรียมข้อมูล เขียนโปรแกรมและข้อมูลสำหรับการควบคุมระบบ จึงมีภาษาที่เรียกว่า “ภาษาคุมงาน” (Job Control Language : JCL)เมื่อเขียนโปรแกรมแล้วบรรจุลงการ์ดเจาะรู จากนั้นจะนำเข้าระบบ ซึ่งลักษณะการถ่ายข้อมูลเป็นกลุ่มจากงานหนึ่งไปอีกงานหนึ่ง เรียกว่า “แบ็ตซ์” (Batch) การทำงานในระบบแบ็ตซ์ มีจุดด้อยที่ความเร็วของซีพียูและอุปกรณ์รับส่ง มีความแตกต่างกันมาก จากความแตกต่างนี้จึงได้มีการพัฒนาเพื่อแก้ปัญหานี้ คือ ระบบบัฟเฟอร์ (Buffer)และระบบสพูลลิ่ง (Spooling)

  13. www.themegallery.com ระบบคอมพิวเตอร์ 2.ระบบงานแบ็ตซ์ (Batch System) ซีพียู การ์ดเจาะรู เครื่องพิมพ์ การ์ดเจาะรู

  14. www.themegallery.com ระบบคอมพิวเตอร์ 3.การทำงานแบบบัฟเฟอร์ (Buffering) ระบบบัฟเฟอร์นี้ เป็นการขยายขีดความสามารถการทำงานของระบบ คือ ระบบนี้จะให้หน่วยรับ-แสดงผลทำงานไปพร้อมๆกับการประมวลผลของซีพียู โดยในขณะที่มีการประมวลผลคำสั่งที่โหลดเข้ามาของซีพียู จะมีการโหลดข้อมูลไปเก็บไว้ในหน่วยความจำก่อน และเมื่อประมวลผลซีพียูจะทำงานต่อได้ทันที และมีการโหลดข้อมูลต่อไปเข้ามาทดแทน หน่วยความจำที่เก็บข้อมูลที่ส่งเข้ามาเตรียมพร้อมนี้เรียกว่า “บัฟเฟอร์” (Buffer)

  15. www.themegallery.com ระบบคอมพิวเตอร์ 4.ระบบสพูลลิ่ง (Spooling System) เมื่อมีการคิดค้นเทคโนโลยีเทปแม่เหล็กมาใช้งานกับเครื่องอ่านบัตรทำให้มีการทำงานของซีพียูมีประสิทธิภาพมากขึ้น แต่ก็เพียงเล็กน้อย จนเมื่อมีการคิดค้นดิสก์ หรือจานแม่เหล็กขึ้นมา ทำให้มีการหันมาใช้งานดิสก์กันมากขึ้นเนื่องจาก • ถ้าใช้เทปเมื่อทำการประมวลผลข้อมูลในเทปจะทำการโหลดข้อมูลจากเครื่องอ่านบัตรลงเทปม้วนเดียวกันไม่ได้ • การเข้าถึงข้อมูลในดิสก์จะทำโดยตรง ในขณะที่การเข้าถึงข้อมูลในเทปจะเป็นแบบซีเควนเชียล (sequential) หรือเรียงลำดับ • การเข้าถึงข้อมูลจากดิสก์ทำได้งานได้ทันที แต่เทปต้องโหลดข้อมูลจะต้องทำคนละเวลากับการประมวลผล

  16. www.themegallery.com ระบบคอมพิวเตอร์ 4.ระบบสพูลลิ่ง (Spooling System) ลักษณะการทำงานของดิสก์กับอุปกรณ์รับ-แสดงข้อมูลที่ต้องคู่ขนานไปกันนี้ จะเป็นแบบพื้นฐานของมัลติโปรแกรมมิ่ง ซึ่งอาจจะเรียกว่า “สพูลลิ่ง” (Spooling) Simultaneous Peripheral Operation On Line ซึ่งหลักการทำงานนี้มีข้อดี 2 ข้อคือ • สพูลลิ่ง เป็นระบบงานมัลติโปรแกรมมิ่งพื้นฐาน ทำให้มีการใช้งานซีพียูได้อย่างเต็มประสิทธิภาพ โดยจะทำงาน 2 งานพร้อมกัน คือการประมวลผล และการรับ-แสดงผลข้อมูล • มีการแอ็กเซสข้อมูลของดิสก์เป็นแบบโดยตรงเมื่อมีงานส่งเข้ามาจะถูกจัดเป็นjobpool ทำให้ระบบสามารถเลือกได้ว่าจะประมวลผลงานใดก่อน หรือหลังตามลำดับความสำคัญ (Priority)

  17. www.themegallery.com ระบบคอมพิวเตอร์ 4.ระบบสพูลลิ่ง (Spooling System) ดิสก์ ซีพียู การ์ดเจาะรู เครื่องพิมพ์ ระบบสพูลลิ่ง (Spooling)

  18. www.themegallery.com ระบบคอมพิวเตอร์ 5.ระบบมัลติโปรแกรมมิ่ง (Multiprogramming) ระบบสพูลลิ่งเป็นพื้นฐานของมัลติโปรแกรมมิ่ง เนื่องจากมีการรันโปรแกรม 2 โปรแกรมพร้อมกัน แต่ก็ยังใช้ประโยชน์ซีพียูไม่เต็มที่ เนื่องจากงานใดมาก่อนก็จะทำก่อน (first-come, first-served) แต่ถ้าเป็นการดึงข้อมูลจากดีไวซ์ที่สามารถแอ็กเซสได้โดยตรง เช่น ดิสก์ ก็จะเป็นมัลติโปรแกรมมิ่ง การทำงานของมัลติโปรแกรมมิ่ง คือจะโหลดโปรแกรมไปไว้ในหน่วยความจำหลัก พร้อมที่จะประมวลผลทันที ระบบปฏิบัติการจะเลือกงานเข้าไปประมวลผลเรื่อยไปจนกว่าจะหยุดคอยงานบางอย่าง ในช่วงที่หยุดรอนี้ระบบจะดึงงานเข้าไปประมวลผลต่อทันที ทำให้มีการใช้งานซีพียูมากขึ้น ทำไปเรื่อยจนกว่างานทุกงานจะเสร็จเรียบร้อย ซึ่งในระบบปฏิบัติการที่ไม่ใช่มัลติโปรแกรมมิ่งในช่วงนี้ซีพียูจะต้องหยุดรอนั่นเอง

  19. www.themegallery.com ระบบคอมพิวเตอร์ ระบบมัลติโปรแกรมมิ่งเป็นจุดกำเนิดของศาสตร์ทางด้านระบบปฏิบัติการ เนื่องจากไม่ว่าจะซับซ้อนเพียงใด ถ้ามีการทำงานหลายอย่าง ระบบปฏิบัติการจะต้องมีการควบคุมและจัดองค์ประกอบต่างๆที่ดี 0 ระบบปฏิบัติการ งานที่ 1 งานที่ 2 งานที่ 3 …… งานที่ n 512 K รูปแบบของหน่วยความจำสำหรับระบบมัลติโปรแกรมมิ่ง

  20. www.themegallery.com ระบบคอมพิวเตอร์ 6.ระบบแบ่งเวลา (Time-Sharing System) ระบบแบ่งเวลา ผู้ใช้จะต้องจองเวลาและครอบครองเครื่องนั้นแบบสมบูรณ์แต่เพียงผู้เดียว คือผู้ใช้สามารถทำอะไรก็ได้ในเวลาที่ครอบครอง แต่เนื่องจากเครื่องคอมพิวเตอร์มีราคาแพงและความต้องการที่ใช้ให้ได้เกิดประโยชน์สูงสุด ทำให้ผู้ใช้ต้องเซ็ตอัพการ์ดควบคุมให้ครอบคลุมผลลัพธ์ทั้งหมดที่อาจจะเกิดขึ้นได้ ทำให้เกิดการคิดค้นแก้ปัญหา โดยระบบแบ่งเวลา (Time-Sharing) หรือ มัลติทาสกิ้ง (Multitasking) เป็นการขยายระบบมัลติโปรแกรมมิ่ง ทำให้สามารถรันโปรแกรมได้หลายงาน โดยซีพียูจะทำหน้าที่สับเปลี่ยนการรันงานไปมา แต่การสับเปลี่ยนทำด้วยความเร็วสูงทำให้ผู้ใช้มีความรู้สึกเหมือนอินเทอร์แอ๊กทีฟโดยตรง (Interactive) กับโปรแกรมของตนเอง

  21. www.themegallery.com ระบบคอมพิวเตอร์ 6.ระบบแบ่งเวลา (Time-Sharing System) ระบบปฏิบัติการแบบแบ่งเวลาจะมีความซับซ้อนกว่าระบบปฏิบัติการแบบมัลติโปรแกรมมิ่ง โดยระบบมัลติโปรแกรมมิ่งจะโหลดโปรแกรมหลายโปรแกรมไว้บนหน่วยความจำพร้อมกัน แต่เนื่องจากหน่วยความจำมีน้อยทำให้มีการนำไปเก็บบนดิสก์เพิ่มเติม เพื่อให้เวลาตอบสนอง(response time) อยู่ในเกณฑ์ที่เหมาะสม ระหว่างที่มีการเปลี่ยนไปมาระหว่างหน่วยความจำกับดิสก์ ต้องมีการจัดการหน่วยความจำ ระบบการจัดการระบบไฟล์ ระบบการจัดการดิสก์ ระบบจัดการซีพียู การจัดลำดับงาน ซึ่งระบบมัลติโปรแกรมมิ่งและระบบแบ่งเวลาเป็นศาสตร์ของระบบปฏิบัติการยุคใหม่

  22. www.themegallery.com ระบบคอมพิวเตอร์ 7.ระบบเรียลไทม์ (Real-Time System) ระบบเรียลไทม์ (Realtime) คือระบบที่สามารถตอบสนองจากระบบได้ทันที เมื่อได้รับอินพุดเข้าไป ในการทำงานเราทำได้เพียงการลดเวลาการประมวลผลให้น้อยที่สุด จนไม่เห็นความแตกต่างของช่วงเวลาที่ป้อนอินพุดเข้าไปและได้รับเอาต์พุดออกมา เวลาของความแตกต่างนี้เรียกว่า “เวลาตอบสนอง” (response time) ซึ่งผู้ใช้งานต้องการเวลาตอบสนองให้น้อยที่สุดเพื่อประสิทธิภาพของระบบ ซึ่งระบบเรียลไทม์นี้นิยมนำไปใช้ในการควบคุมกระบวนการในทางอุตสาหกรรม

  23. www.themegallery.com ระบบคอมพิวเตอร์ 8.ระบบคอมพิวเตอร์ส่วนบุคคล หรือพีซี (Personal Computer System) เมื่อฮาร์ดแวร์มีราคาที่ถูกลง ทำให้มีการออกแบบระบบคอมพิวเตอร์เพื่อใช้งานส่วนบุคคลหรือพีซี (PC : Personal Computer) ดีไวซ์รับและแสดงผลเปลี่ยนไป เป็นแบบกดปุ่ม คีย์บอร์ด และเมาส์ เครื่องคอมพิวเตอร์มีขนาดที่เล็กลงและมีประสิทธิภาพที่สูงขึ้น ระบบปฏิบัติการถูกพัฒนาตั้งแต่ CP/M, DOS, Windows 3.x, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP และ Windows Vista คอมพิวเตอร์ระบบนี้ เป็นที่คุ้นเคย นิยมใช้กันแพร่หลายเนื่องจาก มีราคาที่ไม่แพง มีประสิทธิภาพสูง ใช้งานง่าย ดูแลรักษาง่ายไม่ซับซ้อน และสามารถนำไปประยุกต์ใช้งานกับงานต่างๆ ได้หลายสาขา

  24. www.themegallery.com ระบบคอมพิวเตอร์ 9.ระบบเวอร์ชวลแมชีน (Virtual Machine) ระบบนี้จะทำให้ผู้ใช้คิดว่ากำลังใช้งานกับคอมพิวเตอร์หลายๆเครื่อง ทั้งๆที่ทำงานบนเครื่องคอมพิวเตอร์เพียงเครื่องเดียว เช่นระบบเมนเฟรม เมื่อมีการใช้เทคนิคการจัดเวลาของซีพียูและหน่วยความจำเสมือน ทำให้เครื่องทำงานได้หลายโปรเซสพร้อมกัน โดยแต่ละโปรเซสสามารถเอ็กซิคิวต์ได้ด้วยโปรเซสเซอร์และหน่วยความจำเสมือนของตัวเอง แต่โปรเซสจะต้องเพิ่มฟีเจอร์สำหรับการจัดการ หรือระบบไฟล์ที่ระบบฮาร์ดแวร์โดยสร้างเวอร์ชวลแมชีนขั้นกลางระหว่างฮาร์ดแวร์กับ kernal ที่ติดต่อกับโปรเซส จะมีการแชร์รีซอร์สของคอมพิวเตอร์เพื่อสร้างเป็นเวอร์ชวลแมชีน

  25. www.themegallery.com ระบบคอมพิวเตอร์ 9.ระบบเวอร์ชวลแมชีน (Virtual Machine) โปรเซส โปรเซส โปรเซส โปรเซส อินเทอร์เฟซ Kernal Kernal Kernal Kernal เวอร์ชวลแมชีน ฮาร์ดแวร์ ฮาร์ดแวร์ โมเดลระบบ (ก)ไม่ใช่เวอร์ชวลแมชีน (ข) เวอร์ชวลแมชีน

  26. www.themegallery.com ระบบคอมพิวเตอร์ 10.ระบบมัลติโปรเซสเซอร์ (Multiprocessor System) ระบบส่วนมากจะใช้โปรเซสเซอร์ตัวเดียว แต่มีระบบที่ใช้โปรเซสเซอร์มากกว่าหนึ่งตัวที่เรียกว่า “ระบบมัลติโปรเซสเซอร์” (Multiprocessor) ระบบในลักษณะนี้จะใช้การติดต่อสื่อสารในระยะใกล้, มีการใช้บัส(bus), สัญญาณนาฬิกา(clock), หน่วยความจำ และดีไวซ์ร่วมกัน เหตุผลที่ใช้มัลติโปรเซสเซอร์ มีดังนี้ • เพิ่มประสิทธิภาพของเอาต์พุต การใช้ระบบมัลติโปรเซสเซอร์จะทำให้ได้เอาต์พุตเร็วขึ้น และใช้เวลาน้อยลง • ประหยัดค่าใช้จ่ายเมื่อเทียบกับระบบโปรเซสเซอร์เดี่ยวหลายระบบ • เนื่องจากระบบมัลติโปรเซสเซอร์สามารถแบ่งปันดีไวซ์ต่างๆได้ ถ้าโปรแกรม • ต้องการข้อมูลชุดเดียวกันจะเป็นการประหยัดเมื่อเก็บไว้บนดิสก์เดียวกันแล้วแชร์ให้ใช้งานร่วมกัน ดีกว่าใช้ดิสก์ระบบละหนึ่งตัวโดยมีข้อมูลชุดเดียว

  27. www.themegallery.com ระบบคอมพิวเตอร์ 10.ระบบมัลติโปรเซสเซอร์ (Multiprocessor System) • ความน่าเชื่อถือของระบบ (Reliability) • เนื่องจากถ้ามีโปรเซสเซอร์ใดทำงานผิดพลาด หรือทำงานไม่ได้ โปรเซสเซอร์อื่นก็สามารถทำงานทดแทนได้ทันที โดยรับส่วนแบ่งมาช่วยกัน โมเดลของระบบมัลติโปรเซสเซอร์มี 2 แบบ คือ • Symmetric-Multiprocessing เป็นระบบที่มีการแบ่งการประมวผลที่เข้ามาอย่างเท่าเทียมกัน • ASymmetric-Multiprocessingเป็นระบบที่มีการจัดสรรงานแต่ละแบบให้โปรเซสเซอร์แต่ละตัวประมวผลที่แน่นอน โดยจะมีโปรเซสเซอร์หลักทำหน้าที่ควบคุมระบบ (master processor) ส่วนโปรเซสเซอร์อื่นที่รับคำสั่งจากตัวหลักจะเรียกว่าสลาฟโปรเซสเซอร์ (slave processor)

  28. www.themegallery.com ระบบคอมพิวเตอร์ 11.ระบบแบบกระจาย (Distributed System) ระบบที่ได้รับความนิยมในตอนนี้คือระบบแบบกระจาย จะเป็นระบบย่อยของระบบหลายโปรเซสเซอร์ โดยแต่ละระบบจะใช้โปรเซสเซอร์หนึ่งตัวและจะมีดีไวซ์หรืออุปกรณ์ต่างๆ เป็นของตัวเอง ระบบการติดต่อสื่อสารระหว่างระบบจะใช้บัสความเร็วสูง เหตุผลของการสร้างเป็นระบบแบบกระจายมีดังนี้ • การแชร์ทรัพยากร • เพิ่มความเร็วในการคำนวณ • ความน่าเชื่อถือของระบบ • การติดต่อสื่อสาร

  29. www.themegallery.com โครงสร้างของระบบปฏิบัติการ ระบบปฏิบัติการ มีหน้าที่จัดเตรียมสภาวะแวดล้อมเพื่อช่วยให้โปรแกรมทำงานได้ การออกแบบถือเป็นงานหลักในการสร้างระบบปฏิบัติการใหม่ ก่อนการออกแบบจะต้องกำหนดเป้าหมายของระบบขึ้นมาก่อน จากนั้นจะต้องสร้างอัลกอริทึมที่หลากหลายที่จำเป็นต้องใช้ในการสร้างระบบ แล้วสร้างระบบตามอัลกอริทึมนั้น

  30. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1. คอมโพเนนต์ของระบบ (System Component) เราสามารถสร้างระบบให้ใหญ่โตและซับซ้อนได้ด้วยการแบ่งให้เป็นส่วนย่อยๆ แต่ละส่วนย่อยเหล่านี้เป็นโครงสร้างของระบบที่ออกแบบอินพุต, เอาต์พุต และฟังก์ชั่น

  31. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.1 การจัดการโปรเซส (Process Management) ซีพียูทำหน้าที่เอ็กซิคิวต์คำสั่งที่อยู่ในโปรแกรม โปรแกรมที่เอ็กซิคิวต์เป็นเพียงการกำหนดในเบื้องต้นที่สามารถขยายเพิ่มเติมในอนาคต ระบบจะประกอบด้วยโปรเซสเป็นจำนวนมาก เป็นโปรเซสของระบบปฏิบัติการ โปรเซสของผู้ใช้ ซึ่งทั้งหมดสามารถเอ็กซิคิวต์ไปพร้อมๆกัน ระบบปฏิบัติการมีหน้าที่รับผิดชอบกิจกรรมของโปรเซสดังนี้ • การสร้างและลบทั้งโปรเซสของระบบและของผู้ใช้ • การหยุดและทำโปรเซสต่อไป • การจัดเตรียมกลไกสำหรับการซินโครไนซ์โปรเซส • การจัดเตรียมกลไกสำหรับการติดต่อสื่อสารโปรเซส • การจัดเตรียมกลไกการแก้ไข deadlock

  32. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.2 การจัดการหน่วยความจำ (Memory Management) หน่วยความจำเป็นที่เก็บข้อมูลที่ใช้งานร่วมกันของซีพียูและดีไวซ์สำหรับอินพุตและเอาต์พุต เพื่อให้การดึงข้อมูลมาใช้ได้อย่างรวดเร็ว ซีพียูจะอ่านคำสั่งมาจากหน่วยความจำตลอดเวลา ระบบปฏิบัติการมีหน้าที่รับผิดชอบในกิจกรรมที่เกี่ยวกับการจัดการหน่วยความจำดังนี้ • ติดตามการใช้งานหน่วยความจำส่วนต่างๆ ว่าทำอะไร และของใคร • ตัดสินใจว่าโปรเซสใดจะโหลดเข้าสู่หน่วยความจำเมื่อมีหน่วยความจำว่าง • จัดสรรการใช้หน่วยความจำเมื่อจำเป็นต้องใช้หน่วยความจำ

  33. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.3 การจัดการไฟล์ (File Management) การจัดการไฟล์จะจัดการไฟล์ที่แตกต่างกันออกไป ตามประเภทของสื่อแต่ละชนิด ซึ่งมีคุณสมบัติที่แตกต่างกันออกไป เช่น ความเร็ว ความจุ การถ่านโอนข้อมูล ระบบปฏิบัติการมีหน้าที่รับผิดชอบในกิจกรรมที่เกี่ยวกับการจัดการไฟล์ดังนี้ • สร้างและการลบไฟล์ • สร้างและการลบโฟลเดอร์ • สนับสนุนการจัดการไฟล์ในรูปแบบเดิมๆ ที่ผ่านมา • แมพไฟล์ไปยังสิ่งที่ใช้จัดเก็บข้อมูล • แบ็คอัพหรือสร้างไฟสำรอง

  34. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.4 การจัดการอินพุต/เอาต์พุต (I/O System Management) การควบคุมดีไวซ์ที่เชื่อมต่อกับเครื่องต้องมีความหลากหลายในเรื่องฟังก์ชั่นและความเร็ว ซึ่งเป็นส่วนหนึ่งชอง kernal ระบบปฏิบัติการมี kernal ที่จัดการกับดีไวซ์เหล่านี้ ก็คือโมดูล “ดีไวซ์ไดน์เวอร์” (Device Driver) ซึ่งได้แสดงถึงรูปแบบเฉพาะในการอินเทอร์เฟสระหว่างดีไวซ์กับ ระบบย่อย อินพุต/เอาต์พุต ระบบย่อยอินพุต/เอาต์พุต ประกอบด้วย • การจัดการหน่วยความจำที่รวมบัพเฟอร์, แคช, และสพูล • อินเทอร์เฟซพื้นฐานของดีไวซ์ไดร์เวอร์ • ไดร์เวอร์สำหรับดีไวซ์ที่มีรูปแบบเฉพาะ

  35. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.5 การจัดการสื่อจัดเก็บข้อมูล (Storage Management) ในระหว่างที่มีการเอ็กซิคิวต์โปรแกรมทั้งหมดจะต้องอยู่บนหน่วยความจำหลัก และถ้าไม่มีไฟหล่อเลี้ยงข้อมูลในหน่วยความจำก็จะหายไป จึงต้องมีการจัดเก็บสื่อข้อมูล เพื่อถ่ายข้อมูลจากหน่วยความจำหลักไปเก็บไว้ที่ดิสก์ และเมื่อมีการบันทึก (save) ระบบจะแปลงหน่วยจัดเก็บข้อมูลบนดิสก์ให้เป็นหน่วยความจำเสมือน (Virtual Memory) ตลอดเวลาที่มีการใช้งาน การจัดการสื่อจัดเก็บข้อมูลที่เป็นความรับผิดชอบของระบบปฏิบัติการ มีดังนี้ • จัดการเนื้อที่ว่างบนดิสก์ • จัดการตำแหน่งจัดเก็บข้อมูล ที่อาจจะกระจัดกระจาย แต่เมื่อมีการใช้งาน • จะต้องทำงานได้เร็ว โดยมีพอยเตอร์ชี้ไปยังกลุ่มข้อมูลเดียวกัน • การจัดแบ่งเวลาการใช้ดิสก์

  36. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.6 เน็ตเวิร์ค (Networking) ปัจจุบันการเชื่อมต่อเน็คเวิร์คหรือเครือข่ายมีบทบาทมากขึ้น โปรเซสเซอร์ในระบบจะเชื่อมต่อผ่านเน็คเวิร์ค ซึ่งปรับแต่งได้หลายรูปแบบ การออกแบบเน็ตเวิร์ค ต้องคำนึงถึงเส้นทางการเดินของข้อมูล, จุดเด่นจุดด้อยในการเชื่อมต่อ, ข้อผิดพลาดที่อาจจะเกิดขึ้นได้ รวมถึงระบบเพื่อป้องกันและรักษาความปลอดภัยจากผู้รุกรานภายนอก เป็นต้น การเชื่อมต่อเน็ตเวิร์คจะช่วยให้สถานีงานหรือเวิร์คสเตชั่นต่างๆ สามารถใช้รีซอร์สที่แชร์ได้อย่างมีประสิทธิภาพทั้งในด้านความเร็ว, ความถูกต้อง, ความเชื่อถือได้ของข้อมูล รวมทั้งประหยัดในการจัดหารีซอร์สเพิ่มเติมอีกด้วย

  37. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.7 ระบบป้องกัน (Protection System) ในระบบที่มีผู้ใช้งานหลายคน เมื่อมีการทำงานหลายโปรเซสพร้อมกัน อาจจะเกิดข้อผิดพลาดขึ้นได้ หรือในเรื่องของการกำหนดสิทธิ์ในการใช้ดีไวซ์ต่างๆ ถ้าผู้ใช้ไม่ได้รับการกำหนดสิทธิ์ระบบก็จะทำการป้องกันดีไวซ์นั้นด้วย การป้องกัน (Protection) คือกลไกลที่ใช้ในการควบคุมการแอ็กเซสโปรแกรม, การโปรเซสและควบคุมผู้ใช้จากดีไวซ์ที่กำหนดจากระบบ รีซอร์สที่ไม่ได้มีการป้องกันจะไม่สามารถป้องกันการใช้งานจากผู้ใช้ที่ไม่ได้รับสิทธิ์ได้ ดังนั้นระบบที่ควบคุมการใช้งานจากผู้มีสิทธิ์ และไม่มีสิทธิ์

  38. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 1.8 ระบบตัวแปลคำสั่ง (Command-Interpreter System) การเอ็กซิคิวต์คำสั่งต่างๆนั้น จะต้องมีตัวแปลคำสั่ง (Command interpreter) ซึ่งตัวแปลคำสั่งนี้เป็นการอินเทอร์เฟซระหว่างผู้ใช้กับระบบปฏิบัติการ ระบบปฏิบัติการมีพื้นที่ของคำสั่งที่ต่างกันออกไป ผู้ใช้ส่วนมากจะชอบตัวแปลคำสั่งที่เข้าใจและปฏิบัติได้ง่าย เช่น รูปแบบของเมนู, การใช้เมาส์บน Windows, ไอคอน(Icon) ซึ่งเป็นรูปภาพแทนโปรแกรม, ไฟล์และฟังก์ชั่นของระบบ เราอาจจะใช้เมาส์เลือกคำสั่งบนเมนู, เลือกไฟล์ หรือโฟลเดอร์, เอ็กซีคิวต์โปรแกรมก็ได้ ขึ้นอยู่กับการคลิก และตำแหน่งของเมาส์

  39. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 2. เซอร์วิสของระบบปฏิบัติการ (Operating System Service) ระบบปฏิบัติการได้เตรียมสภาพแวดล้อม และเซอร์วิสเพื่อการเอ็กซิคิวต์โปรแกรม ไว้ให้ผู้ใช้อยู่แล้ว เซอร์วิสในแต่ละระบบปฏิบัติการย่อมแตกต่างกันออกไป แต่ก็มีเซอร์วิสพื้นฐานที่เหมือนกัน โดยต้องคำนึงถึงความสะดวกสบายในการใช้งานมากที่สุด เซอร์วิสที่น่าสนใจของระบบปฏิบัติการ มีดังนี้ • การตรวจจับข้อผิดพลาด • การแชร์รีซอร์ส • การป้องกัน • การเอ็กซิคิวต์โปรแกรม • การปฏิบัติกับอินพุต/เอาต์พุต • การจัดการกับระบบไฟล์ • การติดต่อสื่อสาร

  40. www.themegallery.com โครงสร้างของระบบปฏิบัติการ 3. System Call ฟีเจอร์นี้เป็นฟีเจอร์ที่สำคัญที่ระบบปฏิบัติการสร้างขึ้นมาเพื่อเอ็กซิคิวต์โปรแกรม และให้การดำเนินการของโปรเซสเป็นไปตามความต้องการของผู้ใช้ โดย System calls นี้จะกำหนดอินเทอร์เฟซระหว่างโปรเซสกับระบบปฏิบัติการที่สร้างด้วยภาษาแอสเซ็มบลี ซึ่งในบางระบบคำสั่งพวกนี้อาจจะสร้างด้วยภาษาระดับสูงก็ได้ System calls นี้อาจจะจัดเป็น 5 กลุ่มหลัก คือ • การควบคุมโปรเซส • การจัดการกับไฟล์ • การจัดการดีไวซ์ • การบำรุงรักษาข้อมูล • การติดต่อสื่อสาร

More Related