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