Memories Are Made of This

Size: px
Start display at page:

Download "Memories Are Made of This"

Transcription

1 Memories Are Made of This Betriebssysteme 2012/ Oktober /94

2 History long tradition in operating systems Historically very important memory was very expensive ecient use of available memory huge cost factor memory prices are now comparatively negligible 2/94

3 But! modern software's memory requirements seem to increase faster than prices can decrease often require more main memory than historical machines had in permanent storage... derivative of Parkinsons Law (work expands so as to ll the time available for its completion): data expands to ll the space available for storage 3/94

4 Our dream Innite Memory innitely in size innitely fast persistent... and cheap as well... But - what is Memory? 4/94

5 Memory Memory: Something that doesn't forget. Sort of. Memory-Hierarchy slow, cheap, persistent mass-memory, terrabytes faster, non-persistent main memory, gigabyte extremely fast, non persistent, expensive cache, megabyte in this chapter: storage area a CPU can directly access using address/databus 5/94

6 Memory we will look at modern memory management at large, starting from hardware constraints to implications from virtualizing machines. lets rst dene the basic memory management functions an operating system has: memory allocation protection. 6/94

7 Memory Allocation only one program on a machine, memory management is boring more than one program on a single machine: these programs need to share the memory available programs generally are not - and should not need to be - aware of the environment they run in they can't really self organize this So: this is an important task of the operating system. 7/94

8 Monoprogramming Mainframes embedded systems MS-DOS, CP/M 8/94

9 Monoprogramming Single Program: world is simple historical operating system: CP/M (Control Program/Monitor or Control Program for Microcomputers). one program can run at a time. Memory was structured in a simple way. 9/94

10 CP/M FFFF BIOS / BDOS Command Line Interpreter DC00 Transient Program Area Low storage Abbildung: CP/M Memory Organisation 10/94

11 CP/M rst 256 bytes were reserved for the operating system, large chunk of memory on the upper end of the address range, containing the Basic Input-Output-System (BIOS), contains all hardware specic functionality the hardware independend parts of the operating system, called Basic Disk Operating System (BDOS) the command line interpreter (CLI).. Programs were loaded into the TPA - the Transient Program Area. All programs were compiled and linked to start at address 0x /94

12 Relocation consider running two programs simultaneously in such an environment it is not possible to do so, if both are assuming and even required to start at the same address better, more exible structure needed: First of all, the start address must be exible. ability to load a program into virtually any location in memory the OS considers best 12/94

13 Relocation Abbildung: Relocating Programs 13/94

14 Relocation program may be loaded to start at 0x100 or at 0x6D00 we don't know in advance, which address > linker can't link it to begin at a certain address best: link it to start at address 0x0 relocate the program at load time loader will need to change all address references by the required values. Lets look at a piece of code, conveniently written in assembly language. 14/94

15 Example checkit : ; test value mov [ Mem ], eax test %eax, eax jne NonZero ; ; do whatever has to be done, if Zero jmp done NonZero : ; do whatever has to be done, if not Zero done : leave ret Mem : DW 0 15/94

16 Example assume that the addresses used are absolute addresses three address references: the load of the memory location Mem two jumps to NonZero and done 16/94

17 Example 17/94

18 without hardware support loader replaces all address-references has to know all the locations with an address he can get this from the linker linker assumed the program runs at address 0 loader adds actual starting address of the program to each of the addresses simple - but not very ecient what if we want to move programs around after they have been started? 18/94

19 With help from hardware register, that contains the current starting address of the program content of this register is added to all addresses sent from the CPU to the memory easy to set up not very time consuming, if done in hardware. Segmentation and paging oer further options. We will look at these options later. 19/94

20 With help from hardware (2) Base-Register Address Adder Address 20/94

21 Logical and Physical Address separation of the address that is used within a process (linear or logical address) from the address that is sent to the memory (physical addresses). Both: unsigned integers > Zero and < highest address supported by the architecture (or 0xFFFFFFFF) for 32-Bit (or 0xFFFFFFFFFFFFFFFF) for 64 bit 21/94

22 Memory protection only one program on a machine - do we need protection? YES operating system also runs on that machine OS will need memory as well must be protected itself from malicious behaviour or faults from such a program Protection: user program cannot access memory locations that are reserved for the kernel Implementation: nothing goes without help from the hardware. 22/94

23 Basis-Limit-Register base-register not only oers relocation protects the system from any references below the start address unsigned values adding always results in a value equal to or larger than the base address accessible area Base-Register protected area 23/94

24 Basis-Limit-Register (2) no limit to the programm accessing any addresses above the value of the base register assume: another program located above that address could be accessed or overwritten need to limit the access possiblities in hardware invent another register, the limit register content informs the hardware, what chunk of memory above the starting address (== value of the base register) should be accessible this limits the area the program can access 24/94

25 Basis-Limit-Register (3) protected area Limit-Register Base-Register accessible area protected area 25/94

