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

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

บทที่ 7 Operating Systems Intro. to Computer Organization & Architecture Intro. to.

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


งานนำเสนอเรื่อง: "บทที่ 7 Operating Systems Intro. to Computer Organization & Architecture Intro. to."— ใบสำเนางานนำเสนอ:

1

2 บทที่ 7 Operating Systems Intro. to Computer Organization & Architecture Intro. to

3 2 หัวข้อเรื่อง  I/O Programming  Memory Management  Processor Management  Device Management  Information Management  Microprogramming

4 3 วัตถุประสงค์การเรียน  อธิบายส่วนประกอบหลักและ หลักการทำงานของ ระบบปฏิบัติการได้ถูกต้อง ครบถ้วน  ยกตัวอย่างระบบปฏิบัติการที่ นิยมใช้กันอยู่ในปัจจุบันได้ไม่ น้อยกว่า 3 ระบบ  อธิบายความสำคัญของไม โครโปรแกรมได้

5 4 หนังสืออ้างอิง โปรแกรมระบบงาน  อภิศักดิ์ พัฒนจักร โปรแกรมระบบงาน เอกสารประกอบคำสอนวิชา คณะ วิทยาศาสตร์ มหาวิทยาลัยขอนแก่น System Programming  Donovan, John J. System Programming McGraw-Hill  Stallings, William Computer Organization and Architecture : designing for performance 7 th ed. NewJersey : Prentice-Hall, 2006.

6 5 View of O.S  Users view as utility functions set and control languages used or various facilities provided  System Programmers view as resource management 4 major resources which controlled by O.S. Memory Processor Devices Information

7 Resource Example Sample Software Memory RAM Paging, Segment-paged Processor CPUs, Traffic Controller, I/O Channels Scheduler Devices Disks, Printers, Spooling, Tapes Buffering Information Segments File System, (System,Users, Library, Library Segments) Segment Manager

8 Layers and Views of a Computer System

9 Operating System Services การสร้างโปรแกรม การประมวลผลโปรแกรม การเข้าถึงข้อมูลบนอุปกรณ์ต่างๆ การควบคุมการเข้าถึงข้อมูลในไฟล์ การเข้าถึงระบบ การติดตามและตอบสนองข้อผิดพลาด บัญชีการทำงานต่างๆ ฯลฯ

10 O/S as a Resource Manager

11 Kernel ส่วนชั้นในสุดของระบบปฏิบัติการ ( การ จัดการหน่วยความจำ ระบบประมวลผลและอุปกรณ์ต่างๆ ) ซึ่ง ปฏิบัติงานตามที่โปรแกรมประยุกต์สั่งควบคุม ด้วยการอำนวยการปฏิบัติงานแก่ส่วน ประมวลผลผ่านกลไก System Call และการ สื่อสารระหว่างหน่วยประมวลผลภายใน

12 Shell ส่วนของระบบปฏิบัติการทีอำนวยการเข้าถึง Kernel ที่จะติดต่อกับผู้ใช้ อาจใช้ใน ความหมายส่วนของซอฟต์แวร์ที่เชื่อมต่อ ระหว่างระบบปฏิบัติการและโปรแกรม ประยุกต์ใช้งานต่างๆ เช่น ชั้นของ โปรแกรม Browser และ ในการ ทำงานของการประมวลผล HTML ด้วย เดิมจะใช้ในความหมายส่วนเปลือกนอก เชื่อมต่อระหว่าง Kernel กับผู้ใช้ ตัวอย่างเช่น -ส่วน Command Line ผู้ใช้ต้องสั่งทีละ คำสั่ง -ส่วน Graphic User Interface ผู้ใช้ สั่งงานแบบ กราฟิกได้

