วันเสาร์ที่ 3 ธันวาคม พ.ศ. 2559

บทที่ 2 โครงสร้างของระะบบคอมพิวเตอร์และโครงสร้างของระบบปฎิบัติการ


 2 โครงสร้างของระะบบคอมพิวเตอร์และโครงสร้างของระบบปฎิบัติการ
  
ระบบคอมพิวเตอร์ ในยุคปัจจุบัน จะประกอบไปด้วยซีพียู และตัวควมคุมอุปกรณ์(Device Controller)
อยู่จำนวนหนึ่ง ที่มีการเชื่อมโยงเข้าด้วยกันผ่านสายส่งข้อมูล หรือที่เรียกว่าบัส(Bus)


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

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

ครั้นเมื่อระบบปฎิบัติการได้โหลดเข้าสู่หน่วยความจำหลักเป็นที่เรียยบร้อย Bootstrap Program ก็หมดหน้าที่ แล้วจะปล่อยให้ระบบปฎิบัติการเป็นตัวควบคุมดูแลระบบ ระบบปฎิบัติการก้จะรอคอยสัญญาณขัดจังหวะ หรือที่เรียกว่า การอินเตอร์รัปต์(Interrupt) 

สำหรับฮาร์ดแวร์ สามารถส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Bus มายังซีพียูได้ตลอดเวลา ในขณะที่ส่วนของซอฟต์แวร์จะส่งสัญญาณขัดจังหวะมา ครั้นเมื่อทำงานเสร็จซีพียูก็จะกลับมาทำงานต่อจากงานเดิมที่ค้างไว้

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

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

เมื่อมีการใช้งานอุปกรณ์ I/O หรือมีการร้องขออุปกรณ์ I/O ให้ทำงาน ซีพียูก็จะโหลดรีจิสเตอร์มาเก็บไว้ในตัวควบคุมอุปกรณ์ แล้วตัวควบคุมอุปกรณ์ก็จะทำการตรวจสอบข้อมูลในรีจิสเตอร์น้ันว่าคืออะไร ให้ทำกิจกรรมอะไร

DMA (Direct Memory Access) เป็นวิธีการรับส่งข้อมูลจากอุปกรณ์ I/O ไปยังหน่วยความจำโดยตรง โดยไม่ต้องผ่านซีพียู วิธีนี้จะทำให้การส่งข้อมูลมีความรวดเร็วยิ่งขึ้น อีกทั้งยังไม่เปลืองเวลาซีพียูด้วย

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


หน่วยความจำแบบ Volatile เช่น รีจิสเตอร์ แคช และหน่วยความจำหลัก ข้อมูลที่บันทึก อยู่ในหน่วยความจำชนิดนี้ จะสูญหายไปทันทีเมื่อไม่มีไฟฟ้าเลี้ยงวงจร

หน่วยความำแบบ Non-Volatile เช่น ดิสก์ เทป ซีดี ข้อมูลที่บันทึกอยู่ในหน่วยความจำชนิดนี้ยังคงอยู่ต่อไป ถึงแม้จะไม่มีไฟฟ้ามาเลี้ยงก็ตาม 

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

1.โหมดการทำงานของผู้ใช้(User Mode)

2.โหมดการทำงานของระบบ(System Mode / Moniter Mode )

เพื่อป้องกันไม่ให้ผู้ใช้หรือโปรแกรมเข้าไปจัดการกับอุปกรณ์ I/O อย่างไม่ถูกต้อง จึงมีการกำหนดให้คำสั่ง I/O ทั้งหมดเป็นคำสั่งสงวน(Privilege Instruction)นั่นหมายความว่า ผู้ใช้จะ ไม่สามารถสั่งการกับอุปกรณ์อินพุตและเอาท์พุตได้โดยตรง แต่หากผู้ใช่ต้องการใช้งาน I/O จะต้องติดต่อผ่านระบบปฎิบัติการ
เท่านั้นด้วยการเรียกใช้งานผ่าน System Call

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

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

