งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

โครงสร้างของระบบ คอมพิวเตอร์ โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ วิเชษฐ์ พลายมาศ นงลักษณ์ พรมทอง.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "โครงสร้างของระบบ คอมพิวเตอร์ โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ วิเชษฐ์ พลายมาศ นงลักษณ์ พรมทอง."— ใบสำเนางานนำเสนอ:

1 โครงสร้างของระบบ คอมพิวเตอร์ โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ วิเชษฐ์ พลายมาศ นงลักษณ์ พรมทอง

2 วัตถุประสงค์การเรียนรู้ n เพื่อทำความเข้าใจเกี่ยวกับโครงสร้างของ ระบบปฏิบัติการ โดยศึกษาถึงโครงสร้างพื้นฐาน ของระบบคอมพิวเตอร์ และโครงสร้างของ ระบบปฏิบัติการ n เพื่อให้รู้เกี่ยวกับสถาปัตยกรรมพื้นฐานของระบบ คอมพิวเตอร์ โครงสร้างสร้างหน่วยรับเข้า/ส่งออก โครงสร้างหน่วยเก็บ ลำดับชั้นของหน่วยเก็บ และ การป้องกันระดับฮาร์ดแวร์ และสถาปัตยกรรมของ ระบบทั่วไป n เพื่อให้รู้เกี่ยวกับโครงสร้างระบบปฏิบัติการ โปรแกรมระบบ โครงสร้างระบบ และเครื่องเสมือน

3 Agenda n Computer System Operation n I/O Structure n Storage Structure n Storage Hierarchy n Hardware Protection n General System Architecture

4 ปฏิบัติการของระบบคอมพิวเตอร์ (computer-system operation) n ระบบคอมพิวเตอร์ขนาดใหญ่ปัจจุบันประกอบด้วย ซีพียู และกลุ่ม ของตัวควบคุมอุปกรณ์ (device controller) ซึ่งเชื่อมต่อเพื่อ เข้าถึงหน่วยความจำผ่านทางบัสระบบ (system bus) n อุปกรณ์แต่ละชนิดจะมีตัวควบคุมอุปกรณ์เฉพาะแยกจากกัน โดย มี local buffer n ซีพียูและตัวควบคุมอุปกรณ์ทั้งหมดสามารถทำงานไปพร้อมๆ กัน ได้ n ซีพียูจะย้ายข้อมูลเข้า/ออกระหว่างหน่วยความจำหลักกับ local buffer n ตัวควบคุมอุปกรณ์จะบอกซีพียูว่าอุปกรณ์ทำงานเสร็จแล้วหรือยัง โดยวิธีขัดจังหวะ (interrupt) n เพื่อประกันว่าลำดับการเข้าถึงหน่วยความจำนี้เป็นไปอย่าง ถูกต้อง จะเป็นหน้าที่ของตัวควบคุมหน่วยความจำที่จะเป็นผู้คอย จัดจังหวะ

5 ภาพที่ 2.1 ระบบคอมพิวเตอร์สมัยใหม่

6 n เมื่อเปิดเครื่องหรือรีบูต (reboot) จะมีโปรแกรม เล็กๆ ถูกโหลดเข้าหน่วยความจำหลักเพื่อใช้ใน การเริ่มระบบ เรียกว่า โปรแกรมปลุกเครื่อง หรือ โปรแกรมบูต (bootstrap program) n เมื่อ os ถูกบรรจุ (load) เข้ามาไว้ใน หน่วยความจำแล้วจึงเริ่มกระบวนการเริ่มต้น (init process) หรือ UPP (Universal Progenitor Process) และพร้อมที่ทำงานโดยการรอคอย เหตุการณ์บางอย่าง n เหตุการณ์จะเกิดขึ้นโดยอาศัยสัญญาณการ ขัดจังหวะ (interrupt) ซึ่งถูกส่งมาโดยฮาร์ดแวร์ หรือซอฟต์แวร์ Computer-System Operation (cont.)

