virtual memory ,allocaton of frame & trashing
TRANSCRIPT
GROUP MEMBERS
IMDAD HUSSAIN SP13-BCS-B-91
KASHIF BILAL SP13-BCS-B-90
MOHSIN SHABIR SP13-BCS-B-88
SUBMITTED TO
Sir.Farhan-u-Allah Khan
Operating System COMSATS Sahiwal
OUTLINES• VIRTUAL MEMORY
• VITUAL MEMORY CONCEPT
• IMPLEMENTATION OF VIRTUAL MEMORY
• ALLOCATION OF FRAMES
• GLOBAL VERSES LOCAL ALLOCATION
• HOW MAYNY FRAME ASSIGN TO EACH PROCESS
• TRASHING
VIRTUAL MEMORY
SEPARATION OF USER LOGICAL MEMORY FROM PHYSICAL MEMORY.
ONLY PART OF THE PROGRAM NEEDS TO BE IN MEMORY FOR EXECUTION.
LOGICAL ADDRESS SPACE CAN THEREFORE BE MUCH LARGER THAN PHYSICAL ADDRESS SPACE.
VITUAL MEMORY CONCEPT
The conceptual separation of user logical memory fromphysical memory. Thus we can have large virtual memory on a small physical memory
IMPLEMENTATION OF VIRTUAL MEMORY
• DEMAND PAGING
WHEN A PAGE IS TOUCHED, BRING IT FROM SECONDARY TO MAIN MEMORY
• DEMAND SEGMENTATION
ALLOCATION OF FRAMES EACH PROCESS NEEDS MINIMUM NUMBER OF PAGES
• EXAMPLE: IBM 370 - 6 PAGES TO HANDLE ,SS MOVE INSTRUCTION:
• A) INSTRUCTION IS 6 BYTES, MIGHT SPAN 2 PAGES.
• B) 2 PAGES TO HANDLE FROM.
• C) 2 PAGES TO HANDLE TO.
FRAME ALLOCATION
•GLOBAL REPLACEMENT: A PROCESS CAN REPLACE ANY PAGE IN THE
MEMORY.
• LOCAL REPLACEMENT: EACH PROCESS CAN REPLACE ONLY FROM ITS
OWN RESERVED SET OF
ALLOCATED PAGE FRAMES
EXAMPLE PROPOTIONAL ALLOCATION
CONSIDER A SYSTEM HAVING 64 FRAMES AND THERE ARE 4 PROCESSES WITH THE FOLLOWING VIRTUAL
MEMORY SIZES: V(1) = 16, V(2) = 128, V(3) = 64 AND V(4) = 48.
EQUAL ALLOCATION: ASSUME THAT THERE ARE N FRAMES, AND P PROCESSES, THEN N/P FRAMES ARE
PROPORTIONAL ALLOCATION: V = 16 + 128 + 64 + 48 = 256. IT ALLOCATES:
(16 / 256) * 64 = 4 FRAMES TO PROCESS 1,
(128 / 256) * 64 = 32 FRAMES TO PROCESS 2,
(64 / 256) * 64 = 16 FRAMES TO PROCESS 3,
(48 / 256) * 64 = 12 FRAMES PROCESS 4
HOW FRAME ASSIGN TO EACH PROCESS• EQUAL ALLOCATION: IF THERE ARE N FRAMES AND P PROCESSES, N/P
FRAMES ARE ALLOCATED TO
• EACH PROCESS.
• PROPORTIONAL ALLOCATION: LET THE VIRTUAL MEMORY SIZE FOR
PROCESS P BE V(P). LET THERE
• ARE M PROCESSES AND N FRAMES. THEN THE TOTAL VIRTUAL MEMORY SIZE WILL BE: V = ΣV(P).
• ALLOCATE (V(P) /V) * N FRAMES TO PROCESS P.
FIXED ALLOCATION EQUAL ALLOCATION
• IF 100 FRAMES AND 5 PROCESSES, GIVE EACH PROCESS 20 FRAMES.
PROPORTIONAL ALLOCATION
• ALLOCATE ACCORDING TO THE SIZE OF PROCESS
SI = SIZE OF PROCESS PI
S = S SI
M = TOTAL NUMBER OF FRAMES
AI = ALLOCATION FOR PI =SI/S *M
THRASHINGIF A PROCESS DOES NOT HAVE ‘‘ENOUGH’’ PAGES, THE PAGE-FAULT RATE IS VERY HIGH
• LOW CPU UTILIZATION
• OPERATING SYSTEM THINKS THAT IT NEEDS TO INCREASE THE DEGREE OF MULTIPROGRAMMING
• ANOTHER PROCESS ADDED TO THE SYSTEM.
•THRASHING = A PROCESS IS BUSY SWAPPING PAGES IN AND OUT.
SADVANTAGES
• INCREASES THE DEGREE OF MULTIPROGRAMMING
•
• SYSTEM THROUGHPUT DECREASES
• PAGE FAULT RATE INCREASES
• EFFECTIVE ACCESS TIME INCREASES
SOLUTION1.WE CAN REDUCE THE EFFECT OF THRASHING BY USING THE LOCAL
REPLACEMENT ALGORITHM
2.TO PREVENT THRASHING PROVIDE AS MANY FRAMES AS IT NEEDS
3.TO KNOW THE NUMBER OF FRAMES USE WORKING SET STRATEGY
WHY DOES PAGING WORK?• LOCALITY MODEL
PROCESS MIGRATES FROM ONE LOCALITY TO ANOTHER
LOCALITIES MAY OVERLAP
• WHY DOES THRASHING OCCUR?
SIZE OF LOCALITY > TOTAL MEMORY SIZE