บทที่3 Operating System Structures

posted on 18 Aug 2008 05:08 by 490702464037

ส่วนประกอบของระบบ (System Component)

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

                กระบวนการ คือโปรแกรมที่กำลังทำงานอยู่ ได้แก่ งานแบบกลุ่ม โปรแกรมของผู้ใช้ในระบบแบ่งส่วนเวลา งานสพูลิ่ง เป็นต้น กระบวนการต้องใช้ทรัพยากรต่างๆ ในการทำงานหนึ่งๆ เช่น เวลาประมวลผล หน่วยความจำ แฟ้มข้อมูล และอุปกรณ์รับส่งข้อมูล

ระบบปฏิบัติการมีหน้าที่ในการจัดการกระบวนการ ดังนี้

·         สร้างและทำลายกระบวนการทั้งของระบบและผู้ใช้

·         ให้กระบวนการหยุดชั่วคราว หรือกลับคืนสภาพ

·         จัดกลไกในการประสานงานระหว่างกระบานการ

·         จัดกลไกในการจัดการปัญหาวงจรอับ

การจัดการหน่วยความจำหลัก (Main Memory Management)

                หน่วยความจำ คือ Array of bytes ซึ่งมีตำแหน่งหรือแอดเดรสเฉพาะ หน่วยความจำเป็นที่พักข้อมูล ระหว่างหน่วยประมวลผลกลางและอุปกรณ์รับส่งข้อมูล

ระบบปฏิบัติการมีหน้าที่ในการจัดการหน่วยความจำ ดังนี้

·         บันทึกข้อมูลว่าโปรแกรมใดอยู่ในหน่วยความจำตำแหน่งใด

·         เลือกกระบวนการที่จะนำลงหน่วยความจำต่อไป เมื่อมีหน่วยความจำว่าง

·         จัดสรรพและคืนหน่วยความจำตามที่ระบบขอร้อง

การบริหารแฟ้มข้อมูล (File Management)

                แฟ้มข้อมูล คือ ที่เก็บรวบรวมข้อมูลที่เกี่ยวข้องกัน โดยผู้สร้างเป็นผู้กำหนดขึ้น

ระบบปฏิบัติการมีหน้าที่บริหารแฟ้มข้อมูล ดังนี้

·         สร้างและทำลายแฟ้มข้อมูล

·         สร้างและทำลายไดเรกทอรี

·         ให้บริการการใช้งานแฟ้มข้อมูลและไดเรกทอรีขั้นพื้นฐาน

·         อ้างอิงข้อมูลจากแฟ้มข้อมูลจริงในหน่วยความจำสำรอง

·         ทำสำเนาแฟ้มข้อมูลลงในหน่วยความจำถาวร

การบริหารระบบรับส่งข้อมูล (I/O System Management)

                ระบบรับส่งข้อมูลประกอบไปด้วย

·         องค์ประกอบการจัดการหน่วยความจำประกอบด้วย Buffering, Caching และ Spooling

·         วิธีการเรียกใช้ตัวควบคุมอุปกรณ์

การจัดการหน่วยเก็บข้อมูลสำรอง (Secondary Storage Management)

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

ระบบปฏิบัติการมีหน้าที่บริหารจานบันทึก ดังนี้

·         การบริหารพื้นที่ว่าง

·         การจัดหาเนื้อที่เก็บข้อมูล

·         การจัดตารางการใช้จานบันทึก

เครือข่าย (Networking)

                ในระบบกระจายอำนาจ หน่วยประมวลผลแต่ละตัวจะมีหน่วยความจำและนาฬิกาของตนเอง การติดต่อระหว่างหน่วยประมวลผลจะทำได้โดยผ่านทางเครือข่ายการสื่อสาร หน่วยประมวลผแต่ละแห่งอาจมีขนาดและหน้าที่แตกต่างกันมาก ระบบกระจายอำนาจทำให้ผู้ใช้สามารถใช้ทรัพยากรต่างๆได้มากมาย ซึ่งเป็นผลให้สามารถทำงานได้เร็วขึ้น เข้าถึงข้อมูลได้มากขึ้น และระบบมีความน่าชื่อถือมากขึ้น

ระบบป้องกันหรือระบบความปลอดภัย (Protection System)

                การป้องกันช่วยให้ระบบมีความเชื่อมั่นสูงขึ้น โดยการตรวจจับข้อผิดพลาดที่อาจเกิดขึ้นในการติดต่อระหว่างระบบย่อย การตรวจจับแต่เนิ่นๆ สามารถช่วยป้องกันระบบย่อยที่ดีจากระบบย่อยที่เสียได้

