ใบงานที่
9
โครงสร้างระบบคอมพิวเตอร์ และโครงสร้างของระบบปฏิบัติการ
โครงสร้างระบบคอมพิวเตอร์ และโครงสร้างของระบบปฏิบัติการ
1. การขัดจังหวะ หรือการอินเตอร์รัปต์ หมายถึงอะไร
จงอธิบาย
การอินเตอร์รัพต์
หมายถึง ทางเข้าโปรแกรมย่อยที่ BIOS
หรือ DOS มีไว้บริการ เป็นการเข้าไป ขัดจังหวะเพื่อขอกระทำการบางอย่าง
เช่น ขอพิมพ์ ขออ่านข้อมูลบางอย่าง เป็นต้น
อินเตอร์รัปต์เป็นกระบวนการในการส่งสัญญาณบอกให้ซีพียูรับรู้แล้วหยุดงานที่ทำอยู่
และหันมาตอบสนองต่ออินเตอร์รัปต์ที่ร้องขอ
เป็นวิธีที่เหมาะสมที่สุด ในการติดต่อระหว่างอุปกรณ์และซีพียู
มีลักษณะคล้ายการเรียกใช้ subroutine
2. จงเปรียบเทียบการอินเตอร์รัปต์
กับการดำเนินชีวิตของมนุษย์โดยทั่วไป ว่ามีความเกี่ยวข้องกันอย่างไร
ซีพียูใช้เวลาส่วนใหญ่ในการทำโปรแกรมหลัก
และหันมาสนใจอุปกรณ์ภายนอกก็ต่อเมื่ออุปกรณ์ ภายนอกส่งสัญญาณ เข้ามาขัดจังหวะการทำงานที่ซีพียูทำอยู่ในขณะนั้น
ซึ่งซีพียูมีสิทธิที่จะยอมรับหรือปฏิเสธการขัดจังหวะนั้นก็ได้ อาจเปรียบได้ว่า เรากำลังเขียนรายงานอยู่
แล้วมีเสียงโทรศัพท์ดังขึ้นมา เราก็จะต้องตัดสินใจว่าสิ่งใดมีความสำคัญ มากกว่ากัน
หากคิดว่าโทรศัพท์สำคัญกว่า ก็หยุดการ เขียนรายงานและไปรับโทรศัพท์ก่อน แล้วจึงกลับมาเขียนรายงานต่อ
3. สาเหตุที่การป้องฮาร์ดแวร์
มีบทบาทสำคัญต่อระบบปฏิบัติการที่รองรับหลายๆ งาน อยากทราบว่าเป็นเพราะอะไร
จงอธิบาย
ข้อผิดพลาดหลายอย่างมักจะตรวจสอบได้โดยฮาร์ดแวร์
ซึ่งสามารถควบคุมได้โดยระบบปฏิบัติการ ซึ่งจะทำการจัดการข้อผิดพลาดนั้นไปเลย
4. จงเปรียบเทียบความแตกต่างระหว่างโหมดการทำงานของผู้ใช้
กับโหมดการทำงานของระบบมาให้พอเข้าใจ
ผู้ใช้ คือ
บุคคลที่มีปฏิกิริยาโต้ตอบกับระบบ เพื่อทำให้เกิดการดำเนินการ หรือเพื่อใช้การทำงานให้เป็นประโยชน์ ส่วนการทำงานของระบบระบบ หมายถึง
การทำงานร่วมกันของส่วนประกอบแต่ละส่วนอย่างมีความสัมพันธ์กันอย่างต่อเนื่องเพื่อนำไปสู่ความสำเร็จตามเป้าหมายที่ได้วางไว้
5. ระบบปฏิบัติการจะมีการป้องกันอินพุต
และเอาท์พุตอย่างไร จงอธิบาย
ส่วนนี้เป็นการตอบสนองการเอ็กซิคิวต์โปรแกรมแล้ว
ระบบอาจจะความต้องการติดติดต่อหรือต้องการใช้งานอินพุต / เอาต์พุตหรือถ้าต้องการใช้ดีไวซ์พิเศษก็จำเป็นต้องใช้ฟังก์ชันพิเศษ
รวมไปถึงการป้องกันระบบ ทั้งนี้เนื่องจากผู้ใช้ไม่สามารถควบคุมดีไวซ์อยู่แล้ว ระบบปฏิบัติการจึงต้องมีฟังก์ชันเพื่อการควบคุมอินพุต
/ เอาต์พุตด้วย
6. ระบบปฏิบัติการจะมีการป้องกันหน่วยความจำอย่างไร
จงอธิบาย
การจัดการหน่วยความจำจัดเป็นหน้าที่หนึ่งของระบบปฏิบัติการ
หน่วยความจำนี้เป็นองค์ประกอบหนึ่งในการพิจารณาขีดความสามารถของเครื่องคอมพิวเตอร์ด้วย กล่าวคือถ้าหากคอมพิวเตอร์มีความจำมาก นั้นหมายถึงขีดความสามารถในการทำงานก็จะเพิ่มขึ้นโปรแกรมที่มีสลับซับซ้อนและมีสมรรถนะสูง
มักจะเป็นโปรแกรมที่ต้องการหน่วยความจำสูง
แต่ก็เป็นที่ทราบแล้วว่าหน่วยความจำมีราคาแพง (เปรียบเทียบราคาฮาร์ดดิสก์ประมาณ 5,000 บาท สามารถได้ความจุถึง 10 GB ขึ้นไป แต่ถ้าเป็นแรมได้ความจุเพียงหน่วย MBเท่านั้น)
ดังนั้นระบบปฏิบัติการที่ดีจะต้องมีการจัดการหน่วยความจำที่มีอยู่จำกัด
ให้สามารถรองรับงานต่างๆ ที่จำเป็นต้องใช้หน่วยความจำจำนวนมากได้
7. ระบบปฏิบัติการจะมีการป้องกันซีพียูอย่างไร
จงอธิบาย
ต้องแบ่งแยกหน่วยความจำสำหรับงานแต่ละงาน
และป้องกันไม่ให้งานหนึ่งเข้าไปอ่านหรือแก้ไขข้อมูลในส่วนของงานอื่นได้
การป้องกันนี้ทำได้โดย register 2 ตัว เรียกว่า ฐาน (base) และ ขอบเขต (limit) Base
register จะเก็บค่าตำแหน่งสุดท้ายที่ยอมให้ใช้ได้ใน memory Limit register จะเก็บขนาดของเนื้อที่ทั้งหมดของงาน
8. โครงสร้างของระบบปฏิบัติการประกอบด้วยกี่ส่วน
อะไรบ้าง
ระดับชั้นแรกสุด
เป็นระดับชั้นที่ต่ำที่สุดมีชื่อเรียกว่า เคอร์เนล (kernel) เป็นชั้นที่มีหน้าที่รับผิดชอบงานต่าง
ๆ ของโปรเซสของระบบปฏิบัติการเท่านั้น เคอร์เนลประกอบด้วยส่วนย่อย ๆ
ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager) มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ
ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (input-output control system) หรือ IOCS จะมีหน้าที่จัดการงานทางด้านอินพุตเอาพุตของระบบ
ในชั้นนี้ยังคงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์อยู่บ้าง
เพราะการติดต่อกับอุปกรณ์อินพุต-เอาต์พุตต้องทราบโครงสร้างและการทำงานของอุปกรณ์นั้นๆด้วย
ชั้นที่ 4 ผู้จัดการไฟล์ (file manager) มีหน้าที่จัดการงานต่างๆ
ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลงดิสก์ การหาไฟล์ การอ่านข้องมูลของไฟล์
เป็นต้น ผู้จัดการไฟล์นี้สามารถถูกออกแบบให้ไม่ขึ้นกับฮาร์ดแวร์ (hardware independent) ผู้จัดการไฟล์จะจะติดต่อกับฮาร์ดแวร์โดยเรียกผ่านรูทีนต่างๆ
ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler) เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์
มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state) เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สุดในคิวของสถานะพร้อม
เพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่างอยู่ โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล
ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager) เป็นระดับชั้นของส่วนที่หน้าที่จัดสรรหาทรัพยากรอื่นๆในระบบ ดังแสดงในรูปที่ 8.8 บางครั้งตัวจัดคิวระยะสั้นและผู้จัดการทรัพยากรอยู่สลับที่กัน
ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler) เป็นชั้นของระบบปฏิบัติที่เริ่มมีความใกล้ชิดกับผู้ใช้และห่างไกลกับฮาร์ดแวร์ของเครื่องมากขึ้น มีหน้าที่จัดการและควบคุมโปรเซสต่างๆ ทั้งหมดในระบบเช่นสร้างโปรเซส ต่าง ๆ ใหม่เข้ามาในระบบและยุติโปรเซสเมื่อโปรเซสทำงานเสร็จสิ้นลง การทำงานของตัวจัดคิวระยะยาวต้องใช้รูทีนต่างๆ ในชั้นที่ 1 ถึง 6 ช่วยในการทำงาน
ชั้นที่ 8 เชลล์ (shell) หรือผู้แปลคำสั่ง (command interpreter) เป็นชั้นสุดท้ายซึ่งเป็นชั้นที่ใกล้ชิดกับผู้ใช้มากที่สุด มีหน้าที่ติดต่อกับผู้ใช้โดยตรง เช่น ส่งเครื่องหมายพร้อมต์ (prompt) แสดงออกทางจอภาพ รับคำสั่งต่างๆ ของผู้ใช้มาตีความคำสั่งและเรียกรูทีนต่างๆของชั้นล่างๆ เพื่อให้ได้งานตามคำสั่งที่ได้รับ
9. ในการจัดการกับโปรเซส
ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
1. การสร้างและลบทั้งโปรเซสของระบบและของผู้ใช้
2. การหยุดและทำโปรเซสต่อไป
3. การจัดเตรียมกลไกรสำหรับการซิลโครไนซ์โปรเซส
4. การเตรียมกลไกรสำหรับการติดต่อสื่อสารโปรเซส
5. การจัดเตรีมกลไกรการแก้ไข deadiock
10. ในการจัดการกับหน่วยความจำ
ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
1. ติดตามการใช้งานหน่วยความจำส่วนต่าง
ๆ ว่าทำอะไร และของใคร
2. ตัดสินใจว่าโปรเซสใดจะโหลดเข้าสู่หน่วยความจำเมื่อมีหน่วยความจำว่าง
3. จัดสรรการใช้หน่วยความจำเมื่อจำเป็นต้องใช้หน่วยความจำ
4. การจัดการไฟล์ (File
Managerent
11. ในการจัดการกับแฟ้มข้อมูล
ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
1. สร้าง และ ทำลายแฟ้มข้อมูล
2. สร้าง และ ทำลายไดเรคทอรี่
3. ให้บริการการใช้งานแฟ้มข้อมูลและไดเรคทอรี่
ขั้นพื้นฐาน
4. อ้างอิงข้อมูลจากแฟ้มกับข้อมูลจริงในหน่วยความจำสำรอง
5. ทำสำเนาแฟ้มข้อมูลลงในหน่วยความจำถาวร
(ไม่ลบเมื่อไฟดับ)
12. ในการจัดการกับอุปกรณ์อินพุต/เอาต์พุต
ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
1. การจัดการหน่วยความจำที่รวมทั้งบัพเพอร์
,แคช และสพูล
2. อินเทอร์เฟซพื้นฐานของดีไวซ์ไดร์เวอร์
3. ไดร์เวอร์สำหรับดีไวซ์ที่มีรูปเฉพาะ
13. ในการจัดการกับหน่วยความจำสำรอง เช่น ดิสก์
ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
1. สร้างและการลบไฟล์
2. สร้างและการลบไดเรกทอรี
3. สนับสนุนการจัดการไฟล์ในรูปแบบเดิม ๆ ที่ผ่านมา
4. แมพไฟล์ไปยังสิ่งที่ใช้จัดเก็บข้อมูล
5. แบ็คอัพหรือสร้างไฟล์สำรอง
6. การจัดการอินพุต / เอาท์พุต (I/O System
Management)
14. จงสรุปงานบริการของระบบปฏิบัติการมาพอเข้าใจ
ระบบปฏิบัติการ เป็นผู้จัดสภาพแวดล้อมให้โปรแกรมทำงาน
โดยให้บริการต่าง ๆ แก่โปรแกรม และผู้ใช้ระบบ ระบบปฏิบัติการต่าง ๆ
มักมีการให้บริการที่แตกต่างกัน แต่จะมีส่วนหนึ่งที่เหมือนกัน เพื่อให้ความสะดวกต่อผู้ใช้
หรือ ผู้เขียนโปรแกรม ในการทำงานต่าง ๆ ให้ง่ายและรวดเร็ว บริการเหล่านี้ ได้แก่
การให้โปรแกรมทำงาน (Program Execution) ระบบต้องสามารถนำโปรแกรมลงสู่หน่วยความจำหลัก และให้โปรแกรมทำงาน โดยที่การทำงานต้องมีวันสิ้นสุด
ไม่ว่าจะเป็นปกติหรือไม่ปกติก็ตาม
การรับส่งข้อมูล (I/O Operation) โปรแกรมของผู้ใช้อาจต้องการรับส่งข้อมูล
โดยผ่านแฟ้มข้อมูล หรือ อุปกรณ์รับส่งข้อมูล อุปกรณ์รับส่งข้อมูลบางชนิดต้องการคำสั่งช่วยพิเศษ
เช่น เครื่องขับเทป ต้องการการถอยหลังกลับเมื่อเต็ม
หรือจอภาพต้องการคำสั่งล้างจอเมื่อเริ่มต้นทำงาน เนื่องจากผู้ใช้ไม่สามารถใช้อุปกรณ์รับส่งข้อมูลได้โดยตรง
ดังนั้น ระบบจึงต้องจัดหาวิธีการเพื่อเป็นตัวกลางใช้แทน
การใช้ระบบแฟ้มข้อมูล (File –
system Manipulation) ระบบแฟ้มข้อมูลเป็นสิ่งจำเป็นอย่างยิ่ง
โปรแกรมต้องการอ่าน หรือ เขียนข้อมูลลงในแฟ้มข้อมูล นอกจากนี้ ยังต้องการสร้าง
หรือ ลบแฟ้มข้อมูลด้วยการใช้ชื่อแฟ้ม
การติดต่อสื่อสาร (Communications) บางครั้งกระบวนการหนึ่งอาจต้องการส่งข้อมูลให้อีกกระบวนการหนึ่ง โดยที่กระบวนการทั้งสองนั้น
อาจอยู่ในเครื่องคอมพิวเตอร์เดียวกันหรือคนละเครื่องกัน แต่ติดต่อผ่านเครือข่ายคอมพิวเตอร์
การติดต่อสื่อสารนี้อาจทำได้โดยใช้ หน่วยความจำร่วม (share memory) หรือ การส่งผ่านข้อความ (message passing) โดยมีระบบปฏิบัติการเป็นตัวกลาง
การตรวจจับข้อผิดพลาด (Error detection)
ระบบปฏิบัติการจำเป็นต้องมีกลไกในการตรวจจับข้อผิดพลาดที่อาจจะเกิดขึ้นได้
เช่น ในหน่วยประมวลผลกลาง (เครื่องเสีย , ไฟดับ)
ในอุปกรณ์รับส่งข้อมูล (เทปเสีย , การติดต่อผ่านเครือข่ายล้มเหลว
, หรือกระดาษพิมพ์หมด) หรือในโปรแกรมของผู้ใช้ (เช่น คำนวณผิด
, ระบุตำแหน่งในหน่วยความจำผิด หรือ ใช้ CPU time มากไป) สำหรับข้อผิดพลาดแต่ละชนิด ระบบปฏิบัติการจะจัดการด้วยวิธีที่เหมาะสมเพื่อแก้ข้อผิดพลาดเหล่านั้น
นอกจากระบบปฏิบัติการจะมีหน้าที่อำนวยความสะดวกให้แก่ผู้ใช้
ยังต้องประกันประสิทธิภาพในการปฏิบัติการของระบบเองอีกด้วย ในระบบผู้ใช้หลายคน เราสามารถเพิ่มประสิทธิภาพได้โดยใช้ทรัพยากรร่วมกัน
การจัดสรรทรัพยากร (Resource allocation) เมื่อมีผู้ใช้หลายคนหรืองานหลายงานทำงานพร้อมกันในช่วงเวลาหนึ่ง
ทรัพยากรต่าง ๆ ก็ต้องถูกจัดสรรให้กับคนหรืองานเหล่านั้น ชนิดของทรัพยากรต่าง ๆ จะถูกจัดการด้วยระบบปฏิบัติการ
ทรัพยากรบางอย่าง (เช่น รอบการใช้ CPU , หน่วยความจำหลัก และ
ที่เก็บแฟ้มข้อมูล) อาจจะมีรหัสในการจัดสรรพิเศษ โดยที่ทรัพยากรอย่างอื่น (เช่น
อุปกรณ์รับส่งข้อมูล) อาจจะมีรหัสร้องขอ และปลดปล่อยพิเศษ
การทำบัญชี (Accounting) เราต้องเก็บรวบรวมการทำงานของผู้ใช้
โดยเก็บบันทึกไว้เป็นบัญชีหรือทำเป็นสถิติการใช้ทรัพยากรต่าง ๆ แบบสะสม สถิติการใช้เหล่านี้จะเป็นเครื่องมือที่มีค่าสำหรับนักวิจัยซึ่งหวังจะ
reconfigure ระบบเพื่อปรับปรุงบริการในด้านการคำนวณ
การป้องกัน (Protection) information ที่เก็บในระบบคอมพิวเตอร์ที่มีผู้ใช้หลายคนอาจจะต้องการควบคุมการใช้งานด้วยตัวมันเอง
เมื่อมีกระบวนการหลาย ๆ กระบวนการทำงานพร้อมกัน เราต้องไม่ให้กระบวนการหนึ่งไปแทรกแซงกระบวนการอื่น
ๆ หรือ แม้แต่ตัวระบบปฏิบัติการเอง การป้องกันเป็นการประกันว่า การเข้าถึงทรัพยากรของระบบทั้งหมดต้องถูกควบคุม
การรักษาความปลอดภัยของระบบจากภายนอกเป็นสิ่งสำคัญ การรักษาความปลอดภัยเริ่มด้วย ผู้ใช้แต่ละคนต้องได้รับการรับรองตัวเองต่อระบบ
โดยทั่วไปก็จะหมายถึงรหัสผ่าน เพื่ออนุญาตให้ใช้ทรัพยากรต่าง ๆ
ซึ่งรวมไปถึงการป้องกันอุปกรณ์รับส่งข้อมูล ซึ่งประกอบไปด้วย
โมเด็มและการ์ดเครือข่าย (network adapters) ถ้าระบบถูกป้องกันและรักษาความปลอดภัยก็เท่ากับว่าเป็นการป้องกันไว้ก่อน
15. ในการติดต่อระหว่างโปรเซสกับระบบปฏิบัติการ
จะเกี่ยวข้องกับกลุ่มงานใดบ้าง จงอธิบาย
ระบบคอมพิวเตอร์แบบหลายโปรแกรม (Multiprogramming)และแบบผู้ใช้หลายคน (Multiuser)จะมีกระบวนการที่ทำงานอยู่ในระบบหลายกระบวนการพร้อมๆกันโดยที่บางกระบวนการกำลังขอเข้าใช้งานหน่วยประมวลผลกลาง
(CPU)บางกระบวนการกำลังใช้งานหน่วยประมวลผลกลางอยู่บางกระบวนการกำลังร้องขออุปกรณ์รับ-ส่งข้อมูลอยู่พฤติกรรมของกระบวนการเหล่านี้เรียกอีกอย่างว่า
"สถานะกระบวนการ"(State of Process)กระบวนการ(Process)หมายถึงคำสั่งในโปรแกรมที่ถูกประมวลผลด้วยหน่วยประมวลผลกลางหรืออีกในหนึ่ง
ณ เวลาใดๆจะมีเพียงอย่างมาหนึ่งคำสั่งที่ดำเนินการอยู่สถานะของกระบวนการ(Processtate)กระบวนการต่างๆที่กำลังทำงานอยู่ในระบบเดียวกันจะมีการเปลี่ยนแปลงสถานะของกระบวนการถึง5
สถานะด้วยกัน ซึ่งสถานะดังกล่าวจะถูกกำหนดขึ้นโดยกิจกรรม ณ
เวลาปัจจุบันที่กระบวนการนั้นๆกำลังกระทำอยู่โดยที่แต่ละกระบวนการจะตกอยู่ในสถานะใดสถานะหนึ่งจากสถานะทั้ง5
ต่อไปนี้
New
กระบวนการใหม่กำลังถูกสร้างขึ้น
Running
กระบวนการกำลังทำงานตามคำสั่งในโปรแกรม
Waiting
กระบวนการกำลังรอคอยให้เหตุการณ์บางอย่างเกิดขึ้น
Ready
กระบวนการกำลังรอคอยที่จะเข้าใช้หน่วยประมวลผล
Terminate กระบวนการเสร็จสิ้นการทำงาน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น