โครงสร้างการทำงานของ OS
บทบาทต่างๆของ OS ควบคุมตัวมันเอง ติดต่อสื่อสารกับผู้อื่น ทำงานได้ถูกต้อง ทำงานได้รวดเร็ว ความปลอดภัยภายใน ติดต่อสื่อสารกับผู้อื่น โปรโตคอลต่างๆ การุกรานจากภายนอก ไวรัส, ม้าโทรจัน, แฮกเกอร์
OS จะทำอย่างไรให้แข็งแรงและเร็ว ความเร็วในการทำงานของซอฟท์แวร์ขึ้นอยู่กับอะไร Clock Cycle การออกแบบอัลกอริธึม จำนวนบรรทัดของโค๊ด การใช้ฮาร์ดแวร์ การทำงานในลักษณะโครงสร้าง หรือ Modular สร้างง่าย เป็นระบบ ตรวจสอบง่าย เพิ่มเติมง่าย
องค์ประกอบของ OS การจัดการกระบวนการ (Process Mamagement) การจัดการหน่วยความจำ (Main Memory Management) การจัดการไฟล์ (File Management) การจัดการ I/O (I/O Management) การจัดการสื่อสำรองเก็บข้อมูล (Secondary Storage Management) บริการเครือข่าย (Networking) ระบบป้องกัน (Protection System) ระบบแปลคำสั่ง (Command Interpreter System)
การจัดการกระบวนการ เป็นงานที่สำคัญที่สุดของ OS กระบวนการก็คือโปรแกรมที่กำลังทำงาน (Running) 1.สร้างและทำลายกระบวนการ 2. ยืดการทำงานของกระบวนการและให้ทำงานต่อได้ 3. จัดการการประสานจังหวะระหว่างกระบวนการ 4. จัดการการสื่อสารระหว่างกระบวนการ 5. ป้องกันการเกิดล็อกตาย (Deadlock)
การจัดการหน่วยความจำ หน่วยความจำเป็นทรัพยากรที่สำคัญมาก ทุกๆกระบวนการต้องใช้หน่วยความจำก่อนป้อนคำสั่งให้ CPU 1.เก็บข้อมูลว่าพื้นที่ใน RAM ส่วนต่างๆนั้นถูกใช้โดยใครบ้าง 2.ตัดสินใจว่าจะให้กระบวนการไหนถูกโหลดเข้ามาอยู่ใน RAM บ้าง เมื่อมีพื้นที่ว่างใน RAM เกิดขึ้น หรือแม้กระทั่งการนำกระบวนการออกจาก RAM ไปฝากไว้ใน Harddisk ด้วย จองและคืนพื้นที่เมื่อต้องการ (Allocation,Deallocation)
การจัดการไฟล์ ไฟล์คือข้อมูลที่เก็บอยู่ในสื่อต่างๆ เก็บได้ถาวร จะจัดการอย่างไรให้ ค้นหาได้ถูกต้อง รวดเร็ว ไม่สร้างปัญหาต่อสื่อ เช่น Bad Sector,Fragment 1.สร้าง, ลบไฟล์ สร้าง,ลบ ไดเร็กทอรี 2.การดำเนินการกับเนื้อหาในไฟล์ (Manipulating) 3.แปลงไฟล์ไปเก็บในสื่อต่างๆ 4.สำรองข้อมูลของไฟล์ต่างๆ
การจัดการ I/O จุดสำคัญของ I/O ก็คือมันต้องติดต่อกับ CPU แต่มันทำงานได้ช้ากว่า CPU มาก ดังนั้นการใช้หน่วยความจำเป็นสิ่งที่จำเป็นมาก 1.การจัดการด้วยหน่วยความจำ Buffer,DMA,Cache,spooling 2.ส่วนของ Device Driver แบบทั่วไป (Keyboard, VGA) แบบพิเศษ (Scanner, Digital Camera)
การจัดการหน่วยความจำสำรอง เก็บข้อมูลได้ถาวร ทำอย่างไรให้อ่าน/เขียนข้อมูล ได้อย่างรวดเร็ว 1. การจัดการพื้นที่ว่าง 2. การจองพื้นที่ว่าง การจัดตารางการเข้าถึงดิสก์
ระบบเครือข่าย และตัวแปลคำสั่ง user OS จะต้องรองรับในเรื่องเครือข่ายด้วย 1. โปรโตคอลต่างๆ 2. บริการต่างๆ 3. ความปลอดภัย ตัวแปลคำสั่ง ตัวหนังสือ (Text) รูปภาพ (Graphics) Shell กับ Kernel Command Shell Kernel
Discuss ให้ นศ. แบ่งกลุ่มแล้วปรึกษากัน เพื่อตอบคำถามดังต่อไปนี้ 1.ส่วนต่างๆที่กล่าวมาทั้งหมดนั้นจะทำงานได้อย่างไร ทำงานเมื่อไหร่ 2. เมื่อต้องการเพิ่มฮาร์ดแวร์ใหม่ๆให้กับ OS ทางผู้ผลิตควรทำอย่างไร 3.การเก็บไฟล์ในฮาร์ดดิสก์น่าจะมีหลักการอย่างไร กลุ่มที่ตอบเป็นกลุ่มสุดท้าย จะต้องร้องเพลง
OS ต่างๆในแวดวง Windows Linux UNIX Macintosh DOS Solaris,Berkley,HP, SCO,etc. Macintosh DOS
Open Source ไอเดียใหม่ที่ต้องตาม Linux เราสามารถรู้ Source Code ของ OS ได้ทั้งหมด Windows เรารู้อะไรบ้าง ?
สรุป OS จะมีการแบ่งการทำงานออกเป็นส่วนๆ เพื่อความเป็นระบบ การบ้าน ให้ น.ศ. ไปค้นคว้าข้อมูลให้ลึกมากที่สุดเกี่ยวกับ OS โดยเลือก OS ใดก็ได้ แล้วทำ Presentation มาเสนอหน้าชั้น ส่ง 2 อาทิตย์หน้า (Present + เอกสาร)