26 Basis-Limit-Register (4) How can our hardware implement this? 26/94

27 Basis-Limit-Register (4) How can our hardware implement this? we have an adder anyway adds the content of the base register to the logical address results in the physical address add a comparator: compares physical address to limit register if value exceeded, interrupt 26/94

28 Basis-Limit-Register (5) 27/94

29 Memory Management Issues so far: very simple means to allow multiple processes to coexist in memory some drawbacks assumed that all processes get the memory they need these needs will be heterogeneous. lets look at the statics and dynamics 28/94

30 Multiprogramming / Partitions Split physical memory into n partitions Queues same size or dierent size e.g. congured at start time one or multiple 29/94

31 Multiprogramming, xed partitions 30/94

32 Multiprogramming, xed partitions (2) unused space is lost using large partitions for small job: inecient not using large partitions for long time: inecient 31/94

33 Multiprogramming, xed partitions (3) 32/94

34 Multiprogramming, xed partitions (4) Use single queue select partition that ts optional: search queue for best tting job (beware starvation!) example system: IBM OS-360 MFT 33/94

35 Sidestep: modeling Multiprogramming improves CPU utilisation but by how much? 5 processes using 20% each > 100% utilization? Of course not. probabilistic view ist better: assume a process waits for I/O with probability p probability, that all processes wait: p n CPU-utilization: 1 p n 34/94

36 Sidestep: modeling 35/94

37 Sidestep: modeling Still simplied processes are rarely independend apply queuing-theory 36/94

38 Dynamics P3 P3 P4 P2 P2 P4 P3 P1 P1 P1 P P1 6 37/94

39 Dynamics ve states of the memory used for processes states 1, 2 and 3: three processes (P1, P2, P3) are created state 4: P2 is stopped and removed state 5: a process P4 appears, larger than the largest contiguous piece of memory available overall there would be enough memory available we can't start P4 without reorganizing our RAM 38/94

40 Compaction we need to do compaction remove all the holes free memory between allocated memory areas by moving the allocated areas to form a contiguous area of memory technically easy our relocation mechanisms cater for moving processes around very time consuming uses lots of CPU-cycles to do so State 6: result, with process 4 already loaded 39/94

41 Fragmentation processes get their memory in arbitrary and dierently sized chunks leave holes that can get smaller and smaller become unusable for loading processes > Compaction necessary this eect is called fragmentation Unusable memory outside of used regions is called external fragmentation 40/94

42 Fragmentation use chunks of a xed size compaction no longer needed inecient, if chunks too large: statistically wastes half of the size of the chunks available memory unuseable inside these xed chunks: internal fragmentation 41/94

43 Internal Fragmentation can turn out to be a lot, if chunks are large have no reality relation to the programs they are assigned to chunks should be sized as small as possible could limit the size of programs that can be run solution: multiple chunks of dierent size large programs would be run in the large chunks small programs could possibly run anywhere 42/94

44 Paging smaller chunks are better is the requirement that a program must t into one of this chunks necessary? No! Assigning a program multiple small chunks, enough to t in! One of these chunks: page the gure on next slide shows a program which has been allocated 12 pages, the last one is lled only partially 43/94

45 Paging page 0 page 1 page 2 page 3 page 4... Abbildung: Basic Paging 44/94

46 Paging external fragmentation still remains holes at least one page long always a multiple of the size of the page total size might be too small to make them useful for other program to be run in. contiguous hole needed 45/94

47 Paging all pages must be located contiguously no mechanism yet to allow us placing the pages wherever free space exists let's upgrade the hardware a little to allow us to do so 46/94

48 Paging What does the hardware need to be able to? a logical address refers to some byte in physical memory (and this will stay so of course). Logical addresses that are located besides each other are also located in adjacent locations in physical RAM This will need to change! So far: address translation was done by a simple addition. Now it gets a little more complicated. 47/94

49 Paging First: reinterprete the logical address So far: unstructured unsigned integer we now are using pages and page frames refer to a location in logical memory by the number of the page it is located on (page number) and the number of the byte (oset) we want to refer to page nr. offset 48/94

50 Page Size How large should we make a page? Theoretically: any size we want does it matter? lets experiment with a page size of 3 bytes 49/94

51 Page Size Byte Nr. page byte logical address /94

52 Page Size Byte Nr. page byte logical address where is 00011? where is 00111? /94

53 Page Size 3 drawback of the choice of pagesize: address arithmetic is a mess we need te be easily able calculate an address from a given address just by addition add 1 to the logical address of byte 2, we would get would be an invalid address rst requirement for a page size is: must be a power of 2 512, 1024, 2048 or 4096 are all good candidates other arguments: fragmentation and administrative overhead. No choice with e.g. Intel IA32-series: 4096 bytes are the norm 52/94

54 Page Size 4 Byte Nr. page byte logical address /94

55 Upgrading the hardware divide physical RAM into chunks of the same size as the pages page frames operating system can place any page from any program on any page frame in physical memory needs to record where it was placed record needs to be evaluated by the hardware at runtime 54/94

