Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.
|
|
|
- Ursula McLaughlin
- 10 years ago
- Views:
Transcription
1 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 Wolfgang Goethe-University Frankfurt a M Functions Processes States t and elements Scheduling Inter-Process-Communication (IPC) Memory Management Mapping Paging Segmentation Examples Virtual Machines Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 1 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 2 Mobile Operating Systems Technical Properties What is an operating system (OS)? An OS is a program that serves as a mediator between the user and the hardware It enables the users to execute programs Other properties: p Multi-user, multi-thread, high availability, real-time, Primary goal of an OS: Easy usage of the actual hardware Secondary goal of an OS: Efficient i usage of the hardware Operating System (OS) features: Memory protection, file protection, access controls Security module support, secure input and output, protection of applications and the system s integrity Resource sharing: o Memory (RAM, storage) o Central Processing Unit (CPU) o Input / Output t devices (I/O) Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 3 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 4
2 Functions of the Operating System Operating System Controlling of the resources: Computation time, real-time processing: Who is computing how much? How long does it take? Memory (RAM, Disk): Who gets which part of the memory? Security functions: Protection of the data (memory, hard disk): Who is allowed to access resources? Process protection (computation time, code, isolation): Who is allowed to compute? Communication: Allocation of I/O-Resources Processing of the communication User interface (UI) Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 5 User 1 User 2 User 3 User n Compiler Assembler Text Editor Database System System and Application Programs Operating system Computer Hardware Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 6 Overview Concepts of Mobile Operating Systems Functions Processes States t and elements Scheduling Inter-Process-Communication (IPC) Memory Management Mapping Paging Segmentation Examples Virtual Machines Questions Several programs (processes) can run simultaneously & concurrently on an OS: How are processes managed in a system with regard to processing time, memory, etc? Which process is allowed to access resources when? How are resources (I/O) (/ shared among processes? How do processes exchange data among each other? Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 7 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 8
3 Process A process is a program in operation A process uses resources, such as CPU time, memory, files, and I/O devices The resources of a process are allocated while it is created or when it is running The operating system has to manage the process (creation, resource distribution, etc) More than simple code! Components of a Process Program counter: Indicates on which point in the code the process resides Contents of the process registers: Stack: Contains temporary data, such as subroutine parameters or return addresses, etc Data section: Contains the global variables Heap: Dynamically allocated memory Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 9 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 10 States of a Process States of a Process new admitted I/O or event completion ready interrupt scheduler dispatch exit running I/O or event wait terminated New: Process is created Ready: Process is waiting for being executed Running: Process is running Waiting: Process is waiting for results: Completion of an I/O-operation An event Terminated: Process is terminated waiting Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 11 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 12
4 Abstracted View on a Process: Process Control Block (PCB) Abstracted View on a Process: Process Control Block (PCB) Abstracted representation of the contents of a process control block (PCB), needed by an operating system process pointer state process number program counter registers memory limits list of open files Process State: new, ready, running, waiting, Program Counter: Address of the next command to be executed CPU Registers: Accumulator, Index Register, Stack Pointer and general registers Information for: CPU-Scheduling Memory-Management Accounting I/O Status Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 13 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 14 Scheduling Scheduling in Queues Multiprogramming: Several processes are being run in parallel for: ready queue CPU Maximisation of the CPU usage Enabling users to operate several programs simultaneously Enabling several users to work on the same machine simultaneously On a CPU only one process is running at a time The process switching must be fast, to enable the user to interact with all running programs Queues are used to handle this task I/O I/O queue child executes interrupt is being handled I/O request time slice expired fork a child interrupt based on Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 15 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 16
5 Scheduling Algorithms Scheduling Criteria If the CPU is idle (no process is running), the scheduler invokes a process from the ready-queue to be run on the CPU There are different methods (algorithms) to make the choice, which process to invoke Methods are optimised towards different criteria CPU utilisation: The goal is to maximise the CPU usage Throughput: Number of finished processes per time unit Turnaround-time: Time interval between the beginning and the end of a process Latency time: Sum of all the waiting time of all processes in the queue Response time: Time span of a process to answer a user's request and to generate the answer Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 17 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 18 First Come, First Serve (FCFS) Shortest Job First Processes are executed by the CPU one after another in order of their occurrence FIFO-principles (First In First Out) Pros/Cons: The throughput is not optimal Average response time is very high No optimal utilisation of the CPU (Convoy- Effect) Not appropriate for Time-Sharing-Systems Systems The processes are executed in order of their execution time Processes that can be finished fast are executed first Pros/Cons: Optimal with regard to the average latency time Not fair Complex processes can starve to death Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 19 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 20
6 Priority Scheduling Processes get an assigned priority number Process execution in the order of the assigned priority Deadlocks or starvation of processes with low priority numbers is possible Aging: i Gradually raising i the priority i of a process Round Robin Scheduling Especially used for Time-Sharing-Systems Systems and one of the simplest scheduling algorithms Similar to FCFS, assigning time slices of a time interval to a process being held in the scheduling queue After the time slice of a process is expired, the CPU is revoked from the process and the process is placed at the end of the scheduling queue The efficiency of this method depends on the size of a time interval Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 21 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 22 Inter-Process-Communication Processes are able to interact with each other (data exchange) Several methods are possible Direct or indirect Symmetric or asymmetric Automatic ti or by explicit it buffering Handover as copy or reference Fixed or variable size of communication packet Overview Concepts of Mobile Operating Systems Functions Processes States t and elements Scheduling Inter-Process-Communication (IPC) Memory Management Mapping Paging Segmentation Examples Virtual Machines Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 23 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 24
7 Memory Management Mapping Logical vs Physical Addresses The CPU retrieves instructions from the memory depending on the program counter Thereby it might be necessary to read or write data from certain memory-addresses addresses The operating system has an address space where the data and the programs reside The whereabouts of a process in the memory can be unknown by the time of the actual programming Usage of symbolic addresses during programming g that get mapped to physical addresses later on (Mapping) Binding: The conversion of symbolic addresses to logical addresses in the memory of an operating system Logical Addresses: Generated by the CPU Physical Addresses: Sent to the memory unit Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 25 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 26 Mapping Memory Management Unit Mapping Relocation Register The mapping is done by a so called MMU (Memory Management Unit) Usage of a relocation register that contains the base address for a process The base address is added to the logical address, resulting in the physical address CPU logical address 346 relocation register physical address memory MMU Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 27 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 28
8 Mapping Limit Register Mapping Limit Register The memory of a system also contains the actual operating system The access of other processes onto the code of the operating systems needs to be prevented Furthermore, the processes need to be protected against each other CPU logical address limit register < no yes relocation register + physical address memory Solution: Usage of so called Limit Registers trap: addressing error Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 29 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 30 Paging Overview The memory contains several processes of varying size When a process is loaded or removed from the memory, the free memory will be fragmented One solution is the so called paging, putting the process into several separate memory chunks of a defined size, instead of putting it into the memory in one single piece Paging Overview The physical memory is divided into blocks of a defined size, the so called frames The logical memory gets divided into blocks of the same size, the so called (memory) pages Every address created by a CPU is divided into a page number [p] and an offset [d] The page number is used as the index for the page table, containing the base address for all (memory) pages The base address is combined with the offset resulting in the physical address Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 31 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 32
9 Paging Schematics Segmentation Overview CPU logical address physical address p d f d p Search f Base Address (p) physical memory The memory is partitioned into segments of variable length Every segment has a name and a defined d length A segment table is used to store the base address and the limit of the segments The logical address consists of a segment number [s] and the offset [d] page table Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 33 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 34 Segmentation Schematics Windows XP Memory Map s FFFF FFFF CPU s d limit base yes < + no memory System Reserved (kernel mode space) Ati Active Active Process Process Active Active Process Process Active Process Application Space Trap: addressing error Active Process [Hall2002] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 35 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 36
10 Windows CE Memory Map Windows CE Memory Map FFFF FFFF FFFF FFFF System Reserved (kernel mode space) Large Memory Area (memory mapped files) Reserved Active Active Process Process Active Active Process Process Application Active Active Process Process Space [Hall2002] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security E System Reserved (kernel mode space) Large Memory Area (memory mapped files) Slot 32 Slot 31 Process 32 Process 31 Slot 3 Process 3 Slot Active 2 Process 2 Active Slot 1 Process Active Active Process Process 1 Application Active Active Process Process Slot 0 Space Act Process Detailed View [Hall2002] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 38 System Memory Map Application Memory Map (Slot 0) Memory (RAM) is divided into 33 slots One process per slot Slot 1 to slot 32 A process only has access to his own slot o and to slot 0, when it is active Active process is placed into slot 0 Remaining memory is shared 01FF FFFF Solid lines are on 64K boundaries Dashed lines are on page boundaries COREDLLDLL Other DLLs Free virtual space Stack (reserved space) Heap (reserved space) Resources Read write data Read only data Code EXE Image (demand paged) Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security reserved [Hall2002] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 40
11 Virtual Memory Maximum of 32 MB for virtual memory Virtual memory is used for the code and the data Memory is: Allocated on the basis of pages Reserved din blocks of f64 KB Dynamic Link Libraries (DLL) Software library, containing a collection of functions and sub-programs that can be used by other independent programs This methodology offers the following advantages: Reutilisation of existing code Distribution of the development process Etc Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 41 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 42 DLL Load Positioning DLL Load Positioning 01FF FFFF COREDLLDLL Other DLLs DLL A DLL B COREDLLDLL Other DLLs DLL A DLL D COREDLLDLL Other DLLs DLL A DLL C DLL C Stack Stack Stack Heap Heap Heap Code Code Code Any DLL being loaded by any process allocates memory of other processes, regardless if the DLL is used by other processes or not The address, the DLL is loaded to, is dependent on the other DLLs being loaded by other processes All DLLs are loaded/stored into memory blocks of 64K The more DLLs are loaded, the bigger is the problem reserved reserved reserved [Hall02] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 43 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 44
12 Solution in Windows CE NET Windows CE NET solves the DLL load problem by modifying the memory map The kernel (NKEXE) is relocated from slot 1 into the kernel space starting from address 0xC Slot 1 is used for the DLLs: Is connected with all applications for slot 0 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 45 NK moved FFFF FFFF C E NK Slot Kernel Space Large Memory Area (memory mapped files) Slot 32 Process 31 Slot 31 Process Slot 3 Slot 2 Slot 1 Slot 0 Windows CE NET Memory Map Process 2 Process 1 DLLs Act Process [Hall2002] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 46 Windows CE NET Application Memory Map Application Memory Map 03FF FFFF COREDLLDLL Other XIP DLLs Windows CE NET Application Memory Map 01FF FFFF XIP DLL space RAM based DLLs Free virtual space DLL Space (Constant t for all applications) Application memory is now extended to 64 MB DLLs are loaded into the upper 32 MB Executable (EXE) code, heaps and stacks are using the lower 32 MB There is no possibility for loaded applications to allocate memory above 32 MB Stack (reserved space) Heap (reserved space) Resources Read write data Read only data Application Slot (Cloned into slot 0) reserved Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 47 Code [Hall2002] Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 48
13 Overview Concepts of Mobile Operating Systems Functions Processes States t and elements Scheduling Inter-Process-Communication (IPC) Memory Management Mapping Paging Segmentation Examples Virtual Machines Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 49 Virtual Machines Intermediate layer between an operating system and a software application The system creates the impression that every process has its own machine, having a separate CPU and its own memory Protection of the resources (sandboxing) Complete isolation between the different virtual machines running on the host system Examples: Java Virtual Machine VMWare Virtual PC 2004 IBM z/vm Emulators (eg ScummVM or PocketPC Emulator exercise course) Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 50 Virtual Machines Bibliography [Burkhardt2001] Burckhardt J et al: Pervasive Computing, München, 2001 processes kernel hardware programming interface processes processes processes kernel kernel virtual machine hardware kernel [Hall2002] Hall, Mike: Windows CE NET Advanced Memory Management Microsoft Embedded Crash Course for Faculty and PhD s, 2002 [Microsoft2006] dotnetcc/version3/dvd/, t accessed Silberschatz; Galvin: Operating System Concepts, 5th Edition, John Wiley & Sons, Inc, 1999 [Stallings2003] Stallings, W: Betriebssysteme Prinzipien und Umsetzung, 4th Edition, Pearson Studium, München, 2003 [Zobel2001] Zobel, J: Mobile Business und M-Commerce, München, 2001 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 51 Mobile Business 1 (MB 1), WS 2007/2008, Professur für Mobile Business & Multilateral Security 52
Operating System: Scheduling
Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems
Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution
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
Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts
Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting
Operating Systems Lecture #6: Process Management
Lecture #6: Process Written by based on the lecture series of Dr. Dayou Li and the book Understanding 4th ed. by I.M.Flynn and A.McIver McHoes (2006) Department of Computer Science and Technology,., 2013
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
Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run
SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run
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
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
Operating 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
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
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
ICS 143 - Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian [email protected] Note that some slides are adapted from course text slides 2008 Silberschatz. Some
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
OPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
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
How To Understand The History Of An Operating System
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.
OPERATING 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
Processes 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
Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling
Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms Chapter 5: Process Scheduling To discuss evaluation criteria for selecting the CPUscheduling algorithm for a particular
Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.
Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:
2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput
Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?
Types Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
CPU Scheduling. CPU Scheduling
CPU Scheduling Electrical and Computer Engineering Stephen Kim ([email protected]) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling
Multi-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,
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
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
Chapter 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
Review 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
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition
Chapter 5: CPU Scheduling Silberschatz, Galvin and Gagne 2009 Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating
CS420: 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,
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
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
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Operating System Structures
Operating System Structures Meelis ROOS [email protected] Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
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
This 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
Process Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:
Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations
Chapter 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
Cloud 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
Operating 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
CPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
Undergraduate Course Syllabus
College of Software Engineering Undergraduate Course Syllabus Course ID 311006040 Course Name Operating System Course Attribute Compulsory Selective Course Language English Chinese Credit Hour 4 Period
Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d
Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling
Processor Scheduling. Queues Recall OS maintains various queues
Processor Scheduling Chapters 9 and 10 of [OS4e], Chapter 6 of [OSC]: Queues Scheduling Criteria Cooperative versus Preemptive Scheduling Scheduling Algorithms Multi-level Queues Multiprocessor and Real-Time
Overview and History of Operating Systems
Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware
Chapter 5 Process Scheduling
Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling
Origins of Operating Systems OS/360. Martin Grund HPI
Origins of Operating Systems OS/360 HPI Table of Contents IBM System 360 Functional Structure of OS/360 Virtual Machine Time Sharing 2 Welcome to Big Blue 3 IBM System 360 In 1964 IBM announced the IBM-360
Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
CS414 SP 2007 Assignment 1
CS414 SP 2007 Assignment 1 Due Feb. 07 at 11:59pm Submit your assignment using CMS 1. Which of the following should NOT be allowed in user mode? Briefly explain. a) Disable all interrupts. b) Read the
Chapter 3. Operating Systems
Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating
Last 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
Chapter 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
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
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
CPU Scheduling. Core Definitions
CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
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
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
File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System
CS341: Operating System Lect 36: 1 st Nov 2014 Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati File System & Device Drive Mass Storage Disk Structure Disk Arm Scheduling RAID
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
Devices and Device Controllers
I/O 1 Devices and Device Controllers network interface graphics adapter secondary storage (disks, tape) and storage controllers serial (e.g., mouse, keyboard) sound co-processors... I/O 2 Bus Architecture
Full 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
Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading
Announcements Reading Chapter 5 Chapter 7 (Monday or Wednesday) Basic Concepts CPU I/O burst cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution What are the
Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching
IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to
Analysis and Comparison of CPU Scheduling Algorithms
Analysis and Comparison of CPU Scheduling Algorithms Pushpraj Singh 1, Vinod Singh 2, Anjani Pandey 3 1,2,3 Assistant Professor, VITS Engineering College Satna (MP), India Abstract Scheduling is a fundamental
Virtual Machines. www.viplavkambli.com
1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software
Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012
Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android
Gildart Haase School of Computer Sciences and Engineering
Gildart Haase School of Computer Sciences and Engineering Metropolitan Campus I. Course: CSCI 6638 Operating Systems Semester: Fall 2014 Contact Hours: 3 Credits: 3 Class Hours: W 10:00AM 12:30 PM DH1153
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
Chapter 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
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Buffer Management 5. Buffer Management
5 Buffer Management Copyright 2004, Binnur Kurt A journey of a byte Buffer Management Content 156 A journey of a byte Suppose in our program we wrote: outfile
System 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
Computer-System Architecture
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System
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
Operating 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
1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management
COMP 242 Class Notes Section 6: File Management 1 File Management We shall now examine how an operating system provides file management. We shall define a file to be a collection of permanent data with
Example 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
Microkernels, 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,
find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1
Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems
Operating System Components and Services
Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.
Real-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
Virtualization. Pradipta De [email protected]
Virtualization Pradipta De [email protected] Today s Topic Virtualization Basics System Virtualization Techniques CSE506: Ext Filesystem 2 Virtualization? A virtual machine (VM) is an emulation
Virtual Machines. Virtualization
Virtual Machines Marie Roch Tanenbaum 8.3 contains slides from: Tanenbaum 3 rd ed. 2008 1 Virtualization Started with the IBM System/360 in the 1960s Basic concept simulate multiple copies of the underlying
Kernel 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
System 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
Far-western University Central Office, Mahendranagar Operating System
Far-western University Central Office, Mahendranagar Operating System Course Title: Operating Systems Credit: 3+1 Course No: B.Sc. CS OS 231 hour 45+15 Nature of the Course: Theory + Lab Year: 2 nd, Semester:
Threads Scheduling on Linux Operating Systems
Threads Scheduling on Linux Operating Systems Igli Tafa 1, Stavri Thomollari 2, Julian Fejzaj 3 Polytechnic University of Tirana, Faculty of Information Technology 1,2 University of Tirana, Faculty of
Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools
Terminal Server Software and Hardware Requirements Datacolor Match Pigment Datacolor Tools January 21, 2011 Page 1 of 8 Introduction This document will provide preliminary information about the both the
Have both hardware and software. Want to hide the details from the programmer (user).
Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).
Virtualization. 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
