OS, Base & Bounds, Virtual Memory Intro. Instructor: Steven Ho

Size: px
Start display at page:

Download "OS, Base & Bounds, Virtual Memory Intro. Instructor: Steven Ho"

Transcription

1 OS, Base & Bounds, Virtual Memory Intro Instructor: Steven Ho

2 Review Warehouse Scale Computers Supports many of the applications we have come to depend on Software must cope with failure, load variation, and latency/bandwidth limitations Hardware sensitive to cost and energy efficiency Request Level Parallelism High request volume, each largely independent Replication for better throughput, availability MapReduce Convenient data-level parallelism on large dataset across large number of machines Spark is a framework for executing MapReduce algorithms 2

3 Word Count in Spark s Python API // RDD: primary abstraction of a distributed collection of items file = sc.textfile( hdfs:// ) // Two kinds of operations: // Actions: RDD Value // Transformations: RDD RDD // e.g. flatmap, Map, reducebykey file.flatmap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b) 3

4 MapReduce Word Count Example Map phase: (doc name, doc contents) list(word, count) // I do I learn [( I,1),( do,1),( I,1),( learn,1)] map(key, value): for each word w in value: emit(w, 1) Reduce phase: (word, list(count)) (word, count_sum) // ( I, [1,1]) ( I,2) reduce(key, values): result = 0 for each v in values: result += v emit(key, result) 4

5 Word Count in Spark s Python API // RDD: primary abstraction of a distributed collection of items file = sc.textfile( hdfs:// ) // Two kinds of operations: // Actions: RDD Value // Transformations: RDD RDD // e.g. flatmap, Map, reducebykey file.flatmap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b) 5

6 MapReduce Word Count Example Map phase: (doc name, doc contents) list(word, count) // I do I learn [( I,1),( do,1),( I,1),( learn,1)] map(key, value): for each word w in value: emit(w, 1) Reduce phase: (word, list(count)) (word, count_sum) // ( I, [1,1]) ( I,2) reduce(key, values): result = 0 for each v in values: result += v emit(key, result) 6

7 Word Count in Spark s Python API // RDD: primary abstraction of a distributed collection of items file = sc.textfile( hdfs:// ) // Two kinds of operations: // Actions: RDD Value // Transformations: RDD RDD // e.g. flatmap, Map, reducebykey file.flatmap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b) 7

8 MapReduce Word Count Example Map phase: (doc name, doc contents) list(word, count) // I do I learn [( I,1),( do,1),( I,1),( learn,1)] map(key, value): for each word w in value: emit(w, 1) Reduce phase: (word, list(count)) (word, count_sum) // ( I, [1,1]) ( I,2) reduce(key, values): result = 0 for each v in values: result += v a emit(key, result) b 8

9 Agenda OS Intro Administrivia OS Boot Sequence and Operation Multiprogramming/time-sharing Introduction to Virtual Memory 9

10 CS61C so far C Programs #include <stdlib.h> Project 3 RISC-V Assembly.foo lw t0, 4(s0) addi t1, t0, 3 beq t1, t2, foo nop CPU Project 2 Labs int fib(int n) { return fib(n-1) + fib(n-2); } Project 1 Caches Memory 10

11 So how is this any different? Screen Keyboard Storage 11

12 Adding I/O C Programs #include <stdlib.h> Project 3 RISC-V Assembly CPU Project 2.foo lw t0, 4(s0) addi t1, t0, 3 beq t1, t2, foo nop Screen Caches int fib(int n) { return fib(n-1) + fib(n-2); } Project 1 Keyboard Storage I/O (Input/Output) Memory 12

13 Raspberry Pi ($40 on Amazon) Storage I/O (Micro SD Card) CPU+$s, etc. Memory Screen I/O (HDMI) Serial I/O (USB) Network I/O (Ethernet) 13

14 It s a real computer! 14

15 But wait That s not the same! When we run Venus, it only executes one program and then stops. When I switch on my computer, I get this: Yes, but that s just software! The Operating System (OS) 15

16 Well, just software The biggest piece of software on your machine? How many lines of code? These are 84 m guesstimates: ill ion s of cod line e! Codebases (in millions of lines of code). CC BY-NC 3.0 David McCandless

17 What does the OS do? One of the first things that runs when your computer starts (right after firmware/bootloader) Loads, runs and manages programs: Multiple programs at the same time (time-sharing) Isolate programs from each other (isolation) Multiplex resources between applications (e.g., devices) Services: File System, Network stack, etc. Finds and controls all the devices in the machine in a general way (using device drivers ) 17

18 Agenda OS Intro Administrivia OS Boot Sequence and Operation Multiprogramming/time-sharing Introduction to Virtual Memory 18

19 Administrivia Proj4 due on Friday (8/03) Project Party tonight, Soda 405/411, 4-6pm HW6 due tonight, HW7 released Guerilla Session on 540AB The final will be 8/ /2060! We re almost there! :D 19

20 Agenda OS Intro Administrivia OS Boot Sequence and Operation Multiprogramming/time-sharing Introduction to Virtual Memory 20

