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

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

บทที่ 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 ResourceExampleSample 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 the central component of most computer operating systems (OS). Its responsibilities include managing the system's resources (the communication between hardware and software components). A kernel provides the lowest-level abstraction layer for the resources (especially memory, processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms and system callsoperating systemshardwaresoftwareabstraction layer memoryprocessorsI/O devicesapplicationprocessesinter-process communicationsystem calls

12 Shell A piece of software that provides an interface for users. Typically, the term refers to an operating system shell which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web browsers and clients that are "shells" for HTML rendering engines. The name 'shell' originates from shells being an outer layer of interface between the user and the kernel.

13 Shell two categories of OS shells : command line and graphical. Command line shells provide a command line interface (CLI) to the OS, while graphical shells provide a graphical user interface (GUI). command line interfacegraphical user interface

14 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

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

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

17 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

18 I/O Channel Architecture

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

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

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

22 Memory Layout for Resident Monitor

23 22 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 อื่นๆ ด้วย )

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

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

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

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

28 27 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

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

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

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

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

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

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

35 34  เพจ (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 ไม่ต้องอยู่ติดกันได้

36 Logical and Physical Addresses - Paging

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

38 Page Table Structure

39 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

40 TLB Operation

41 TLB and Cache Operation

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

43 42 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

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

45 44 Schedule of Decision (Paging Algorithm Internal Fragmentation (Page-Breakage) ปัญหา Page Interrupt into Thrashing Segment Allocation

46 45 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 จริงได้

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

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

49 48 Schedule of Decision (Paging Algorithm Internal Fragmentation (Page-Breakage) ปัญหา Page Interrupt into Thrashing Demand Paged

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

51 Pentium II Address Translation Mechanism

52 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

53 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

54 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

55 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

56 PowerPC 32-bit Memory Management Formats

57 PowerPC 32-bit Address Translation

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

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

60 59 Functions  Keep track of status each process  Select processes from ready-list to be run  Suspend a running process when it’s out of time or request for I/O Operation  Coordinate interprocess communication

61 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

62 Memory Layout for Resident Monitor

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

64 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

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

66 Single Program

67 Multi-Programming with Two Programs

68 Multi-Programming with Three Programs

69 Utilization

70 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

71 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

72 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

73 Process States

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

75 PCB Diagram Program Control Block

76 Key Elements of O/S

77 Process Scheduling

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

79 78 ต่างคนต่างรอคอยซึ่งกันและ กัน 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

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

81 Device Management  Device Characteristic  Techniques

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

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

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

85 File System  File System Model  File Directory

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

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

88 Physical Record=1,000 Bytes

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

90 89

91 90 File Directory

92 91  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