Make your own free website on Tripod.com

 

 

 

 

 

 

 

องค์ประกอบของระบบปฏิบัติการ

    องค์ประกอบของ OS ศาสตร์ด้านระบบปฏิบัติการนี้ได้รับอิทธิพลจากความสลับซับซ้อนของระบบมัลติโปรแกรมมิ่ง ซึ่งถ้าพิจารณาถึงองค์ประกอบของระบบปฏิบัติการที่ควรแก่การศึกษา ก็จะเป็นบรรดาองค์ประกอบที่ช่วยในการจัดโปรแกรมหลายๆ โปรแกรมให้ทำงานพร้อมๆ กันได้ ซึ่งอาจแบ่งได้เป็นสองประเภทใหญ่ๆ ด้วยกันคือการซิงโครไนซ์กระบวนการ (process synchronization) และการบริหารทรัพยากร (resource management)

    การซิงโครไนซ์กระบวนการ (process synchronization) ในระบบมัลติโปรแกรมมิ่ง

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

    การจัดการหน่วยประมวลผลกลาง (Central Processing Unit Management)

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

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

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

    การจัดการอุปกรณ์ (Device management) อุปกรณ์ (device) คือ

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

    การจัดสรรข้อมูล (Data management ข้อมูล (data หรือ information) อาจแบ่งได้เป็นสองประเภทคือ โปรแกรมสำเร็จรูปที่ใช้ร่วมกัน (ไม่นับระบบปฏิบัติการ) และส่วนที่เป็นแฟ้มข้อมูล (data file) ของผู้ใช้
สำหรับส่วนที่เป็นซอฟร์แวร์หรือโปรแกรมสำเร็จรูป (package หรือ library program) ซึ่งมีผนวกอยู่ในระบบปฏิบัติการเพื่อเอื้ออำนวยผู้ใช้ โดยปกติจัดอยู่ในรูป reentrant code คือมีส่วนของโปรแกรมเพียงสำเนาเดียว แต่สามารถให้ผู้ใช้เรียกใช้ได้พร้อมๆ กันหลายคน โดยแยกส่วนที่เป็นข้อมูลของแต่ละผู้ใช้ไป เช่น โปรแกรมแปลภาษา (translator หรือ compiler) โปรแกรมจัดคำ (editor) เป็นต้น ลักษณะนี้ลดความซ้ำซ้อน ได้มาก เพราะถ้าโปรแกรมร่วมนี้ไม่เป็น reentrant code แล้วผู้ใช้โปรแกรมนี้แต่ละคน จะต้องมีสำเนาของโปรแกรมร่วมนี้คนละชุดเกิดเป็นสำเนาของโปรแกรมร่วมหลายๆ ชุดอยู่ในหน่วยความจำทำให้สิ้นเปลืองโดยใช่เหตุ

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