Operating Systems Part M15 Virtual Memory, Shared Libraries, Microkernels, Sandboxing and Virtualization. Florina Ciorba 24 November 2015
|
|
- Melvyn Stevenson
- 7 years ago
- Views:
Transcription
1 Operating Systems Part M15 Virtual Memory, Shared Libraries, Microkernels, Sandboxing and Virtualization Florina Ciorba 24 November 2015
2 Today s Overview (Main) Memory management Shared libraries Compiling, Linking, Loading Microkernel (continuation) Virtualization (intro) Operating Systems Concepts 2
3 New Chapter: (Main) Memory Management Idealized memory management for Unix (example Linux) Kernel Virtual Memory Stack Memory-mapped region Memory-mapped region Memory-mapped region Run-time data Uninitialised data Initialised data Program text Memory invisible to user mode code the brk pointer Linux: Linear address space Regions: code (text) initialized variables (data) uninitialized variables (bss) Heap (dynamic allocation) Libraries Stack (FILO) Kernel Forbidden region Operating Systems Concepts 3
4 Main Memory Management: Problem Statement Limited physical memory, often too small Representation of logical (memory) address space onto the physical memory When is one memory address represented as a memory cell? Compilation, linking Program loading Program execution Virtual memory: Binding is achieved at run time which has to be translated by the hardware (for every access) Operating Systems Concepts 4
5 Repetition: Swapping Swapping = Storing of an (entire) process on the disk Unix: Swap partition, Windows: swap file operating system 1 swap out process P 1 2 swap in process P 2 user space backing store main memory Operating Systems Concepts 5
6 Virtual Memory Virtual memory = separation of logical memory from the physical memory possibilities (RAM, hard disk) Operating Systems Concepts 6
7 Virtual Memory (Continued) Execute processes whose memory footprint is larger than the main memory (RAM) Memory parts of a process can be found In physical memory (RAM) On the hard disk (swap space) Transfer between hard disk and main memory Swapping vs (demand) paging Which program/ page is in main/secondary memory? When to transfer which program/page? Operating Systems Concepts 7
8 Memory Management: Paging In a multiprogramming system Multiple processes live at the same time in memory (co-exist) Upon execution of a program the created memory zones are not contiguous: How can they be merged? Partition physical memory in frames and logical memory in pages (size 0.5 until 4 KB) Map logical page areas to physical frames Address translation Operating Systems Concepts 8
9 Memory Management: Paging (Continued) Paging = Memory management for non contiguous (virtual) memory logical address physical address Mapping of pages (memory pages ) to frames (memory frames ) Page Table CPU p d f d p physical memory Address translation via hardware: memory management unit (MMU) f page table Operating Systems Concepts 9
10 Memory Management: Page Table (Example) frame number page 0 0 page page 0 page page 3 page table 3 page 2 logical memory 4 page page 3 physical memory Operating Systems Concepts 10
11 Memory Management: Page Table Implementation Page table itself needs 1 frame, remains in main memory (RAM) Is read by the MMU (memory management unit) at each memory access Content of a page table entry Attribute (mapped or not, read-only, swapped) frame number (or block number in case it is deposited on hard disk) Now dual memory access! Dual cache directory (reverse table of the cache) Accessible with physical memory addresses Contains a backpointer to the cache line Cache required: TLB (translation look-aside buffer) Operating Systems Concepts 11
12 Valid/Accessed/Dirty Bits Page table for book keeping Until now in the page table: frame number Additional attributes present-bit (i.e., mapped to main memory) Otherwise: invalid, or on the hard disk #define _PAGE_PRESENT 0x001 #define _PAGE_PSE 0x080 #define _PAGE_RW 0x002 #define _PAGE_GLOBAL 0x100 #define _PAGE_USER 0x004 #define _PAGE_UNUSED1 0x200 #define _PAGE_PWT 0x008 #define _PAGE_UNUSED2 0x400 #define _PAGE_PCD 0x010 #define _PAGE_UNUSED3 0x800 #define _PAGE_ACCESSED 0x020 #define _PAGE_FILE 0x040 #define _PAGE_DIRTY 0x040 Operating Systems Concepts 12
13 Memory Management: Multilevel Page Tables The page tables are too large in the case of large virtual memory 2 GB with 4 KB pages: 0.5 M entries Each process needs its own page table Therefore, multilevel page tables Allow holes similar to sparse files (see next slide) Similar to index file allocation scheme (last lecture) Operating Systems Concepts 13
14 Memory Management: Multilevel Page Tables (Cont.) 0. outer-page table page of page table page table memory Operating Systems Concepts 14
15 Memory Management: Multilevel Page Tables (Cont.) Example 4 KB pages, 32-bit architecture (32-bit addresses) Distribution Page number: 20 bits Page offset: 12 bits Page number in two parts each 10 bits: addr (32 bits) = p1 (10 bits) p2 (10 bits) offs (12 bits) p1: Index in outer page table p2: Index in inner page referenced via p1 Operating Systems Concepts 15
16 Memory Management: Tricks with Page Tables Shared pages (shared code, shared memory) Available only one time in physical memory Appears multifold in the process address space Memory protection Each process has its own virtual memory Access outside of allocated zones program termination Dynamic distribution Stack and heap: brk limit Swapping Store individual pages on the hard disk, while info in the page table ( frame in main physical memory) Operating Systems Concepts 16
17 Memory Management: Segments / Pages Segment concept Various zones (code, data), therefore segments Address = segment descriptor + offset CPU keeps track of multiple segments: segment table (Physical) location of the stack segments, code segments, OS segments, etc. Implicit referencing: stack segment, code segment Intel x86 architecture Since x286: segments Since x386: paged segments Linux: linear address space (only one segment) Operating Systems Concepts 17
18 Page Fault Virtual memory is larger than physical memory Hardware (MMU) identifies access on not mapped pages Page fault trap is raised Operating system can investigate basic causes Invalid address area (zone)? This can be important (multiple zones) Otherwise demand paging : page will be fetched from hard disk Operating Systems Concepts 18
19 Process of a Page Fault hard disk user program main memory Operating Systems Concepts 19
20 Page Fault Handling: Challenges Requires restart of the command/instruction Simplest case: Page fault due to an operand First fetch the page, then execute the instruction (e.g., previous slide) Harder case: Page fault due to a result Operation needs to be re-executed Problems with page effects (e.g., Y++) Further larger page effects can be envisioned Copy operations of the entire memory area (e.g., perform partial copy backwards?) Operating Systems Concepts 20
21 Paged Kernel Memory? Can parts of the OS be paged? Yes! For data (e.g., data buffers) In principle also possible for code Performance, etc. Operating Systems Concepts 21
22 Copy-On-Write (COW) Process start under Unix fork() Creates a child process out of the parent process Only the memory map is copied, not the content Reference to shared information Page tables of both processes point to the same memory In addition The RW flag will be removed (this means read only page ) At the next page fault The child process prepares own copy The parent process re-sets the RW flag Operating Systems Concepts 22
23 On Demand Paging Pages are loaded only when they are required. Process start Initialize memory map Fill data area Load only first (code) pages Hand over control to process Further (code) pages will be fetched on demand Operating Systems Concepts 23
24 Quote Introduced at the Beginning of the Lecture The Linux memory manager implements demand paging with a copy-on-write strategy relying on the 386 s paging support. A process acquires its page tables from its parent (during a fork()) with the entries marked as read-only or swapped. Then, if the process tries to write to that memory space, and the page is a copy-on-write page, it is copied, and the page is marked read-write. An exec() results in the reading in of a page or so from the executable. The process then faults in any other pages it needs. Linux Kernel Hacker s Guide 0.5 Operating Systems Concepts 24
25 On Demand Paging Page Replacement Multiprogramming: Competition for free frames Multiple programs are active Which one receives how many (physical) frames? Which pages will be fetched from hard disk? Activity and age of a page Which pages were sampled (ACCESSED Bit)? Determine the least recently used (LRU) page Various algorithms to approximate LRU (full LRU would be too expensive) Operating Systems Concepts 25
26 Thrashing Paging works due to locality One process usually works with only a few pages These pages move slowly When a process has too few pages in main memory (while the others are on the hard disk) High page-fault rate low CPU utilization Thrashing: insufficient locality of reference A process is busy with paging (in and out) Physical memory insufficient Disk access times overly long Also affects other processes (less CPU and I/O bandwidth) Computer performance degrades or collapses Operating Systems Concepts 26
27 Thrashing (Continued) CPU utilization thrashing degree of multiprogramming Thrashing behavior can be provoked by a simple program Define a large array (> physical main memory) Perform randomized access to individual elements of the array Operating Systems Concepts 27
28 Compiling, Linking, Loading Compiling: produces object code Certain addresses are still to be determined (external functions) Certain addresses still need to be processed (relocation) Linking: produces a binary Solves unresolved external references Classic: static linking Loading: loading of the (binary) program into the main memory (RAM) Memory allocation (eventually only few pages usually code, if paging on demand) Relocation Operating Systems Concepts 28
29 Shared Libraries, Overview of Variants This is code reuse/sharing: Similar to file sharing (last lecture) Advantages of shared libraries: shared objects (*.so, *.dylib) Same (physical) memory for multiple processes Simple system-wide upgrade (change one file, no recompilation or relinking) Additional definitions after compiling, linking, and loading Dynamic loading Dynamic linking Operating Systems Concepts 29
30 Optimization: Dynamic Loading Binaries can become very large due to (shared) libraries: lazy loading Better memory usage Do not load unused subroutines Implementation Caller checks first whether routine is already loaded If not, the run time loader is called Run time loader updates internal address table The call to the routine can be made No OS support required: Linker (which produces the binaries) can implement this itself. Operating Systems Concepts 30
31 Optimization: Dynamic Linking Multiple programs use the same subroutine, which are only stored once in main memory: lazy linking OS needs to provide support (separate address spaces) Keeps track of all loaded libraries in a list Takes precautions at link time Library call goes to a substitute routine ( stub ) Stub must first locate or even load the subroutine Afterwards, replace the stub Followed by direct jump into the routine Operating Systems Concepts 31
32 Dynamic Linking Implementation Linux OS needs to know the location of libraries: ldconfig and /etc/ld.so.conf (Unix) dyldinfo (Mac OS X) See also ld.so (dynamic linker/loader) To analyze the resolute process: ldd or otool -L Windows: DLL (dynamically linked library) Operating Systems Concepts 32
33 End of Memory Management: Memory Mapping Further tricks using memory mapping Shared memory Fast inter-process communication (IPC) No copying as with pipes Memory mapped files All data represented in memory Paging takes care that only required blocks are in fact loaded Operating Systems Concepts 33
34 Microkernel Recall? Monolithic operating system: A large program that comprises all kernel functions Microkernel Small software with overview over the hardware This allows the OS parts to work together Advantage (and prerequisite) Smaller, modular, and more portable kernel Disadvantage Loss of speed due to the modules borders Operating Systems Concepts 34
35 Microkernel (Continuation) OSF/1 OS/2 4.3 BSD HPUX database system tasks and threads IPC virtual memory scheduling Mach Concurrently run multiple larger OS kernels! (OS personality) Operating Systems Concepts 35
36 The MACH Microkernel (1983) Goals Support for SMP (parallel Unix) Modularization of Unix Unix variants can simultaneously drive Communication between components or ports and message exchange System call = Send message to the kernel Exception = Send message to a task Tasks can execute on multiple CPUs, eventually coupled through a network Operating Systems Concepts 36
37 MACH (Continued) Unix main module Runs as module (process) outside of the microkernel! In addition (as parallel user space processes) File system server module Access to the Unix file system Memory manager (!) Responsible for paging and swapping Unix server Responsible for processes, permissions, libraries, etc. User processes Operating Systems Concepts 37
38 MACH: System Call for Unix Trampoline technique: Library can decide on its own how it wants to work through an SVC. Operating Systems Concepts 38
39 Distributed OS vs Network OS Adoption: Network (this means no SMP here) Distributed OS (Mach, Chorus) The OS functionality is in itself distributed Illusion of a single computer (single login) Network OS Each computer has a copy of the OS Login required on every machine Common file system, password file, etc. Another name: Cluster Operating Systems Concepts 39
40 Virtualization Definition Virtualization = Framework, in which the computing resources are either combined and/or distributed, to give a uniform picture of one or more environments Examples of virtualization Time sharing Virtual memory (Partial) Simulation or emulation of a CPU General concept Map M real resources to N virtual resources, N usually larger than M Operating Systems Concepts 40
41 Applications of Virtualization Administration of server pools, application pools, Cloud! Sandboxing (isolation, controlled execution environment) Development (virtual HW) Replacement of failing HW Debugging Software emigration (mobility) SW Test, SW Evaluation, SW Quality Control Operating Systems Concepts 41
42 What Have We Learned Today? Shared libraries Compiling, Linking, Loading Microkernel (continuation) Virtualization (intro) Operating Systems Concepts 42
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 informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationMemory 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 informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationVirtual 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 informationOperating 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 informationHow To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationCS5460: 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 informationLecture 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 informationOPERATING 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 informationCS 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 informationW4118: 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 informationTechnical 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 informationELEC 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 informationMemory 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 informationChapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
More informationKernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
More informationVirtual 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 informationOPERATING 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 informationObjectives. 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 informationMemory 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 informationIntel P6 Systemprogrammering 2007 Föreläsning 5 P6/Linux Memory System
Intel P6 Systemprogrammering 07 Föreläsning 5 P6/Linux ory System Topics P6 address translation Linux memory management Linux page fault handling memory mapping Internal Designation for Successor to Pentium
More informationCS 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 informationCOS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms
More informationHow do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself
How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,
More informationUses 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 informationChapter 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 informationOperating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
More informationOperating 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 informationTools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
More informationOPERATING 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 informationReview from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
More informationVirtual 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 informationCOS 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 informationOperating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Outline Introduction What is an OS? Concepts Processes
More informationOutline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit
More informationOperating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
More informationMicrokernels, virtualization, exokernels. Tutorial 1 CSC469
Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,
More informationCloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
More informationVirtualization in Linux KVM + QEMU
CS695 Topics in Virtualization and Cloud Computing KVM + QEMU Senthil, Puru, Prateek and Shashank 1 Topics covered KVM and QEMU Architecture VTx support CPU virtualization in KMV Memory virtualization
More informationFull and Para Virtualization
Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels
More informationChapter 5 Cloud Resource Virtualization
Chapter 5 Cloud Resource Virtualization Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. Performance and security isolation. Architectural support for virtualization.
More informationOperating System Components
Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary
More informationMemory 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 informationVirtual Memory. Virtual Memory. Paging. CSE 380 Computer Operating Systems. Paging (1)
Virtual Memory CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note: Virtual Memory (revised version) 1 Recall: memory allocation with variable partitions
More informationIntroduction. 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 informationCIS 551 / TCOM 401 Computer and Network Security
CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 3 1/18/07 CIS/TCOM 551 1 Announcements Email project groups to Jeff (vaughan2 AT seas.upenn.edu) by Jan. 25 Start your projects early!
More informationBuilding Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
More informationComputer Science 4302 Operating Systems. Student Learning Outcomes
Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced
More informationW4118 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 informationChapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
More informationSystem Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
More informationThe 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 informationCSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu
More informationPeter J. Denning, Naval Postgraduate School, Monterey, California
VIRTUAL MEMORY Peter J. Denning, Naval Postgraduate School, Monterey, California January 2008 Rev 6/5/08 Abstract: Virtual memory is the simulation of a storage space so large that users do not need to
More informationComputer 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 informationAn 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 informationVirtual Memory Behavior in Red Hat Linux Advanced Server 2.1
Virtual Memory Behavior in Red Hat Linux Advanced Server 2.1 Bob Matthews Red Hat, Inc. Kernel Development Team Norm Murray Red Hat, Inc. Client Engineering Team This is an explanation of the virtual memory
More informationVirtualization. Types of Interfaces
Virtualization Virtualization: extend or replace an existing interface to mimic the behavior of another system. Introduced in 1970s: run legacy software on newer mainframe hardware Handle platform diversity
More informationCS161: Operating Systems
CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
More informationLecture 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 informationA3 Computer Architecture
A3 Computer Architecture Engineering Science 3rd year A3 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/3co Michaelmas 2000 1 / 1 6. Stacks, Subroutines, and Memory
More informationOperating Systems. Virtual Memory
Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page
More informationOperating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
More informationChapter 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 informationCOS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
More informationOutline. 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 informationOperating 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 informationIntroduction 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 information6.033 Computer System Engineering
MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.033 Lecture 3: Naming
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationCS 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 informationMODULE 3 VIRTUALIZED DATA CENTER COMPUTE
MODULE 3 VIRTUALIZED DATA CENTER COMPUTE Module 3: Virtualized Data Center Compute Upon completion of this module, you should be able to: Describe compute virtualization Discuss the compute virtualization
More informationOperating System Structure
Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural
More informationPrinciples and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
More informationChapter 12. Paging an Virtual Memory Systems
Chapter 12 Paging an Virtual Memory Systems Paging & Virtual Memory Virtual Memory - giving the illusion of more physical memory than there really is (via demand paging) Pure Paging - The total program
More informationThis tutorial will take you through step by step approach while learning Operating System concepts.
About the Tutorial An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component
More informationOperating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
More informationVMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D
ware and CPU Virtualization Technology Jack Lo Sr. Director, R&D This presentation may contain ware confidential information. Copyright 2005 ware, Inc. All rights reserved. All other marks and names mentioned
More informationCPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
More informationCS420: Operating Systems OS Services & System Calls
NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,
More informationPikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow
PikeOS: Multi-Core RTOS for IMA Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow Contents Multi Core Overview Hardware Considerations Multi Core Software Design Certification Consideratins PikeOS Multi-Core
More informationChapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
More informationPOSIX. 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 informationSecurity Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
More informationOperating Systems: Basic Concepts and History
Introduction to Operating Systems Operating Systems: Basic Concepts and History An operating system is the interface between the user and the architecture. User Applications Operating System Hardware Virtual
More informationArchitecture of the Kernel-based Virtual Machine (KVM)
Corporate Technology Architecture of the Kernel-based Virtual Machine (KVM) Jan Kiszka, Siemens AG, CT T DE IT 1 Corporate Competence Center Embedded Linux jan.kiszka@siemens.com Copyright Siemens AG 2010.
More informationAmoeba Distributed Operating System
Amoeba Distributed Operating System Matt Ramsay Tim Kiegel Heath Memmer CS470 Case Study Paper 4/19/02 Amoeba Introduction The Amoeba operating system began as a research project at Vrije Universiteit
More informationRed Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
More informationPage 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 informationOPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
More informationVirtualization for Cloud Computing
Virtualization for Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF CLOUD COMPUTING On demand provision of computational resources
More informationXen and the Art of. Virtualization. Ian Pratt
Xen and the Art of Virtualization Ian Pratt Keir Fraser, Steve Hand, Christian Limpach, Dan Magenheimer (HP), Mike Wray (HP), R Neugebauer (Intel), M Williamson (Intel) Computer Laboratory Outline Virtualization
More informationLinux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah payberah@yahoo.com Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
More informationMulti-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
More informationCSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
More informationSystem Virtual Machines
System Virtual Machines Introduction Key concepts Resource virtualization processors memory I/O devices Performance issues Applications 1 Introduction System virtual machine capable of supporting multiple
More information