13 CMD.EXE the command line interpreter on OS/2, Windows CE and on Windows NT-based operating systems (including Windows 2000, XP, Vista, and Server 2003). It is the analog of COMMAND.COM in MS-DOS and Windows 9x systems, or of the Unix shells used on Unix-like systems.OS/2Windows CEWindows NT2000XPVistaServer 2003COMMAND.COMMS-DOSWindows 9xUnix shellsUnix-like

14 I/O Programming  I/O Processor Structure  Interruption  Masking

15 Early Computer System Memory Printer Disks Tape1 Tape2 ปัญหา Scheduling Setup time GIPS GFLOPS ms. minute โปรแกรมติดต่อ โดยตรงกับ ฮาร์ดแวร์

16 Memory I/O Channel#1 I/O Channel#2 I/O Channel#3 I/O Channel#4 Disks#1Disks#2 Tape Printer Data Lines Control Lines

17 I/O Channel Architecture

18 17 I/O Processor  Memory ใช้ Main Memory ร่วมกับ CPU ใช้การอ้างอิงด้วยตำแหน่ง โดยตรง  Registers ไม่มี Register โดยเฉพาะ แต่มี Program Counter และ Data Counter ทำงาน  Data ใช้ Logical Data แต่ บาง I/O Devices อาจมี เปลี่ยนแปลงรูปแบบข้อมูล (Conversion) ด้วย

19 18 I/O Processor  Instruction แบ่งคำสั่ง 3 กลุ่ม  Data Transfers  Device Control  Branching Op-Code CCW : Channel Command Words Data AddressFlagFCount Unuse

20 19 Communication Master-slave Relationship CPU จะเริ่ม start และ stop หรือ change การ ทำงานของ Channel ส่วน Channel จะติดต่อ กลับมาที่ CPU โดยวิธี Interrupt START I/O TEST I/O HALT I/O TEST CHANNEL

21 Memory Layout for Resident Monitor

22 21 Masking System Mask, Program Mask, Machine Check Mask MASK ขณะที่ยังจัดการกับ Interrupt#1 ยัง ไม่เสร็จ อาจเกิด Interrupt#2 ขึ้น ได้ ก็จะมีการเรียก Interrupt Queue Routine มาทำงานในการ จัดคิวลำดับ ซึ่งขณะนั้นก็อาจเกิด Interrupt#3 ขึ้นอีกได้ในขณะที่จัด คิวของ Interrupt#2 ยังไม่เสร็จซึ่ง อาจทำให้.#2 สูญหายได้ จึงใช้การ MASK เพื่อหยุด.#3 ไว้ก่อน ( รวมทั้ง.#4,.#5,.#6 อื่นๆ ด้วย )

23 22 หัวข้อเรื่อง  I/O Programming  Memory Management  Processor Management  Device Management  Information Management Memory Management

24 Memory Management  Single Contiguous  Partitioned  Paging  Segmentation  Segment-Paged

25 24 Single Contiguous Main Memory Monitor User’s Program to Execute Waste Area วิธีการ บรรจุ User’s Program ลงได้ที ละโปรแกรมเท่านั้น โปรแกรมจะมี ขนาดใหญ่เกิน ขนาด หน่วยความจำหลัก ไม่ได้

26 25 Single Contiguous Main Memory Monitor User’s Program to Execute Waste Area Waste Time (no multiprograming) ปัญหา จัดการอย่างไม่มี ประสิทธิภาพ โปรแกรมจะมีขนาด ใหญ่เกินขนาด หน่วยความจำหลัก ไม่ได้ Waste Memory

27 26 Partition Allocation Fixed Partition or Static Partition Dynamic Partition ๏ Variable Partition ๏ Relocatable Partition MFT : Multiprograming with Fixed No. of Tasks MVT : Multiprog. with Variable No. of Tasks

28 27  ขนาดคงที่เท่ากัน (Fixed Partition) แบ่งพื้นที่เป็นส่วนๆ เท่ากันตายตัว SUPERVISOR Partition 1 Partition 2 Partition 3 Process Queue Partition Allocation

