Virtual Memory Why? The need of memory more than the available physical memory. Process 3 Physical Memory Process 2 Process 1 Process 4.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
John Rawls  John Rawls is the most famous American social contract theorist argued that “Justice is fairness” He Thought human natural have a appropriate.
Advertisements

“ The Four Principles of Spirituality ”
Texture การประมวลผลภาพแบบดิจิตอล Ian Thomas
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Moment in Life บางขณะของชีวิต.
สภาวะแวดล้อมในขณะโปรแกรมทำงาน
อาจารย์ มธ. อธิบายการใช้ โมเดลของ
ระบบการจัดเก็บในคลังสินค้า
Stack.
การจัดการหน่วยความจำ Memory Management
PERFECT TENSE.
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
หน่วยความจำเสมือน Virtual Memory.
Asst.Prof. Dr.Surasak Mungsing
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
List ADTs By Pantharee S..
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Chapter 3 Simple Supervised learning
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.
In-Class Exercises Discrete Mathematics
Mathematical Model of Physical Systems. Mechanical, electrical, thermal, hydraulic, economic, biological, etc, systems, may be characterized by differential.
ว เคมีพื้นฐาน พันธะเคมี
นายรัฐราษฎร์ เกื้อสกุล 1. 2 Disk Password Protection เป็นชุดของโปรแกรมสำหรับปกป้องและจำกัด การเข้าถึง Harddisk สามารถปกป้อง Disk/Partition ด้วย Password,
คุณลักษณะของคำสั่งภาษาเครื่อง ชนิดของตัวถูกดำเนินการ
ANSI/ASQ Z1.4 Acceptance Sampling Plans
ปริมาณสัมพันธ์ ผู้สอน อ. ศราวุทธ แสงอุไร Composition Stoichiometry ว ปริมาณสัมพันธ์ สถานะของ สาร และเคมีไฟฟ้า นายศราวุทธ แสงอุไร ครูวิชาการสาขาเคมี
ครูรุจิรา ทับศรีนวล “Room service”. “Room service”
ภาษาอังกฤษ ชั้นมัธยมศึกษาปึที่ 4 Grammar & Reading ครูรุจิรา ทับศรีนวล.
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
Silberschatz, Galvin and Gagne ©2010 Operating System Concepts – 8 th Edition, Chapter 7: Deadlocks Dr. Varin Chouvatut.
Timed Math Quiz. โปรแกรมสุ่มคำนวณเลขแข่งกับ เวลา.
Linked List ( ต่อ ) Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
การออกแบบส่วนต่อประสาน
Concept and Terminology Guided media (wired) Twisted pair Coaxial cable Optical fiber Unguided media (wireless) Air Seawater Vacuum Direct link Point.
Page : Stability and Statdy-State Error Chapter 3 Design of Discrete-Time control systems Stability and Steady-State Error.
สื่อการเรียนรู้ด้วยตัวเอง ชุดฝึกเขียนสรุป (Writing Summary)
Chapter 12 Microprocessor without Interlocked Pipeline Stages (MIPS)
1. นี่เป็นสิ่งที่พระเยซูทรงทำ พระองค์ทรงรักษาทุกคน ที่เจ็บป่วยให้หายดี
CPE 332 Computer Engineering Mathematics II
หน่วยที่ 2 ข้อมูลและสารสนเทศ
13 October 2007
Generic View of Process
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 13: การคำนวณได้และการตัดสินใจของปัญหา ที่ยากต่อการแก้ไข.
DEADLOCKS Advanced Operating System Operating System Technology
การออกแบบระบบ System Design.
Linked List Lecturer : Kritawan Siriboon, Room no. 913
บทที่ 1 ความรู้เบื้องต้น เกี่ยวกับระบบสารสนเทศ
Principles of Accounting II
คำเทศนาชุด: ท่านมีของประทาน
บทที่ 3 การจัดการหน่วยความจำ (Memory Management)
Object-Oriented Analysis and Design
1 ยอห์น 1:5-7 5 นี่เป็นเรื่องราวซึ่งเราได้ยินจากพระองค์และประกาศแก่ท่าน คือพระเจ้าทรงเป็นความสว่าง ในพระองค์ไม่มีความมืดเลย 6 ถ้าเราอ้างว่ามีสามัคคีธรรมกับพระองค์แต่ยังดำเนินในความมืด.
Linked List (ต่อ) Lecturer : Kritawan Siriboon, Room no. 913
ระบบตัวเลข, Machine code, และ Register
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
Activity-Based-Cost Management Systems.
Chapter 9: Virtual-Memory Management Dr. Varin Chouvatut
แล้วไงเกี่ยวกับความจริง What About Truth?
ตอนที่ 4: เคลื่อนไปกับของประทานของท่าน Part 4: Flowing In Your Gift
AnalyticAL Writing ปิติ ตรีสุกล.
4.7. B-Trees โครงสร้าง tree ที่กล่าวถึงมาแล้วนั้น อยู่บนสมมติฐานที่ว่าโครงสร้างทั้งหมดสามารถจัดเก็บอยู่ในหน่วยความจำของเครื่องคอมพิวเตอร์ได้ ถ้า จำนวนข้อมูลมีปริมาณมากเกินกว่าที่จะเก็บไว้ใน.
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
สถิติเพื่อการวิเคราะห์ข้อมูล
การวิเคราะห์และออกแบบขั้นตอนวิธี
สารสนเทศศาสตร์เบื้องต้น
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
Thread outline What is thread?
CPU and I/O bursts.
Memory Management Ex. C = A + B A typical instruction-execution cycle
ใบสำเนางานนำเสนอ:

