Your SlideShare is downloading. ×
0
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Operating System Chapter 3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Operating System Chapter 3

17,785

Published on

Computer Operating System Concept Chapter 3

Computer Operating System Concept Chapter 3

Published in: Technology
1 Comment
15 Likes
Statistics
Notes
No Downloads
Views
Total Views
17,785
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
1
Likes
15
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation
  • Transcript

    • 1. บทที่ 3 โครงสร้างระบบปฏิบัติการ Operating-System Structures <ul><li>ส่วนประกอบของระบบ System Components </li></ul><ul><li>บริการต่างๆ ของระบบปฏิบัติการ Operating System Services </li></ul><ul><li>การเรียกระบบ System Calls </li></ul><ul><li>โปรแกรมระบบ System Programs </li></ul><ul><li>โครงสร้างระบบ System Structure </li></ul><ul><li>เครื่องจักรเสมือน Virtual Machines </li></ul><ul><li>การออกแบบระบบและการนำไปใช้ System Design and Implementation </li></ul><ul><li>พัฒนาการของระบบ System Generation </li></ul>
    • 2. ส่วนประกอบของระบบ Common System Components <ul><li>การจัดการโปรเซส Process Management </li></ul><ul><li>การจัดการหน่วยความจำหลัก Main Memory Management </li></ul><ul><li>การจัดการไฟล์ File Management </li></ul><ul><li>การจัดการระบบอินพุทเอ้าท์พุท I/O System Management </li></ul><ul><li>การจัดการหน่วยความจำรอง Secondary Management </li></ul><ul><li>การเครือข่าย Networking </li></ul><ul><li>ระบบป้องกัน Protection System </li></ul><ul><li>ระบบการแปลคำสั่ง Command-Interpreter System </li></ul>
    • 3. การจัดการโปรเซส Process Management <ul><li>โปรเซส หมายถึงโปรแกรมที่กำลังถูกเอ็กซ์ซีคิวท์ กล่าวคือ โปรเซสจำเป็นต้องมีทรัพยากรของระบบในการใช้งาน รวมทั้งเวลาในการใช้งานหน่วยประมวลผล หน่วยความจำ ไฟล์ และอุปกรณ์อินพุทเอ้าท์พุท เพื่อทำงานตามโปรแกรมให้สำเร็จลุล่วง </li></ul><ul><li>ระบบปฏิบัติการ จะต้องสามารถตอบสนองต่อกิจกรรมต่างๆ โดยการเชื่อมต่อกับการจัดการโปรเซส ดังต่อไปนี้ </li></ul><ul><ul><li>การสร้างโปรเซสและการลบโปรเซส </li></ul></ul><ul><ul><li>การพักการทำงานของโปรเซส และการนำโปรเซสที่ถูกพักอยู่กลับมาทำงานใหม่ </li></ul></ul><ul><ul><li>ข้อกำหนดของกลไกการทำงาน </li></ul></ul><ul><ul><ul><li>การเข้าจังหวะการทำงานของโปรเซส </li></ul></ul></ul><ul><ul><ul><li>การสื่อสารของโปรเซส </li></ul></ul></ul>
    • 4. การจัดการหน่วยความจำหลัก Main-Memory Management <ul><li>หน่วยความจำ Memory หมายถึง อะเรย์ array ขนาดใหญ่ของคำหรือไบท์ ที่มีแอดเดรสเป็นของตนเอง </li></ul><ul><li>โดยหน่วยความจำทำให้ความสามารถในการเข้าถึงข้อมูลที่ถูกแบ่งปันจากหน่วยประมวลผลและอุปกรณ์อินพุทเอ้าท์พุท เป็นไปได้โดยรวดเร็ว </li></ul><ul><li>หน่วยความจำหลัก เป็นอุปกรณ์จัดเก็บข้อมูลแบบโวลาไทร์ หรือจะสูญเสียข้อมูลเมื่อไม่มีกระแสไฟฟ้าเลี้ยง และจะสูญเสียข้อมูลในกรณีระบบเกิดการทำงานผิดพลาดขึ้น </li></ul><ul><li>ระบบปฏิบัติการจะตอบสนองกับกิจกรรมต่างๆ ที่เชื่อมต่อกับการจัดการหน่วยความจำดังต่อไปนี้ </li></ul><ul><li>เก็บร่องรอยการติดตามการใช้งานหน่วยความจำส่วนหนึ่งส่วนใด ว่าเข้าใช้เมื่อใดและโดยใคร </li></ul><ul><li>ตัดสินใจว่าจะต้องโหลดโปรเซสใดเข้าทำงาน เมื่อพื้นที่ในหน่วยความจำว่างลง </li></ul><ul><li>อำนวยพื้นที่และการนำพื้นที่ในหน่วยความจำกลับคืน เมื่อต้องการ </li></ul>
    • 5. การจัดการไฟล์ File Management <ul><li>ไฟล์ file หมายถึงกลุ่มของข้อมูลสารสนเทศที่สัมพันธ์กัน ที่กำหนดโดยผู้ที่สร้างไฟล์ขึ้นมา </li></ul><ul><li>โดยปกติ ไฟล์เป็นได้ทั้งโปรแกรม และข้อมูล </li></ul><ul><li>ระบบปฏิบัติการ จะตอบสนองต่อกิจกรรมต่างๆ ที่เชื่อมต่อกับการจัดการไฟล์ </li></ul><ul><ul><li>การสร้างและลบไฟล์ </li></ul></ul><ul><ul><li>การสร้างและลบไดเร็กทอรี่ </li></ul></ul><ul><ul><li>รองรับการทำงานขั้นพื้นฐานกับไฟล์และไดเร็กทอรี่ </li></ul></ul><ul><ul><li>ทำแผนที่ไฟล์บนหน่วยจัดเก็บรอง </li></ul></ul><ul><ul><li>ทำการสำรองไฟล์บนสื่อจัดเก็บแบบเสถียร ( ไม่สูญเสียข้อมูลเมื่อไม่มีกระแสไฟเลี้ยง ) </li></ul></ul>
    • 6. การจัดการระบบอินพุทเอ้าท์พุท I/O System Management <ul><li>ระบบอินพุทเอ้าท์พุทประกอบด้วย </li></ul><ul><li>ระบบบัฟเฟอร์แคชชิ่ง buffer-caching system </li></ul><ul><li>ส่วนงานติดต่อไดรเวอร์อุปกรณ์ทั่วไป </li></ul><ul><li>ไดรเวอร์สำหรับอุปกรณ์ฮาร์ดแวร์เฉพาะอย่าง </li></ul>
    • 7. การจัดการหน่วยจัดเก็บรอง Secondary-Storage Management <ul><li>ด้วยหน่วยความจำหลัก ( primary storage ) เป็นแบบโวลาไทร์ ( สูญเสียข้อมูลเมื่อไม่มีกระแสไฟฟ้าเลี้ยง ) และมีขนาดเล็กกว่าที่จะสามาถใช้จัดเก็บข้อมูลและโปรแกรมทั้งหมดได้ ระบบคอมพิวเตอร์จึงจำเป็นต้อง มีระบบจัดเก็บรอง secondary storage เพื่อสำรองการจัดเก็บข้อมูลของหน่วยความจำหลัก </li></ul><ul><li>ระบบคอมพิวเตอร์สมัยใหม่ส่วนใหญ่ ใช้ดิสค์เป็นสื่อที่ใช้ในการจัดเก็บข้อมูลแบบออนไลน์หลัก ทั้งการเก็บโปรแกรมและข้อมูล </li></ul><ul><li>ระบบปฏิบัติการจะตอบสนองต่อกิจกรรมต่างๆ ที่เกี่ยวกับการจัดการดิสค์ดังต่อไปนี้ </li></ul><ul><ul><li>การจัดการพื้นที่ว่าง </li></ul></ul><ul><ul><li>การกำหนดพื้นที่ในการจัดเก็บ </li></ul></ul><ul><ul><li>การกำหนดลำดับการทำงานของดิสค์ </li></ul></ul>
    • 8. การเครือข่าย ( ระบบกระจาย ) Networking (Distributed Systems) <ul><li>ระบบกระจาย distributed system หมายถึง กลุ่มของหน่วยประมวลผลที่แบ่งปันการใช้งานหน่วยความจำและนาฬิการ่วมกัน </li></ul><ul><ul><li>โดยหน่วยประมวลผลแต่ละตัวจะมีหน่วยความจำท้องถิ่นเป็นของตนเอง </li></ul></ul><ul><li>หน่วยประมวลผลในระบบถูกเชื่อมต่อเพื่อการสื่อสารผ่านเครือข่าย </li></ul><ul><li>การสื่อสารใช้รูปแบบโปรโตคอล protocol ( ระบบวิธี ข้อตกลง มาตรฐานในการสื่อสาร ) </li></ul><ul><li>ระบบกระจายทำให้ผู้ใช้สามารถเข้าถึงทรัพยากรของระบบอื่นๆ ได้ </li></ul><ul><li>สามารถเข้าถึงทรัพยากรที่กำหนดให้สามารถแบ่งปันได้ ทำให้ </li></ul><ul><ul><li>ความเร็วในการคำนวณสูงขึ้น </li></ul></ul><ul><ul><li>เพิ่มข้อมูลให้สามารถใช้งานได้มากขึ้น </li></ul></ul><ul><ul><li>เพิ่มความน่าเชื่อถือให้แก่ระบบ </li></ul></ul>
    • 9. ระบบป้องกัน Protection System <ul><li>การป้องกัน หมายถึง กลไกในการควบคุมการเข้าถึงทรัพยากรของผู้ใช้และของระบบ จากโปรแกรม โปรเซส หรือผู้ใช้ </li></ul><ul><li>กลไกในการป้องกันต้องมีความสามารถทำสิ่งต่างๆ ดังต่อไปนี้ </li></ul><ul><ul><li>แยกแยะการใช้งานระหว่างผู้ได้รับการตรวจสอบสิทธิ์และผู้ที่ไม่ได้รับการตรวจสอบสิทธิ์ </li></ul></ul><ul><ul><li>แยกแยะการควบคุมที่ถูกกำหนดแบบต่างๆ </li></ul></ul><ul><ul><li>กำหนดเงื่อนไขข้อบังคับ </li></ul></ul>
    • 10. ระบบการแปลคำสั่ง Command-Interpreter System <ul><li>คำสั่งจำนวนมากที่กำหนดให้กับระบบปฏิบัติการ โดยคำสั่งการควบคุมโดยหน้าที่ต่อไปนี้ </li></ul><ul><ul><li>การจัดการและการสร้างโปรเซส Process creation and management </li></ul></ul><ul><ul><li>การจัดการ อินพุทเอ้าท์พุท I/O handling </li></ul></ul><ul><ul><li>การจัดการ หน่วยจัดเก็บรอง Secondary-storage management </li></ul></ul><ul><ul><li>การจัดการ หน่วยความจำหลัก Main-memory management </li></ul></ul><ul><ul><li>การเข้าถึงระบบไฟล์ File-system access </li></ul></ul><ul><ul><li>การป้องกัน Protection </li></ul></ul><ul><ul><li>การเครือข่าย Networking </li></ul></ul>
    • 11. ระบบการแปลคำสั่ง Command-Interpreter System (Cont.) <ul><li>โปรแกรมที่ทำหน้าที่อ่านและแปลคำสั่งการควบคุมที่ถูกเรียกจากวิธีต่างๆ ดังนี้ </li></ul><ul><ul><li>ตัวแปลคำสั่งจากการสั่งการแบบบรรทัดคอมมานด์ไลน์ command-line interpreter </li></ul></ul><ul><ul><li>เชลล์ ในระบบยูนิกซ์ shell (in UNIX) </li></ul></ul><ul><li>มีหน้าที่ในการรับและเอ็กซ์ซีคิวท์คำสั่งถัดไป </li></ul>
    • 12. บริการของระบบปฏิบัติการ Operating System Services <ul><li>การเอ็กซ์ซีคิวท์โปรแกรม Program execution คือความสามารถของระบบที่จะโหลดโปรแกรมเข้าไปไว้ยังหน่วยความจำและทำให้โปรแกรมนั้นทำงาน </li></ul><ul><li>ปฏิบัติการของอินพุทเอ้าท์พุท I/O operations เมื่อโปรแกรมของผู้ใช้ไม่สามารถเอ็กซ์ซีคิวท์ปฏิบัติการของอินพุทเอ้าท์พุทได้โดยตรง ระบบปฏิบัติการจะต้องสามารถแจ้งเตือนอินพุทเอ้าท์พุทได้ </li></ul><ul><li>การจัดการระบบไฟล์ที่เหมาะสม File-system manipulation ความสามารถของโปรแกรมในการอ่าน เขียน สร้าง และลบไฟล์ </li></ul><ul><li>การสื่อสาร Communications การแลกเปลี่ยนข้อมูลสารสนเทสระหว่างการเอ็กซ์ซีคิวท์ โปรเซส ทั้งที่เกิดขึ้นในคอมพิวเตตอรืเครื่องเดียวกัน หรือจากระบบที่อยู่บนเครือข่าย ที่ถูกใช้งานแบบ แบ่งปันหน่วยความจำ shared memory หรือการ ส่งผ่านข้อความ message passing </li></ul><ul><li>การตรวจจับข้อผิดพลาด Error detection เพื่อความแน่ใจว่าการคำนวณเป็นไปโดยถูกต้อง โดยการตรวจจับข้อผิดพลาด ในหน่วยประมวลผล และฮาร์ดแวร์หน่วยความจำ ในอุปกรณ์อินพุทเอ้าท์พุท หรือโปรแกรมของผู้ใช้ </li></ul>
    • 13. หน้าที่เพิ่มเติมของระบบปฏิบัติการ Additional Operating System Functions <ul><li>หน้าที่ของระบบปฏิบัติการนอกจากจะเป็นเครื่องช่วยให้ผู้ใช้งานคอมพิวเตอร์ทำงานได้โดยสะดวกแล้ว แต่ยังช่วยให้การปฏิบัติการใดๆ ของระบบมีประสิทธิภาพด้วย </li></ul><ul><ul><li>การจัดสรรทรัพยากรต่างๆ Resource allocation ระบบปฏิบัติการช่วยบริหารจัดการทรัพยากรของระบบให้แก่ผู้ใช้งานมากกว่าหนึ่งคนหรือการจัดการบริหารการทำงานใดๆ มากกว่าหนึ่งงานในเวลาเดียวกันนั่นเอง </li></ul></ul><ul><ul><li>การทำบัญชี Accounting การเฝ้าติดตามและบันทึกการเข้าใช้งานของผู้ใช้รายต่างๆ ว่าเข้าใช้ทรัพยากรใดมากน้อย และบ่อยครั้งอย่างไร เพื่อสามารถแสดงรายงานหรือการจัดทำสถิติได้อย่างสม่ำเสมอ </li></ul></ul><ul><ul><li>การป้องกัน Protection เพื่อให้เกิดความมั่นใจ้ได้ว่า ทุกๆ การเข้าใช้งานจากผู้ใช้หรือระบบใดๆ เพื่อเข้าใช้ทรัพยากรของระบบล้วนถูกควบคุมดูแล </li></ul></ul>
    • 14. การเรียกใช้ระบบ System Calls <ul><li>การเรียกระบบ System Calls รองรับบริการส่วนอินเตอร์เฟสหรือส่วนการติดต่อระหว่างโปรแกรมที่กำลังทำงานกับระบบปฏิบัติการ </li></ul><ul><ul><li>โดยทั่วไปสามารถใช้งานด้วยคำสั่งภาษาแอสเซมบลี </li></ul></ul><ul><ul><li>การกำหนดภาษาเพื่อทดแทนภาษาแอสเซมบลี เพื่อทำให้การเขียนโปรแกรมสำหรับระบบสามารถเรียกใช้งานการเรียกระบบได้โดยตรง อาทิเช่นภาษาซี และซีพลัสพลัส </li></ul></ul><ul><li>ระเบียบวิธีทั่วไปสามวิธีที่ถูกใช้เพื่อการส่งผ่านค่าพารามิเตอร์ ระหว่างโปรแกรมที่กำลังทำงาน และระบบปฏิบัติการ </li></ul><ul><ul><li>การผ่านค่าในรีจีสเตอร์ registers </li></ul></ul><ul><ul><li>จัดเก็บค่าพารามิเตอร์ลงในตารางในหน่วยความจำ และแอดเดรสในตารางถูกส่งผ่านค่าด้วยพารามิเตอร์ในรีจีสเตอร์ </li></ul></ul><ul><ul><li>การผลัก Push (store) หรือการจัดเก็บ ค่าพารามิเตอร์ ลงบนแสต็ก stack โดยโปรแกรม และการดันออกจากแสต็ก โดยระบบปฏิบัติการ </li></ul></ul>
    • 15. การส่งผ่านค่าพารามิเตอร์ด้วยตาราง Passing of Parameters As A Table
    • 16. ประเภทของการเรียกระบบแบบต่างๆ Types of System Calls <ul><li>ประเภทของการเรียกระบบแบบต่างๆ </li></ul><ul><li>การควบคุมโปรเซส Process control </li></ul><ul><li>การบริหารจัดการไฟล์ File management </li></ul><ul><li>การบริหารจัดการอุปกรณ์ Device management </li></ul><ul><li>การบริหารดูแลสารสนเทศ Information maintenance </li></ul><ul><li>การสื่อสาร Communications </li></ul>
    • 17. การเอ็กซ์ซีคิวท์ ใน เอ็มเอสดอส MS-DOS Execution เมื่อระบบเริ่มทำงาน ระหว่างโปรแกรมทำงาน
    • 18. การทำงานแบบหลายโปรแกรม ( Multiple Programs ) ในระบบยูนิกซ์ UNIX Running Multiple Programs
    • 19. รูปแบบการสื่อสาร Communication Models การแบ่งสรรหน่วยความจำ Shared Memory การสื่อสารอาจใช้ทั้งรูปแบบการส่งผ่านข้อความหรือการสรรหน่วยความจำ การส่งผ่านค่าข้อความ Message Passing
    • 20. โปรแกรมระบบ System Programs <ul><li>โปรแกรมระบบทำให้เกิดสภาพแวดล้อมที่สะดวกสบายสำหรับการพัฒนาและเอ็กซ์ซีคิวท์โปรแกรม โดยสามารถแบ่งย่อยได้ดังต่อไปนี้ </li></ul><ul><li>การจัดการไฟล์อย่างเหมาะสม File manipulation </li></ul><ul><li>สารสนเทศของสถานะ Status information </li></ul><ul><li>การปรับปรุงแก้ไขไฟล์ File modification </li></ul><ul><li>รองรับภาษาในการเขียนโปรแกรม Programming language support </li></ul><ul><li>การโหลดและการเอ็กซ์ซีคิวท์โปรแกรม Program loading and execution </li></ul><ul><li>การสื่อสาร Communications </li></ul><ul><li>โปรแกรมอรรถประโยชน์ หรือแอพพลิเคชั่นโปรแกรม Application programs </li></ul><ul><li>มุมมองของผู้ใช้ส่วนใหญ่ ที่มีต่อระบบปฏิบัติการ ถูกกำหนดโดยโปรแกรมระบบ ไม่ใช่การเรียกใช้ระบบตามความเป็นจริง </li></ul>
    • 21. โครงสร้างของระบบเอ็มเอสดอส MS-DOS System Structure <ul><li>เอ็มเอสดอส ถูกเขียนขึ้นเพื่อให้มีหน้าที่หลากหลายโดยใช้พื้นที่น้อยหรือขนาดเล็ก </li></ul><ul><li>ไม่ได้ถูกแบ่งออกเป็นโมดูลย่อย </li></ul><ul><li>แม้ว่า เอ็มเอสดอส จะมีโครงสร้างอยู่บ้าง แต่ก็ไม่ได้แบ่งส่วนของอินเตอรืเฟสและระดับชั้นของหน้าที่ต่างๆ ในการทำงานออกจากกันอย่างชัดเจนนัก </li></ul>
    • 22. โครงสร้างลำดับชั้นของ เอ็มเอสดอส MS-DOS Layer Structure
    • 23. โครงสร้างของระบบยูนิกซ์ UNIX System Structure <ul><li>ยูนิกซ์ UNIX ถูกจำกัดด้วยหน้าที่ของฮาร์ดแวร์ ต้นฉบับของระบบปฏิบัติการยูนิกซ์ มีการจำกัดโครงสร้าง โดยแบ่งออกเป้นสองส่วนหลักคือ </li></ul><ul><li>โปรแกรมระบบ Systems programs </li></ul><ul><li>เคอร์แนล kernel </li></ul><ul><ul><li>ประกอบด้วยทุกสิ่งภายใต้อินเตอร์เฟสการเรียกระบบและ บนฮาร์ดแวร์การยภาพ </li></ul></ul><ul><ul><li>โดยมี ระบบไฟล์ การจัดลำดับการทำงานของหน่วยประมวลผล การจัดการหน่วยความจำ และหน้าที่อื่นๆ ของระบบปฏิบัติการ ซึ่งประกอบด้วยหน้าที่ต่างๆ มากมายในหนึ่งระดับ </li></ul></ul>
    • 24. โครงสร้างระบบยูนิกซ์ UNIX System Structure
    • 25. การเข้าถึงระดับชั้นต่างๆ Layered Approach <ul><li>ระบบปฏิบัติการถูกแบ่งออกเป็นระดับชั้นต่างๆ โดยแต่ละระดับชั้นสร้างขึ้นบนระดับชั้นที่ต่ำกว่า ระดับชั้นล่างสุด หรือระดับ 0 ก็คือฮาร์ดแวร์ และระดับชั้นบนสุด หรือระดับชั้นที่ N ก็คือส่วนอินเตอร์เฟส </li></ul><ul><li>ด้วยการแบ่งเป็นส่วนโมดูลต่างๆ ระดับชั้นจะถูกเลือกใช้อาทิการใช้หน้าที่ ( การปฏิบัติงาน operations ) และงานบริการของระดับชั้นที่ต่ำกว่าเท่านั้น </li></ul>
    • 26. ระดับชั้นของระบบปฏิบัติการ An Operating System Layer
    • 27. โครงสร้างระดับชั้นของโอเอสทู OS/2 Layer Structure
    • 28. โครงสร้างของระบบไมโครเคอร์แนล Microkernel System Structure <ul><li>เคลื่อย้ายมากที่สุดจากเคอร์แนลไปสู่ส่วนพื้นที่การทำงานของผู้ใช้ </li></ul><ul><li>การสื่อสารระหว่างโมดูลของผู้ใช้ด้วยการส่งผ่านค่าแบบข้อความ </li></ul><ul><li>ประโยชน์ </li></ul><ul><ul><li>ง่ายต่อการขยายเพิ่มเติมไมโครเคอร์แนล </li></ul></ul><ul><ul><li>ง่ายต่อแปลงระบบปฏิบัติการไปเป็นสถาปัตยกรรมใหม่ </li></ul></ul><ul><ul><li>เพิ่มความน่าเชื่อถือให้กับระบบมากขึ้น ด้วยมีโค้ดที่ทำงานในเคอร์แนลโหมดจำนวนน้อย </li></ul></ul><ul><ul><li>ปลอดภัยสูง </li></ul></ul><ul><li>ข้อเสีย </li></ul><ul><ul><li>สูญเสียการบริหารจัดการส่วนการดำเนินการการสื่อสาร พื้นที่การใช้งานของผู้ใช้กับพื้นที่ของเคอร์แนล </li></ul></ul>
    • 29. โครงสร้างของระบบปฏิบัติการแมคโอเอสเอ็กซ์ Mac OS X Structure
    • 30. โครงสร้างของวินโดวส์เอ็นทีไคลเอนท์เซอร์ฟเวอร์ Windows NT Client-Server Structure
    • 31. Modules <ul><li>ระบบปฏิบัติการสมัยใหม่ส่วนใหญ่ นำโมดูลของเคอร์แนลมาใช้ดังนี้ </li></ul><ul><li>ใช้การเข้าถึงแบบเชิงวัตถุ </li></ul><ul><li>แบ่งแยกส่วนประกอบหลักๆ ออกจากกัน </li></ul><ul><li>แต่ละส่วนสามารถสื่อสารกันผ่านอนเตอร์เฟสพื้นฐาน </li></ul><ul><li>แต่ละส่วนสามารถถูกโหลดเมื่อต้องการภายในเคอร์แนล </li></ul><ul><li>กล่าวคือมีความคล้ายคลึงกับแบบระดับชั้นแต่ยืดหยุ่นมากกว่า </li></ul>
    • 32. แนวคิดแบบโมดูลของโซลาริส Solaris Modular Approach
    • 33. เครื่องจักรเสมือน หรือเวอร์ช่วลแมชชีน Virtual Machines <ul><li>เครื่องจักรเสมือนใช้แนวคิดแบบระดับชั้น เพื่ออธิบายแนวคิดเชิงตรรก โดยทำให้ฮาร์ดแวร์และเคอร์แนลของระบบปฏิบัติการ ให้เป็นเสมือนหนึ่งเป็นฮาร์ดแวร์ทั้งหมด </li></ul><ul><li>เครื่องจักรเสมือนรองรับการทำงานด้วยอินเตอร์เฟสที่เสมือนเป็นฮาร์ดแวร์ </li></ul><ul><li>ระบบปฏิบัติการจะสร้างมัลติเปิลโปรเซสเสมือนขึ้น โดยแต่ละโปรเซสจะถูกเอ็กซ์ซีคิวท์ด้วยตัวประมวลผลของตนเองบนพื้นที่หน่วยความจำเสมือนของตนเองเช่นกัน </li></ul>
    • 34. Virtual Machines (Cont.) <ul><li>ทรัพยากรของคอมพิวเตอร์เชิงกายภาพ ถูกแบ่งสรรเพื่อใช้สร้างเครื่องจักรเสมือน </li></ul><ul><li>การลำดับการทำงานให้กับหน่วยประมวลผลเพื่อให้สามารถสร้างตัวประมวลผลเสมือนขึ้นเป็นของผู้ใช้แต่ละคนเอง </li></ul><ul><li>การทำสพูลลิ่งและระบบไฟล์ สามารถรองรับการทำงานอ่านบัตรแบบเสมือนและการทำงานแบบเครื่องพิมพ์เสมือนด้วย </li></ul><ul><li>เทอร์มินอลแบบแบ่งสรรเวลาของผู้ใช้ตามปกติ สามารถใช้บริการผ่านคอนโซลโอเปอเรเตอร์ของเครื่องจักรเสมือน </li></ul>
    • 35. ตัวแบบของระบบ System Models แบบไม่มีเวอร์ช่วลแมชชีน Non-virtual Machine แบบมีเวอร์ช่วลแมชชีน Virtual Machine
    • 36. ประโยชน์และข้อจำกัดของเวอร์ช่วลแมชชีน Advantages/Disadvantages of Virtual Machines <ul><li>แนวคิดของเครื่องจักรเสมือนก็เพื่อป้องกันการใช้ทรัพยากรต่างๆ ของระบบโดยการแบ่งเครื่องจักรแต่ละเครื่องออกจากกัน แต่ก็ยังคงใช้ทรัพยากรจากระบบปฏิบัติการกลางร่วมกัน </li></ul><ul><li>ระบบเครื่องจักรเสมือนนับเป็นเครื่องมือที่ดีในการวิจัยและพัฒนาระบบปฏิบัติการ การพัฒนาระบบปฏิบัติการ นิยมทำบนเครื่องจักรเสมือน แทนที่จะพัมนาบนเครื่องจริง เพื่อป้องกันระบบปฏิบัติการที่ติดตั้งบนเครื่องจริงเกิดการผิดพลาดในการทำงาน </li></ul><ul><li>แนวคิดของเครื่องจักรเสมือนนั้นยากในการนำไปใช้ เมื่อเกิดการใช้งานที่เหมือนหรือซ้ำๆ กันขึ้น </li></ul>
    • 37. เครื่องจักรเสมือนของจาวา Java Virtual Machine <ul><li>เป็นเครื่องมือในการคอมไพล์หรือแปลงโปรแกรมภาษาจาวา ที่เป็นแบบไม่ขึ้นกับแพลทฟอร์มใดๆ ไปเป็นไบท์โค้ดเพื่อสามารถถูกเอ็กซ์ซีคิวท์โดย เครื่องจักรเสมือนของจาวา หรือ JVM </li></ul><ul><li>JVM ประกอบด้วย </li></ul><ul><li>ตัวโหลดคลาส Class loader </li></ul><ul><li>ตัวตรวจสอบคลาส Class verifier </li></ul><ul><li>ตัวแปลภาษาขณะทำงาน Runtime interpreter </li></ul><ul><li>ตัวแปลภาษาแบบ JIT Just-In-Time (JIT) หรือการทำในขณะทำงานจริง ทำให้การทำงานมีประสิทธิสูงขึ้น </li></ul>
    • 38. เวอร์ช่วลแมชชีนของจาวา The Java Virtual Machine
    • 39. แพลทฟอร์มของจาวา The Java Platform
    • 40. ไฟล์ดอทคลาส (.class) ของจาวา ระหว่างแพลทฟอร์มต่างๆ กัน Java .class File on Cross Platforms
    • 41. สภาพแวดล้อมในการพัฒนาของจาวา Java Development Environment
    • 42. เป้าหมายในการออกแบบระบบ System Design Goals <ul><li>เป้าหมายระดับผู้ใช้ User goals </li></ul><ul><ul><li>ระบบปฏิบัติการ ควรจะเอื้อให้ผู้ใช้สามารถใช้งานระบบได้โดยสะดวก ง่ายต่อการเรียนรู้ มีความน่าเชื่อถือ ปลอดภัย และรวดเร็ว </li></ul></ul><ul><li>เป้าหมายระดับระบบ System goals </li></ul><ul><ul><li>ระบบปฏิบัติการจะต้องง่ายต่อการออกแบบ ง่ายต่อการนำไปใช้งาน และง่ายต่อการบำรุงรักษา ในขณะเดียวกันต้องมีความยืดหยุ่นสูง น่าเชื่อถือ ปราศจากข้อผิดพลาด และมีประสิทธิภาพ </li></ul></ul>
    • 43. กลไกในการทำงานและ นโยบาย Mechanisms and Policies <ul><li>กลไกการทำงาน หมายถึงการอธิบายถึงการทำสิ่งหนึ่งสิ่งใด นโยบายใช้เพื่อตัดสินใจว่าจะทำสิ่งใดให้สำเร็จ </li></ul><ul><li>ข้อแตกต่างระหว่างกลไกการทำงานกับนโยบาย เป็นสิ่งสำคัญอย่างยิ่ง โดยจะทำให้ระบบมีความยืดหยุ่นสูงหากนโยบายมีการเปลี่ยนแปลงภายหลังระบบต้องสามารถปรับเปลียนได้โดยง่าย </li></ul>
    • 44. การนำระบบไปใช้ System Implementation <ul><li>ในอดีตระบบถูกเขียนขึ้นด้วยภาษาแอสแซมบลี แต่ระบบปฏิบัติการปัจจุบันถูกเขียนขึ้นด้วยภาษาโปรแกรมระดับสูง </li></ul><ul><li>การเขียนโค้ดโปรแกรมด้วยภาษาระดับสูง </li></ul><ul><li>สามารถเขียนได้เร็วกว่า </li></ul><ul><li>มีความกระทัดรัด และรัดกุมกว่า </li></ul><ul><li>ง่ายต่อการทำความเข้าใจและ การแก้ไข </li></ul><ul><li>ระบบปฏิบัติการที่เขียนด้วยภาษาระดับสูง มักไม่มีความสามารถในการนำไปใช้กับฮาร์ดแวร์ที่ต่างกันหรือที่ไม่ได้ใช้เฉพาะกับการเขียนนั้น </li></ul>
    • 45. System Design Goals <ul><li>User goals – operating system should be convenient to use, easy to learn, reliable, safe, and fast </li></ul><ul><li>System goals – operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient </li></ul>
    • 46. พัฒนาการและรุ่นต่างๆ ของระบบ System Generation (SYSGEN) <ul><li>ระบบปฏิบัติการถูกออกแบบขึ้นเพื่อการทำงานกับเครื่องระดับต่างๆ ทั้งนี้ระบบจะด้องได้รับการกำหนดค่าเฉพาะ ตามคุณสมบัติที่ต้องการใช้งานคอมพิวเตอร์นั้น </li></ul><ul><li>โปรแกรม SYSGEN ซิสเจน ทำหน้าที่ให้ข้อมูลสารสนเทศเฉพาะต่างๆ เพื่อการกำหนดค่าหรือคุณสมบัติ ของระบบฮาร์ดแวร์ </li></ul><ul><li>การบูท Booting การเริ่มทำงานของเครื่องคอมพิวเตอร์โดยการโหลดเคอร์แนล </li></ul><ul><li>โปรแกรมบูทแสตรป Bootstrap program หมายถึงโค้ดที่อยู่ใน ROM ที่สามารถจัดวางเคอร์แนล โหลดไปไว้ยังหน่วยความจำ และเรี่มทำการเอ็กซ์ซิคิวท์เคอร์แนล </li></ul>

    ×