29 28  ขนาดไม่เท่ากัน (Variable Partition) แบ่งพื้นที่เป็นส่วนๆ ไม่เท่ากัน - ตายตัว SUPERVISOR Partition 1 Partition 2 Partition 3 Queue 1 Queue 2 Queue 3 Partition Allocation

30 29 ปัญหา ขนาดของโปรแกรมไม่พอดีกับขนาดของ Partition Partition Allocation ทำให้เกิดที่ว่างในแต่ละ Partition หากมีจำนวนที่ว่างนี้หลายๆ แห่ง อาจทำให้มีขนาดที่ใหญ่ เพียงพอสามารถบรรจุโปรแกรม อื่นๆ ลงไปได้ เรียกว่า Fragmentation

31 30  ขยับพื้นที่ได้ (Relocatable Partition) แบ่งพื้นที่เป็นส่วนๆ แต่สามารถขยับชิด กันได้ (Compact) JOB 1 JOB 3 JOB 6 พื้นที่ว่าง Process Queue SUPERVISOR Partition Allocation

32 31 ปัญหา ค่าตำแหน่งที่มีการอ้างอิง เดิม จะเปลี่ยนเป็นค่า ตำแหน่งใหม่อย่างไร ? ใช้ Relocation Register Overhead of Relocation Fragmentation Partition Allocation

33 32 Paged Allocation จัดแบ่ง Program Address Space ออกเป็น ส่วนๆ เท่าๆ กัน เรียกว่า Page จัดแบ่ง Memory Address Space ออกเป็นส่วนๆ เท่าๆ กัน เรียกว่า Block สร้าง Page Table ขึ้นทำ หน้าที่ Mapping ระหว่าง Page กับ Block ต้องบรรจุทุก Page ลงใน Memory จึงจะ Execute ได้

34 33  เพจ (Paging) แบ่งโปรแกรมและ Memory เป็นส่วนๆที่ เท่ากัน SUPERVISOR Page 1 Page 3 Page 4 Page 2 Used by Other Page Table Program Address Space Paged Allocation Pag e 1 Pag e 2 Pag e 3 Pag e 4 ไม่ต้องอยู่ติดกันได้

35 Logical and Physical Addresses - Paging

36 35 Paged Allocation Page Size ที่เหมาะสมเพื่อลด Ext. Fragmentation Internal Fragmentation (Page-Breakage) ปัญหา เสียเวลาทำ Address Transformation

37 Page Table Structure

38 Translation Lookaside Buffer Every virtual memory reference causes two physical memory access —Fetch page table entry —Fetch data Use special cache for page table —TLB

39 TLB Operation

40 TLB and Cache Operation

41 40 Segment Allocation จัดแบ่ง Program Address Space ออกเป็น ส่วนๆ ที่สมบูรณ์ เรียกว่า Segment จัดแบ่ง Memory Address Space ออกเป็นส่วนๆ ตาม ขนาด Segment เรียกว่า Block สร้าง Segment Table ขึ้นทำ หน้าที่ Mapping ระหว่าง Segment กับ Block ต้องมีครบทุก Segment อยู่ใน Memory

42 41 Segment Allocation  เซกเมนต์ (Segment) แบ่ง Memory เป็นส่วนๆ ขนาด ชุดคำสั่ง SUPERVISOR Main Sub 1 Data Used by Other Sub 2 Segment Table Program Address Space Main Sub 1 Data Sub 2

43 42 Segment Allocation การอ้างอิง Address แบ่ง ออกเป็น 2 ส่วน ชื่อของ Segment และ Offset BETA Attributes

44 43 ระเบียบวิธีการตัดสินใจเลือก Segment เข้ามาทำงาน ปัญหา แต่ละ Segment มีขนาดไม่ เท่ากัน Segment Allocation