การศึกษา โครงสร้างของระบบปฎิบัติการ สามารถพิจารณาถึงส่วนสำคัญต่างๆ ดังนี้
1.ส่วนประกอบของระบบ
2.งานบริการของระบบปฏิบัติการ
3.การติดต่อระหว่งโปรเซสกับระบบปฎิบัติการ  

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

1.การจัดการโปรเซส
2.การจัดการหน่วยความจำหลัก
3.การจัดการแฟ้มข้อมูล
4.การจัดการอุปกรณ์อินพุต/เอาท์พุต
5.การจัดการหน่วยความจำสำรอง
6.เครือข่าย
7.ระบบการป้องกัน
8.ระบบการแปลคำสั่ง


1. การจัดการโปรเซส 
 ซีพียู จัดเป็นส่วนสำคัญสำหรับระบบคอมพิงเตอร์เนื่องจากมีราคาแพง ดังนั้นระบบปฎิบัติการจึงต้องออกแบบมาเพื่อใช้งานซีพียูให้เกิดความคุ้มค่ามากที่สุด
 ระบบปฏิบัติการบางระบบ   เช่น ระบบปฏิบัติการดอสหรือเอ็มเอสดอล (MS-DOS)มีการจัดการโปรเซสที่ค่อนข้างง่าย เนื่องจากจัดการโปรเซสแบบผู้ใช้คนเดียว (Sing User)ทำให้การใช้งานซีพียูอาจไม่ได้รับความคุ้มค่านัก แต่ก็เป็นระบบปฎิบัติการที่ออกแบบง่ายเพราะไม่ค่อยมีความสลับซับซ้อน   อีกทั้งยังใช้ทรัพยากรค่อนข้างน้อย
 แต่ในระบบปฎิบัติการที่ออกแบบมาใช้งานกับระบบใหญ่ ๆ นั้นจะถูกออกแบบมาเพื่อรองรับการใช้งานหลายๆ คน ( Multiuser)  ซึ่งอาจมีซีพียูหนึ่งตัวหรือมากกว่า ( Multiprocessor) ก็เป็นได้  ดังนั้นระบบปฎิบัติการที่ใช้กับระบบคอมพิงเตอร์ดังกล่าว  จำเป็นต้องได้รับการออกแบบที่ดี  และที่สำคัญย่อมมีความสลับซับซ้อนยิ่งขึ้นด้วย
  สำหรับระบบคอมพิวเตอร์ที่ส่วนใหญ่มักมีเพียงซีพียูเดียว  และใช้ระบบปฎิบัติการที่รองรับการใช้งานหลายๆโปรแกรมนั้น   ในความเป็นจริง ซีพียูจะทำงานได้ทีละงานเท่านั้นซึ่งเป็นลักษณะแบบ  Sequential  Execution  ดังที่นอยมานน์ได้กล่าวไว้   แต่เนื่องด้วยการทำงานของซีพียูมีความรวดเร็วมาก  เกิดสายตามนุษย์ที่จะจับผิดว่าซีพียูทำ งานที่ละงานอยู่   ดังนั้นจึงดูเหมือนว่าซีพียูสามารถทำงานได้หลายๆ งานในขณะเดียวกัน
              งานที่ส่งไปประมวลผลในซีพียู  จะเรียกว่าโปรเซส  โดยโปรเซสคือโปรแกรมที่กำลังถูกประมวลหรือถูกเอ็กซคิวต์ หรือ อาจกล่าวอีกนัยหนึ่งว่า โปรแกรมนั้นทำการครอบครองซีพียูในขณะนั้นอยู่  ซึ่งกระบวนการดังกล่าว  ซีพียูก็ต้องมีการบวนการจัดการโปรเซสที่ครอบครองรวมถึงการจัดการกับโปรเซสอื่น ๆ ที่ต้องการขอใช้บริการซีพียู
             หากยกตัวอย่างเปรียบเทียบการทำงานซีพียูกับงานต่างๆ ที่รอคอยการครอบครองหรือขอใช้บริการซีพียู  เช่น มีคนขับรถเพียงคนเดียว  แต่มีรถอยู่ 4 คัน คือ A, B, C, D  ซึ่งคนขับรถต้องนำรถทั้ง4 คันนี้ไปสู้จุดหมายพร้อมๆกันโดยรถแต่ละคันมีจุดหมายปลายทาง  ในระยะทางที่แตกต่างกัน กล่าวคือ คนขับรถคือซีพียูซึ่งมีเพียงคนเดียว และรถแต่ละคันนั้นคืองานหรือโปรเซสที่ซีพียูต้องทำหน้าที่ในการขับเคลื่อนรถทั้งสี่ไปยังจุดหมายปลายทาง ดังนั้นคนขับรถหรือซีพียูนี้ จะต้องมีกระบวนการในการจัดการกับรถทั้ง 4 คันนี้ไปสู่จุดหมายในเวลาพร้อมกันหรือใกล้เคียงกันได้อย่างไร


