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

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

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