Virtual Memory Why? The need of memory more than the available physical memory. Process 3 Physical Memory Process 2 Process 1 Process 4

Memory Limits for Windows Releases http://msdn. microsoft

Max. memory per a process http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx#memory_limits

Max. memory per a VM (. NET or Java) Max. memory per a single object Max. memory per a VM (.NET or Java) Max. memory per a single object max 2GB (.NET) ไม่ว่าจะเป็น 32-bit หรือ 64-bit version สร้าง object Array เกิน 2GB ไม่ได้ With .NET 4.5, 10 years memory limit of 2 GB is over ส่วนใหญ่การเขียนโปรแกรมด้วย Java หรือ .NET จะติด memory limit ที่ virtual machine ก่อน ถ้าจะทะลุ limit นี้ไปก็ต้องเขียน C/C++ หรือเรียก system call

No corresponding physical memory Virtual Memory stack No corresponding physical memory As stack and heap grow, more pages will be allocated and mapped to physical memory. heap data code Virtual memory (a process) pp. 359

Virtual memory (a process) kernel page 2 page 1 Physical memory มีจำกัด RAM แพง page 5 page 4 page 3 page 5 page 2 page 4 page 1 page 3 Virtual memory (a process) Storage (HD)

มี logical กับ physical Summary มี logical กับ physical แบ่งเป็น page ไม่ใช่ contiguous swap กับดิสก์ Virtual memory = mapping + paging + swapping valid/invalid bit ในรูปนี้ ใช้บอกว่า page นั้น อยู่บน memory หรือไม่ pp. 362

Demand Paging Demand paging = lazy swapping pp. 361 Swap-in algorithm The OS only swaps a page into memory when it is required by a process ถ้า swap-in ไม่ได้ (memory เต็ม) ก็ต้องทำ swap-out ก่อน แบบ lazy จะตรงข้ามกับแบบ intelligent หรือ speculative pp. 361

Page Fault pp. 363 Locality of Reference เพราะธรรมชาติของ memory access ไม่ random ถึงใช้ page และ virtual memory ได้ pp. 363

Copy-on-Write After forking. Parent and child share the same copy. Make another copy of page C when a process writes. pp. 368

Demand paging requires 1) frame-allocation algorithm 2) page-replacement algorithm จะให้กี่ max. frame per process page ไหนจะเป็น victim Reference string To know the number of page faults, you need to know the number of max frames. จะเกิด page fault กี่ครั้ง มี maximum frame เท่าใด max = 2 เกิด page fault, max = 3 ไม่เกิด

ช่อง load M คือ executable code 2 frame แรกสำหรับจอภาพ เต็มหมดทุก frame ไม่มีที่ว่างสำหรับ M

ช่องนี้ก่อน หน้าคงเป็น f

Frequency ของ การเกิด page fault Max. frame per process

Page Replacement Algo. (summary) 1) FIFO page replacement - Belady’s anomaly 2) Optimal page replacement Replace the page that will not be used for the longest period of time. - Similar to SJF, requiring future knowledge. 3) Least-recently-used (LRU) page replacement Counter, equip a counter for each entry in page table Stack, move the referenced page to TOS LRU-approximation page replacement Additional-reference-bits algorithm Second-chance algorithm Enhanced second-chance algorithm

Page Replacement (cont.) not recently as the previous 5) Counting-based page replacement Least frequently used (LFU) page-replacement algorithm Most frequently used (MFU) page-replacement algorithm Page-buffering algorithms (เป็นเทคนิคเสริม) Page fault, not choose a victim, borrow a frame Step 1 frame frame frame Delay writing out or do it when CPU is idle. Increase response time. frame frame frame frame frame Step 2 A process Max. #frames = 3 Pool of free frames HD

Belady’s anomaly (undesired characteristics)