7 หน้าที่ของการขัดจังหวะ Common Functions of Interrupts n ฮาร์ดแวร์อินเทอร์รัพท์จะถูกส่งไปยังซีพียูผ่านทางบัสระบบ n ซอฟต์แวร์อินเทอร์รัพท์จะอาศัยคำสั่งปฏิบัติการพิเศษที่ เรียกว่า การเรียกระบบ (system call หรือ monitor call) n การขัดจังหวะแต่ละชนิดจะได้รับการตอบสนองด้วย service routine ที่เหมาะสมกับการขัดจังหวะนั้นๆ n เมื่อซีพียูถูกขัดจังหวะมันจะหยุดทำงานชั่วคราวเพื่อให้ อุปกรณ์ทำการถ่ายข้อมูลจนแล้วเสร็จ เพื่อป้องการสูญเสีย การขัดจังหวะ (lost interrupt) จากนั้น ซีพียูจึงจะกลับไป ทำงานที่ค้างอยู่ต่อไป n OS จะรักษาสถานะของซีพียูปัจจุบันไว้โดยเก็บเรจิสเตอร์ และตัวนับโปรแกรมขณะนั้น (program counter)

8 n การขัดจังหวะจะส่งมอบการควบคุมไปยัง รูทีนบริ การขัดจังหวะ (interrupt service routine) ผ่าน ทาง อินเทอร์รัพต์เว็กเตอร์ (interrupt vector) ซึ่งบรรจุที่อยู่ของรูทีนบริการทั้งหมดไว้ n สถาปัตยกรรมการขัดจังหวะจะต้องจัดเก็บที่อยู่ ของคำสั่งที่ถูกขัดจังหวะ n แทร็บ (Trap) คือการขัดจังหวะโดยซอฟต์แวร์ที่ อาจเกิดโดยข้อผิดพลาด หรือผู้ใช้ร้องขอ n ในฐานะนี้ OS จึงเป็น interrupt driven. Common Functions of Interrupts (cont.)

9 ภาพที่ 2.2 ช่วงเวลาของการขัดจังหวะสำหรับกระบวนการ เดียวที่กำลังแสดงผลลัพธ์

10 I/O Structure n หลังจาก i/o เริ่มต้น, การควบคุมจะถูกส่งกลับ ไปยังโปรแกรมผู้ใช้เมื่อปฏิบัติการของ i/o สิ้น เสร็จลง (I/O completion) เท่านั้น  รอคำสั่งว่างของซีพียู (CPU idle) จนกว่าจะถึงการ ขัดจังหวะถัดไป  รอลูป (Wait loop) เพื่อใช้หน่วยความจำ  อย่างน้อยการร้องขอ i/o หนึ่งครั้งเสร็จสิ้นลงและ ไม่ต้องทำงานต่อไป

11 I/O Structure (cont.) n หลัง i/o เริ่มต้น, การควบคุมจะถูกส่งกลับไป ยังโปรแกรมผู้ใช้โดยปราศจากการรอให้ i/o ปฏิบัติการเสร็จสิ้น (I/O completion)  การเรียกระบบ (System call) – การร้องขอไปยัง OS เพื่อขอให้ผู้ใช้รอจนกว่าปฏิบัติการของ i/o จะ เสร็จสิ้น  ตารางสถานะอุปกรณ์ (Device-status table) บรรจุรายการเกี่ยวกับการขอใช้อุปกรณ์ เช่น ชนิด ที่อยู่ และสถานะ เป็นต้น  OS จะสร้างดัชนีชี้ไปยังตารางอุปกรณ์ i/o เพื่อดู สถานะของอุปกรณ์ และแก้ไขรายการในตาราง รวมทั้งการขัดจังหวะ

12 I/O Structure (cont.) n วิธีที่ซีพียูต้องรอให้การเสร็จสิ้นไอ/โอ เสียก่อนนี้ เรียกว่า ประสานเวลา หรือ ซิงโครนัส (synchronous) n ส่วนวิธีที่ตรงกันข้ามเรียกว่า ไม่ประสานเวลา หรืออะซิงโครนัส (asynchronous) n ในกรณีที่เป็นประสานเวลา ซึ่ง ซีพียูต้องรอให้ การเสร็จสิ้นไอ/โอ นั้น ในระหว่างที่ซีพียูรอ จำเป็นต้องมีคำสั่งพิเศษ เรียกว่า คำสั่งรอ (wait instruction) ไปเรื่อยๆ จนกว่าจะได้รับ การขัดจังหวะใหม่