56 Mapping pages to page frames page 0 page 1 page 2 page 3 page 4... frame 0 frame 1 frame 2 frame 3 frame 4 frame 5 55/94

57 Page table need to make this information available to the hardware is done using a page table contains rows with page to page frame mappings one row per page page nr. frame nr page 0 page 1 page 2 page 3 page 4... frame 0 frame 1 frame 2 frame 3 frame 4 frame 5 56/94

58 page table calculating physical address (frame number and oset) from logical address (page number and oset) is easy now 57/94

59 address calculation 1 logical address split into components 1 the page number and the 2 oset 2 use page number to look up the frame number in the page table 1 page number as index into the page table 3 copy oset and combine with frame number 4 result is physical address 58/94

60 address calculation logical address 1 page number offset 2 page table 3 frame number offset 4 physical address 59/94

61 numeric example /94

62 Loading Programs lets talk about how to set up a page table program start: operating system has a few things to do e.g setting up the memory management for that process 61/94

63 Create page table Every process needs a page table allocate RAM for the page table assume 32 bit addresses and 4096 byte pages 12 bits for oset, 20 bits for page number each entry in page table (PTE): 4 byte size of page table: 2 22 bytes page nr. offset 62/94

64 Parse the headers parse the binary of the program nd out about the memory requirements binary will contain that information dierent format used.com - assumed that a program always starts at byte 256 (also used in CP/M,) a.out COFF main format used is the Executable and Linking Format (ELF) can be used for all types of binaries object les (compiled code) dynamic libraries static libraries 63/94

65 useless.c 64/94

66 memory layout of useless.c 65/94

67 memory layout of useless.c ve headers two need to be loaded from the the le (LOAD) code static data. GS (GNU_STACK): hint to the loading module to allocate a stack for the program NOTE: informative info about the type of system that this program can run on NULL: unused 66/94

68 info for the operating system Each of the entries also tells us where to nd the values on the le (Oset) how long they are on the le (FileSize) where to place them in the logical address space of the program (VirtAddr) and the space to be reserved there (MemSiz) Task of OS: For each program header in the ELF-le that requires memory, allocate the corresponding memory area. 67/94

69 loading size on le can be dierent from the size in memory second entry has 8 bytes on the le 64 bytes in memory corresponds to the two integers i and j that have been initialized to 3 resp. 4 memory area that has to be lled with zeroes The Flags-section marks areas readable (R), writable (W) and executable (E). stack has neither size nor address task of the operating system to locate a suitable address area for the stack dene the initial size of it's area 68/94

70 Load the program sections into memory we are now able to load the program into memory decisions to be made: Dene a location for the stack. Make sure that all memory allocated is inititialized properly either with values from the image or with Zeroes Otherwise potential security problem 69/94

71 Memory Layout at runtime 70/94

72 Memory Layout content of the section address range it uses protection information information on the le it has been or can be loaded from. 71/94

73 Memory Layout The code in line 1 loaded into area 1 recognisable also by the protection information given (r-xp): section is readonly, executable and private (i.e. not shared) The data part represented by lines 2 and 3 line 2 representing the initialized data line 3 the heap for dynamic memory allocation vsdo and vsyscall are pages that are mapped into all address spaces of all processes and are responsible for syscall-implementations nally the stack section Linux doesn't map the last page in the address space, to allow for catching any errors in addressing and does not use the rst page to catch all NULL-pointer-uses 72/94

74 address space layout randomization assignments not necessarily the same each time a program is run key data areas like base of the executable position of are randomized Why? libraries heap stack 73/94

75 address space layout randomization assignments not necessarily the same each time a program is run key data areas like base of the executable position of libraries heap stack are randomized Why? to make it more dicult for attackers to predict addresses 73/94

76 linear memory layout OS has to layout the linear or logical memory area for a process only addresses can be accessed that are mapped into the process address space via the page table mechanism, decision has to be made: do we want to make kernel memory accessible? 74/94

77 linear memory layout 4GB user space 4GB 3GB kernel user space 4GB 3GB 2GB 1:1 mapping kernel user space 4GB 2GB kernel user space 0GB Other 0GB Linux 0GB SWEB 0GB Windows XP 75/94

78 linear memory layout 32-bit addresses: memory locations between 0 and 4GBytes options: make the maximum range of 4GB available to the program no pages outside the user process are accessible switch into kernel mode (interrupts or system calls): need to recongure the MM reserve a chunk of the linear address space for the kernel memory management doesn't have to be recongured no easy access to usermode addresses need to do page table calculations in software or dynamically recongure MM 76/94

79 linear memory layout of a process xgb kernel Stack Mapping 0GB Heap BSS Data Text 77/94

80 linear memory layout multithreaded xgb kernel Stack Stack Stack 0GB Heap BSS Data Text 78/94

