บทที่ 2 ระบบปฏิบัติการ
ระบบปฏิบัติการ ระบบปฏิบัติการเป็นโปรแกรมควบคุมการทำงาน (ควบคุมการRun) ของโปรแกรมประยุกต์ ทำหน้าที่
โต้ตอบและเป็นสื่อกลางระหว่างโปรแกรมประยุกต์และฮาร์ดแวร์ (Hardware) ระบบปฏิบัติการ (Operating System :OS) เป็นซอฟต์แวร์ระบบ (System Software) ที่ทำหน้าที่ควบคุมการทำงานของเครื่องและอุปกรณ์ ควบคุมและสั่งการให้ Hardware สามารถทำงานได้ เช่น ทำหน้าที่ในการตรวจเช็คอุปกรณ์ Keyboard ขณะเปิดเครื่อง ถ้าผู้ใช้ลืมเสียบสาย Keyboard ที่ port ด้านหลังของเครื่อง ขณะที่ซอฟต์แวร์ระบบตรวจสอบแล้วไม่พบอุปกรณ์เชื่อมต่อดังกล่าว จะมีข้อความแจ้งเตือนความผิดพลาด “Keyboard Error” นอกจากนี้ยังทำหน้าที่เป็นสื่อกลางในการเชื่อมการทำงานระหว่าง User ในการใช้โปรแกรมประยุกต์ ( Application Software) ของ user กับระบบเครื่องฯ อำนวยความสะดวกในการใช้งาน และเพิ่มประสิทธิ์ภาพของระบบ บทบาทและเป้าหมายของระบบปฏิบัติการ (Goals & Roles of an OS)
- อำนวยความสะดวก ทำให้ผู้ใช้ (user) ใช้เครื่องฯ ได้ง่าย (Operating System Objectives Convenience)ทำให้คอมฯ ง่ายและสะดวกต่อการใช้งาน
- ใช้งานเครื่องได้อย่างมีประสิทธิภาพ (Efficiency) จัดการการใช้ทรัพยากรของระบบได้อย่างมีประสิทธิภาพ
- เพิ่มความสามารถเพื่อพัฒนาโปรแกรม (Ability to evolve) เพื่อรองรับให้ผู้ใช้เพื่อให้ผู้ใช้สามารถพัฒนาโปรแกรมได้อย่างมี ประสิทธิภาพ, สามารถทดสอบโปรแกรม, และสามารถใช้ฟังก์ชั่นใหม่ ๆ ของระบบ โดยปราศจากการแทรกแซงของระบบปฏิบัติการในระหว่างการทำงาน สรุปเป้าหมายและบทบาทของระบบปฏิบัติการ (OS) สามารถจำแนกได้ 2 เป้าหมายคือ 1. เป้าหมายหลัก ( Primary goal) คือ การอำนวยความสะดวกแก่ผู้ใช้งาน ให้สามารถใช้ระบบคอมฯ ได้ง่าย และสะดวกที่สุด (convenience for the user) 2. เป้าหมายหมายรอง (Secondary goal) คือ เพิ่มประสิทธิภาพให้กับระบบ บางครั้ง 2 เป้าหมายนี้อาจขัดแย้งกัน เช่น ระบบ OS ที่ชาญฉลาดนั้นระหว่างทำงานระบบจะ ตรวจจับข้อผิดพลาด (Error) อยู่ตลอดเวลา หากพบข้อผิดพลาดระหว่างการทำงานก็จะมีข้อความแจ้ง (Message) แก่ผู้ใช้ และหากมีข้อความแจ้งบ่อยครั้ง ก็จะกลายเป็นการขัดจังหวะการทำงานทำให้ผู้ใช้ ทำงานได้ไม่สะดวก ดังนั้นการออกแบบระบบปฏิบัติการ (OS) และการออกแบบสถาปัตยกรรมด้านตัวเครื่องควรมีความสอดคล้อง และหาจุดกลางระหว่างกันโครงสร้างระบบปฏิบัติการ (OPERATING SYSTEM STRUCTURES)ระบบปฏิบัติการเป็นซอฟต์แวร์ที่ทำหน้าที่ควบคุมการทำงานของฮาร์ดแวร์ ซึ่ง OS จะเป็นซอฟต์แวร์ที่ทำงานในระดับ Low level ควบคุมและสั่งการเครื่องและอุปกรณ์ได้โดยตรง สามารถแสดงโครงการการเข้าถึงฮาร์ดแวดร์ ได้ตามรูปด้านล่างนี้ 3. อธิบายหลักการทำงานของ Personal computer Systems และเชื่อมโยงด้วยว่าสัมพันธ์กับสิ่งเหล่านี้ อย่างไรบ้าง ? (CPU, ALU, Control Unit, Register, Bus, RAM, Input device, Output device) โปรแกรมระบบปฏิบัติการ (Operating System)เป็นซอฟต์แวร์ที่สามารถเข้าถึงฮาร์ดแวร์ได้โดยตรง โดยทำหน้าที่จัดสรรทรัพยากร ควบคุมการทำงานของฮาร์ดแวร์ และทำหน้าที่เป็นตัวกลางในการควบคุมการสั่งการ ระหว่างโปรแกรมอรรถประโยชน์ (Utilities) และโปรแกรมประยุกต์ของผู้ใช้ (Application Programs)ซอฟต์แวร์ที่พัฒนาด้วยภาษาเครื่องจักร (Machine code)จะสามารถควบคุมและเข้าถึงฮาร์ดแวร์ได้โดยตรง แต่จะขั้นตอนที่ยุ่งยากในการเขียนชุดคำสั่ง โปรแกรมอรรถประโยชน์ (Utilities)โปรแกรมอรรถประโยชน์ (Utilities) เป็นโปรแกรมอำนวยความสะดวกต่าง ๆ ในการทำงานเพื่อเพิ่ม ประสิทธิภาพ แก่ระบบ เป็นกลุ่มโปรแกรมที่เน้นการจัดการไฟล์ (File) ควบคุม I/O, อุปกรณ์อื่น เช่น การสำรองข้อมูล การจัดเรียงไฟล์ หรือการเคลียร์ Temporary file โปรแกรมประยุกต์ (Application program)เป็นซอฟต์แวร์ที่อยู่ห่างไกลกับฮาร์ดแวร์ ไม่สามารถเข้าถึงฮาร์ดแวร์ได้โดยตรง จะต้องอาศัย OS เป็น ตัว กลางในการเชื่อมการทำงาน โปรแกรมประยุกต์จะถูกเขียนขึ้นโดยโปรแกรมเมอร์ และใช้โปรแกรมภาษาระดับสูงในการพัฒนา ที่พัฒนาจาก programmer ระบบปฏิบัติการสนับสนุนการทำงานของระบบในด้านใดบ้าง? (OS Support) การจัดเตรียมบริการต่าง ๆ ของ OS ที่มีไว้เพื่อสนับสนุนการทำงานของระบบ มีดังนี้ • การพัฒนาโปรแกรม (Program development) สนับสนุนเรื่องการพัฒนาโปรแกรม โดยจัดเตรียมบริการต่าง ๆ ให้ผู้พัฒนานั้นสามารถใช้งาน Editor ได้ง่าย สะดวก และหลากหลาย เช่น มี Editor และ debugger สำหรับช่วยโปรแกรมเมอร์ระหว่างเขียนโปรแกรมและตรวจสอบข้อผิดพลาด (Error) โดยระบบปฏิบัติการจะสนับสนุนสิ่งอำนวยความสะดวกและบริการต่างๆมากมาย เพื่อช่วยผู้พัฒนาโปรแกรมในการสร้างโปรแกรมประยุกต์ขึ้นมาใช้งาน • การประมวลผลโปรแกรม (Program execution) ช่วยในการทำงานและประมวลผลโปรแกรมประยุกต์ ซึ่งการประมวลผลโปรแกรมหนึ่งๆ นั้นจะมีงานที่เข้ามา เกี่ยวข้องมากมาย คำสั่ง ( instruction ) และข้อมูล ( data ) จะต้องถูกนำเข้ามาเก็บไว้ในหน่วยความจำหลัก อุปกรณ์ไอโอและแฟ้มข้อมูลที่ต้องการใช้ รวมทั้งทรัพยากรที่จำเป็นอื่นๆจะต้องถูกเตรียมพร้อมใช้งาน ระบบปฏิบัติการจะเป็นผู้ทำงานทั้งหมดนี้ให้โดยอัตโนมัติ • การเข้าถึงอุปกรณ์ไอโอ (Access to I/O devices )การใช้อุปกรณ์ I/O แต่ละชิ้นจะต้องอาศัยชุดคำสั่งหรือสัญญาณควบคุมของตนเอง ระบบปฏิบัติการจะจัดการในรายละเอียดของการทำงานเหล่านี้ ทำให้ผู้พัฒนาโปรแกรมเหลือเพียงการตัดสินใจว่าจะทำการอ่านข้อมูลหรือบันทึก ข้อมูลเหล่านั้น • การควบคุมการเข้าถึงแฟ้มข้อมูล (Controlled access to files)เช่น การการเปิดไฟล์ จะมีกระบวนการทำงานหลายขั้นตอน และในอนาคตกรณีของระบบที่ทำงานกับ ระบบปฏิบัติการหลายระบบ (multiuser OS) จะมีการเตรียมกลไกในการควบคุมการเข้าถึงไฟล์ การควบคุมการใช้งานแฟ้มข้อมูล นอกจากจะต้องเข้าใจลักษณะโดยธรรมชาติของอุปกรณ์ ที่จะนำมาใช้งานแล้ว ยังต้องเข้าใจในรูปแบบของข้อมูลที่เก็บอยู่ในสื่อจัดเก็บ ระบบปฏิบัติการจะทำหน้าที่ในส่วนนี้แทนผู้ใช้ และในกรณีที่ในระบบมีผู้ใช้งานได้หลายคนพร้อมกันก็จะต้องควบคุมลำดับและวิธี การเข้าถึงแฟ้มข้อมูลสำหรับผู้ใช้ทุกคนด้วย • การเข้าถึงระบบ (System access) การติดต่อระบบ ในกรณีที่เป็นระบบสาธารณะ หรือเป็นระบบที่ใช้งานร่วมกันระบบปฏิบัติการจะควบคุมการติดต่อเข้ากับระบบ คอมพิวเตอร์โดยส่วนรวม และทรัพยากรแต่ละชิ้น ฟังก์ชั่นการติดต่อจะต้องสนับสนุนการป้องกันทรัพยากร และข้อมูลจากผู้ที่ไม่มีสิทธิในการใช้งาน และจะต้องสามารถแก้ปัญหาการแย่งชิงการใช้อุปกรณ์ได้ด้วย ดังนั้นระบบที่มีการแบ่งปัน ( Share) การเข้าถึงข้อมูลและระบบแบบสาธารณะ (public) OS จะป้องกัน (protect) ทรัพยากรจากคนหรืองานที่ไม่ได้รับอนุญาต ตัวอย่างเช่นการป้องกันการเข้าใช้งานเครื่อง Mainframe จำเป็นต้องต้องมีการขออนุญาตเข้าใช้ กำหนดสิทธิ์การใช้งาน กำหนดการอนุญาตใช้ฮาร์ดแวร์ จะเห็นว่า OS ทำงานมากขึ้นสำหรับคอมพิวเตอร์ขนาดใหญ่อย่าง Mainframe ถ้าเป็นเครื่อง PC เราจะขออนุญาตตัวเองในการเข้าใช้งาน • การตรวจจับข้อผิดพลาดและตอบกลับ (Error detection and response) การตรวจหาข้อผิดพลาดในระบบและตอบกลับ ข้อผิดพลาด (Error) มีหลายชนิด ขึ้นอยู่กับระบบคอมพิวเตอร์ที่ทำงานอยู่ 1)ข้อผิดพลาดที่เกิดจากทั้งภายในและภายนอกตัวเครื่อง(Hardwar) เช่น • หน่วยความจำผิดพลาด (memory error) • อุปกรณ์ผิดพลาด (device failure) 2)ข้อผิดพลาดที่เกิดจากซอฟต์แวร์ (Software) เช่น • หน่วยคำนวณเต็ม (arithmetic overflow) • การถูกยับยั้ง หรือไม่อนุญาตให้เข้าถึงพื้นที่หน่วยความจำ (memory location การพยายามที่จะเข้าถึงพื้นที่ ที่ไม่อนุญาตในตำแหน่ง ( location) ของหน่วยความจำ ก็จะทำให้เกิดข้อผิดพลาด (error)ขึ้นได้ • โปรแกรมระบบปฏิบัติการ (OS) ไม่สามารถอนุญาตตามการร้องขอของโปแกรมประยุกต์ได้ Note : ในแต่ละกรณีที่เกิดข้อผิดพลาด OS มักจะเตรียมการแจ้งกลับ ( response) และพยายามจัดการกับเงื่อนไขของข้อผิดพลาด ( error) ที่เกิดขึ้นและให้มีผลกระทบน้อยที่สุดในการ run program การตรวจหาข้อผิดพลาดและการตอบสนอง ข้อผิดพลาดสามารถเกิดขึ้นได้โดยสาเหตุต่างๆมากมายขณะที่ระบบกำลังทำงาน ในความผิดพลาดแต่ละกรณีที่เกิดขึ้น ระบบปฏิบัติการจะต้องตอบสนองโดยทำให้เกิดผลกระทบต่อโปรแกรมที่กำลังประมวลผล อยู่ในระดับต่ำที่สุด การตอบสนองโดยทั่วไปได้แก่ การหยุดการทำงานของโปรแกรมนั้น การพยายามทำคำสั่งนั้นใหม่ เป็นต้น • การจัดทำบัญชี (Accounting) – เก็บรวบรวมสถิติการใช้งานระบบ (collect statistics) – ตรวจวัดประสิทธิภาพการใช้งานระบบ (monitor performance) เช่น เวลาในการตอบสนอง – เพื่อเป็นข่าวสารที่จะใช้เป็นประโยชน์ในการยกระดับการทำงานให้สูงขึ้นในอนาคต(used to anticipate future enhancements) – ใช้สำหรับออกรายชื่อผู้ใช้ (used for billing users) บัญชีผู้ใช้ ระบบปฏิบัติการที่ดีจะรวบรวมข้อมูลสถิติการใช้งานของทรัพยากรต่างๆ และตรวจสอบตัวกำหนดค่าประสิทธิภาพเช่น ระยะเวลาการตอบสนอง ในระบบใดๆ ข้อมูลเหล่านี้จะเป็นประโยชน์สำหรับการคาดเดาการขยายขีดความสามารถของระบบใน อนาคต และในการปรับตัวกำหนดค่าทั้งหลายเพื่อให้ระบบมีประสิทธิภาพมากยิ่งขึ้น ในระบบที่มีผู้ใช้หลายคน ข้อมูลนี้สามารถนำมาใช้ในทางบัญชี เช่น การเรียกเก็บค่าบริการได้ ระบบปฏิบัติการในฐานะผู้บริหารทรัพยากร (The Operating System as Resource Manager) ระบบคอมพิวเตอร์ประกอบด้วยอุปกรณ์ต่างๆ สำหรับการเคลื่อนย้าย การจัดเก็บ และการประมวลผลข้อมูลและการควบคุมฟังก์ชั่นการทำงานต่างๆ ระบบปฏิบัติการมีความรับผิดชอบในการบริหารทรัพยากรต่างๆเหล่านี้ อาจมีข้อสงสัยว่า ระบบปฏิบัติการเป็นตัวควบคุมการเคลื่อนย้าย การจัดเก็บ และการประมวลผลข้อมูลหรือไม่ ในมุมมองหนึ่งอาจตอบว่าใช่ เนื่องจากระบบปฏิบัติการจะต้องควบคุมหน้าที่การทำงานพื้นฐานในการบริหาร ทรัพยากรของเครื่องคอมพิวเตอร์ อย่างไรก็ตามการควบคุมนี้เป็นการกระทำในทางอ้อม โดยปกติผู้คนมักจะคิดว่ากลไกในการควบคุมเป็นองค์ประกอบภายนอกของสิ่งที่ถูก ควบคุม หรือย่างน้อยที่สุดก็เป็นอะไรบางอย่างที่มีตัวตนและเป็นส่วนที่แยกออกจาก สิ่งที่ถูกควบคุม จากรูป แสดงให้เห็นว่าระบบปฏิบัติการคือผู้บริหารทรัพยากร ส่วนหนึ่งของระบบปฏิบัติการซึ่งได้แก่ส่วนที่เรียกว่า เคอร์นอล(kernel) และนิวเคลียส( nucleus) จะถูกเก็บไว้ที่หน่วยความจำหลัก หน่วยความจำส่วนที่เหลือจะถูกใช้ในการเก็บโปรแกรมและข้อมูลอื่นๆของผู้ใช้ การจัดสรรทรัพยากร(ในกรณีนี้คือหน่วยความจำ) ให้แก่โปรแกรมต่างๆรวมทั้งโปรแกรมระบบปฏิบัติการ จะถูกควบคุมร่วมกันระหว่างระบบปฏิบัติการกับฮาร์ดแวร์ที่ทำหน้าที่บริหาร หน่วยความจำ ระบบปฏิบัติการจะทำการตัดสินใจว่า จะมอบอุปกรณ์ไอโอตัวใดให้แก่โปรแกรมใดที่กำลังประมวลผลอยู่ รวมทั้งการควบคุมการเข้าถึงและเรียกใช้งานแฟ้มข้อมูล ตัวโปรเซสเซอร์เองก็จัดว่าเป็นทรัพยากรชนิดหนึ่ง จึงเป็นหน้าที่อย่างหนึ่งของระบบปฏิบัติการที่จะต้องกำหนดระยะเวลาการใช้งาน โปรเซสเซอร์ในการประมวลผลโปรแกรมผู้ใช้ ภาพรวมอื่นของระบบปฏิบัติการ (Other views of the OS) • OS ทำหน้าที่เป็นผู้จัดสรรทรัพยากรภายในระบบ (resource allocator) – ดูและและจัดสรรให้ใช้ทรัพยากร อันได้แก่ ฮาร์ดแวร์ (hardware),ซอฟต์แวร์ (Software) และข้อมูล (data) ในระหว่างการทำงานภายในระบบได้อย่างเหมาะสมและถูกต้อง – จัดเตรียมสภาพแวดล้อมต่าง ๆ ระหว่างที่โปรแกรมมีการทำงาน • OS ทำหน้าที่ควบคุมการทำงานของโปรแกรม (control program) – ควบคุมการประมวลผล (execution) ของโปรแกรมและป้องกันโปรแกรมผู้ใช้จากข้อผิดพลาดและการใช้งานโปรแกรมที่ไม่เหมาะสมในระบบ – ต้องควบคุมการทำงานและการจัดสรรอุปกรณ์ ไอโอ (I/O devices) |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น