13 Two I/O Methods Synchronous Asynchronous

14 Device-Status Table

15 I/O Structure (cont.) n ในกรณีของอะซิงโครนัส i/o  จะเพิ่มประสิทธิภาพของระบบ ในระหว่างที่ i/o กำลังทำงานอยู่ ซีพียูสามารถดำเนินการงานอื่น หรือเริ่มทำ i/o ของอุปกรณ์ตัวอื่นไปพร้อมๆ กันได้  แต่การเหลื่อมการทำงานในลักษณะนี้ก็ยังมี ข้อจำกัดเนื่องจากความแตกต่างกันระหว่าง ความเร็วของ i/o กับซีพียูมีมาก  ต้องใช้ DMA เข้ามาช่วย

16 โครงสร้าง DMA (DMA Structure) n DMA (Direct Memory Access) จะใช้ในอุปกรณ์ไอ/ โอ ที่มีความเร็วสูง เช่น เทป ดิสก์ เครือข่ายสื่อสาร เป็นต้น n ถ้าโปรแกรมผู้ใช้หรือ OS ต้องการรับ-ส่งข้อมูล,  OS จะหา บัฟเฟอร์ที่ต้องการ (บัฟเฟอร์ว่าง สำหรับนำเข้า, บัฟเฟอร์เต็มสำหรับส่งออก) จากอาณาบริเวณของบัฟเฟอร์  จากนั้น ตัวขับอุปกรณ์จะเซ็ตค่าเรจิสเตอร์ของตัวควบคุม DMA เพื่อระบุต้นทาง ปลายทาง และขนาดที่จะส่ง  หลังจากนั้น DMA จะควบคุมและดำเนินการส่งข้อมูลระหว่าง i/o กับหน่วยความจำ  ในระหว่างนั้น ซีพียูก็เป็นอิสระที่ทำงานอย่างอื่นได้ จนกระทั่ง การส่งข้อมูลเสร็จสิ้น DMA จะส่งสัญญาณขัดจังหวะซีพียู อีก ครั้งหนึ่ง

17 simple DMA Structure

18 MAR (memory address register) MDR (memory data register) CU (Control Unit) PC (Program Counter) IR (Instruction Register) DMA Structure

19 โครงสร้างของหน่วยเก็บ (Storage Structure) n โดยหลักการแล้ว เราต้องการฝังโปรแกรมและข้อมูลไว้ภายใน หน่วยความจำหลักอย่างถาวรตลอดเวลา แต่เป็นไปไม่ได้ด้วย สาเหตุสำคัญ 2 ประการ  หน่วยความจำหลักมีขนาดน้อยเกินกว่าที่จะสามารถเก็บโปรแกรม และข้อมูลที่ต้องการไว้ทั้งหมดได้  หน่วยความจำหลักเป็นอุปกรณ์ประเภทหน่วยเก็บลบเลือนได้ (volatile storage) n จึงจำเป็นต้องมีหน่วยเก็บรอง (secondary storage) ที่ สามารถเก็บโปรแกรมและข้อมูลปริมาณมากไว้ได้อย่างถาวร n ปัจจัยสำคัญที่ควรพิจารณาได้แก่  ความเร็ว  ต้นทุน  ขนาด  การลบเลือนได้

20 จานแม่เหล็ก (Magnetic Disk) n ความเร็วของดิสก์มาจาก 2 ส่วน  transfer rate คืออัตราความเร็วที่ใช้ในการส่งถ่าย ข้อมูลจากอุปกรณ์ไปยังคอมพิวเตอร์ ซึ่งมีหน่วยวัด เป็นเมกะบิตต่อวินาที (megabit per second)  positioning time หรือ random access time ซึ่ง มีหน่วยวัดเป็นมิลลิวินาที (millisecond) ประกอบด้วย  seek time เป็นเวลาที่ใช้ในการเคลื่อนหัวอ่าน ไปยังร่อง (track) ที่ต้องการ  -rotational latency เป็นเวลาที่ใช้ในการค้นหา เซกเตอร์ที่ต้องการ