45 44 Virtual Memory  ความจำเสมือน (Virtual Memory) แบ่งเป็น Pages หรือ Segments SUPERVISOR Segment 1 Segment 3 Segment 5 Segment 4 Segment 2 Segment Table or Page Table Program Address Space โปรแกรมมีขนาด ใหญ่กว่า Memory จริงได้

46 45 Demand Paged ไม่จำเป็นต้องบรรจุทุก Page ลง ใน Memory ก็สามารถ Execute ได้ ดังนั้นจึงบรรจุเฉพาะ Page แรก ลงใน Memory ก่อน เมื่อมีการ เรียกใช้ Page อื่น จึงค่อยเรียก มาบรรจุลงใน Memory ต่อไป (Page Fault) โดยมี Paging Algorithm และ Page Table เป็นกลไกสำหรับ การทำงาน

47 46 Demand Paged Page No. Status Judgment Block No. Page Map Table 0 OK. 50 Times OK. 4 Times

48 47 ระเบียบวิธีการตัดสินใจนำ Page เข้า - ออก (Paging Algorithm) ยังมีพื้นที่ว่างหน่วยความจำ เหลือใน Page สุดท้าย (Page- Breakage) ปัญหา กรณีวนสลับนำ Page เดิมเข้า - ออกไปมาตลอด (Thrashing) Demand Paged

49 48 Segment-paged จัดแบ่ง Program Address Space ออกเป็น ส่วนๆ ที่สมบูรณ์ เรียกว่า Segment จัดแบ่งแต่ละ Segment ออกเป็นส่วนๆ เท่าๆ กัน เรียกว่า Page สร้าง Segment Table ขึ้นทำ หน้าที่ Mapping ระหว่าง Segment กับ Block Memory

50 Pentium II Address Translation Mechanism

51 Pentium II Segmentation Each virtual address is 16-bit segment and 32- bit offset 2 bits of segment are protection mechanism 14 bits specify segment Unsegmented virtual memory 2 32 = 4Gbytes Segmented 2 46 =64 terabytes —Can be larger – depends on which process is active —Half (8K segments of 4Gbytes) is global —Half is local and distinct for each process

52 Pentium II Protection Protection bits give 4 levels of privilege —0 most protected, 3 least —Use of levels software dependent —Usually level 3 for applications, level 1 for O/S and level 0 for kernel (level 2 not used) —Level 2 may be used for apps that have internal security e.g. database —Some instructions only work in level 0

53 Pentium II Paging Segmentation may be disabled —In which case linear address space is used Two level page table lookup —First, page directory –1024 entries max –Splits 4G linear memory into 1024 page groups of 4Mbyte –Each page table has 1024 entries corresponding to 4Kbyte pages –Can use one page directory for all processes, one per process or mixture –Page directory for current process always in memory —Use TLB holding 32 page table entries —Two page sizes available 4k or 4M

54 PowerPC Memory Management Hardware 32 bit – paging with simple segmentation —64 bit paging with more powerful segmentation Or, both do block address translation —Map 4 large blocks of instructions & 4 of memory to bypass paging —e.g. OS tables or graphics frame buffers 32 bit effective address —12 bit byte selector –=4kbyte pages —16 bit page id –64k pages per segment —4 bits indicate one of 16 segment registers –Segment registers under OS control

55 PowerPC 32-bit Memory Management Formats

56 PowerPC 32-bit Address Translation

57 56 หัวข้อเรื่อง  I/O Programming  Memory Management  Processor Management  Device Management  Information Management Processor Management

58 Processor Management  Multi-programming  Time Sharing  Scheduler

59 58 Functions  รักษาสถานะของแต่ละ process  เลือก process จากบัญชีรายชื่อมา ประมวลผล  หยุดการประมวลผล process ที่กำลัง ประมวลผลอยู่ในขณะนั้น หากพ้อ กำหนดเวลาที่ให้ หรือ มีการเรียกใช้ งานด้าน รับ - ส่งข้อมูล  ประสาน สื่อสาร ร่วมมือระหว่าง process ต่าง ๆ