ระบบป้องกันหรือระบบความปลอดภัย (Protection System)

                การป้องกัน คือ กลไกการควบคุมโปรแกรม กระบวนการ หรือผู้ใช้ระบบ ในการใช้ทรัพยากรของระบบคอมพิวเตอร์ โดยที่กลไกเหล่านี้ต้องกำหนดวิธีการใช้งานทรัพยากรต่างๆ และวิธีการบังคับให้ผู้ใช้ปฏิบัติ

                การป้องกันช่วยให้ระบบมีความเชื่อมั่นสูงขึ้น โดยการตรวจจับข้อผิดพลาดที่อาจเกิดขึ้นในการติดต่อระหว่างระบบย่อย การตรวจจับเนิ่นๆ สามารถช่วยป้องกันระบบย่อยที่ดีจากระบบย่อยที่เสียได้ ทรัพยากรที่ไม่มีการป้องกันอาจเสียหายจากกการใช้งานที่ผิดพลาดหรือจงใจจากผู้ใช้ที่ไม่มีสิทธิหรือไม่รู้เรื่องได้ ระบบที่มีการป้องกันดีจะสามารถแบ่งแยกได้ว่า การใช้งานเป็นไปตามสิทธิหรือไม่มีสิทธิ

ระบบแปลคำสั่ง (Command Interpreter System)

                ตัวแปลคำสั่ง เป็นอินเตอร์เฟซ ระหว่างผู้ใช้กับระบบปฏิบัติการ ระบบปฏิบัติการบางระบบได้รวมตัวแกลคำสั่งไว้ในแกนกลางของระบบ เช่น MS-DOS และ UNIX ถือว่าตัวแปลคำส่งเป็นเพียงโปรแกรมพิเศษอันหนึ่งซึ่งจะทำงานเมื่องานเข้าในระบบหรือเมื่อผู้ใช้เริ่มเข้าสู่ระบบ คำสั่งส่วนใหญ่เป็นประโยคควบคุม เมื่อมีงานใหม่เริ่มทำงานในระบบการทำงานแบบกลุ่ม หรือเมื่อผู้ใช้เข้าสู่ระบบในระบบการทำงานแบบแบ่งส่วนเวลา จะมีโปรแกรมหนึ่งคอยอ่านคำสั่งและทำงานตามคำสั่งเหล่านั้นโดยอัตโนมัติ โปรแกรมนี้มีชื่อเรียกได้หลายอย่าง เช่น ตัวแปลบัตรควบคุม ตัวแปลบรรทัดคำสั่ง เซลล์ เป็นต้น

งานบริการของระบบปฏิบัติการ (Operating System Service)

                การทำงานต่างๆ ให้ง่ายและรวดเร็ว บริการต่างๆได้แก่

·         การให้โปรแกรมทำงาน ระบบต้องสามารถนำโปรแกรมลงสู่หน่วยความจำหลัก และให้โปรแกรมทำงาน โดยที่การทำงานต้องวันสิ้นสุด ไม่ว่าจะเป็นปกติหรือไม่ปกติก็ตาม

·         การรับส่งข้อมูล โปรแกรมของผู้ใช้อาจต้องการรับส่งข้อมูล โดยผ่านแฟ้มข้อมูลหรืออุปกรณ์รับส่งข้อมูล

·         การใช้ระบบแฟ้มข้อมูล ระบบแฟ้มข้อมูลเป็นสิ่งจำเป็นอย่างยิ่ง โปรแกรมต้องการอ่านหรือเขียนข้อมูล

·         การติดต่อสื่อสาร บางครั้งกระบวนการหนึ่งอาจต้องการส่งข้อมูลให้อีกกระบวนการหนึ่ง โดยที่กระบวนการทั้งสองนั้นอาจอยู่ในคอมพิวเตอร์เครื่องเดียวกัน หรือคนละเครื่องกันแต่ติดต่อผ่านเครือข่ายคอมพิวเตอร์

·         การตรวจจับข้อผิดพลาด ระบบปฏิบัติการจำเป็นต้องมรกลไกในการตรวจจับข้อผิดพลาดที่อาจจะเกิดขึ้นได้

การเรียกระบบ (System Call)

                System call จัดเตรียมส่วนต่อประสาน ระหว่างกระบวนการหนึ่งกับระบบปฏิบัติการ การเรียกระบบมักเป็นคำสั่งภาษาแอสเซมบลี บางระบบอาจอนุญาตให้เรียกระบบได้โดยตรงจากโปรแกรมระดับสูง ซึ่งกรณีนี้การเรียกระบบถูกกำหนดเป็นหน้าที่ หรือ Subroutine Call ภาษาหลายๆภาษา เช่น C, Bliss, BCPL, PL/360 และ PERL ถูกนำมาใฃ้แทนแอสเซมบลีสำหรับการเขียนโปรแกรมระบบ