21 Moving-Head Disk Mechanism

22 ลำดับชั้นของหน่วยเก็บ Storage Hierarchy

23 Caching n ใช้เป็นหน่วยความจำความเร็วสูงในการเก็บ ข้อมูลที่มักถูกเรียกใช้งานบ่อย n จำเป็นต้องมีนโยบายการจัดการแคช/แทนที่ แคช (cache management/replacement policy) n แคชถูกนำไปใช้ในหน่วยเก็บหลายระดับ อาจ มีปัญหาการปรับค่าข้อมูลในแคชแต่ละระดับ ไม่ถูกต้องได้ เรียกว่า การเกาะกลุ่มและความ ต้องกัน (Coherency and Consistency)

24 Cache Structure

25 Migration of A From Disk to Register ปัญหาการเกาะกลุ่มและความต้องกัน (Coherency and Consistency) ที่ข้อมูลในแคชแต่ละระดับไม่สอดคล้องกัน

26 การป้องกันระดับฮาร์ดแวร์ Hardware Protection n Dual-Mode Operation n I/O Protection n Memory Protection n CPU Protection

27 การดำเนินการโหมดคู่กัน (Dual-Mode Operation) n เพื่อประกันความถูกต้องของการปฏิบัติการและทุก โปรแกรม ตลอดทั้งข้อมูลของโปรแกรมเหล่านั้นจาก การรุกรานของโปรแกรมผิดปกติ การปกป้องนี้มีความ จำเป็นต้องใช้ โหมด (modes) ในการปฏิบัติการ ได้แก่  โหมดผู้ใช้ (user mode)  โหมดมอนิเตอร์ (monitor mode) n ทั้งสองโหมดจะใช้ฮาร์ดแวร์เข้ามาช่วย โดยกำหนด mode bit ให้ monitor (0) และ user (1) n ทำให้ปฏิบัติการกับคำสั่งบางอย่างจะสามารถทำได้ ด้วยเฉพาะในฐานะของระบบปฏิบัติการเท่านั้น และ บางคำสั่งจะทำได้ในฐานะของผู้ใช้

28 Dual-Mode Operation (cont.) n การออกแบบระบบปฏิบัติการโดยป้องกันคำสั่งระดับเครื่องที่อาจเป็น อันตรายอย่างเช่นคำสั่งจำพวก คำสั่งอภิสิทธิ์ (privileged instructions) n โดยกำหนดให้ฮาร์ดแวร์จะยอมรับคำสั่งประเภทอภิสิทธิ์จากการ ปฏิบัติการใน monitor mode เท่านั้น n ถ้ามีความพยายามที่จะเรียกใช้คำสั่งเหล่านี้จาก user mode, ฮาร์ดแวร์จะถือว่าเป็นการกระทำที่ผิดปกติและจะ trap ไปยัง ระบบปฏิบัติการทันที

29 การป้องกัน i/o (I/O Protection) n กำหนดให้ทุกคำสั่งเกี่ยวกับ i/o เป็นคำสั่ง อภิสิทธิ์ n ต้องประกันว่าโปรแกรมผู้ใช้จะไม่ได้รับ อนุญาตให้ควบคุมคอมพิวเตอร์ในฐานะโหมด มอนิเตอร์ได้

30 Use of A System Call to Perform I/O

31 การป้องกนหน่วยความจำ (Memory Protection) n ต้องปกป้อง interrupt vector (ตารางที่เก็บตัวชี้ ไปยัง interrupt service) ไม่ให้ถูกแก้ไขค่าได้ โดยโปรแกรมผู้ใช้ n และปกป้องรูทีนบริการขัดจังหวะ (interrupt service routine) ในระบบปฏิบัติการไม่ให้ถูก แก้ไขได้ n จุดมุ่งหมายก็เพื่อป้องกันการรุกล้ำระบบปฏิบัติการ จากโปรแกรมผู้ใช้ และป้องกันโปรแกรมผู้ใช้จาก การรุกล้ำของผู้ใช้คนอื่นทั้งโดยเจตนาและไม่ เจตนา