81 64 bit AMD: most widely used 64-bit architecture only 48 bits of the available 64 bits are supported. Further modes may become available in the future. two regions available: a higher half, growing downwards from 0xFFFFFFFFFFFFFFFF, typically used for the kernel lower half, growing upwards from 0x Addresses must be in canonical form must have the same value as bit 47 restricts programmers from misusing 79/94

82 64 bit 80/94

83 Virtual Memory basic paging: put pieces into any free location in memory What if we only load those parts of a program that are really used? Is this a good idea? You bet. typical oce software which of the millions of lines of code will you eectively be using? safe assuming that a large part of that code will not be of use to us, and thus not being used. no idea which will be the code pieces we want mechanism that takes care of that automatically 81/94

84 Virtual Memory Originally aiming at running software that uses more memory than available still true run huge software on a small machine lesser importance practically everybody can aord 4GByte RAM virtual memory allows us to keep dozens of processes concurrently active or run datacenters using virtual appliances 82/94

85 Virtual Memory Adding virtual memory doesn't require much one bit is sucient one bit of the PTE indicates, if the translation entry is valid if used by the MMU produces correct physical addresses for the given linear address valid bit or present bit MMU checks the valid bit in a PTE If 1, then the address translation is executed. If not, a page fault is thrown. 83/94

86 Virtual Memory Who sets the valid bit? The operating system does. loading data into RAM it maps the physical location, where the data actually is stored to the virtual address properly it sets the valid bit for all pages it maps, and only for those almost all that is needed to implement virtual memory. Almost... 84/94

87 Page Table Issues a typical 32-bit example assume (realistically) a page size of 4096 bytes 12 bits for the oset eld 20 bits for the page number could use less than the 20 bits would not utilise the full 4GB virtual address space. 85/94

88 Page Table Issues 20 bits for the page number 2 20 pages or (a binary million) page table has 2 20 entries they will need to be able to store the page frame number, likely of similar size PTE 4 bytes long full pagetable: 4MiB ~ 250 processes: 1 GB for pagetables 86/94

89 Page Table Issues hardware: takes the page number adds it to the start address of the page table fetch the PTE from memory page table will only be partially lled: still all entries are needed full page table needs to reside in memory 32-bit: 4 Mbytes 48-bit version of the AMD64-architecture; 2 36 pages - out of memory! 87/94

90 Page table issues get the pagetable out of memory good idea, most linear addresses (and thus their pages) are not needed two dierent ways multilevel pagetables inverted pagetables 88/94

91 Inverted pagetables size of the pagetable depends on the size of the linear address space size of the used part of the pagetable depends on the size of physical memory available table with one entry per page frame available in physical memory contains process id page number in the linear address space of the process size of the pagetable is xed irrespective of the number of processes inverted pagetable table lookup should be fast 89/94

92 PowerPC PowerPC-architecture uses 64bit linear addresses two page sizes 4kB larger, implementation dependent size between 2 13 and 2 28 hashed page table consisting dynamic number of Page Table Entry Groups (PTEG) PTEG contains eight PTEs of 16 bytes PTEGs are the starting point of PTE-searches 90/94

93 PowerPC (2) Two hashes are computed: primary hash secondary hash primary hash: XOR of a selection of bits of the Virtual Page Number together with some masking operations secondary hash: ones complement of the primary hash results in starting addresses for two PTEG PTEGs are checked if they translate the given virtual address If not, a page fault occurs doesn't necessarily mean that a PTE doesn't exist it just couldn't be found in the page table task of the operating system to react. 91/94

94 PowerPC 64 bit effective address ESID PageNr Offset SLBE 0 ESID V VSID Flags SLBE n VSID PageNr Offset HTABORG HTABMASK XOR AND PTEG 0 PTE0 PTE7 PTE0 PTE7 PTE0 PTE7 HTABORG PTEG n PTE0 PTE7 92/94

95 MIPS MIPS architecture: RISC architecture memory management is also as lightweight as possible MIPS doesn't support any page table structure 93/94

96 MIPS uses a TLB to cache 64 or more PTEs pagenumber cannot be found in the PTE TLB-miss-interrupt operating system can load the required PTE into the TLB up to the operating system to choose an ecient datastructure for the software page table 94/94

Main Memory. Memory. Address binding. Memory spaces. All processes need main memory.

Main Memory. Memory. Address binding. Memory spaces. All processes need main memory. Memory If we define memory as a place where data is stored there are many levels of memory: Processor registers Primary (or main) memory RAM Secondary memory slower and more permanent disks Tertiary memory

More information

W4118: segmentation and paging. Instructor: Junfeng Yang

W4118: segmentation and paging. Instructor: Junfeng Yang W4118: segmentation and paging Instructor: Junfeng Yang Outline Memory management goals Segmentation Paging TLB 1 Uni- v.s. multi-programming Simple uniprogramming with a single segment per process Uniprogramming

More information

CS5460: Operating Systems

CS5460: Operating Systems CS5460: Operating Systems Lecture 13: Memory Management (Chapter 8) Where are we? Basic OS structure, HW/SW interface, interrupts, scheduling Concurrency Memory management Storage management Other topics