2. การจัดการหน่วยความจำ 
หน่วยความจำในระบบคอมพิวเตอร์  ถือเป็นทรัพยากร (Resource) หนึ่งที่สำคัญซึ่งเมื่อกล่าวถึงหน่วยความจำในระบบคอมพิวเตอร์มักจะหมายถึงหน่วยความจำหลัก  (MainMeory) หรือ หน่วยความจำแรมในไมโครคอมพิวเตอร์นั่นเอง ข้อบัญญัติข้อหนึ่งของ ดร.จอห์ ฟอน นอยมานน์ กล่าวว่าข้อมูลและชุดคำสั่ง (Data and Instruction) ต้องอยู่ในหน่วยความจำหลัก นั้นหมายถึงว่าโปรแกรมและข้อมูลต้องอยู่ในหน่วยความจำ ซึ่งหน่วยความจำนี้ซีพียูสารถเข้าถึง (Access) ได้โดยตรง และมีความเร็วสูงพอที่จะทำงานเคียงคู่กับความเร็วของซีพียูได้ ถึงแม้จะเทียบกับความเร็วของซีพียูไม่ได้ แต่ก็จะไม่เกิดความเหลื่อมล้ำกันมากนัก แต่อย่างไรก็ตามในปัจจุบันนี้ก็มีหน่วยความจำชนิดหนึ่งที่เรียกว่า หน่วยความจำแคช (Cache Memory) ซึ่งเป็นหน่วยความจำขนาดเล็กแต่มีความรวดเร็ว โดยนำมาใช้งานร่วมกับหน่วยความจำหลัก จึงมีผลให้การประมวลผลรวดเร็วยิ่งขึ้น


3. การจัดการแฟ้มข้อมูล
  กิจกรรมที่เกี่ยวข้องกับการจัดการแฟ้มข้อมูล (file manipulation) จะแตกต่างกันออกไปในแต่ละระบบงาน แต่จะมีกิจกรรมหลักในการใช้ข้อมูล ได้แก่
  5.1 การสร้างแฟ้มข้อมูล (file creating) คือ การสร้างแฟ้มข้อมูลเพื่อนำมาใช้ในการประมวลผล ส่วนใหญ่จะสร้างจากเอกสารเบื้องต้น (source document) การสร้างแฟ้มข้อมูลจะต้องเริ่มจากการพิจารณากำหนดสื่อข้อมูลการออกแบบฟอร์มของระเบียน การกำหนดโครงสร้างการจัดเก็บแฟ้มข้อมูล (file organization) บนสื่ออุปกรณ์
  5.2 การปรับปรุงรักษาแฟ้มข้อมูลแบ่งออกได้ 2 ประเภท คือ
 1) การค้นคืนระเบียนในแฟ้มข้อมูล (retrieving) คือ การค้นหาข้อมูลที่ต้องการหรือเลือกข้อมูลบางระเบียนมาใช้เพื่องานใดงานหนึ่ง การค้นหาระเบียนจะทำได้ ด้วยการเลือกคีย์ฟิลด์ เป็นตัวกำหนดเพื่อที่จะนำไปค้นหาระเบียนที่ต้องการในแฟ้มข้อมูล ซึ่งอาจจะมีการกำหนเงื่อนไขของการค้นหา เช่น ต้องการหาว่า พนักงานที่ชื่อสมชายมีอยู่กี่คน
 2) การปรับเปลี่ยนข้อมูล (updating) เมื่อมีแฟ้มข้อมูลที่จะนำมาใช้ในการประมวลผลก็จำเป็นที่จะต้องทำหรือรักษาแฟ้มข้อมูลนั้นให้ทันสมัยอยู่เสมอ อาจจะต้องมีการเพิ่มบางระเบียนเข้าไป (adding) แก้ไขเปลี่ยนแปลงค่าฟิลด์ใดฟิลด์หนึ่ง (changing) หรือลบบางระเบียนออกไป (deleting)