โปรแกรมระบบ (System Programs)

                โปรแกรมระบบช่วยให้การพัฒนาและการทำงานของด)โปรแกรมอื่นๆ ง่ายและสะดวก สามารถแบ่งได้หลายประเภท ดังนี้

·         การใช้งานแฟ้มข้อมูล โปรแกรมเหล่านี้ทำหน้าที่สร้าง ลบ ทำสำเนา เปลี่ยนชื่อ พิมพ์ แสดงรายชื่อ พิมพ์ข้อมูลทั้งหมด

·         ข้อมูลสถานะของระบบ โปรแกรมบางตัวเพียงต้องการข้อมูลจากระบบ

·         การแก้ไขแฟ้มข้อมูล

·         ตัวแปลภาษา แบบคอมไพเลอร์ตัวแปลภาษาแอสเซมบลี ตัวแปลภาษาแบบอินเตอร์พรีเตอร์

·         ตัวนำโปรแกรมลงหน่วยความจำและทำงาน เมื่อโปรแกรมภาษาต้นฉบับถูกแปลเป็นภาษาเครื่องแล้ว ยังต้องมีตัวเชื่อม ตัวนำโปรแกรมลงหน่วยความจำ และอาจมีตัวช่วยแก้ไขโปรแกรมทั้งในภาษาเครื่อง

·         การสื่อสาร การติดต่อระหว่างผู้ใช้แต่ละคนหรือการส่งแฟ้มข้อมูลข้ามเครื่อง หรือการติดต่อระหว่างกระบวนการต่างๆในระบบ

โครงสร้างของระบบ (System Structure)           

โครงสร้างอย่างง่าย (System Structure)

                MS-DOS ถูกออกแบบให้สามารถทำงานได้มากที่สุดในเนื้อที่ที่น้อยที่สุด จึงไม่มีการแบ่งเป็นโมดูลอย่างระมัดระวัง โครงสร้างของ MS-DOS ในปัจจุบันแสดงได้ ดังรูป

 

แสดงโครงสร้างชั้นต่างๆของ MS-DOS

                แม้ว่า MS-DOS จะมีโครงสร้าง แต่ส่วนเชื่อมต่อและหน้าที่ต่างๆ ไม่มีการแบ่งแยกชัดเจน ที่เป็นเช่นนี้เพราะ MS-DOS ไม่มีฮาร์ดแวร์ช่วยในการป้องกันหรือการทำงานแบบ 2 ช่วง ตัวอย่าง เช่น UNIX รุ่นแรก UNIX ก็ถูกกำจัดโดยฮาร์ดแวร์สมัยแรกๆเช่นกัน ระบบประกอบด้วย 2 ส่วน คือแกนกลางของระบบ และโปรแกรมระบบแกนกลางของระบบถูกแบ่งออกเป็น ส่วนต่อเชื่อมและตัวควบคุมอุปกรณ์  

แนวคิดการแบ่งชั้น (Layer Approach)

UNIX รุ่นใหม่ๆ ได้รับการออกแบบให้สามารถใช้ฮาร์ดแวร์ใหม่ๆได้โดนใช้แนวคิดระบบบนลงล่าง ดังรูป

แสดงชั้นโครงสร้างของระบบ

                การออกแบบระบบใหม่ๆ จึงพยายามลดจำนวนชั้นลง เพื่อหลีกเลี่ยงปัญหาในการกำหดชั้น ระบบปฏิบัติการ OS/2 ได้เพิ่มการทำงานแบบหลายโปรแกรม และการทำงานแบบ 2 ช่วงเข้าไปพร้อมทั้งบริการใหม่ๆ ทำให้ระบมีความซับซ้อนมากขึ้น และต้องการฮาร์ดแวร์ช่วยมากขึ้นด้วย

เครื่องจักรเสมือน (Virtual Machines)

                การจัดตารางหน่วยประมวลผลกลางและหน่วยความจำเสมือน ระบบปฏิบัติการหนึ่งสามารถสร้างสภาพการทำงานแบบหลายกระบวนการ แต่ละกระบนการทำงานบนหน่วยประมวลผลของตน และมีหน่วยความจำเสมือนของตน

การออกแบบระบบและการนำไปใช้ (System Design and Implementation)

