“ ง30202 ระบบปฏิบัติการ”
ผลการเรียนรู้ที่คาดหวัง
นักเรียนสามารถบอก
โครงสร้างของ
“ ง30202 ระบบปฏิบัติการ”
วัตถุประสงค์การเรียนรู้
เพื่อท าความเข้าใจเกี่ยวกับโครงสร้างของระบบปฏิบัติการ โดย
ศึกษาถึงโครงสร้างพื้นฐานของระบบคอมพิวเตอร์ และ
โครงสร้างของระบบปฏิบัติการ
เพื่อให้รู้เกี่ยวกับสถาปัตยกรรมพื้นฐานของระบบคอมพิวเตอร์
โครงสร้างสร้างหน่วยรับเข้า/ส่งออก โครงสร้างหน่วยเก็บ
ล าดับชั้นของหน่วยเก็บ และการป้องกันระดับฮาร์ดแวร์ และ
สถาปัตยกรรมของระบบทั่วไป
เพื่อให้รู้เกี่ยวกับโครงสร้างระบบปฏิบัติการ โปรแกรมระบบ
โครงสร้างระบบ และเครื่องเสมือน
“ ง30202 ระบบปฏิบัติการ”
Agenda
Computer System Operation
I/O Structure
Storage Structure
Storage Hierarchy ล าดับขั้นของหน่วยเก็บข้อมูล
Hardware Protection
“ ง30202 ระบบปฏิบัติการ”
ความสัมพันธ์ขององค์ประกอบคอมฯ
www.satriwit3.ac.th Logo หน่วยรับเข้า หน่วยความจ าหลัก หน่วยความจ ารอง หน่วยส่งออก หน่วยประมวลผล แทนบัสข้อมูล แทนบัสที่อยู่ แทนบัสควบคุม Arithmetic Logic Unit Control Unit“ ง30202 ระบบปฏิบัติการ”
ปฏิบัติการของระบบคอมพิวเตอร์
(computer-system operation)
ระบบคอมพิวเตอร์ขนาดใหญ่ปัจจุบันประกอบด้วย ซีพียู และกลุ่มของตัว ควบคุมอุปกรณ์ (device controller) ซึ่งเชื่อมต่อเพื่อเข้าถึงหน่วยความจ า ผ่านทางบัสระบบ (system bus)
อุปกรณ์แต่ละชนิดจะมีตัวควบคุมอุปกรณ์เฉพาะแยกจากกัน โดยมี local buffer
ซีพียูและตัวควบคุมอุปกรณ์ทั้งหมดสามารถท างานไปพร้อมๆ กันได้
ซีพียูจะย้ายข้อมูลเข้า/ออกระหว่างหน่วยความจ าหลักกับ local buffer
ตัวควบคุมอุปกรณ์จะบอกซีพียูว่าอุปกรณ์ท างานเสร็จแล้วหรือยังโดยวิธี ขัดจังหวะ (interrupt)
เพื่อประกันว่าล าดับการเข้าถึงหน่วยความจ านี้เป็นไปอย่างถูกต้อง จะเป็น หน้าที่ของตัวควบคุมหน่วยความจ าที่จะเป็นผู้คอยจัดจังหวะ“ ง30202 ระบบปฏิบัติการ”
เมื่อเปิดเครื่องหรือรีบูต (reboot) จะมีโปรแกรมเล็กๆ ถูกโหลด
เข้าหน่วยความจ าหลักเพื่อใช้ในการเริ่มระบบ เรียกว่า
โปรแกรมปลุกเครื่อง หรือโปรแกรมบูต (bootstrap program)
เมื่อ os ถูกบรรจุ (load) เข้ามาไว้ในหน่วยความจ าแล้วจึงเริ่ม
กระบวนการเริ่มต้น (init process) หรือ UPP (Universal
Progenitor Process) และพร้อมที่ท างานโดยการรอคอย
เหตุการณ์บางอย่าง
เหตุการณ์จะเกิดขึ้นโดยอาศัยสัญญาณการขัดจังหวะ
(interrupt) ซึ่งถูกส่งมาโดยฮาร์ดแวร์หรือซอฟต์แวร์
“ ง30202 ระบบปฏิบัติการ”
หน้าที่ของการขัดจังหวะ
Common Functions of Interrupts
ฮาร์ดแวร์อินเทอร์รัพท์จะถูกส่งไปยังซีพียูผ่านทางระบบบัส
ซอฟต์แวร์อินเทอร์รัพท์จะอาศัยค าสั่งปฏิบัติการพิเศษที่เรียกว่า การเรียก ระบบ (system call หรือ monitor call)
การขัดจังหวะแต่ละชนิดจะได้รับการตอบสนองด้วย service routine ที่ เหมาะสมกับการขัดจังหวะนั้นๆ
เมื่อซีพียูถูกขัดจังหวะมันจะหยุดท างานชั่วคราวเพื่อให้อุปกรณ์ท าการถ่าย ข้อมูลจนแล้วเสร็จ เพื่อป้องการสูญเสียการขัดจังหวะ (lost interrupt) จากนั้น ซีพียูจึงจะกลับไปท างานที่ค้างอยู่ต่อไป
OS จะรักษาสถานะของซีพียูปัจจุบันไว้โดยเก็บเรจิสเตอร์และตัวนับโปรแกรม ขณะนั้น (program counter)“ ง30202 ระบบปฏิบัติการ”
การขัดจังหวะจะส่งมอบการควบคุมไปยัง รูทีนบริการ
ขัดจังหวะ (interrupt service routine) ผ่านทาง อิน
เทอร์รัพต์เว็กเตอร์ (interrupt vector) ซึ่งบรรจุที่อยู่ของ
รูทีนบริการทั้งหมดไว้
สถาปัตยกรรมการขัดจังหวะจะต้องจัดเก็บที่อยู่ของ
ค าสั่งที่ถูกขัดจังหวะ
แทร็บ (Trap) คือการขัดจังหวะโดยซอฟต์แวร์ที่อาจเกิด
โดยข้อผิดพลาด หรือผู้ใช้ร้องขอ
ในฐานะนี้ OS จึงเป็น
interrupt driven
.
“ ง30202 ระบบปฏิบัติการ”
ภาพที่ 2.2ช่วงเวลาของการขัดจังหวะส าหรับกระบวนการเดียวที่ก าลังแสดงผลลัพธ์
“ ง30202 ระบบปฏิบัติการ”
I/O Structure
หลังจาก i/o เริ่มต้น, การควบคุมจะถูกส่งกลับ
ไปยังโปรแกรมผู้ใช้เมื่อปฏิบัติการของ i/o
สิ้นเสร็จลง (I/O completion) เท่านั้น
รอค าสั่งว่างของซีพียู (CPU idle) จนกว่าจะ
ถึงการขัดจังหวะถัดไป
รอลูป (Wait loop) เพื่อใช้หน่วยความจ า
อย่างน้อยการร้องขอ i/o หนึ่งครั้งเสร็จสิ้นลง
และไม่ต้องท างานต่อไป
“ ง30202 ระบบปฏิบัติการ”
I/O Structure (cont.)
หลัง i/o เริ่มต้น, การควบคุมจะถูกส่งกลับไปยัง
โปรแกรมผู้ใช้โดยไม่ต้องรอให้ i/o ปฏิบัติการเสร็จสิ้น
(I/O completion)
การเรียกระบบ (System call) – การร้องขอไปยัง OS เพื่อ ขอให้ผู้ใช้รอจนกว่าปฏิบัติการของ i/o จะเสร็จสิ้น
ตารางสถานะอุปกรณ์ (Device-status table)
บรรจุ
รายการเกี่ยวกับการขอใช้อุปกรณ์ เช่น ชนิด ที่อยู่ และ สถานะ เป็นต้น OS จะสร้างดัชนีชี้ไปยังตารางอุปกรณ์ i/o เพื่อดูสถานะ ของอุปกรณ์ และแก้ไขรายการในตาราง รวมทั้งการ ขัดจังหวะ“ ง30202 ระบบปฏิบัติการ”
I/O Structure (cont.)
วิธีที่ซีพียูต้องรอให้การเสร็จสิ้นไอ/โอ เสียก่อนนี้ เรียกว่า
ประสานเวลา หรือซิงโครนัส (synchronous)
ส่วนวิธีที่ตรงกันข้ามเรียกว่า ไม่ประสานเวลา หรืออะ
ซิงโครนัส (asynchronous)
ในกรณีที่เป็นประสานเวลา ซึ่ง ซีพียูต้องรอให้การเสร็จ
สิ้นไอ/โอ นั้น ในระหว่างที่ซีพียูรอ จ าเป็นต้องมีค าสั่ง
พิเศษ เรียกว่า ค าสั่งรอ (wait instruction) ไปเรื่อยๆ
จนกว่าจะได้รับการขัดจังหวะใหม่
Two I/O Methods
“ ง30202 ระบบปฏิบัติการ”
I/O Structure (cont.)
ในกรณีของอะซิงโครนัส i/o
จะเพิ่มประสิทธิภาพของระบบ ในระหว่างที่ i/o ก าลัง
ท างานอยู่ ซีพียูสามารถด าเนินการงานอื่น หรือเริ่มท า
i/o ของอุปกรณ์ตัวอื่นไปพร้อมๆ กันได้
แต่การเหลื่อมการท างานในลักษณะนี้ก็ยังมีข้อจ ากัด
เนื่องจากความแตกต่างกันระหว่างความเร็วของ i/o
กับซีพียูมีมาก
ต้องใช้ DMA เข้ามาช่วย
“ ง30202 ระบบปฏิบัติการ”
โครงสร้าง DMA
(DMA Structure)
DMA (Direct Memory Access) จะใช้ในอุปกรณ์ไอ/โอ ที่มีความเร็ว
สูง เช่น เทป ดิสก์ เครือข่ายสื่อสาร เป็นต้น
ถ้าโปรแกรมผู้ใช้หรือ OS ต้องการรับ-ส่งข้อมูล,
OS จะหา บัฟเฟอร์ที่ต้องการ (บัฟเฟอร์ว่าง ส าหรับน าเข้า, บัฟเฟอร์ เต็มส าหรับส่งออก) จากอาณาบริเวณของบัฟเฟอร์ จากนั้น ตัวขับอุปกรณ์จะเซ็ตค่าเรจิสเตอร์ของตัวควบคุม DMA เพื่อ ระบุต้นทาง ปลายทาง และขนาดที่จะส่ง หลังจากนั้น DMA จะควบคุมและด าเนินการส่งข้อมูลระหว่าง i/o กับ หน่วยความจ า ในระหว่างนั้น ซีพียูก็เป็นอิสระที่ท างานอย่างอื่นได้ จนกระทั่งการส่ง ข้อมูลเสร็จสิ้น DMA จะส่งสัญญาณขัดจังหวะซีพียู อีกครั้งหนึ่งMAR (memory address register) MDR (memory data register) CU (Control Unit)
PC (Program Counter) IR (Instruction Register)