4. การจัดการอุปกรณ์อินพุต/เอาท์พุต
วัตถุประสงค์ประสงค์สำคัญประการหนึ่งของระบบปฎิบัติการก็คือ การเก็บซ้อนความยุ่งยากและความสลับซับซ้อนของฮาร์ดแวร์เอาไว้ ด้วยการปล่อยให้เป็นหน้าที่ของระบบปฏิบัติการทำงานแทนเช่น 
เมื่อผู้ใช้ต้องการใช้อุปกรณ์ ก็ไม่จำเป็นต้องเขียนชุดคำสั่งเพื่อจัดการกับอุปกรณหล่านั้น ปล่อยให้เป็นหน้าที่ของระบบปฎิบัติการ กล่าวคือ เมื่อผู้ใช้ต้องการเรียกใช้อุปกรณ์ใดๆ ก็เพียงติดต่อผ่านระบบปฏิบัติการ จากนั้นระบบปฏิบัติการจะไปติดต่อกับอุปกรณ์เหล่านั้นอีกทอดหนึ่งโดยผ่านตัวขับอุปกรณ์(Device Driver) ดังนั้นในการจัดการอุปกรณ์อินพุต/เอาท์พุต ระบบปฏิบัติการจะมีหน้าที่รับผิดชอบกิจกรรมที่เกี่ยวข้องกับอุปกรณ์ I/O  ดังรายละเอียดดังต่อไปนี้

1.จัดองค์ประกอบหน่วยความจำต่างๆ เช่น หน่วยความจำบัฟเฟอร์ หน่วยความจำแคช 
2.ติดต่อกับตัวขับอุปกรณ์ของอุปกรณ์ที่ใช้ทั่วไป เช่น คีย์บอร์ด หรือ เมาส์ 
3.ติดต่อกับตัวขับอุปกรณ์ของอุปกรณ์เฉพาะ เช่น เครื่องบันทึกวีดี สแกนเนอร์ หรือ จอยสติ๊ก เป็นต้น


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

1.การจัดการพื้นที่ว่าง
2.การจัดสรรพื้นที่เพื่อบันทึกข้อมูล
3.การจัดตารางลำดับการทำงานของดิสก์(Disk Scheduling)


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


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


7.ระบบแปลคำสั่ง
โปรแกรมระบบที่สำคัญอีกตัวหนึ่งในคอมพิวเตอร์ก็คือ ตัวแปลคำสั่ง(Command Interpreter)
ซึ่งเป็นตัวที่ใช้สำหรับติดต่อระหว่างผู้ใช้กับระบบปฏิบัตการ ทำหน้าที่รับคำสั่งจากผู้ใช้ เพื่อนำไป
ปฏิบัติการ เช่น ระบบปฏิบัติการ Dos ที่สามารถใช้คำสั่ง Command line โต้ตอบกับระบบได้ เช่น
DIR , DATE , TIME , FORMAT เป็นต้น 


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

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

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

3.การจัดการกับระบบแฟ้มข้อมูล
ระบบปฏิบัติการจะต้องจัดการกับระบบแฟ้มข้อมูลได้ และถือเป็นสิ่งจำเป็นทีเดียว เพราะว่าการทำงานของคอมพิวเตอร์กับระบบปฏิบัติการ ก็คือการทำงานร่วมกับแฟ้มข้อมูลนั่นเองดังนั้น ระบบปฏิบัติการจึงต้องมีฟังค์ชั่นในการจัดการกับระบบแฟ้มข้อมูลทั้งการอ่าน และการบันทึก และรวมถึงการสร้าง และการลบแฟ้มข้อมูลด้วย