More information

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging Memory Management Outline Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging 1 Background Memory is a large array of bytes memory and registers are only storage CPU can

More information

Virtual Memory. COMP375 Computer Architecture and Organization

Virtual Memory. COMP375 Computer Architecture and Organization Virtual Memory COMP375 Computer Architecture and Organization You never know when you're making a memory. Rickie Lee Jones Design Project The project is due 1:00pm (start of class) on Monday, October 19,

More information

Chapter 7 Memory Management

Chapter 7 Memory Management Operating Systems: Internals and Design Principles Chapter 7 Memory Management Eighth Edition William Stallings Frame Page Segment A fixed-length block of main memory. A fixed-length block of data that

More information

OPERATING SYSTEMS MEMORY MANAGEMENT

OPERATING SYSTEMS MEMORY MANAGEMENT OPERATING SYSTEMS MEMORY MANAGEMENT Jerry Breecher 8: Memory Management 1 OPERATING SYSTEM Memory Management What Is In This Chapter? Just as processes share the CPU, they also share physical memory. This

More information

OPERATING SYSTEM - MEMORY MANAGEMENT

OPERATING SYSTEM - MEMORY MANAGEMENT OPERATING SYSTEM - MEMORY MANAGEMENT http://www.tutorialspoint.com/operating_system/os_memory_management.htm Copyright tutorialspoint.com Memory management is the functionality of an operating system which

More information

Lecture 17: Virtual Memory II. Goals of virtual memory

Lecture 17: Virtual Memory II. Goals of virtual memory Lecture 17: Virtual Memory II Last Lecture: Introduction to virtual memory Today Review and continue virtual memory discussion Lecture 17 1 Goals of virtual memory Make it appear as if each process has:

More information

Memory management basics (1) Requirements (1) Objectives. Operating Systems Part of E1.9 - Principles of Computers and Software Engineering

Memory management basics (1) Requirements (1) Objectives. Operating Systems Part of E1.9 - Principles of Computers and Software Engineering Memory management basics (1) Requirements (1) Operating Systems Part of E1.9 - Principles of Computers and Software Engineering Lecture 7: Memory Management I Memory management intends to satisfy the following

More information

Virtual Memory and Address Translation

Virtual Memory and Address Translation Virtual Memory and Address Translation Review: the Program and the Process VAS Process text segment is initialized directly from program text section. sections Process data segment(s) are initialized from

More information

Operating Systems, 6 th ed. Test Bank Chapter 7

Operating Systems, 6 th ed. Test Bank Chapter 7 True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one

More information

COS 318: Operating Systems. Virtual Memory and Address Translation

COS 318: Operating Systems. Virtual Memory and Address Translation COS 318: Operating Systems Virtual Memory and Address Translation Today s Topics Midterm Results Virtual Memory Virtualization Protection Address Translation Base and bound Segmentation Paging Translation

More information

(page 0 of the address space) (page 1) (page 2) (page 3) Figure 12.1: A Simple 64-byte Address Space

(page 0 of the address space) (page 1) (page 2) (page 3) Figure 12.1: A Simple 64-byte Address Space 12 Paging: Introduction Remember our goal: to virtualize memory. Segmentation (a generalization of dynamic relocation) helped us do this, but has some problems; in particular, managing free space becomes

More information

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management. Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann

More information

Virtual Machines. COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361

Virtual Machines. COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361 s COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361 1 Virtualization! Create illusion of multiple machines on the same physical hardware! Single computer hosts multiple virtual machines

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

Intel microprocessor history. Intel x86 Architecture. Early Intel microprocessors. The IBM-AT

Intel microprocessor history. Intel x86 Architecture. Early Intel microprocessors. The IBM-AT Intel x86 Architecture Intel microprocessor history Computer Organization and Assembly Languages g Yung-Yu Chuang with slides by Kip Irvine Early Intel microprocessors Intel 8080 (1972) 64K addressable

More information

Unit 4.3 - Storage Structures 1. Storage Structures. Unit 4.3

Unit 4.3 - Storage Structures 1. Storage Structures. Unit 4.3 Storage Structures Unit 4.3 Unit 4.3 - Storage Structures 1 The Physical Store Storage Capacity Medium Transfer Rate Seek Time Main Memory 800 MB/s 500 MB Instant Hard Drive 10 MB/s 120 GB 10 ms CD-ROM

More information

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

CS 61C: Great Ideas in Computer Architecture Virtual Memory Cont. CS 61C: Great Ideas in Computer Architecture Virtual Memory Cont. Instructors: Vladimir Stojanovic & Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/ 1 Bare 5-Stage Pipeline Physical Address PC Inst.

More information

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine 7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change

More information

Memory unit sees only the addresses, and not how they are generated (instruction counter, indexing, direct)

