บทที่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

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