32 Memory Protection (cont.) n ทำได้โดยจัดสรรหน่วยความจำออกเป็นส่วนๆ โดยยินยอมให้โปรแกรมผู้ใช้เข้าถึงได้เฉพาะพื้นที่ ของตนเองที่ได้รับอนุญาตเท่านั้น ด้วยการใช้ เรจิ สเตอร์ 2 ตัว  base register เก็บค่าเริ่มต้นของหมายเลขตำแหน่ง หน่วยความจำที่ยอมให้ใช้งานได้  limit register เก็บค่าขนาดของพื้นที่หน่วยความที่จะ ยอมให้ใช้ได้ n พื้นที่ของหน่วยความจำอาจแบ่งออกเป็นส่วน หลักๆ ได้แก่ ส่วนของระบบปฏิบัติการ และ ส่วน ของผู้ใช้

33 Use of A Base and Limit Register

34 Memory Protection (cont.) n โดยที่ ซีพียู จะกำหนดหมายเลขพื้นที่ หน่วยความจำทั้งหมดไว้ใน เรจิสเตอร์ ด้วย monitor mode n ถ้ามีความพยายามที่จะใช้ monitor mode เพื่อ เข้าถึง monitor memory หรือรุกล้ำพื้นที่ของ ผู้ใช้คนอื่น ก็จะเกิด trap ไปยังระบบปฏิบัติการ n base และ limit registers ต้องถูกกำหนดค่าได้ โดยระบบปฏิบัติการเท่านั้นโดยการใช้คำสั่งพิเศษ ประเภทอภิสิทธิ์ (special privileged instruction) ซึ่งทำได้เฉพาะใน monitor mode เท่านั้น

35 Hardware Address Protection

36 การป้องกันซีพียู (CPU Protection) n โดยที่เราจะต้องปกป้องโปรแกรมผู้ใช้ไม่ให้ติด บ่วงอยู่ในวังวนไม่รู้จบ (infinite loop) และไม่ ยอมส่งคืนการควบคุมให้แก่ระบบปฏิบัติการ วิธีการนี้เราจะใช้ timer ซึ่งเป็นฮาร์ดแวร์ เข้ามา ช่วย n timer สามารถตั้งค่าการขัดจังหวะคอมพิวเตอร์ ตามเวลาที่กำหนด ซึ่งอาจเป็นเวลาคงที่หรือ แปรเปลี่ยนก็ได้ n โดยจะถูกใช้อัตราที่คงที่ของนาฬิกาและตัวนับ (counter) ซึ่งระบบปฏิบัติการจะเป็นผู้ตั้งค่าตัวนับ

37 สถาปัตยกรรมของระบบทั่วไป (General System Architecture) n Computer system utilization นำไปสู่  ระบบหลายโปรแกรม (multiprogramming)  ระบบแบ่งเวลา (time sharing) ที่ยินยอมให้ ทรัพยากรของระบบสามารถถูกใช้งานได้จากหลาย โปรแกรมและหลาย process n การแบ่งสรร (sharing) ได้นำไปสู่  การปรับเปลี่ยนสถาปัตยกรรมพื้นฐานของ คอมพิวเตอร์ที่ยินยอมให้ os สามารถดูแลการ ควบคุม (control) อยู่เหนือระบบคอมพิวเตอร์ และ i/o

38 General System Architecture (cont.) n การดูแลการควบคุมโดยอาศัย dual mode  user mode  monitor mode n โครงสร้างนี้สนับสนุนหลักการของคำสั่ง อภิสิทธิ์ (privileged instructions) ที่สามารถ ถูกกระทำได้เฉพาะ monitor mode

39 General System Architecture (cont.) n คำสั่งอภิสิทธิ์ (privileged instructions)  I/O instructions  คำสั่งเกี่ยวกับการแก้ไขค่าเรจิสเตอร์สำหรับจัดการ หน่วยความจำ และ timer  คำสั่งหยุด (halt instruction)  คำสั่งเกี่ยวกับการเปิด/ปิดระบบการขัดจังหวะ  คำสั่งในการเปลี่ยนจาก user mode เป็น monitor mode รวมทั้งการเปลี่ยนค่า mode bit ของ ฮาร์ดแวร์