Memory unit sees only the addresses, and not how they are generated (instruction counter, indexing, direct) Memory Management 55 Memory Management Multitasking without memory management is like having a party in a closet. Charles Petzold. Programming Windows 3.1 Programs expand to fill the memory that holds

More information

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

Paging: Introduction. 18.1 A Simple Example And Overview

Paging: Introduction. 18.1 A Simple Example And Overview 18 Paging: Introduction It is sometimes said that the operating system takes one of two approaches when solving most any space-management problem. The first approach is to chop things up into variable-sized

More information

& Data Processing 2. Exercise 3: Memory Management. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

& Data Processing 2. Exercise 3: Memory Management. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen Folie a: Name & Data Processing 2 3: Memory Management Dipl.-Ing. Bogdan Marin Fakultät für Ingenieurwissenschaften Abteilung Elektro-und Informationstechnik -Technische Informatik- Objectives Memory Management

More information

CPU Organization and Assembly Language

CPU Organization and Assembly Language COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:

More information

Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems

Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems 1 Any modern computer system will incorporate (at least) two levels of storage: primary storage: typical capacity cost per MB $3. typical access time burst transfer rate?? secondary storage: typical capacity

More information

File Systems Management and Examples

File Systems Management and Examples File Systems Management and Examples Today! Efficiency, performance, recovery! Examples Next! Distributed systems Disk space management! Once decided to store a file as sequence of blocks What s the size

More information

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how

More information

Virtual Memory. How is it possible for each process to have contiguous addresses and so many of them? A System Using Virtual Addressing

Virtual Memory. How is it possible for each process to have contiguous addresses and so many of them? A System Using Virtual Addressing How is it possible for each process to have contiguous addresses and so many of them? Computer Systems Organization (Spring ) CSCI-UA, Section Instructor: Joanna Klukowska Teaching Assistants: Paige Connelly

More information

Lecture 03 Bits, Bytes and Data Types

Lecture 03 Bits, Bytes and Data Types Lecture 03 Bits, Bytes and Data Types In this lecture Computer Languages Assembly Language The compiler Operating system Data and program instructions Bits, Bytes and Data Types ASCII table Data Types

More information

Lecture 25 Symbian OS

Lecture 25 Symbian OS CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview

More information

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool Outline CS 6V81-05: System Security and Malicious Code Analysis Overview of System ization: The most powerful platform for program analysis and system security Zhiqiang Lin Department of Computer Science

More information

Operating System Overview. Otto J. Anshus

Operating System Overview. Otto J. Anshus Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps

More information

Memory management in C: The heap and the stack

Memory management in C: The heap and the stack Memory management in C: The heap and the stack Leo Ferres Department of Computer Science Universidad de Concepción leo@inf.udec.cl October 7, 2010 1 Introduction When a program is loaded into memory, it

More information

a storage location directly on the CPU, used for temporary storage of small amounts of data during processing.

a storage location directly on the CPU, used for temporary storage of small amounts of data during processing. CS143 Handout 18 Summer 2008 30 July, 2008 Processor Architectures Handout written by Maggie Johnson and revised by Julie Zelenski. Architecture Vocabulary Let s review a few relevant hardware definitions:

More information

Memory Management 1. Memory Management. Multitasking without memory management is like having a party in a closet.

Memory Management 1. Memory Management. Multitasking without memory management is like having a party in a closet. Memory Management 1 Memory Management Multitasking without memory management is like having a party in a closet. Charles Petzold. Programming Windows 3.1 Programs expand to fill the memory that holds them.

More information

Introduction to Virtual Machines

Introduction to Virtual Machines Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity

More information

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines: Virtual Machines Uses for Virtual Machines Virtual machine technology, often just called virtualization, makes one computer behave as several computers by sharing the resources of a single computer between

More information

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng Slide Set 8 for ENCM 369 Winter 2015 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2015 ENCM 369 W15 Section

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Using Linux as Hypervisor with KVM

Using Linux as Hypervisor with KVM Using Linux as Hypervisor with KVM Qumranet Inc. Andrea Arcangeli andrea@qumranet.com (some slides from Avi Kivity) CERN - Geneve 15 Sep 2008 Agenda Overview/feature list KVM design vs other virtualization

More information

Board Notes on Virtual Memory

Board Notes on Virtual Memory Board Notes on Virtual Memory Part A: Why Virtual Memory? - Letʼs user program size exceed the size of the physical address space - Supports protection o Donʼt know which program might share memory at

More information

EE361: Digital Computer Organization Course Syllabus

EE361: Digital Computer Organization Course Syllabus EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices)

More information

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13 Virtualization Clothing the Wolf in Wool Virtual Machines Began in 1960s with IBM and MIT Project MAC Also called open shop operating systems Present user with the view of a bare machine Execute most instructions

More information

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note: Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the

More information

Whitepaper: performance of SqlBulkCopy

Whitepaper: performance of SqlBulkCopy We SOLVE COMPLEX PROBLEMS of DATA MODELING and DEVELOP TOOLS and solutions to let business perform best through data analysis Whitepaper: performance of SqlBulkCopy This whitepaper provides an analysis

