OS, Base & Bounds, Virtual Memory Intro. Instructor: Steven Ho
|
|
- Aldous Boone
- 5 years ago
- Views:
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 Instructor: Sagar Karandikar sagark@eecs.berkeley.edu hbp://inst.eecs.berkeley.edu/~cs61c
More informationRaspberry 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 informationCS 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 information11/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 informationCS 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 informationCS 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 informationJohn 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 informationRaspberry 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 informationecture 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 informationCS 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 informationNew-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 informationCS 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 informationVirtual 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 informationAnother 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 informationVirtual 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 informationCS 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 informationCS61C : 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 informationCS 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 informationMidterm 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 informationMemory 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 informationCS 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 informationPage 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 information18-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 informationCS162 - 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 informationMemory 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 informationCS 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 informationChapter 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 informationCache 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 informationCS 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 informationCS 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 informationImproving 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 informationCS 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 informationCS5460: 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 informationAgenda. 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 informationCS61C : 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 informationPage 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 informationCS252 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 informationMemory 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 informationCOS 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 informationReview: 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 informationAdministrivia. 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 informationCOS 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 informationPage 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 informationMemory 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 informationCS 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 informationLecture 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 informationCS61C : 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 informationLecture 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 informationLecture 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 informationMemory: 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 informationSyscalls, 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 informationLecture 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 informationCOSC3330 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 informationCS162 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 informationOperating 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 informationProtection 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 informationHardware 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 informationCS 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 informationCS 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 informationECE 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 informationAnne 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 informationVirtual 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 informationCS 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 informationCSC369 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 informationCOS 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 informationVirtual 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 informationOperating 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 informationMemory 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 informationCS399 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 informationIntroduction 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 informationAddress 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 informationCS 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 informationLecture 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 informationWhat 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 informationCS 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 informationCS 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 information9/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 informationTraps, 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 informationIntroduction 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 informationChapter 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 informationIntroduction 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 informationCS 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 informationIntroduction 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 informationCSC 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 informationCSC369 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 informationMEMORY 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 informationChapter 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 informationMemory 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 information15 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 informationOperating 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 informationMon 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 informationFall 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 informationIntroduction 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 informationIntroduction 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 informationCS 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 informationRecall: 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 informationECE 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 informationSlide 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
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 informationCS 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