40 โครงสร้างระบบ (system structure) n โครงสร้างอย่างง่าย (simple structure) n โครงสร้างแบบลำดับชั้น (layered approach)

41 โครงสร้างอย่างง่าย (simple structure) n โปรแกรมผู้ใช้จึงสามารถเข้าถึง เรียกใช้ และ ครอบครองทรัพยากรระบบได้อย่างอิสระ และ โดยสมบูรณ์ โดยไม่จำเป็นต้องร้องขอผ่าน monitor mode

42 ภาพที่ 2.12 โครงสร้างแบบลำดับชั้นของ MS- DOS

43 ภาพที่ 12.3 โครงสร้างระบบยูนิกซ์

44 โครงสร้างแบบลำดับชั้น (layered approach) n การออกแบบในลักษณะลำดับชั้นเป็นส่วนๆหรือ modularity n ระดับล่างเป็นระดับที่ใกล้ชิดกับระดับของฮาร์ดแวร์ (layer 0) ขึ้นไปจนถึงระดับบนสุด (lever N) เป็นระดับของส่วนติดต่อ ผู้ใช้ (user interface) n คุณลักษณะที่ดีของระบบแบบลำดับชั้น (layered approach)  ความเป็นหน่วย (modularity) ที่อิสระต่อกัน  แต่ละหน่วยมีหน้าที่เฉพาะตามลำดับชั้น  ชั้นล่างจะจัดหาบริการที่เหมาะสมให้ชั้นบน  การสร้าง แก้ไข ตรวจหาความผิดพลาดเป็นเรื่องไม่ยาก  สามารถควบคุมและจำกัดความผิดพลาดในแต่ละระดับ  ยุ่งยากมากในการออกแบบหน้าที่ให้สมบูรณ์ได้ในแต่ละระดับ

45 ภาพที่ 12.4 โครงสร้างแบบลำดับชั้นของระบบปฏิบัติการ

46 เครื่องเสมือน (virtual machines) n สามารถจำลองสภาพแวดล้อมการทำงานของ เครื่องหนึ่งให้สามารถปฏิบัติการบนโครงสร้าง พื้นฐานของอีกเครื่องหนึ่งได้โดยที่โปรแกรมผู้ใช้ หรือโปรแกรมประยุกต์เสมือนว่ากำลังปฏิบัติการ อยู่บนเครื่องเดิม n จำลองทรัพยากรเชิงกายภาพของระบบให้ สามารถถูกใช้ร่วมกันได้แบบเสมือน เช่น ซีพียู, ระบบสพูลลิง, ระบบแฟ้ม, ดิสก์ และอุปกรณ์ไอ/ โอ เป็นต้น n การจำลอง monitor mode แบบเสมือน

47 ภาพที่ 12.5 แบบจำลองระบบ (a) ไม่มีเครื่องเสมือน (b) เครื่องเสมือน

48 virtual machines (cont.) n ข้อดี  ผู้ใช้สามารถเลือกใช้เครื่องแบบเสมือนเพื่อที่จะได้ หลายสภาพแวดล้อม  เครื่องเสมือนแต่ละเครื่องจะมีความเป็นเอกเทศอย่าง สมบูรณ์และได้รับการปกป้อง  สามารถทำการทดลอง วิจัยและพัฒนาระบบปฏิบัติการ ใหม่ๆ และโปรแกรมประยุกต์ได้หลายแพลตฟอร์มโดย ไม่จำเป็นต้องทดลองปฏิบัติการกับเครื่องจริงๆทุกชนิด n ข้อด้อย  คำสั่งจำลองหลายชนิดอาจใช้เวลานานในการ ปฏิบัติการกว่าบนเครื่องจริงๆ ได้  ระบบ I/O เสมือนอาจใช้เวลานานขึ้นในการปฏิบัติการ เนื่องจากระบบ spooling

49


ดาวน์โหลด ppt โครงสร้างของระบบ คอมพิวเตอร์ โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ วิเชษฐ์ พลายมาศ นงลักษณ์ พรมทอง.

งานนำเสนอที่คล้ายกัน


Ads by Google