60 Simple Batch Systems Resident Monitor program Users submit jobs to operator Operator batches jobs Monitor controls sequence of events to process batch When one job is finished, control returns to Monitor which reads next job Monitor handles scheduling

61 Memory Layout for Resident Monitor

62 Job Control Language Instructions to Monitor Usually denoted by $ e.g. —$JOB —$FTN —...Some Fortran instructions —$LOAD —$RUN —...Some data —$END

63 Desirable Hardware Features Memory protection —To protect the Monitor Timer —To prevent a job monopolizing the system Privileged instructions —Only executed by Monitor —e.g. I/O Interrupts —Allows for relinquishing and regaining control

64 Multi-programmed Batch Systems I/O devices very slow When one program is waiting for I/O, another can use the CPU

65 Single Program

66 Multi-Programming with Two Programs

67 Multi-Programming with Three Programs

68 Utilization

69 Time Sharing Systems Allow users to interact directly with the computer —i.e. Interactive Multi-programming allows a number of users to interact with the computer

70 Medium Term Scheduling Part of the swapping function (later…) Usually based on the need to manage multi- programming If no virtual memory, memory management is also an issue

71 Short Term Scheduler Dispatcher Fine grained decisions of which job to execute next i.e. which job actually gets to use the processor in the next time slot

72 Process States

73 Process Control Block Identifier State Priority Program counter Memory pointers Context data I/O status Accounting information

74 PCB Diagram Program Control Block

75 Key Elements of O/S

76 Process Scheduling

77 76 Race Condition สอง Process เรียกใช้ ข้อมูล หรือ Resource พร้อมกัน Supervisor Process 1 Process 2 Print Request Printer

78 77 ต่างคนต่างรอคอยซึ่งกันและ กัน Race Condition Fig Ar1, Ar2, Ar3, Art4, Br1, Br2, Br3, Br4 ไม่เกิดปัญหาการทำ P and V P = Request, V = Release 2. Br1, Br2, Br3, Br4, Ar1, Ar2, Ar3, Art4 ไม่เกิดปัญหาเช่นเดียวกัน 3. Ar1, Ar2, Br1, Ar3, Art4, Br2, Br3, Br4

79 78 หัวข้อเรื่อง  I/O Programming  Memory Management  Processor Management  Device Management  Information Management Device Management

80 Device Management  Device Characteristic  Techniques

81 80 Characteristic  Input Devices  Output Devices  I/O Devices or Storage Devices  Serial Access Storage  Direct Access Storage

82 81 Techniques  Dedicated  Shared Access  Virtual  SPOOLing (Simultaneous Peripheral Operation On-Line)

83 82 หัวข้อเรื่อง  I/O Programming  Memory Management  Processor Management  Device Management  File System File System

84 File System  File System Model  File Directory

85 84 File System Model  Accessing Methods  Logical file System  Basic File System  File Organization Strategy  Allocation Strategy  Device Strategy  I/O Control System

86 85 File Directory  VTOC (Volume Table of Content) จะเป็นตัวช่วยบอกตำแหน่ง ของไฟล์ ขนาดของไฟล์และ ชื่อของไฟล์ที่ต้องการนั้น ๆ

87 Physical Record=1,000 Bytes

88 87 ตัวอย่าง VTOC ไฟล์ ALPHA มีขนาดความยาวข้อมูล 2,750 Bytes โดยมีแต่ละระเบียนข้อมูล (Logical Record) ขนาด 250 ไบต์

89 88

90 89 File Directory

91 90  Operating Systems  I/O Programming  Memory Management  Processor Management  Device Management  File System Conclusion


ดาวน์โหลด ppt บทที่ 7 Operating Systems Intro. to Computer Organization & Architecture Intro. to.

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


Ads by Google