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

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

โครงสร้างของระบบคอมพิวเตอร์

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


งานนำเสนอเรื่อง: "โครงสร้างของระบบคอมพิวเตอร์"— ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

13 Two I/O Methods Synchronous Asynchronous

14 Device-Status Table

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

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

17 simple DMA Structure

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

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

20 จานแม่เหล็ก (Magnetic Disk)
ความเร็วของดิสก์มาจาก 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 ใช้เป็นหน่วยความจำความเร็วสูงในการเก็บข้อมูลที่มักถูกเรียกใช้งานบ่อย จำเป็นต้องมีนโยบายการจัดการแคช/แทนที่แคช (cache management/replacement policy) แคชถูกนำไปใช้ในหน่วยเก็บหลายระดับ อาจมีปัญหาการปรับค่าข้อมูลในแคชแต่ละระดับไม่ถูกต้องได้ เรียกว่า การเกาะกลุ่มและความต้องกัน (Coherency and Consistency)

24 Cache Structure

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

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

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

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

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

30 Use of A System Call to Perform I/O

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

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

33 Use of A Base and Limit Register

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

35 Hardware Address Protection

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

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

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

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

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

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

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

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

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

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

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

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

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

49


ดาวน์โหลด ppt โครงสร้างของระบบคอมพิวเตอร์

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


Ads by Google