Using frame number “n” if n is in stack move n to TOS else push n

Shift right (less registers than counter) Additional-reference-bits algorithm Counting is more expensive then shifting Example 1000 0000 100ms 0100 0000 0010 0000 access 1010 0000 0101 0000 Shift right (less registers than counter) MSB LSB Each page has a corresponding 8-bit register. If the page is accessed, MSB is set to 1. Every 100 ms, shift-right (÷2) all registers. The page with the lowest number is the LRU page. มองไปในอดีตได้ไกลมาก เท่าไรก็ได้ (ปรับ 100ms ให้มากขึ้น) แต่ใช้ที่ 8 บิทเสมอ เหมือนการใช้ counter แต่เป็นการประมาณค่า เช่น page A 10000000 → 10000000 …. → 01000000 page B 00000000 → 10000000 …. → 01000000 access A access B Page A is older but as time passed no difference between A and B. เพราะ access A กับ access B มันเกิดใกล้กันมาก การประมาณค่าทำให้แยกไม่ได้ แต่ผิดไม่เกิน 100ms

FIFO + Second Chance Referenced Set ref. bit to 1 Give the second chance, clear 0 Replace Advance pointer and clear reference bits Current pointer Clear Clear Step 1. ใช้หลัก FIFO เริ่มจากหัวคิว 2. ถ้า ref bit = 0, ได้ victim แล้ว ถ้า ref bit = 1, clear ไปตัวถัดไป 3. อาจจะต้องวนมาเริ่มใหม่ (ได้ second chance กันหมด) 4. ถ้าได้ victim แล้ว ให้โหลด new page มาทับ victim และให้ไป ต่อท้ายคิว ตามหลักการ FIFO If a page is used often enough to keep its reference bit set, it will never been replaced. Victim Load new page, set ref bit to 1 move to the end of Q

Enhanced second-chance algorithm (modify bit) modify bit 0 = not modified 1 = modified first choice (0, 0) neither recently used nor modified – best page to replace (0, 1) not recently used but modified – not quite as good and need writing disk (1, 0) recently used but clean – probably will be used again soon (1, 1) recently used and modified – used again soon and need writing disk last choice We may have to scan the circular queue several times. The major diff. with second chance algo. is the preference to reduce I/O traffic.

Allocation of Frames 1) Minimum number of frames Instruction set architecture: add a1 a2 a3 min = 3 ld r1 a4 min = 1 2) Allocation algorithms Equal allocation ให้ทุก process เท่า ๆ กัน Proportional allocation เกลี่ยให้ตามความต้องการใช้ memory ของแต่ละ process

Global vs. Local allocation - a process uses max frames. - when requesting a free frame, choose a victim from its own set of allocated frame. 2) Global allocation - choose a victim from the set of all frames, even if that frame is currently allocated to some other process.

Thrashing Definition: high paging activity. OS ต้อง predict ได้ว่าจะเกิด thrashing ให้ลด degree of multiprogramming การ predict ต้องใช้ working set model มีหลาย process เกินไป แย่ง frame กัน มี 1 process CPU จะ idle เพราะรอ I/O และไม่มี process อื่น ให้ execute #process ใน ready queue

Working-Set Model Working set = set of pages in the most recent ∆ page references. เช่น P1 ใช้ WSS = 8, P2 ใช้ WSS = 6 Demand = 8 + 6 =14 ถ้า demand > supply (allocated frames) ก็เพิ่ม frame ให้แต่ละ process (equal or proportional) แต่ถ้าไม่มี frame เหลือแล้ว ให้ลด degree of multiprogramming หรือลดจำนวน process ใน ready queue

Page-Fault Frequency

พฟืtransition จาก working set นึงไปยังอีก working นึง Working sets and page fault rates 1 1 2 1 3 1 2 3 1 2 3 2 1 2 3 2 1 4 5 4 6 5 5 6 6 4 5 4 4 4 ถ้าวัดในช่วงเวลานี้ จะได้ working set นี้เสมอ หรือ เกือบๆ page fault ตก โหลด working set เข้ามาทุก frame แล้ว เริ่มเกิด page fault เนื่องจาก process ย้ายไป working set ใหม่ พฟืtransition จาก working set นึงไปยังอีก working นึง ธรรมชาติของ process จะเป็นแบบนี้

อัตราการเกิด page fault เพิ่มขึ้นอย่างรวดเร็ว Quiz Page faults / sec อัตราการเกิด page fault เพิ่มขึ้นอย่างรวดเร็ว time t1 t2 Thrashing or Moving from a working set to another working set ? Hint: ต้องดูข้อมูลอะไรเพิ่มบ้าง? assume ว่าเราไม่รู้ page fault rate ที่เวลา < t1 และ > t2