สาระการเรียนรู้ 1. หน้าที่ของระบบปฏิบัติการ 2. องค์ประกอบของระบบปฏิบัติการ 3. วิวัฒนาการของระบบปฏิบัติการ 4. โครงสร้างระบบปฏิบัติการ
จุดประสงค์การสอน 1. เข้าใจหน้าที่ของระบบปฏิบัติการ 2. สามารถยกตัวอย่างการทำงานจริงเกี่ยวกับองค์ประกอบของระบบปฎิบัติการได้ 3. เข้าใจทราบความเป็นมา หรือวิวัฒนาการของระบบปฏิบัติการ 4. สามารถบอกได้ว่าสิ่งใดคือเซอร์วิสของระบบปฏิบัติการ และสิ่งใดไม่ใช่ 5. สามารถเขียนโครงสร้างของระบบปฏิบัติการออกมาได้ 6. สามารถติดตั้งระบบปฏิบัติการได้อย่างน้อย 1 ระบบ
แนะนำบทเรียน อุปกรณ์ทุกประเภทที่ใช้ชิ้นส่วนอิเล็กทรอนิกส์หรือใช้ไฟฟ้าเป็นแหล่งพลังงาน จะต้องมีซอฟท์แวร์ที่เข้าควบคุมจัดการสั่งงานฮาร์ดแวร์เหล่านั้น หากเป็นซอฟท์แวร์ที่ทำหน้าที่ไม่กี่อย่าง ก็จะฝังโปรแกรมไว้ในหน่วยความจำที่มีมาพร้อมกัน แต่ถ้าฮาร์ดแวร์ต้องทำหน้าที่หลากหลาย ซอฟท์แวร์ก็จะมีความซับซ้อน ดังที่ Bill gates ประสบความสำเร็จจากการเขียนซอฟท์แวร์ระบบปฏิบัติการจำหน่าย ตามมาด้วยซอฟท์แวร์อีกมากมายภายใต้ชื่อ Microsoft Corporation ที่เครื่องคอมพิวเตอร์ส่วนใหญ่ต้องใช้ แต่ก็มีระบบปฏิบัติการคู่แข่งคือ Apple กับ Linux ที่ Microsoft จะวางใจไม่ได้
แนะนำให้รู้จักคำว่าระบบปฏิบัติการ และระบบอื่น ๆ ที่เกี่ยวข้อง เพื่อให้เห็นเนื้อหาโดยรวม สำหรับความหมายของระบบปฏิบัติการในเบื้องต้น คือ โปรแกรม ที่จัดการคอมพิวเตอร์ฮาร์ดแวร์ โดยทำหน้าที่ให้การสนับสนุนการประมวลผลในเบื้องต้น และทำหน้าที่อำนวยความสะดวกให้ผู้ใช้ และคอมพิวเตอร์ฮาร์ดแวร์ทำงานด้วยกัน อย่างราบรื่น จากความหมายข้างต้น ทำให้ทราบว่าคอมพิวเตอร์ทุกเครื่องต้องมีระบบปฏิบัติการ ซึ่งเป็นส่วนประกอบสำคัญอีกส่วนหนึ่ง โดยปกติคอมพิวเตอร์จะมีส่วนประกอบสำคัญแยกกันได้ 4 ส่วนคือ hardware, operating system, application program และ users
1. ฮาร์ดแวร์ (Hardware) ประกอบด้วยทรัพยากรต่างๆ ที่มีในระบบ ได้แก่ อุปกรณ์นำข้อมูลเข้า/ออก หน่วยประมวลผลกลาง และหน่วยความจำ นอกจากนี้ยังหมายความรวมถึง โปรแกรมภาษาเครื่อง และไมโครโปรแกรม ซึ่งเป็นส่วนที่บริษัทผู้ผลิตสร้างขึ้นเพื่อใช้เป็นซอฟร์แวร์ในระดับพื้นฐาน (primitive level) โดยสามารถทำงานได้โดยตรงกับทรัพยากรระบบด้วยคำสั่งง่ายๆ เช่น ADD MOVE หรือ JUMP คำสั่งเหล่านี้จะถูกกำหนดเป็นขั้นตอน การทำงานของวงจรภายในเครื่องคอมพิวเตอร์ ชุดคำสั่งที่ไมโครโปรแกรมต้องแปลหรือตีความหมายจะอยู่ใน รูปแบบภาษาเครื่องและมักเป็นคำสั่งในการคำนวณ เปรียบเทียบ และการควบคุมอุปกรณ์นำข้อมูลเข้า/ออก
2. ระบบปฏิบัติการ (Operating system) เป็นโปรแกรมที่ทำงานเป็นตัวกลางระหว่างผู้ใช้เครื่องและฮาร์ดแวร์ โดยมีวัตถุประสงค์เพื่อจัดสภาพแวดล้อมให้ผู้ใช้ระบบสามารถปฏิบัติงานบนเครื่องคอมพิวเตอร์ได้ โดยจะเอื้ออำนวยการพัฒนาและการใช้โปรแกรมต่างๆ รวมถึงการจัดสรรทรัพยากรต่างๆ ให้ได้อย่างมีประสิทธิภาพ
3. โปรแกรมประยุกต์ (Application program) คือซอฟต์แวร์หรือโปรแกรมที่ถูกเขียนขึ้นเพื่อการทำงานเฉพาะอย่างที่เราต้องการ เช่น งานส่วนตัว งานทางด้านธุรกิจ งานทางด้านวิทยาศาสตร์ โปรแกรมทางธุรกิจ เกมส์ต่างๆ ระบบฐานข้อมูล ตลอดจนตัวแปลภาษา เราอาจเรียกโปรแกรมประเภทนี้ว่า User's Program โปรแกรมประเภทนี้โดยส่วนใหญ่มักใช้ภาษาระดับสูงในการพัฒนา เช่นภาษา C, C++, COBOL, PASCAL, BASIC ฯลฯ ตัวอย่างของโปรแกรมที่พัฒนาขึ้นใช้ในทางธุรกิจ เช่น โปรแกรมระบบบัญชีจ่ายเงินเดือน (Payroll Program) โปรแกรมระบบเช่าซื้อ (Hire Purchase) โปรแกรมระบบสินค้าคงหลัง (Stock Program) ฯลฯ ซึ่งแต่ละโปรแกรมก็จะมีเงื่อนไขหรือแบบฟอร์มที่แตกต่างกัน ตามความต้องการหรือกฏเกณฑ์ของแต่ละหน่วยงานที่ใช้ ซึ่งโปรแกรมประเภทนี้เราสามารถดัดแปลงแก้ไขเพิ่มเติม (Modifications) ในบางส่วนของโปรแกรมเองได้ เพื่อให้ตรงกับความต้องการของผู้ใช้งานโปรแกรม โปรแกรมเหล่านี้เป็นตัวกำหนดแนวทางในการใช้ทรัพยากรระบบ เพื่อทำงานต่างๆ ให้แก่ผู้ใช้หลากหลายประเภท ซึ่งอาจเป็นได้ทั้งบุคคล โปรแกรม หรือเครื่องคอมพิวเตอร์ เช่นตัวแปรภาษาต้องใช้ทรัพยากรระบบในการแปลโปรแกรมภาษาระดับสูงให้เป็นภาษาเครื่องแก่โปรแกรมเมอร์ ดังนั้น ระบบปฏิบัติการต้องควบคุมและประสานงานในการใช้ทรัพยากรระบบของผู้ใช้ให้เป็นไปอย่างถูกต้อง
4. ผู้ใช้ (User) ถึงแม้ระบบคอมพิวเตอร์จะประกอบด้วยองค์ประกอบทั้งทางด้านฮาร์ดแวร์และซอฟต์แวร์ แต่ระบบคอมพิวเตอร์จะไม่สามารถทำงานได้ถ้าขาดอีกองค์ประกอบหนึ่ง ซึ่งได้แก่ องค์ประกอบทางด้านบุคลากรที่จะเป็นผู้จัดการและควบคุมระบบคอมพิวเตอร์ให้สามารถปฏิบัติงานได้อย่างราบรื่น คอยแก้ไขปัญหาต่าง ๆ ที่เกิดขึ้นกับระบบคอมพิวเตอร์ พัฒนาโปรแกรมประยุกต์ต่าง ๆ รวมไปถึงการใช้งานโปรแกรมประยุกต์ที่ถูกพัฒนาขึ้น
Milan Milenkovic An operating system is an organized collection of software extensions of hardware, consisting of control routines for operating a computer and for providing an environment for execution of programs.
H. M. Deitel Operating systems are primarily resource managers; the main resource they manage is computer hardware in the form of processors, storage, input/output devices, communication devices and data. Operating systems perform many functions such as implementing the user interface, sharing hardware among users, allowing users to share data among themselves, preventing users from interfering with one another, scheduling resources among users, facilitating input/output, recovering from errors, accounting for resource usage, facilitating parallel operations, organizing data for secure and rapid access, and handling network communications.
A. Silberschatz , J. Peterson and P. Galvin An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. An operating system is similar to a government. The components of a computer system are its hardware, software, and data. The operating system provides the means for the proper use of these resources in the operation of the computer system. Like a government, the operating system performs no useful function by itself. It simply provides an environment within which other programs can do useful work.
William S. Davis The operating system is a set of software routines that sits between the application program and hardware. Because the operating system serves as a hardware/software interface (Fig. 1.2 ), application programmers and users rarely communicate directly with the hardware.
ดร. ยรรยง เต็งอำนวย กลุ่มโปรแกรมซึ่งได้รับการจัดระเบียบให้เป็นส่วนเชื่อมโยงระหว่างเครื่อง และผู้ใช้ โดยจะเอื้ออำนวยการพัฒนาและการใช้โปรแกรมต่าง ๆ รวมถึงการจัดสรรทรัพยากรต่าง ๆ ให้มีประสิทธิผลที่ดี
มงคล อัศวโกวิทกรณ์ กลุ่มโปรแกรมงานที่มีความสามารถสูง เช่น ช่วยในการแบ่งปันการใช้ทรัพยากรต่างๆ ในระบบ และควบคุมจังหวะการทำงานของโปรแกรมที่กำลังรันอยู่เพื่อมิให้เกิดข้อผิดพลาดและรวมถึงควบคุม System Software
2.1.1 การติดต่อกับผู้ใช้ หรือยูเซอร์อินเทอร์เฟซ (User interface) ผู้ใช้สามารถสั่งให้คอมพิวเตอร์ทำงาน จึงเป็นหน้าที่ของระบบปฏิบัติการในเป็นตัวกลาง และเตรียมสภาพแวดล้อมต่าง ๆ ให้กับผู้ใช้ในการสั่งงานคอมพิวเตอร์ หลังจากนั้นจะใช้คำสั่งผ่านทาง System call เพื่อปฏิบัติสิ่งที่ผู้ใช้ต้องการ ใช้สามารถติดต่อหรือควบคุมการทำงานของเครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการได้ โดยระบบปฏิบัติการจะเครื่องหมายพร้อมต์ (prompt) ออกทางจอภาพเพื่อรอรับคำสั่งจากผู้ใช้โดยตรง ตัวระบบปฏิบัติการจึงเป็นตัวกลางที่ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่อง นอกจากนี้ผู้ใช้อาจเขียนโปรแกรมเพื่อใช้งานกรณีนี้ผู้ใช้ก็สามารถติดต่อกับระบบปฏิบัติการได้โดยผ่านทาง System Call
2.1.2 ควบุคมดูแลอุปกรณ์ (Control devices) ระบบปฏิบัติการมีหน้าที่ควบคุมอุปกรณ์ต่าง ๆ ให้ทำงานสอดคล้องกับความต้องการ โดยไม่เกิดข้อผิดพลาด เช่นการควบคุมดิสก์ จอภาพ หรือซีดีรอม เป็นต้น ระบบปฏิบัติการจะรับคำสั่งจากผู้ใช้ และเรียกใช้ System call ขึ้นมาทำงาน ให้ได้ผลตามต้องการ ให้ความสะดวกแก่ผู้ใช้ในการใช้งานอุปกรณ์ต่างๆ ได้ง่าย เช่น การเข้าถึงข้อมูลในแฟ้มหรือติดต่อกับอุปกรณ์รับ/แสดงผลข้อมูล จึงทำให้ผู้พัฒนาโปรแกรมไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมตัวขับดิสก์เพราะระบบปฏิบัติการจัดบริการให้มีคำสั่งสำหรับติดต่อกับอุปกรณ์เหล่านี้ได้อย่างง่ายๆเนื่องจากผู้ใช้เครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการ อาจไม่มีความจำเป็นต้องมีความรู้ความเข้าใจถึงหลักการทำงานภายในของเครื่อง ดังนั้น ระบบปฏิบัติการจึงมีหน้าที่ควบคุมการทำงานของโปรแกรม การทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานของระบบเป็นไปอย่างถูกต้องและสอดคล้องกัน ระบบปฏิบัติการจึงมีส่วนประกอบของหน้าที่ต่างๆ ที่ควบคุมอุปกรณ์แต่ละชนิดที่มีหน้าที่แตกต่างกันไป โดยผู้ใช้อาจเรียกใช้ผ่านทาง System Call หรือเขียนโปรแกรมขึ้นมาควบคุมอุปกรณ์เหล่านั้น
2.1.3 จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources management) เพราะทรัพยากรของระบบมีจำกัด และมีหลายประเภท ระบบปฏิบัติการต้องบริการให้ผู้ใช้ ได้ใช้ทรัพยากรต่าง ๆ ให้เป็นไปอย่างต่อเนื่อง ตัวอย่างทรัพยากร ที่ระบบปฏิบัติการต้องจัดการ เช่น ซีพียู หน่วยความจำ ซีดีรอม เครื่องพิมพ์ เป็นต้น ทรัพยากรหลักที่ต้องมีการจัดสรร ได้แก่ หน่วยประมวลผลกลาง หน่วยความจำหลัก อุปกรณ์รับ/แสดงผลข้อมูล และแฟ้มข้อมูล เช่น การจัดลำดับให้บริการใช้เครื่องพิมพ์การสับหลีกงานหลายงานในหน่วยความจำหลักและการจัดสรรหน่วยความจำหลักให้กับโปรแกรมทั้งหลาย ทรัพยากร คือสิ่งที่ซึ่งถูกใช้ไปเพื่อให้โปรแกรมดำเนินไป