More information

Chapter 12 File Management

Chapter 12 File Management Operating Systems: Internals and Design Principles Chapter 12 File Management Eighth Edition By William Stallings Files Data collections created by users The File System is one of the most important parts

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

More information

Virtualization. Explain how today s virtualization movement is actually a reinvention

Virtualization. Explain how today s virtualization movement is actually a reinvention Virtualization Learning Objectives Explain how today s virtualization movement is actually a reinvention of the past. Explain how virtualization works. Discuss the technical challenges to virtualization.

More information

W4118 Operating Systems. Instructor: Junfeng Yang

W4118 Operating Systems. Instructor: Junfeng Yang W4118 Operating Systems Instructor: Junfeng Yang Outline x86 segmentation and paging hardware Linux address space translation Copy-on-write Linux page replacement algorithm Linux dynamic memory allocation

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

In-memory Tables Technology overview and solutions

In-memory Tables Technology overview and solutions In-memory Tables Technology overview and solutions My mainframe is my business. My business relies on MIPS. Verna Bartlett Head of Marketing Gary Weinhold Systems Analyst Agenda Introduction to in-memory

More information

The Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example

The Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example The Deadlock Problem Deadlocks A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 tape drives. P 1 and P 2 each

More information

Virtual vs Physical Addresses

Virtual vs Physical Addresses Virtual vs Physical Addresses Physical addresses refer to hardware addresses of physical memory. Virtual addresses refer to the virtual store viewed by the process. virtual addresses might be the same

More information

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2) RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate

More information

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit. Objectives The Central Processing Unit: What Goes on Inside the Computer Chapter 4 Identify the components of the central processing unit and how they work together and interact with memory Describe how

More information

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

Memory management. Chapter 4: Memory Management. Memory hierarchy. In an ideal world. Basic memory management. Fixed partitions: multiple programs

Memory management. Chapter 4: Memory Management. Memory hierarchy. In an ideal world. Basic memory management. Fixed partitions: multiple programs Memory management Chater : Memory Management Part : Mechanisms for Managing Memory asic management Swaing Virtual Page relacement algorithms Modeling age relacement algorithms Design issues for aging systems

More information

OPERATING SYSTEM - VIRTUAL MEMORY

OPERATING SYSTEM - VIRTUAL MEMORY OPERATING SYSTEM - VIRTUAL MEMORY http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm Copyright tutorialspoint.com A computer can address more memory than the amount physically installed

More information

Memory Systems. Static Random Access Memory (SRAM) Cell

Memory Systems. Static Random Access Memory (SRAM) Cell Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled

More information

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer. Guest lecturer: David Hovemeyer November 15, 2004 The memory hierarchy Red = Level Access time Capacity Features Registers nanoseconds 100s of bytes fixed Cache nanoseconds 1-2 MB fixed RAM nanoseconds

More information

Traditional IBM Mainframe Operating Principles

Traditional IBM Mainframe Operating Principles C H A P T E R 1 7 Traditional IBM Mainframe Operating Principles WHEN YOU FINISH READING THIS CHAPTER YOU SHOULD BE ABLE TO: Distinguish between an absolute address and a relative address. Briefly explain

More information

CSE 30321 Computer Architecture I Fall 2009 Final Exam December 18, 2009

CSE 30321 Computer Architecture I Fall 2009 Final Exam December 18, 2009 CSE 30321 Computer Architecture I Fall 2009 Final Exam December 18, 2009 Test Guidelines: 1. Place your name on EACH page of the test in the space provided. 2. every question in the space provided. If

More information

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2 Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

More information

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level System: User s View System Components: High Level View Input Output 1 System: Motherboard Level 2 Components: Interconnection I/O MEMORY 3 4 Organization Registers ALU CU 5 6 1 Input/Output I/O MEMORY

More information

Computer Architecture

Computer Architecture Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 11 Memory Management Computer Architecture Part 11 page 1 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin

More information

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1 MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

More information

NAND Flash Memories. Understanding NAND Flash Factory Pre-Programming. Schemes

NAND Flash Memories. Understanding NAND Flash Factory Pre-Programming. Schemes NAND Flash Memories Understanding NAND Flash Factory Pre-Programming Schemes Application Note February 2009 an_elnec_nand_schemes, version 1.00 Version 1.00/02.2009 Page 1 of 20 NAND flash technology enables

More information

Chapter 12 File Management

Chapter 12 File Management Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access

More information

Outline: Operating Systems

Outline: Operating Systems Outline: Operating Systems What is an OS OS Functions Multitasking Virtual Memory File Systems Window systems PC Operating System Wars: Windows vs. Linux 1 Operating System provides a way to boot (start)

More information

Chapter 12 File Management. Roadmap

Chapter 12 File Management. Roadmap Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access

More information

A Unified View of Virtual Machines

