ระบบปฏิบัติการคืออะไร
(What is an Operating system?)
ระบบปฏิบัติการเป็นโปรแกรมควบคุมการทำงาน
(ควบคุมการ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 ควบคุมและสั่งการเครื่องและอุปกรณ์ได้โดยตรง สามารถแสดงโครงการการเข้าถึงฮาร์ดแวดร์
ได้ตามรูปด้านล่างนี้
โครงสร้างการเข้าถึงฮาร์ดแวร์
โปรแกรมระบบปฏิบัติการ (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)
การประมวลผลข้อมูลของคอมพิวเตอร์
โครงสร้างด้านการประมวลของคอมพิวเตอร์
ประกอบด้วย
Input -- > Process -- >
Output
แสดงดังภาพตัวอย่างข้าล่างนี้
ระบบปฏิบัติการในฐานะผู้บริหารทรัพยากร
จากรูป
อธิบายขั้นตอนการประมวลผลข้อมูล
ได้ดังนี้
1. Input : User ทำการ Input
data เข้าสู่ระบบ
โดยอาศัยอุปกรณ์ Input device
2. Process : เครื่องเริ่มทำการประมวลผล โดยข้อมูลที่ User Input เข้ามาจะส่งไปเก็บใน
หน่วยความจำหลัก (Memory :RAM) จากนั้น Control Unit
จะควบคุมการไหลของข้อมูลผ่านระบบ Bus system จาก RAM ไปยัง CPU และ ALU เพื่อให้ทำงานตามคำสั่ง
ระหว่างการประมวลผล Register จะคอยเก็บชุดคำสั่งขณะที่ load ข้อมูลอยู่ และ Cache
จะคอยดักชุดคำสั่งที่ CPU เรียกใช้บ่อย ๆ
และคอยจัดเตรียมข้อมูลหรือชุดคำสั่งเหล่านั้นเพื่อเอื้อให้ CPU ประมวลผลข้อมูลได้เร็วขึ้น
ซึ่งการประมวลผลของเครื่องนี้จะทำงานตามรอบสัญญาณนาฬิกาของเครื่อง (Machine
cycle)
Note : Machine cycle หมายถึง เวลาที่ใช้ในการประมวลผลชุดคำสั่งของเครื่องต่อรอบสัญญาณนาฬิกา
เป็นเวลาที่ร้องขอการทำงาน เช่น การเรียก (Load) ข้อมูล, การประมวลผล (Execute) และการจัดเก็บข้อมูล ซึ่งใน Machine cycle จะประกอบด้วย 2 ช่วงจังหวะการทำงาน ได้แก่
1.Instruction time ( I-time) หมายถึง ช่วงเวลาที่ Control unit รับคำสั่ง
(Fetch)
จาก memory
และนำคำสั่งนั้นใส่ลงไปใน register จากนั้น Control
unit จะทำการถอดรหัสชุดคำสั่งและพิจารณาที่อยู่ของข้อมูลที่ต้องการ
2. Execution time หมายถึง ช่วงเวลาที่ Control unit จะย้ายข้อมูลจาก memory ไป
ยัง registers และส่งข้อมูลให้ ALU จะทำงานตามคำสั่งนั้น เมื่อ ALU ทำงานเสร็จ Control
unit จะเก็บผลลัพธ์ไว้ใน memory ก่อนส่งไปแสดงผลที่ Monitor
หรือ Printer
3. Output : หลังจาก CPU
ประมวลผลเสร็จ Control
Unit จะควบคุมการไหลของข้อมูลผ่าน
Bus system เพื่อส่งมอบ (Transfer) ข้อมูลจาก CPU มายังหน่วยความจำ จากนั้นส่งข้อมูลออกไปแสดงผลที่ Output
device (หากคุณใช้ card เพิ่มความเร็วในการแสดงผลของจอภาพ
ก็จะส่งผลต่อความเร็วของระบบได้เช่นกัน) ผลลัพธ์ที่ได้จากการประมวลผลข้อมูล (Data) เรียกว่า ข่าวสารหรือสารสนเทศ (Information)
4. Storage : หน่วยจัดเก็บข้อมูล
ซึ่งหมายถึงสื่อจัดเก็บสำรอง เช่น Harddisk, Disk หรือ CD
ทำงาน 2 ลักษณะ คือ การ Load
ข้อมูลเพื่อนำไปประมวลผล: ถ้าข้อมูลถูกจัดเก็บอยู่ใน Harddisk
แล้วคุณต้องการ Load ข้อมูลขึ้นมาแก้ไขหรือประมวลผล
ข้อมูลที่ถูก Load และนำไปเก็บในหน่วยความจำ (Memory:
RAM) จากนั้นส่งไปให้ CPU
การเก็บข้อมูลเมื่อประมวลผลเสร็จ:
เมื่อ CPU ประมวลผลข้อมูลเสร็จ ข้อมูลนั้นจะถูกเก็บอยู่ใน
หน่วยความจำ (Memory: RAM) แต่ RAM จะเก็บข้อมูลเพียงชั่วขณะที่เปิดเครื่อง
(Power On) เมื่อไรที่คุณปิดเครื่อง
โดยที่ยังไม่สั่งบันทึกข้อมูล (Save) ข้อมูลก็จะหาย (Loss) ดังนั้นหาก User ต้องการจัดเก็บข้อมูลเพื่อไว้งานในครั้งต่อไปจะต้องสั่งบันทึก
โดยใช้คำสั่ง Save File ข้อมูลก็จะถูกนำไปเก็บในสื่อจัดเก็บสำรอง ได้แก่ Disk, Harddisk, CD หรือ Thumb Drive แล้วแต่ว่าคุณจะเลือก
Save ไว้ในสื่อชนิดใด
ขอขอบคุณ : http://www.zoneza.com/Operating-System-view4154.htm
ไม่มีความคิดเห็น:
แสดงความคิดเห็น