21 What happens at boot? When the computer switches on, it does the same as Venus: the CPU executes instructions from some start address (stored in Flash ROM) CPU Memory mapped 0x2000: addi t0, x0, 0x1000 lw t0, 4(s0) (Code to copy firmware into regular memory and jump into it) PC = 0x2000 (some default value) Address Space 21

22 What happens at boot? When the computer switches on, it does the same as Venus: the CPU executes instructions from some start address (stored in Flash ROM) 4. Init: Launch an application that waits for input in loop (e.g., Terminal/Desktop/ BIOS: Find a storage device and load first sector (block of data) 2. Bootloader (stored on, e.g., disk): Load the OS kernel from disk into a location in memory and jump into it. 3. OS Boot: Initialize services, drivers, etc. 22

23 Launching Applications Applications are called processes in most OSs. Created by another process calling into an OS routine (using a syscall, more details later). Depends on OS, but Linux uses fork (see OpenMP threads) to create a new process, and execve to load application. Loads executable file from disk (using the file system service) and puts instructions & data into memory (.text,.data sections), prepare stack and heap. Set argc and argv, jump into the main function. 23

24 Supervisor Mode If something goes wrong in an application, it can crash the entire machine. What about malware, etc.? The OS may need to enforce resource constraints to applications (e.g., access to devices). To protect the OS from the application, CPUs have a supervisor mode bit (also need isolation, more later). You can only access a subset of instructions and (physical) memory when not in supervisor mode (user mode). You can change out of supervisor mode using a special instruction, but not into it (unless there is an interrupt). 24

25 Syscalls How to switch back to OS? OS sets timer interrupt, when interrupts trigger, drop into supervisor mode. What if we want to call into an OS routine? (e.g., to read a file, launch a new process, send data, etc.) Need to perform a syscall: set up function arguments in registers, and then raise software interrupt OS will perform the operation and return to user mode This way, the OS can mediate access to all resources, including devices, the CPU itself, etc. 25

26 Syscalls in Venus Venus provides many simple syscalls using the ecall RISC-V instruction How to issue a syscall? Place the syscall number in a0 Place arguments to the syscall in the a1 register Issue the ecall instruction This is how your RISC-V code has been able to produce output all along ecall details depend on the ABI (Application Binary Interface) 26

27 Example Syscall Let s say we want to print an integer stored in s3: Print integer is syscall #1 li a0, 1 add a1, s3, x0 ecall 27

28 Venus s Environmental Calls 28

29 Agenda OS Intro Administrivia OS Boot Sequence and Operation Multiprogramming/time-sharing Introduction to Virtual Memory 29

30 Multiprogramming OS runs multiple applications at the same time. But not really (unless have a core per process) Switches between processes very quickly. This is called a context switch. When jumping into process, set timer interrupt. When it expires, store PC, registers, etc. (process state). Pick a different process to run and load its state. Set timer, change to user mode, jump to the new PC. Deciding what process to run is called scheduling. 30

31 Protection, Translation, Paging Supervisor mode does not fully isolate applications from each other or from the OS. Application could overwrite another application s memory. Remember the linker in CALL: application assumes that code is in certain location. How to prevent overlaps? May want to address more memory than we actually have (e.g., for sparse data structures). Solution: Virtual Memory. Give each process the illusion of a full memory address space that it has completely to itself. 31

32 Meet the Staff Emaan Trash TV Judge Judy Show Favorite Breaking Bad Plot Twist Best Bathroom 7th Floor Soda in Cal Best Study 1st Floor Moffitt Spot 6/21/2018 Sruthi Sean Bachelor in Paradise Dr. Phil Arrival Memento Stanley Hall Bottom Floor of Cory The VLSB Library Upper Floor of East Asian CS61C Su18 - Lecture 4 32

33 Agenda OS Intro Administrivia OS Boot Sequence and Operation Multiprogramming/time-sharing Introduction to Virtual Memory 33

34 Adding Disks to Hierarchy Use VM as a mechanism to connect memory and disk in the memory hierarchy 34

35 Memory Hierarchy Regs Instr Operands Earlier: Caches Upper Level Faster L1 Cache Blocks L2 Cache Blocks Now: Virtual Memory Memory Pages Disk Files Tape Larger Lower Level 35

36 Virtual Memory Goals Allow multiple processes to simultaneously occupy memory and provide protection: Don t let programs read/write each other s memory Give each program the illusion that it has its own private address space Suppose code starts at address 0x , then different processes each think their code resides at that same address! Each program must have a different view of memory 36

37 Virtual Memory Goals Next level in the memory hierarchy: Provides program with illusion of a very large main memory: Working set of pages reside in main memory - others reside on disk. Also allows OS to share memory, protect programs from each other Today, more important for protection vs. just another level of memory hierarchy Each process thinks it has all the memory to itself (Historically, it predates caches) 37

38 Virtual to Physical Address Translation Each program operates in its own virtual address space; ~only program running Each is protected from the other OS can decide where each goes in memory Hardware gives virtual physical mapping 38

39 Dynamic Address Translation Location-independent programs Protection prog1 Independent programs should not affect each other inadvertently need for a bound register Multiprogramming drives requirement for resident supervisor (OS) software to manage context switches between multiple programs prog2 Physical Memory Programming and storage management ease need for a base register OS 39

40 Modern Virtual Memory Systems Illusion of a large, private, uniform store Protection OS several programs, each with their private address space and one or more shared address spaces progi Demand Paging Provides the ability to run programs larger than the primary memory Primary Memory Swapping Store Hides differences in machine configurations The price is address translation on each memory reference VA mapping TLB PA 40

41 Analogy: Shopping at IKEA Furniture name like virtual address Actual warehouse location like physical address IKEA shopping list like page table you write mappings from furniture name to location On shopping list, whether the item is sold out like valid bit indicating in main memory vs. on disk Whether you can flop on a bed, draw on chalk board, turn lights off/onlike access rights 41

42 Simple Example: Base and Bound Reg 42

43 Simple Base and Bound Translation Segment Length Load X Logical Address Bounds Violation? + Physical Address Physical Memory Bound Register current segment Base Register Base Physical Address Program Address Space Base and bounds registers are visible/accessible only when processor is running in supervisor mode 43

44 Separate Areas for Program and Data (Scheme used on all Cray vector supercomputers prior to X1, 2002) + Program Bound Register Program Counter Program Base Register data segment Logical Address Data Base Register Program Address Space Bounds Violation? Physical Address Bounds Violation? Logical Address Main Memory Load X Data Bound Register Mem. Address Register program segment + Physical Address What is an advantage of this separation? 44

45 Bare 5-Stage Pipeline Physical P Address C Inst. Cache Physical Address D Decode E + M Physical Address Memory Controller Physical Address Data Cache W Physical Address Main Memory (DRAM) In a bare machine, the only kind of address is a physical address 45

46 Base and Bound Machine Prog. Bound Register Logical Address P C + Data Bound Register Bounds Violation? Inst. Cache D Decode E + M Physical Address Program Base Register Logical Address Bounds Violation? Data Cache + W Physical Address Physical Address Data Base Register Memory Controller Physical Address Physical Address Main Memory (DRAM) 46

47 Memory Fragmentation OS Space prog 1 16K prog 2 24K 24K prog 3 32K 24K Programs 4 & 5 start OS Space 16K BIG IDEA: 24K prog 2 USE RAM AS $$ prog 4 16K FOR 8K DISK prog 1 prog 3 32K prog 5 24K free Programs 2 & 5 end OS Space prog 1 16K 24K prog 4 16K 8K prog 3 32K 24K What As programs if we want start toand run end, process memory 6, and becomes we need 32K of fragmented. Therefore, if we ever need a large chunk space?! of memory, programs will need to be moved. 47

48 Question: What kind of cache should memory be? (A) Direct Mapped, write back/write allocate (B) Direct Mapped, write through/no write allocate (C) Fully Associative, write back/write allocate (D) Fully Associative, write thorugh/no write allocate 48

49 Question: What kind of cache should memory be? (A) Direct Mapped, write back/write allocate (B) Direct Mapped, write through/no write allocate (C) Fully Associative, write back/write allocate (D) Fully Associative, write through/no write allocate 49

50 Summary The role of the Operating System Booting a computer: BIOS, bootloader, OS boot, initialization Base and bounds for multiple processes Simple, but doesn t give us everything we want Virtual memory bridges memory and disk Provides illusion of independent address spaces to processes and protects them from each other 50

CS 61C: Great Ideas in Computer Architecture Lecture 22: Opera&ng Systems, Interrupts, and Virtual Memory Part 1

CS 61C: Great Ideas in Computer Architecture Lecture 22: Opera&ng Systems, Interrupts, and Virtual Memory Part 1 CS 61C: Great Ideas in Computer Architecture Lecture 22: Opera&ng Systems, Interrupts, and Virtual Memory Part 1 Instructor: Sagar Karandikar sagark@eecs.berkeley.edu hbp://inst.eecs.berkeley.edu/~cs61c

More information

Raspberry Pi ($40 on Amazon)

Raspberry Pi ($40 on Amazon) 7/28/15 CS 61C: Great Ideas in Computer Architecture CS61C so far C Programs #include Instructor: Sagar Karandikar sagark@eecs.berkeley.edu hfp://inst.eecs.berkeley.edu/~cs61c Project 2 int

More information

CS 61C: Great Ideas in Computer Architecture. Lecture 22: Operating Systems. Krste Asanović & Randy H. Katz

CS 61C: Great Ideas in Computer Architecture. Lecture 22: Operating Systems. Krste Asanović & Randy H. Katz CS 61C: Great Ideas in Computer Architecture Lecture 22: Operating Systems Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 1 CPU Project 2 CS61C so far MIPS Assembly.foo lw $t0,

More information

11/13/17. CS61C so far. Adding I/O C Programs. So How is a Laptop Any Different? It s a Real Computer! Raspberry Pi (Less than $40 on Amazon in 2017)

11/13/17. CS61C so far. Adding I/O C Programs. So How is a Laptop Any Different? It s a Real Computer! Raspberry Pi (Less than $40 on Amazon in 2017) 11/14/17 CS61C so far CS 61C: Great Ideas in Computer Architecture C Programs #include MIPS Assembly Project 2 int fib(int n) { return fib(n-1) + fib(n-2); }.foo lw $t0, 4($r0) addi $t1, $t0,

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Intro to Virtual Memory

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Intro to Virtual Memory CS 61C: Great Ideas in Computer Architecture (Machine Structures) Intro to Virtual Memory Instructors: Vladimir Stojanovic and Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/ 1 Agenda Multiprogramming/time-sharing

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Opera&ng Systems, Interrupts, Virtual Memory

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Opera&ng Systems, Interrupts, Virtual Memory CS 61C: Great Ideas in Computer Architecture (Machine Structures) Opera&ng Systems, Interrupts, Virtual Memory Instructors: Krste Asanovic & Vladimir Stojanovic Guest Lecturer: Mar-n Maas hap://inst.eecs.berkeley.edu/~cs61c/

More information

John Wawrzynek & Nick Weaver

John Wawrzynek & Nick Weaver CS 61C: Great Ideas in Computer Architecture Lecture 23: Virtual Memory John Wawrzynek & Nick Weaver http://inst.eecs.berkeley.edu/~cs61c From Previous Lecture: Operating Systems Input / output (I/O) Memory

More information

Raspberry Pi ($40 on Amazon)

Raspberry Pi ($40 on Amazon) 4/16/15 CS61C so far CS 61C: Great Ideas in Computer Architecture (Machine Structures) Opera&ng Systems, Interrupts, Virtual Memory C Programs #include MIPS Assembly Project 2 int fib(int n)

More information

ecture 33 Virtual Memory Friedland and Weaver Computer Science 61C Spring 2017 April 12th, 2017

ecture 33 Virtual Memory Friedland and Weaver Computer Science 61C Spring 2017 April 12th, 2017 ecture 33 Computer Science 61C Spring 2017 April 12th, 2017 Virtual Memory 1 Multiprogramming The OS runs multiple applications at the same time. But not really: have many more processes/threads than available

More information

CS 61C: Great Ideas in Computer Architecture Virtual Memory. Instructors: John Wawrzynek & Vladimir Stojanovic

CS 61C: Great Ideas in Computer Architecture Virtual Memory. Instructors: John Wawrzynek & Vladimir Stojanovic CS 61C: Great Ideas in Computer Architecture Virtual Memory Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/ 1 Review Programmed I/O Polling vs. Interrupts Booting

More information

New-School Machine Structures. Overarching Theme for Today. Agenda. Review: Memory Management. The Problem 8/1/2011

New-School Machine Structures. Overarching Theme for Today. Agenda. Review: Memory Management. The Problem 8/1/2011 CS 61C: Great Ideas in Computer Architecture (Machine Structures) Virtual Instructor: Michael Greenbaum 1 New-School Machine Structures Software Parallel Requests Assigned to computer e.g., Search Katz

More information

CS 61C: Great Ideas in Computer Architecture. Virtual Memory

CS 61C: Great Ideas in Computer Architecture. Virtual Memory CS 61C: Great Ideas in Computer Architecture Virtual Memory Instructor: Justin Hsia 7/30/2012 Summer 2012 Lecture #24 1 Review of Last Lecture (1/2) Multiple instruction issue increases max speedup, but

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

Another View of the Memory Hierarchy. Lecture #25 Virtual Memory I Memory Hierarchy Requirements. Memory Hierarchy Requirements

Another View of the Memory Hierarchy. Lecture #25 Virtual Memory I Memory Hierarchy Requirements. Memory Hierarchy Requirements CS61C L25 Virtual I (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #25 Virtual I 27-8-7 Scott Beamer, Instructor Another View of the Hierarchy Thus far{ Next: Virtual { Regs Instr.

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation CS 152 Computer Architecture and Engineering Lecture 8 - Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c/su06 CS61C : Machine Structures Lecture #23: VM I 2006-08-08 CS 61C L23 VM I (1) Andy Carle Outline Cache Review Virtual Memory CS 61C L23 VM I (2) Improving Miss Penalty

More information

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation CS 152 Computer Architecture and Engineering Lecture 9 - Address Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste

More information

Midterm 1. Administrivia. Virtualizing Resources. CS162 Operating Systems and Systems Programming Lecture 12. Address Translation

Midterm 1. Administrivia. Virtualizing Resources. CS162 Operating Systems and Systems Programming Lecture 12. Address Translation Midterm 1 CS162 Operating Systems and Systems Programming Lecture 12 Address Translation March 5, 2018 Profs. Anthony D. Joseph & Jonathan Ragan-Kelley http://cs162.eecs.berkeley.edu Lec 12.2 Administrivia

More information

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources Memory Management Topics CS 537 Lecture Memory Michael Swift Goals of memory management convenient abstraction for programming isolation between processes allocate scarce memory resources between competing

More information

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 8 - Address Translation CS 152 Computer Architecture and Engineering Lecture 8 - Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

Page 1. Goals for Today" Important Aspects of Memory Multiplexing" Virtualizing Resources" CS162 Operating Systems and Systems Programming Lecture 9

Page 1. Goals for Today Important Aspects of Memory Multiplexing Virtualizing Resources CS162 Operating Systems and Systems Programming Lecture 9 Goals for Today" CS162 Operating Systems and Systems Programming Lecture 9 Address Translation" February 24, 2014 Anthony D. Joseph http://inst.eecs.berkeley.edu/~cs162 Address Translation Schemes Segmentation

More information

18-447: Computer Architecture Lecture 16: Virtual Memory

18-447: Computer Architecture Lecture 16: Virtual Memory 18-447: Computer Architecture Lecture 16: Virtual Memory Justin Meza Carnegie Mellon University (with material from Onur Mutlu, Michael Papamichael, and Vivek Seshadri) 1 Notes HW 2 and Lab 2 grades will

More information

CS162 - Operating Systems and Systems Programming. Address Translation => Paging"

CS162 - Operating Systems and Systems Programming. Address Translation => Paging CS162 - Operating Systems and Systems Programming Address Translation => Paging" David E. Culler! http://cs162.eecs.berkeley.edu/! Lecture #15! Oct 3, 2014!! Reading: A&D 8.1-2, 8.3.1. 9.7 HW 3 out (due

More information

Memory Hierarchy Requirements. Three Advantages of Virtual Memory

Memory Hierarchy Requirements. Three Advantages of Virtual Memory CS61C L12 Virtual (1) CS61CL : Machine Structures Lecture #12 Virtual 2009-08-03 Jeremy Huddleston Review!! Cache design choices: "! Size of cache: speed v. capacity "! size (i.e., cache aspect ratio)

More information

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation CS 152 Computer Architecture and Engineering Lecture 9 - Address Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance

Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance 6.823, L11--1 Cache Performance and Memory Management: From Absolute Addresses to Demand Paging Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Cache Performance 6.823,

More information

CS 61C: Great Ideas in Computer Architecture. Multiple Instruction Issue, Virtual Memory Introduction

CS 61C: Great Ideas in Computer Architecture. Multiple Instruction Issue, Virtual Memory Introduction CS 61C: Great Ideas in Computer Architecture Multiple Instruction Issue, Virtual Memory Introduction Instructor: Justin Hsia 7/26/2012 Summer 2012 Lecture #23 1 Parallel Requests Assigned to computer e.g.

More information

CS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory

CS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory CS 61C: Great Ideas in Computer Architecture Lecture 23: Virtual Memory Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 1 Agenda Virtual Memory Paged Physical Memory Swap Space

More information

Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Highly-Associative Caches

Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Highly-Associative Caches Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging 6.823, L8--1 Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Highly-Associative

More information

CS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory. Bernhard Boser & Randy Katz

CS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory. Bernhard Boser & Randy Katz CS 61C: Great Ideas in Computer Architecture Lecture 23: Virtual Memory Bernhard Boser & Randy Katz http://inst.eecs.berkeley.edu/~cs61c Agenda Virtual Memory Paged Physical Memory Swap Space Page Faults

More information

CS5460: Operating Systems

CS5460: Operating Systems CS5460: Operating Systems Lecture 2: OS Hardware Interface (Chapter 2) Course web page: http://www.eng.utah.edu/~cs5460/ CADE lab: WEB L224 and L226 http://www.cade.utah.edu/ Projects will be on Linux

More information

Agenda. CS 61C: Great Ideas in Computer Architecture. Virtual Memory II. Goals of Virtual Memory. Memory Hierarchy Requirements

Agenda. CS 61C: Great Ideas in Computer Architecture. Virtual Memory II. Goals of Virtual Memory. Memory Hierarchy Requirements CS 61C: Great Ideas in Computer Architecture Virtual II Guest Lecturer: Justin Hsia Agenda Review of Last Lecture Goals of Virtual Page Tables Translation Lookaside Buffer (TLB) Administrivia VM Performance

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 35 Caches IV / VM I 2004-11-19 Andy Carle inst.eecs.berkeley.edu/~cs61c-ta Google strikes back against recent encroachments into the Search

More information

Page 1. Goals for Today" Virtualizing Resources" Important Aspects of Memory Multiplexing" CS162 Operating Systems and Systems Programming Lecture 20

Page 1. Goals for Today Virtualizing Resources Important Aspects of Memory Multiplexing CS162 Operating Systems and Systems Programming Lecture 20 Goals for Today" CS162 Operating Systems and Systems Programming Lecture 20 Address Translation" November 7, 2011 Anthony D. Joseph and Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Address Translation

More information

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find

More information

Memory Management. Kevin Webb Swarthmore College February 27, 2018

Memory Management. Kevin Webb Swarthmore College February 27, 2018 Memory Management Kevin Webb Swarthmore College February 27, 2018 Today s Goals Shifting topics: different process resource memory Motivate virtual memory, including what it might look like without it

More information

COS 318: Operating Systems. Overview. Prof. Margaret Martonosi Computer Science Department Princeton University

COS 318: Operating Systems. Overview. Prof. Margaret Martonosi Computer Science Department Princeton University COS 318: Operating Systems Overview Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Precepts: Tue (Tonight)!

More information

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds. Performance 980 98 982 983 984 985 986 987 988 989 990 99 992 993 994 995 996 997 998 999 2000 7/4/20 CS 6C: Great Ideas in Computer Architecture (Machine Structures) Caches Instructor: Michael Greenbaum

More information

Administrivia. Lab 1 due Friday 12pm. We give will give short extensions to groups that run into trouble. But us:

Administrivia. Lab 1 due Friday 12pm. We give will give short extensions to groups that run into trouble. But  us: Administrivia Lab 1 due Friday 12pm. We give will give short extensions to groups that run into trouble. But email us: - How much is done & left? - How much longer do you need? Attend section Friday at

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems Overview Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times Lectures 9/20 Lecture is here Other lectures in

More information

Page 1, 5/4/99 8:22 PM

Page 1, 5/4/99 8:22 PM Outline Review Pipelining CS61C Review of Cache/VM/TLB Lecture 27 May 5, 1999 (Cinco de Mayo) Dave Patterson (http.cs.berkeley.edu/~patterson) www-inst.eecs.berkeley.edu/~cs61c/schedule.html Review Interrupt/Polling

More information

Memory Hierarchy, Fully Associative Caches. Instructor: Nick Riasanovsky

Memory Hierarchy, Fully Associative Caches. Instructor: Nick Riasanovsky Memory Hierarchy, Fully Associative Caches Instructor: Nick Riasanovsky Review Hazards reduce effectiveness of pipelining Cause stalls/bubbles Structural Hazards Conflict in use of datapath component Data

More information

CS 104 Computer Organization and Design

CS 104 Computer Organization and Design CS 104 Computer Organization and Design Exceptions and Interrupts CS104: Exceptions and Interrupts 1 Exceptions and Interrupts App App App System software Mem CPU I/O Interrupts: Notification of external

More information

Lecture 9 - Virtual Memory

Lecture 9 - Virtual Memory CS 152 Computer Architecture and Engineering Lecture 9 - Virtual Memory Dr. George Michelogiannakis EECS, University of California at Berkeley CRD, Lawrence Berkeley National Laboratory http://inst.eecs.berkeley.edu/~cs152

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #22 CPU Design: Pipelining to Improve Performance II 2007-8-1 Scott Beamer, Instructor CS61C L22 CPU Design : Pipelining to Improve Performance

More information

Lecture 2 Fundamental OS Concepts. Bo 2018, Spring

Lecture 2 Fundamental OS Concepts. Bo 2018, Spring Lecture 2 Fundamental OS Concepts Bo Tang @ 2018, Spring Our Roadmap Computer Organization Revision Kernel Data Structures in OS OS History Four fundamental OS concepts Thread Address space (with translation)

More information

Lecture 3: O/S Organization. plan: O/S organization processes isolation

Lecture 3: O/S Organization. plan: O/S organization processes isolation 6.828 2012 Lecture 3: O/S Organization plan: O/S organization processes isolation topic: overall o/s design what should the main components be? what should the interfaces look like? why have an o/s at

More information

Memory: Overview. CS439: Principles of Computer Systems February 26, 2018

Memory: Overview. CS439: Principles of Computer Systems February 26, 2018 Memory: Overview CS439: Principles of Computer Systems February 26, 2018 Where We Are In the Course Just finished: Processes & Threads CPU Scheduling Synchronization Next: Memory Management Virtual Memory

More information

Syscalls, exceptions, and interrupts, oh my!

Syscalls, exceptions, and interrupts, oh my! Syscalls, exceptions, and interrupts, oh my! Hakim Weatherspoon CS 3410 Computer Science Cornell University [Altinbuken, Weatherspoon, Bala, Bracy, McKee, and Sirer] Announcements P4-Buffer Overflow is

More information

Lecture 4: Memory Management & The Programming Interface

Lecture 4: Memory Management & The Programming Interface CS 422/522 Design & Implementation of Operating Systems Lecture 4: Memory Management & The Programming Interface Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken

More information

COSC3330 Computer Architecture Lecture 20. Virtual Memory

COSC3330 Computer Architecture Lecture 20. Virtual Memory COSC3330 Computer Architecture Lecture 20. Virtual Memory Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston Virtual Memory Topics Reducing Cache Miss Penalty (#2) Use

More information

CS162 Operating Systems and Systems Programming Lecture 12. Address Translation. Page 1

CS162 Operating Systems and Systems Programming Lecture 12. Address Translation. Page 1 CS162 Operating Systems and Systems Programming Lecture 12 Translation March 10, 2008 Prof. Anthony D. Joseph http://inst.eecs.berkeley.edu/~cs162 Review: Important Aspects of Memory Multiplexing Controlled

More information

Operating Systems: Virtual Machines & Exceptions

Operating Systems: Virtual Machines & Exceptions Operating Systems: Machines & Exceptions Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L19-1 6.004 So Far: Single-User Machines Program Hardware ISA (e.g., RISC-V) Processor Memory

More information

Protection and System Calls. Otto J. Anshus

Protection and System Calls. Otto J. Anshus Protection and System Calls Otto J. Anshus Protection Issues CPU protection Prevent a user from using the CPU for too long Throughput of jobs, and response time to events (incl. user interactive response

More information

Hardware OS & OS- Application interface

Hardware OS & OS- Application interface CS 4410 Operating Systems Hardware OS & OS- Application interface Summer 2013 Cornell University 1 Today How my device becomes useful for the user? HW-OS interface Device controller Device driver Interrupts

More information

CS 152 Computer Architecture and Engineering. Lecture 11 - Virtual Memory and Caches

CS 152 Computer Architecture and Engineering. Lecture 11 - Virtual Memory and Caches CS 152 Computer Architecture and Engineering Lecture 11 - Virtual Memory and Caches Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste

More information

CS 152 Computer Architecture and Engineering. Lecture 9 - Virtual Memory

CS 152 Computer Architecture and Engineering. Lecture 9 - Virtual Memory CS 152 Computer Architecture and Engineering Lecture 9 - Virtual Memory Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017 ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)

More information

Anne Bracy CS 3410 Computer Science Cornell University

Anne Bracy CS 3410 Computer Science Cornell University Anne Bracy CS 3410 Computer Science Cornell University The slides were originally created by Deniz ALTINBUKEN. P&H Chapter 4.9, pages 445 452, appendix A.7 Manages all of the software and hardware on the

More information

Virtual Memory: From Address Translation to Demand Paging

Virtual Memory: From Address Translation to Demand Paging Constructive Computer Architecture Virtual Memory: From Address Translation to Demand Paging Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology November 9, 2015

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Warehouse-Scale Computing, MapReduce, and Spark

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Warehouse-Scale Computing, MapReduce, and Spark CS 61C: Great Ideas in Computer Architecture (Machine Structures) Warehouse-Scale Computing, MapReduce, and Spark Instructors: Bernard Boser & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/ 11/11/16

More information

CSC369 Lecture 2. Larry Zhang, September 21, 2015

CSC369 Lecture 2. Larry Zhang, September 21, 2015 CSC369 Lecture 2 Larry Zhang, September 21, 2015 1 Volunteer note-taker needed by accessibility service see announcement on Piazza for details 2 Change to office hour to resolve conflict with CSC373 lecture

More information

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University COS 318: Operating Systems Overview Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Logistics Precepts: Tue: 7:30pm-8:30pm, 105 CS

More information

Virtual Memory. CS61, Lecture 15. Prof. Stephen Chong October 20, 2011

Virtual Memory. CS61, Lecture 15. Prof. Stephen Chong October 20, 2011 Virtual Memory CS6, Lecture 5 Prof. Stephen Chong October 2, 2 Announcements Midterm review session: Monday Oct 24 5:3pm to 7pm, 6 Oxford St. room 33 Large and small group interaction 2 Wall of Flame Rob

More information

Operating Systems and Interrupts/Exceptions

Operating Systems and Interrupts/Exceptions Operating Systems and Interrupts/Exceptions Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology Code for the lecture is available on the course website under the

More information

Memory Management. To do. q Basic memory management q Swapping q Kernel memory allocation q Next Time: Virtual memory

Memory Management. To do. q Basic memory management q Swapping q Kernel memory allocation q Next Time: Virtual memory Memory Management To do q Basic memory management q Swapping q Kernel memory allocation q Next Time: Virtual memory Memory management Ideal memory for a programmer large, fast, nonvolatile and cheap not

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,

More information

Introduction to Computer Systems and Operating Systems

Introduction to Computer Systems and Operating Systems Introduction to Computer Systems and Operating Systems Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered 1. Computer History 2. Computer System

More information

Address spaces and memory management

Address spaces and memory management Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address

More information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 326: Operating Systems. CPU Scheduling. Lecture 6 CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating

More information

Lecture 17: Address Translation. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 17: Address Translation. James C. Hoe Department of ECE Carnegie Mellon University 18 447 Lecture 17: Address Translation James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L17 S1, James C. Hoe, CMU/ECE/CALCM, 2018 Your goal today Housekeeping see Virtual Memory into

More information

What Operating Systems Do An operating system is a program hardware that manages the computer provides a basis for application programs acts as an int

What Operating Systems Do An operating system is a program hardware that manages the computer provides a basis for application programs acts as an int Operating Systems Lecture 1 Introduction Agenda: What Operating Systems Do Computer System Components How to view the Operating System Computer-System Operation Interrupt Operation I/O Structure DMA Structure

More information

CS 31: Intro to Systems Virtual Memory. Kevin Webb Swarthmore College November 15, 2018

CS 31: Intro to Systems Virtual Memory. Kevin Webb Swarthmore College November 15, 2018 CS 31: Intro to Systems Virtual Memory Kevin Webb Swarthmore College November 15, 2018 Reading Quiz Memory Abstraction goal: make every process think it has the same memory layout. MUCH simpler for compiler

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Warehouse-Scale Computing, MapReduce, and Spark

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Warehouse-Scale Computing, MapReduce, and Spark CS 61C: Great Ideas in Computer Architecture (Machine Structures) Warehouse-Scale Computing, MapReduce, and Spark Instructors: Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/ 11/8/17

More information

9/19/18. COS 318: Operating Systems. Overview. Important Times. Hardware of A Typical Computer. Today CPU. I/O bus. Network

9/19/18. COS 318: Operating Systems. Overview. Important Times. Hardware of A Typical Computer. Today CPU. I/O bus. Network Important Times COS 318: Operating Systems Overview Jaswinder Pal Singh and a Fabulous Course Staff Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) u Precepts:

More information

Traps, Exceptions, System Calls, & Privileged Mode

Traps, Exceptions, System Calls, & Privileged Mode Traps, Exceptions, System Calls, & Privileged Mode Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University P&H Chapter 4.9, pages 509 515, appendix B.7 Administrivia: Where are we now

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:

More information

Introduction to Operating Systems

Introduction to Operating Systems Introduction to Operating Systems Lecture 6: Memory Management MING GAO SE@ecnu (for course related communications) mgao@sei.ecnu.edu.cn Apr. 22, 2015 Outline 1 Issues of main memory 2 Main memory management

More information

CS 31: Intro to Systems Threading & Parallel Applications. Kevin Webb Swarthmore College November 27, 2018

CS 31: Intro to Systems Threading & Parallel Applications. Kevin Webb Swarthmore College November 27, 2018 CS 31: Intro to Systems Threading & Parallel Applications Kevin Webb Swarthmore College November 27, 2018 Reading Quiz Making Programs Run Faster We all like how fast computers are In the old days (1980

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 3: Operating-System Structures Operating System Components Operating systems are large and complex - the only way to manage such a project is to divide it into smaller

More information

CSC369 Lecture 2. Larry Zhang

CSC369 Lecture 2. Larry Zhang CSC369 Lecture 2 Larry Zhang 1 Announcements Lecture slides Midterm timing issue Assignment 1 will be out soon! Start early, and ask questions. We will have bonus for groups that finish early. 2 Assignment

More information

MEMORY MANAGEMENT. Jo, Heeseung

MEMORY MANAGEMENT. Jo, Heeseung MEMORY MANAGEMENT Jo, Heeseung TODAY'S TOPICS Why is memory management difficult? Old memory management techniques: Fixed partitions Variable partitions Swapping Introduction to virtual memory 2 MEMORY

More information

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

Memory Management. Jo, Heeseung

Memory Management. Jo, Heeseung Memory Management Jo, Heeseung Today's Topics Why is memory management difficult? Old memory management techniques: Fixed partitions Variable partitions Swapping Introduction to virtual memory 2 Memory

More information

15 Sharing Main Memory Segmentation and Paging

15 Sharing Main Memory Segmentation and Paging Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

Operating Systems. Sina Meraji U of T

Operating Systems. Sina Meraji U of T Operating Systems Sina Meraji U of T 1 Announcement Check discussion board for announcements A1 is posted 2 Recap: Process Creation: Unix In Unix, processes are created using fork() int fork() fork() Creates

More information

Mon Sep 17, 2007 Lecture 3: Process Management

Mon Sep 17, 2007 Lecture 3: Process Management Mon Sep 17, 2007 Lecture 3: Process Management September 19, 2007 1 Review OS mediates between hardware and user software QUIZ: Q: Name three layers of a computer system where the OS is one of these layers.

More information

Fall 2017 :: CSE 306. Process Abstraction. Nima Honarmand

Fall 2017 :: CSE 306. Process Abstraction. Nima Honarmand Process Abstraction Nima Honarmand Administrivia Course staff email: cse306ta at cs.stonybrook.edu Both Babak and I will be monitoring the account to ensure a timely response What to use it for: any email

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Introduction to Computer Systems

Introduction to Computer Systems CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech

More information

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

More information

Recall: Address Space Map. 13: Memory Management. Let s be reasonable. Processes Address Space. Send it to disk. Freeing up System Memory

Recall: Address Space Map. 13: Memory Management. Let s be reasonable. Processes Address Space. Send it to disk. Freeing up System Memory Recall: Address Space Map 13: Memory Management Biggest Virtual Address Stack (Space for local variables etc. For each nested procedure call) Sometimes Reserved for OS Stack Pointer Last Modified: 6/21/2004

More information

ECE 598 Advanced Operating Systems Lecture 14

ECE 598 Advanced Operating Systems Lecture 14 ECE 598 Advanced Operating Systems Lecture 14 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 22 March 2018 HW#6 was due. Announcements HW#7 will be posted eventually. Project

More information

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc.

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc. Slide 6-1 6 es Announcements Slide 6-2 Extension til Friday 11 am for HW #1 Previous lectures online Program Assignment #1 online later today, due 2 weeks from today Homework Set #2 online later today,

More information

- Established working set model - Led directly to virtual memory. Protection

- Established working set model - Led directly to virtual memory. Protection Administrivia Virtual Lab 1 due Friday 12pm (noon) We give will give short extensions to groups that run into trouble But email us: - How much is done and left? - How much longer do you need? Attend section

More information

CS 261 Fall Mike Lam, Professor. Virtual Memory

CS 261 Fall Mike Lam, Professor. Virtual Memory CS 261 Fall 2016 Mike Lam, Professor Virtual Memory Topics Operating systems Address spaces Virtual memory Address translation Memory allocation Lingering questions What happens when you call malloc()?

More information