4.การติดต่อสื่อสาร
การบริการนี้ เกี่ยวข้องกับการติดต่อสื่อสารกันระหว่างโปรเซส โดยโปรเซสทั้งสองอาจประมวลผลอยู่ในซีพียูตัวเดียวกัน หรืออยู่คนละเครื่องกันที่ส่งผ่านระบบเครือข่าย โดยการสื่อสารนี้อาจจะใช้หน่วยความจำร่วมกัน หรืออยู่คนละเครื่องกันที่ส่งผ่านระบบเครือข่าย โดยการสื่อสารนี้อาจใช้หน่วยความจำร่วมกัน หรืออาจใช้วิธีการส่งผ่านโดยมีระบบปฏิบัติการเป็นตัวกลาง

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


6.การจัดสรรพทรัพยากร
เราได้ทราบแล้วว่า ทรัพยากรในระบบน้ันมีจำกัด ดังนั้นในระบบที่มีผู้ใช้หลายคนที่นำงานเข้ามาประมวลผลพร้อมกัน ทรัพยากรต่างๆ จำเป็นต้องได้รับการจัดสรรให้กับงานเหล่านั้น และ หากมีโปรเซสใดร้องขอบริการทางทรัพยากรเดียวกันในช่วงเวลาเดียวกัน ระบบปฏิบัติการจะต้องมีวิธีการที่ยุติธรรม หรือวิธีที่เหมาะสมที่สุดในการจัดสรรทรัพยากรเหล่านั้นให้กับผู้ใช้ได้อย่างมีประสิทธิภาพ

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

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



การติดต่อระหว่างโปรเซสกับระบบปฏิบัติการ
การติดต่อระหว่างโปรเซสกับระบบปฏิบัติการในที่นี้คือ System Calls นั่นเอง โดยปกติทั่วไปแล้วจะใช้ชุดคำสั่งภาษาแอสเซมบลีในการติดต่อ แต่อย่างไรก็ตาม ในบางระบบอาจอนุญาตให้ผู้ใช้สามารถเขียนโปรแกรมภาษาระดับสูงเพื่อเรียกใช้ System Calls ได้โดยตรง เช่น ภาษาC เป็นต้น สำหรับการเรียกใช้งาน System Calls จะประกอบด้วยกลุ่มงานต่างๆ ดังนี้

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

2.การจัดการเก็บแฟ้มข้อมูล 
เป็นกลุ่มจัดการเก็บแฟ้มข้อมูลทั้งหมด ไม่ว่าจะเป็นการสร้างแฟ้มข้อมูล ลบแฟ้มข้อมูลการเปิดและปิดแฟ้มข้อมูล รวมถึงอ่านและบันทึกแฟ้มข้อมูล 

3.การจัดการกับอุปกรณ์ 
เป็นกลุ่มที่ใช้จัดการกับอุปกรณ์ในระบบ โดยระบบอาจมีการร้องขอใช้อุปกรณ์เพิ่มเติม เช่น ร้องขอบริการเพื่อใช้งานเทป ครั้นเมื่ิอใช้งานเสร็จ ก็จะปลดอุปกรณ์นั้นคืนระบบเพื่อให้ผู้อื่นเรียกใช้งานต่อไปได้

4.การบำรุงรักษาข้อมูล
เป็นกลุ่มที่ตอบสนองงานหลักของตัวระบบปฏิบัติการ เช่น ในระบบส่วนใหญ่จะมีการโอนถ่ายข้อมูลระหว่างผู้ใช้กับระบบปฏิบัติการ นอกจากนี้ในบางระบบอาจต้องการแสดงวันที่ เวลาและข้อมูลในระบบ
เช่น จำนวนผู้ใช้งาน เวิอร์ชั่นของระบบปฏิบัติการ เนื้อที่ว่างบนหน่วยความจำเนื้อที่ว่างในอุปกรณ์สำรองข้อมูล เป็นต้น

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


อ้างอิง
หนังสือเรียนวิชา การใช้งานระบบปฏิบัติการ รหัสวิชา  2128-2002 ประเภทวิชาอุตสาหกรรม สาขาเทคนิคคอมพิวเตอร์   116










ไม่มีความคิดเห็น:

แสดงความคิดเห็น