จุดมุ่งหมายของการออกแบบ (Design Goals)

                การกำหนดจุดประสงค์และคุณลักษณะเฉพาะของระบบ ในขั้นเรก การออกแบบขึ้นอยู่กับฮาร์ดแวร์ที่ใช้ และประเภทของระบบที่ต้องการสร้างได้แก่ ระบบทำงานแบบกลุ่ม ระบบแบ่งส่วนเวลา ระบผู้ใช้คนเดียว ระบบหลายผู้ใช้ ระบบกระจายอำนาจ ระบบโต้ตอบทันที หรือระบบใช้งานทั่วไป

                ความต้องการของผู้ใช้ ได้แก่ ระบบควรจะใช้สะดวก เรียนง่าย ใช้ง่าย มีความน่าเชื่อถือปลอดภัยและทำงานได้เร็ว ความต้องการของระบบปฏิบัติการแตกต่างกันมากย่อมมีความต้องการที่แตกต่างกัน และการแก้ปัญหาก็แตกต่างกันมาก

วิธีการและนโยบาย (Mechanisms and Policies)

                การแยกนโยบายออกจากวิธีการ เป็นเรื่องสำคัญต่อความยืดหยุ่นของระบบ เพราะนโยบายอาจเปลี่ยนแปลงได้ตามสถานที่และเวลา ในกรณีที่แย่ที่สุด การเปลี่ยนแปลงนโยบายแต่ละครั้งอาจทำให้ต้องเปลี่ยนเครื่องจักรไปด้วย วิธีการแบบทั่วไปน่าจะนำมาพิจารณาได้ เพราะเมื่อมีการเปลี่ยนแปลงนโยบาย อาจปรับเปลี่ยนตัวแปลเพียงบางตัวแต่ใช้วิธีการเดิมได้

การสร้างระบบ (Implementation)

                ประโยชน์ของการใช้ภาษาขั้นสูงในการเขียน ระบบปฏิบัติการเห็นได้ชัดเจน คือ สามารถเขียนได้เร็วกว่า กะทัดรัดกว่า เข้าใจง่ายกว่า และง่ายต่อการแก้ไขกว่าด้วย

ข้อดี คือ ทำให้ง่ายในการย้าย ระบบปฏิบัติการไปทำงาน บนเครื่องคอมพิวเตอร์แบบอื่น

ข้อเสีย คือ อาจทำให้ทำงานได้ช้ากว่า ใช้หน่วยประมวลผลกลางมากกว่า และมีความต้องการพื้นที่ในการใช้งานมากขึ้น

การติดตั้งระบบ (System Generation)

                ข้อมูลในการติดตั้งระบบ ควรมีดังนี้

·         ใช้หน่วยประมวลผลอะไร มีส่วนประกอบพิเศษหรือไม่ มีหน่วยประมวลผลกี่ตัว อะไรบ้าง

·         ขนาดหน่วยความจำหลักที่มี บางระบบอาจหาขนาดได้เองโดยการทดลองเขียนและอ่านข้อมูลลงไปที่ตำแหน่งต่างๆ จน กระทั่งเกิดข้อผิดพลาด ซึ่งตำแหน่งผิดพลาดจะทำให้เราทราบถึงตำแหน่งสูงสุดที่สามารถใช้ได้ ซึ่งก็น่าจะเท่ากับขนาดของหน่วยความจำหลัก

·         มีอุปกรณ์อะไรบ้าง ระบบปฏิบัติการจำเป็นต้องรู้จักอุปกรณ์ต่างๆ ทั้งหมดที่มีอยู่ขอมูลต่างๆเกี่ยวกับอุปกรณ์

      ·     ข้อกำหนดพิเศษทีอะไรบ้าง หรือตัวแปลต่างๆของระบบมีค่าเท่าใด

edit @ 18 Aug 2008 06:55:28 by

Comment

Comment:

Tweet

ขอบคุนค่ะquestion

#9 By (203.172.175.200|10.0.2.35, 203.172.175.200) on 2014-06-23 09:04

double wink cry surprised smile

#8 By (203.172.175.200|10.0.2.35, 203.172.175.200) on 2014-06-23 09:03

ขอบคุณ สำหรับข้อมูลดีดีนะครับ เป็นปรธโยชน์มากเลยครับ

#7 By morno (10.209.8.26, 202.12.97.118) on 2011-11-03 18:22

ขอบคุณมากเน้อbig smile

#6 By Ingtachi (58.9.59.36) on 2011-01-14 10:36

ยู้ฮูก้อย 555.

#5 By ^~TE~^ on 2010-12-07 07:02

ขอบคุณครับ

#4 By baquzza (110.164.213.146) on 2010-04-22 15:18

question question question question question open-mounthed smile big smile confused smile double wink surprised smile

#3 By (118.175.3.226) on 2010-02-02 08:49

confused smile

#2 By (125.26.100.112) on 2009-09-16 20:34

#1 By ควาย (118.175.188.187) on 2009-06-18 14:07