A Unified View of Virtual Machines A Unified View of Virtual Machines First ACM/USENIX Conference on Virtual Execution Environments J. E. Smith June 2005 Introduction Why are virtual machines interesting? They allow transcending of interfaces

More information

An Implementation Of Multiprocessor Linux

An Implementation Of Multiprocessor Linux An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than

More information

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software

More information

Filing Systems. Filing Systems

Filing Systems. Filing Systems Filing Systems At the outset we identified long-term storage as desirable characteristic of an OS. EG: On-line storage for an MIS. Convenience of not having to re-write programs. Sharing of data in an

More information

Linux Driver Devices. Why, When, Which, How?

Linux Driver Devices. Why, When, Which, How? Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may

More information

Chapter 7 Memory Management

Chapter 7 Memory Management Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 7 Memory Management Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Memory Management Subdividing

More information

7 Operating Systems. Source: Foundations of Computer Science Cengage Learning. After studying this chapter, the student should be able to:

7 Operating Systems. Source: Foundations of Computer Science Cengage Learning. After studying this chapter, the student should be able to: 7 Operating Systems 7.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 7.2 Understand the role of the operating system.

More information

3 - Introduction to Operating Systems

3 - Introduction to Operating Systems 3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and

More information

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013 CS5460: Operating Systems Lecture: Virtualization 2 Anton Burtsev March, 2013 Paravirtualization: Xen Full virtualization Complete illusion of physical hardware Trap _all_ sensitive instructions Virtualized

More information

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor? Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor? Mr. Jacob Torrey February 26, 2014 Dartmouth College 153 Brooks Road, Rome, NY 315.336.3306 http://ainfosec.com @JacobTorrey

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are

More information

Computer Engineering and Systems Group Electrical and Computer Engineering SCMFS: A File System for Storage Class Memory

Computer Engineering and Systems Group Electrical and Computer Engineering SCMFS: A File System for Storage Class Memory SCMFS: A File System for Storage Class Memory Xiaojian Wu, Narasimha Reddy Texas A&M University What is SCM? Storage Class Memory Byte-addressable, like DRAM Non-volatile, persistent storage Example: Phase

More information

The Classical Architecture. Storage 1 / 36

The Classical Architecture. Storage 1 / 36 1 / 36 The Problem Application Data? Filesystem Logical Drive Physical Drive 2 / 36 Requirements There are different classes of requirements: Data Independence application is shielded from physical storage

More information

Operating System Structures

Operating System Structures Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.

More information

Chapter 2: Computer-System Structures. Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture

Chapter 2: Computer-System Structures. Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture Chapter 2: Computer-System Structures Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture Operating System Concepts 2.1 Computer-System Architecture

More information

Memory Management CS 217. Two programs can t control all of memory simultaneously

Memory Management CS 217. Two programs can t control all of memory simultaneously Memory Management CS 217 Memory Management Problem 1: Two programs can t control all of memory simultaneously Problem 2: One program shouldn t be allowed to access/change the memory of another program

More information

Measuring Cache Performance

Measuring Cache Performance Measuring Cache Performance Components of CPU time Program execution cycles Includes cache hit time Memory stall cycles Mainly from cache misses With simplifying assumptions: Memory stall cycles = = Memory

More information

I/O. Input/Output. Types of devices. Interface. Computer hardware

I/O. Input/Output. Types of devices. Interface. Computer hardware I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in

More information

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

Embedded x86 Programming: Protected Mode

Embedded x86 Programming: Protected Mode by JEAN GAREAU Embedded x86 Programming: Protected Mode The x86 architecture is ubiquitous on the desktop and is spilling over into embedded systems environments. This article begins a series designed

More information

VIRTUAL MEMORY IN CONTEMPORARY MICROPROCESSORS

VIRTUAL MEMORY IN CONTEMPORARY MICROPROCESSORS VIRTUAL MEMORY IN CONTEMPORARY MICROPROCESSORS THIS SURVEY OF SIX COMMERCIAL MEMORY-MANAGEMENT DESIGNS DESCRIBES HOW EACH PROCESSOR ARCHITECTURE SUPPORTS THE COMMON FEATURES OF VIRTUAL MEMORY: ADDRESS

More information

1 Storage Devices Summary

1 Storage Devices Summary Chapter 1 Storage Devices Summary Dependability is vital Suitable measures Latency how long to the first bit arrives Bandwidth/throughput how fast does stuff come through after the latency period Obvious

More information

Sistemi Operativi. Lezione 25: JOS processes (ENVS) Corso: Sistemi Operativi Danilo Bruschi A.A. 2015/2016

Sistemi Operativi. Lezione 25: JOS processes (ENVS) Corso: Sistemi Operativi Danilo Bruschi A.A. 2015/2016 Sistemi Operativi Lezione 25: JOS processes (ENVS) 1 JOS PCB (ENV) 2 env_status ENV_FREE: Indicates that the Env structure is inactive, and therefore on the env_free_list. ENV_RUNNABLE: Indicates that

More information