Introduction to Computer Security
|
|
- Ethel Blake
- 5 years ago
- Views:
Transcription
1 Introduction to Computer Security Instructor: Mahadevan Gomathisankaran CSCE 4550/5550, Fall 2009 Lecture 17 1
2 Mid Term Mean = 32.64, Median = CSCE 4550/5550, Fall 2009 Lecture 17 2
3 Using GDB CSCE 4550/5550, Fall 2009 Lecture 17 3
4 Using GDB CSCE 4550/5550, Fall 2009 Lecture 17 4
5 Using GDB CSCE 4550/5550, Fall 2009 Lecture 17 5
6 Using GDB CSCE 4550/5550, Fall 2009 Lecture 17 6
7 Using GDB CSCE 4550/5550, Fall 2009 Lecture 17 7
8 Assignment 3 Fermat s Little theorem DES difference table for(inp1=0;inp1<64;inp1++) { for(inp2=0;inp2<64;inp2++) { if(inp1 == inp2) break; inpdiff = inp1 ^ inp2; outdiff = sbox1[inp1] ^ sbox1[inp2]; //printf("inpdiff: %d, outdiff: %d ",inpdiff,outdiff); } } diffcount[inpdiff & 0x3F][outdiff & 0xF]++; CSCE 4550/5550, Fall 2009 Lecture 17 8
9 Assignment 3 DES Complementation property CSCE 4550/5550, Fall 2009 Lecture 17 9
10 Assignment 3 CSCE 4550/5550, Fall 2009 Lecture 17 10
11 Controls Against Program Threats Developmental methods Software Engineering Operating System Administrative CSCE 4550/5550, Fall 2009 Lecture 17 11
12 Developmental methods S/w Eng. Requirements Analysis System Design SDLC WATERFALL MODEL Program Design Coding SDLC Collaborative work teams Reviews Documentation Configuration Management Project Management Unit and Integration Testing System Testing Acceptance Testing Maintenance CSCE 4550/5550, Fall 2009 Lecture 17 12
13 Controls Against Program Threats Modularity Dividing a task into subtasks Provides ease of program development and security Should be single purpose, small, simple and independent, loosely coupled Encapsulation Isolating one component from the others Easy to trace faults Information Hiding Each component hides its implementation and design details from others CSCE 4550/5550, Fall 2009 Lecture 17 13
14 Controls Against Program Threats Mutual Suspicion procedure A suspects procedure B changes the content of array List procedure A { array List[5]={1, 2, 3, 4, 5} call B(List) } procedure B { } CSCE 4550/5550, Fall 2009 Lecture 17 14
15 Controls Against Program Threats Confinement Limit the access rights of a non trustworthy program. Genetic Diversity Provide services from different providers so as to generate diversity and hence more secure components. e.g. Morris virus ran on Unix and Code Red ran on Windows OSs CSCE 4550/5550, Fall 2009 Lecture 17 15
16 Controls Against Program Threats Techniques to build solid software Peer Reviews: Sharing a product with colleagues to test its correctness Review Walk-through Inspection Hazard Analysis: Set of systematic techniques intended to expose potentially hazardous system states. Hazard and Operability Studies: Structured Analysis Technique for process control and chemical plant industries. Failure Modes and Effects Analysis: Bottom-up technique applied at the system component level. Fault Tree Analysis: A top-down technique that begins with a postulated hazardous system malfunction CSCE 4550/5550, Fall 2009 Lecture 17 16
17 Controls Against Program Threats Testing: Making the product failure free or fault tolerant. Good design Prediction Static Analysis: Examine the system s design and code to check for security flaws before the system is up and running. Control flow structure Data flow structure Data structure Configuration management Analysis of mistakes CSCE 4550/5550, Fall 2009 Lecture 17 17
18 Protections of OS Protection Features of General OS Protecting memories Protecting files Protecting execution environment Controlled access to objects User authentication CSCE 4550/5550, Fall 2009 Lecture 17 18
19 Operating System Basics An operating system is a software that manages and controls the operation of a computer system. Controls access to resources so that access is stable, fair, and secure Operating Environment vs. Operating System CSCE 4550/5550, Fall 2009 Lecture 17 19
20 Operating System Basics A running system consists of Subjects (or Users): Entities that perform actions Examples: Users (Alice, Bob, ), the system itself, processes Objects: Entities that actions are performed upon Examples: Memory, files, printers, I/O devices, network, programs, sharable programs and data CSCE 4550/5550, Fall 2009 Lecture 17 20
21 Historical O.S. Evolution Generation 0 (1940 s): No O.S. Users had full access to machine and hand-coded machine language Generation 1 (1950 s): O.S. to help consolidate common functions (loaders, ) Batch processing still one user at a time O.S. protects user from self and cleaned up between jobs Generation 2 (Early 1960 s): Multiprocessing/Multiuser systems O.S. must coordinate access to shared resources O.S. protects one user from other users! CSCE 4550/5550, Fall 2009 Lecture 17 21
22 Historical O.S. Evolution Generation 3 (Mid 1960 s to Mid 1970 s): Emergence of general purpose systems (IBM System/360, ) Hardware abstraction became prevalent Generation 4 (Mid-1970 s to present): Networks become integral network O.S. concepts Personal computer development follows same timeline, but later (and faster): Generation 0 Early to Mid 1970 s Generation 1 (CP/M, DOS, ) Mid 1970 s to Late 1980 s Generation 2/3 (OS/2, Windows NT, ) Late 1980 s to Early 1990 s Generation 4 (Welcome to the Internet!) Mid 1990 s to present CSCE 4550/5550, Fall 2009 Lecture 17 22
23 Protected Objects and Methods of Protection First OSs: Executives Served to one programmer at a time Provided smooth transition among users Linkers and loaders for relocation easy access to compilers and assemblers automatic loading of subprograms from libraries Multiuser OSs: Monitors Interleave access to the resources of a single computing system Scheduling Sharing Parallel use protection against other users CSCE 4550/5550, Fall 2009 Lecture 17 23
24 Security Methods of OSs Separation: Keeping user A s objects separate from user B s objects Physical separation Temporal separation Logical separation Cryptographic separation CSCE 4550/5550, Fall 2009 Lecture 17 24
25 Modes of Sharing Do not protect Isolate Share all or nothing Share via access limitation Share by capabilities Limit use of an object CSCE 4550/5550, Fall 2009 Lecture 17 25
26 Fence Fence: Introduced in single-user OSs to prevent a faulty user program from interfering with the OS. Ensures to keep users at one side of a boundary. Fixed Fence: CSCE 4550/5550, Fall 2009 Lecture 17 26
27 Fence Fixed Fence: Fence is a predefined memory address User stays at one side, OS resides on the other side of the fence Too restrictive - waste of memory - no flexibility to grow beyond CSCE 4550/5550, Fall 2009 Lecture 17 27
28 Fence Variable Fence Register: Contains the address of the end of OS Position of the fence could be changed When data modification address is generated by a program, the address is compared with the fence address to protect OS area One-way protection only! CSCE 4550/5550, Fall 2009 Lecture 17 28
29 Relocation If OSs were fixed size then programs would start at a fixed address This way it would guarantee not to interfere with the OS code But in real world this is not possible Use relocation: Add relocation factor to each program address Relocation factor: starting address of program Use of fence register as a h/w relocation device Relocates the address Guarantees no one can access a location lower than the fence address. CSCE 4550/5550, Fall 2009 Lecture 17 29
30 Base/Bounds Registers Pair of base/bounds registers Variable fence register used as Base register, i.e. lower bound Bounds register = upper address limit Protects modification of user A s program address by user B. Context switching must change contents of base/bounds registers each time users are changed CSCE 4550/5550, Fall 2009 Lecture 17 30
31 Base/Bounds Registers 2 pairs of base/bounds registers A pair of base/bounds registers can only protect against other users A user error might cause subscript errors or executable instructions of the user s program Use of 2 pairs of base/bounds registers - one pair for instructions - one pair for data space CSCE 4550/5550, Fall 2009 Lecture 17 31
32 Tagged Architecture Every word of memory has tag bits associated with it Can only be set by OS Consecutive locations can be assigned different access rights With a few extra tag bits different data classes (numeric, char, address, pointer, etc.) can be separated and assigned different access rights CSCE 4550/5550, Fall 2009 Lecture 17 32
33 Segmentation Mechanism: Divide programs into logical pieces, i.e. segments Single procedure code Data of an array Dta collection used by a module OS maintains segment address table with <name, offset> name: the unique identifier name for the segment offset: the location within the segment Same access for different segments User s program does not know the true address address hiding OS can place and move any segment at any location even during execution A segment can be removed from man memory if not being used OS can do security check on every address request CSCE 4550/5550, Fall 2009 Lecture 17 33
34 Segmentation Advantages of Segmentation Security check on each address reference Different levels of protection is possible for different classes of data items Multiple users can share access to same segment with different access rights A user cannot generate an address or access to a segment that is not permitted Problems with Segmentation: Exceeding segment size can be exploited as a security hole Efficiency (overhead) OS lookup slow Segment names difficult to encode Fragmentation of main memory CSCE 4550/5550, Fall 2009 Lecture 17 34
35 Segmentation CSCE 4550/5550, Fall 2009 Lecture 17 35
36 Segmentation CSCE 4550/5550, Fall 2009 Lecture 17 36
37 Paging Mechanism: Divide programs into equal pieces called pages and memory into equal sized page frames OS maintains page translation table with the addressing <page, offset> Advantages of Paging: User is freed from worrying about page boundaries All pages are same size, hence fixes fragmentation Problems with Paging Can t associate access controls No unity to page CSCE 4550/5550, Fall 2009 Lecture 17 37
38 Paging CSCE 4550/5550, Fall 2009 Lecture 17 38
39 Paged Segmentation Idea: Combine paging with segmentation to eliminate the problems and take advantages of the both schemes Paging provides implementation efficiency Segmentation provides logical protection CSCE 4550/5550, Fall 2009 Lecture 17 39
40 Paged Segmentation CSCE 4550/5550, Fall 2009 Lecture 17 40
Module 29: Operating System Memory Protection
Module 29: Operating System Memory Protection An operating system is the multiprogramming system allowing multiple users to use concurrently. Operating system is designed in such a way that one user's
More information15 Sharing Main Memory Segmentation and Paging
Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per
More information16 Sharing Main Memory Segmentation and Paging
Operating Systems 64 16 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per
More informationChapter 4. Protection in General-Purpose Operating Systems. ch. 4 1
Chapter 4 Protection in General-Purpose Operating Systems ch. 4 1 Chapter Outline 4.1 Protected Objects and Methods of Protection 4.2 Memory and Address Protection 4.3 Control of Access to General Objects
More informationWhat are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and
What are the services provided by an OS? What are system calls? What are some common categories of system calls? What are the principles behind OS design and implementation? What are common ways of structuring
More informationChapter 4 Protection in General-Purpose Operating Systems
Chapter 4 Protection in General-Purpose Operating Systems Charles P. Pfleeger & Shari Lawrence Pfleeger, Security in Computing, 4 th Ed., Pearson Education, 2007 1 An operating system has two goals: controlling
More informationOperating Systems (2INC0) 2017/18
Operating Systems (2INC0) 2017/18 Memory Management (09) Dr. Courtesy of Dr. I. Radovanovic, Dr. R. Mak (figures from Bic & Shaw) System Architecture and Networking Group Agenda Reminder: OS & resources
More informationOperating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings
Operating Systems: Internals and Design Principles Chapter 2 Operating System Overview Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Operating systems are those
More informationCS 153 Design of Operating Systems
CS 153 Design of Operating Systems Winter 19 Lecture 2: Historical perspective Instructor: Nael Abu-Ghazaleh Last time What is an OS? What roles does it play? Today: Historic evolution of Operating Systems
More information[07] SEGMENTATION 1. 1
[07] SEGMENTATION 1. 1 OUTLINE Segmentation An Alternative to Paging Implementing Segments Segment Table Lookup Algorithm Protection and Sharing Sharing Subtleties External Fragmentation Segmentation vs
More informationOperating Systems (ECS 150) Spring 2011
Operating Systems (ECS 150) Spring 2011 Raju Pandey Department of Computer Science University of California, Davis CA 95616 pandey@cs.ucdavis.edu http://www.cs.ucdavis.edu/~pandey Course Objectives After
More informationChapter 5B. Large and Fast: Exploiting Memory Hierarchy
Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,
More informationCS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck
Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationMidterm 1. Administrivia. Virtualizing Resources. CS162 Operating Systems and Systems Programming Lecture 12. Address Translation
Midterm 1 CS162 Operating Systems and Systems Programming Lecture 12 Address Translation March 5, 2018 Profs. Anthony D. Joseph & Jonathan Ragan-Kelley http://cs162.eecs.berkeley.edu Lec 12.2 Administrivia
More informationMulti-level Page Tables & Paging+ segmentation combined
Multi-level Page Tables & Paging+ segmentation combined Basic idea: use two levels of mapping to make tables manageable o Each segment contains one or more pages Segments correspond to logical units: code,
More informationMemory Protection. Philip W. L. Fong. CPSC 525/625 (Winter 2018) Department of Computer Science University of Calgary Calgary, Alberta, Canada
1 / 25 Memory Protection Philip W. L. Fong Department of Computer Science University of Calgary Calgary, Alberta, Canada CPSC 525/625 (Winter 2018) 2 / 25 Multiprogramming Memory Fence Remember my Apple
More informationBinding and Storage. COMP 524: Programming Language Concepts Björn B. Brandenburg. The University of North Carolina at Chapel Hill
Binding and Storage Björn B. Brandenburg The University of North Carolina at Chapel Hill Based in part on slides and notes by S. Olivier, A. Block, N. Fisher, F. Hernandez-Campos, and D. Stotts. What s
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Review: Segmentation 2 Virtual Memory Accesses o Approaches: Static Relocation Dynamic Relocation Base Base-and-Bounds Segmentation
More informationPrinciples of Operating Systems
Principles of Operating Systems Lecture 18-20 - Main Memory Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian, and
More informationOperating Systems Unit 6. Memory Management
Unit 6 Memory Management Structure 6.1 Introduction Objectives 6.2 Logical versus Physical Address Space 6.3 Swapping 6.4 Contiguous Allocation Single partition Allocation Multiple Partition Allocation
More informationCOSC3330 Computer Architecture Lecture 20. Virtual Memory
COSC3330 Computer Architecture Lecture 20. Virtual Memory Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston Virtual Memory Topics Reducing Cache Miss Penalty (#2) Use
More informationMemory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358
Memory Management Reading: Silberschatz chapter 9 Reading: Stallings chapter 7 1 Outline Background Issues in Memory Management Logical Vs Physical address, MMU Dynamic Loading Memory Partitioning Placement
More informationIntroduction. CS3026 Operating Systems Lecture 01
Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program
More informationMemory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization
Requirements Relocation Memory management ability to change process image position Protection ability to avoid unwanted memory accesses Sharing ability to share memory portions among processes Logical
More informationOperating systems Architecture
Operating systems Architecture 1 Operating Systems Low level software system that manages all applications implements an interface between applications and resources manages available resources Resource
More informationChapter 9 Real Memory Organization and Management
Chapter 9 Real Memory Organization and Management Outline 9.1 Introduction 9.2 Memory Organization 9.3 Memory Management 9.4 Memory Hierarchy 9.5 Memory Management Strategies 9.6 Contiguous vs. Noncontiguous
More informationChapter 9 Real Memory Organization and Management
Chapter 9 Real Memory Organization and Management Outline 9.1 Introduction 9.2 Memory Organization 9.3 Memory Management 9.4 Memory Hierarchy 9.5 Memory Management Strategies 9.6 Contiguous vs. Noncontiguous
More informationCPS104 Computer Organization and Programming Lecture 16: Virtual Memory. Robert Wagner
CPS104 Computer Organization and Programming Lecture 16: Virtual Memory Robert Wagner cps 104 VM.1 RW Fall 2000 Outline of Today s Lecture Virtual Memory. Paged virtual memory. Virtual to Physical translation:
More informationOPERATING SYSTEMS OVERVIEW
OPERATING SYSTEMS OVERVIEW Contents O.S.Functions The Evolution of O.S. Characteristics of O.S. Basic hardware elements Contents USER 1 USER 2 USER 3 USER n O.S.Components System calls O.S.Structure compiler
More informationCSE 565 Computer Security Fall 2018
CSE 565 Computer Security Fall 2018 Lecture 13: Operating System Security Department of Computer Science and Engineering University at Buffalo 1 Review Previous topics access control authentication session
More informationECE468 Computer Organization and Architecture. Virtual Memory
ECE468 Computer Organization and Architecture Virtual Memory ECE468 vm.1 Review: The Principle of Locality Probability of reference 0 Address Space 2 The Principle of Locality: Program access a relatively
More informationChapter 14 Operating Systems
Chapter 14 Operating Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating system Main functions of an operating system Commonly used mechanisms
More informationChapter 14 Operating Systems
Chapter 14 Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating Main functions of an operating Commonly used mechanisms for: Process management
More informationECE4680 Computer Organization and Architecture. Virtual Memory
ECE468 Computer Organization and Architecture Virtual Memory If I can see it and I can touch it, it s real. If I can t see it but I can touch it, it s invisible. If I can see it but I can t touch it, it
More informationAnother View of the Memory Hierarchy. Lecture #25 Virtual Memory I Memory Hierarchy Requirements. Memory Hierarchy Requirements
CS61C L25 Virtual I (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #25 Virtual I 27-8-7 Scott Beamer, Instructor Another View of the Hierarchy Thus far{ Next: Virtual { Regs Instr.
More informationComputer Fundamentals : Pradeep K. Sinha& Priti Sinha
Computer Fundamentals Pradeep K. Sinha Priti Sinha Chapter 14 Operating Systems Slide 1/74 Learning Objectives In this chapter you will learn about: Definition and need for operating system Main functions
More informationMemory Management Virtual Memory
Memory Management Virtual Memory Part of A3 course (by Theo Schouten) Biniam Gebremichael http://www.cs.ru.nl/~biniam/ Office: A6004 April 4 2005 Content Virtual memory Definition Advantage and challenges
More informationIntroduction to Operating System
Introduction to Operating System An operating system is a program which manages all the computer hardware. It provides the base for application program and acts as an intermediary between a user and the
More informationCOS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University
COS 318: Operating Systems Overview Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Logistics Precepts: Tue: 7:30pm-8:30pm, 105 CS
More informationOperating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write
More informationIntroduction to Embedded Systems. Lab Logistics
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis Today s topics: lab logistics interrupt synchronization reentrant code 1 CS 5780 Lab Logistics Lab2 Status Wed: 3/11 teams have completed their
More informationObjectives and Functions Convenience. William Stallings Computer Organization and Architecture 7 th Edition. Efficiency
William Stallings Computer Organization and Architecture 7 th Edition Chapter 8 Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better
More informationCSC 453 Operating Systems
CSC 453 Operating Systems Lecture 1: An Introduction What Is an Operating System? An operating system is the software that serves as an interface between the user (or his/her software applications) and
More informationCOS 318: Operating Systems
COS 318: Operating Systems Overview Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times Lectures 9/20 Lecture is here Other lectures in
More informationChapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1
Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9: Memory Management Background Swapping Contiguous Memory Allocation Segmentation
More informationGoals of Memory Management
Memory Management Goals of Memory Management Allocate available memory efficiently to multiple processes Main functions Allocate memory to processes when needed Keep track of what memory is used and what
More informationOperating System Support
Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better use of computer resources Layers and Views of a Computer System Operating System
More information12: Memory Management
12: Memory Management Mark Handley Address Binding Program goes through multiple steps from compilation to execution. At some stage, addresses in the program must be bound to physical memory addresses:
More informationProcess. One or more threads of execution Resources required for execution. Memory (RAM) Others
Memory Management 1 Learning Outcomes Appreciate the need for memory management in operating systems, understand the limits of fixed memory allocation schemes. Understand fragmentation in dynamic memory
More informationCache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance
6.823, L11--1 Cache Performance and Memory Management: From Absolute Addresses to Demand Paging Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Cache Performance 6.823,
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L17 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Was Great Dijkstra a magician?
More informationCS450/550 Operating Systems
CS450/550 Operating Systems Lecture 4 memory Palden Lama Department of Computer Science CS450/550 Memory.1 Review: Summary of Chapter 3 Deadlocks and its modeling Deadlock detection Deadlock recovery Deadlock
More informationOperating Systems Lecture 6: Memory Management II
CSCI-GA.2250-001 Operating Systems Lecture 6: Memory Management II Hubertus Franke frankeh@cims.nyu.edu What is the problem? Not enough memory Have enough memory is not possible with current technology
More informationEmbedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi
Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed
More informationChapter 8 Memory Management
Chapter 8 Memory Management Da-Wei Chang CSIE.NCKU Source: Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Operating System Concepts", 9th Edition, Wiley. 1 Outline Background Swapping Contiguous
More informationCSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song Spring 2015
CSCE 313 Introduction to Computer Systems Instructor: Dezhen Song Spring 2015 Introduction to OSs What is an Operating System? Architectural Support for Operating Systems System Calls Basic Organization
More informationMemory Management. CSCI 315 Operating Systems Design Department of Computer Science
Memory Management CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture are based on those from Operating Systems Concepts, 9th ed., by Silberschatz, Galvin,
More informationCS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation
CS 152 Computer Architecture and Engineering Lecture 9 - Address Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste
More informationChapter 2. OS Overview
Operating System Chapter 2. OS Overview Lynn Choi School of Electrical Engineering Class Information Lecturer Prof. Lynn Choi, School of Electrical Eng. Phone: 3290-3249, Kong-Hak-Kwan 411, lchoi@korea.ac.kr,
More informationComputer Organization and Architecture. OS Objectives and Functions Convenience Making the computer easier to use
Computer Organization and Architecture Chapter 8 Operating System Support 1. Processes and Scheduling 2. Memory Management OS Objectives and Functions Convenience Making the computer easier to use Efficiency
More informationUC Berkeley CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 35 Virtual Memory II 2007-04-16 Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Hardware repair?! This technology allows
More informationCSCE-313 Introduction to Computer Systems
CSCE 313 to Computer Systems Instructor: Guofei Gu http://courses.cse.tamu.edu/guofei/csce313/ to OSs What is an Operating System? Architectural Support for Operating Systems System Calls Basic Organization
More informationBackground. Contiguous Memory Allocation
Operating System Lecture 8 2017.5.9 Chapter 8 (Main Memory) Background Swapping Contiguous Memory Allocation Segmentation - Paging Memory Management Selection of a memory-management method for a specific
More informationCPS 104 Computer Organization and Programming Lecture 20: Virtual Memory
CPS 104 Computer Organization and Programming Lecture 20: Virtual Nov. 10, 1999 Dietolf (Dee) Ramm http://www.cs.duke.edu/~dr/cps104.html CPS 104 Lecture 20.1 Outline of Today s Lecture O Virtual. 6 Paged
More informationIntroduction to System Programming
Introduction to System Programming Introduction to System Programming Why system programming? Basic operation of a computer system Summary Acknowledgement: slides based on the cs:app2e material 2 Why System
More informationMemory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources
Memory Management Topics CS 537 Lecture Memory Michael Swift Goals of memory management convenient abstraction for programming isolation between processes allocate scarce memory resources between competing
More informationOperating systems and security - Overview
Operating systems and security - Overview Protection in Operating systems Protected objects Protecting memory, files User authentication, especially passwords Trusted operating systems, security kernels,
More informationOperating systems and security - Overview
Operating systems and security - Overview Protection in Operating systems Protected objects Protecting memory, files User authentication, especially passwords Trusted operating systems, security kernels,
More informationSoftware Concepts. It is a translator that converts high level language to machine level language.
Software Concepts One mark questions: 1. What is a program? It is a set of instructions given to perform a task using a programming language. 2. What is hardware? It is defined as physical parts of the
More informationImproving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Highly-Associative Caches
Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging 6.823, L8--1 Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Highly-Associative
More informationCS 5460/6460 Operating Systems
CS 5460/6460 Operating Systems Fall 2009 Instructor: Matthew Flatt Lecturer: Kevin Tew TAs: Bigyan Mukherjee, Amrish Kapoor 1 Join the Mailing List! Reminders Make sure you can log into the CADE machines
More informationOperating Systems. Memory Management. Lecture 9 Michael O Boyle
Operating Systems Memory Management Lecture 9 Michael O Boyle 1 Memory Management Background Logical/Virtual Address Space vs Physical Address Space Swapping Contiguous Memory Allocation Segmentation Goals
More informationTYPES OF OPERATING SYSTEMS. Dimple Juneja
TYPES OF OPERATING SYSTEMS Outline Operating Systems Multiprogramming Systems Time-sharing Systems Multitasking Systems Operating System Architectures OS: A Usual View What is an operating system? An interface
More informationVirtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1
Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:
More informationCS 152 Computer Architecture and Engineering. Lecture 9 - Virtual Memory
CS 152 Computer Architecture and Engineering Lecture 9 - Virtual Memory Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!
More informationVirtual to physical address translation
Virtual to physical address translation Virtual memory with paging Page table per process Page table entry includes present bit frame number modify bit flags for protection and sharing. Page tables can
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 13: Address Translation
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004 Lecture 13: Address Translation 13.0 Main Points 13.1 Hardware Translation Overview CPU Virtual Address Translation
More informationCS252 Spring 2017 Graduate Computer Architecture. Lecture 17: Virtual Memory and Caches
CS252 Spring 2017 Graduate Computer Architecture Lecture 17: Virtual Memory and Caches Lisa Wu, Krste Asanovic http://inst.eecs.berkeley.edu/~cs252/sp17 WU UCB CS252 SP17 Last Time in Lecture 16 Memory
More informationANSAwise - Distributed and Networked Operating Systems
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - Distributed
More informationAddresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.
1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and
More informationCS399 New Beginnings. Jonathan Walpole
CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,
More informationLec 13: Linking and Memory. Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University. Announcements
Lec 13: Linking and Memory Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University PA 2 is out Due on Oct 22 nd Announcements Prelim Oct 23 rd, 7:30-9:30/10:00 All content up to Lecture on Oct
More informationESE 333 Real-Time Operating Systems 163 Review Deadlocks (Cont.) ffl Methods for handling deadlocks 3. Deadlock prevention Negating one of four condit
Review Deadlocks ffl Non-sharable resources ffl Necessary conditions for a deadlock to occur 1. Mutual exclusion 2. Hold and wait 3. No preemption 4. Circular wait ffl Resource graph ffl Use resource graph
More informationOperating Systems Overview
Operating Systems Overview 1 operating system no clear traditional definition each definition cover a distinct aspect an interface between applications and hardware true, this was the first reason for
More informationLecture 9 Virtual Memory
CS 152 Computer Architecture and Engineering CS252 Graduate Computer Architecture Lecture 9 Virtual Memory Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley
More information! What is main memory? ! What is static and dynamic allocation? ! What is segmentation? Maria Hybinette, UGA. High Address (0x7fffffff) !
Memory Questions? CSCI [4 6]730 Operating Systems Main Memory! What is main memory?! How does multiple processes share memory space?» Key is how do they refer to memory addresses?! What is static and dynamic
More informationMemory Hierarchy Requirements. Three Advantages of Virtual Memory
CS61C L12 Virtual (1) CS61CL : Machine Structures Lecture #12 Virtual 2009-08-03 Jeremy Huddleston Review!! Cache design choices: "! Size of cache: speed v. capacity "! size (i.e., cache aspect ratio)
More informationCompile: compiler. Load: loader. compiler linker loader memory. source object load code module module 2
Part III Storage Management Chapter 8: Memory Management Fall 2010 1 Address Generation Address generation has three stages: Compile: compiler Link: linker or linkage editor Load: loader compiler linker
More informationFall 2017 :: CSE 306. Introduction to. Virtual Memory. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)
Introduction to Virtual Memory Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Motivating Virtual Memory (Very) old days: Uniprogramming only one process existed at a time OS was little
More informationOperating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein
Operating Systems and Computer Networks Memory Management pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda 1 Swapping 2 Segmentation Algorithms 3 Memory Allocation 4 Virtual
More informationContinuous Integration / Continuous Testing
Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing IIC What s SW Integration? Integration
More informationAnnouncement. Exercise #2 will be out today. Due date is next Monday
Announcement Exercise #2 will be out today Due date is next Monday Major OS Developments 2 Evolution of Operating Systems Generations include: Serial Processing Simple Batch Systems Multiprogrammed Batch
More informationMEMORY: SWAPPING. Shivaram Venkataraman CS 537, Spring 2019
MEMORY: SWAPPING Shivaram Venkataraman CS 537, Spring 2019 ADMINISTRIVIA - Project 2b is out. Due Feb 27 th, 11:59 - Project 1b grades are out Lessons from p2a? 1. Start early! 2. Sketch out a design?
More informationVirtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1
Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:
More informationOverview of Operating Systems
Lecture Outline Overview of Operating Systems Instructor: Dr. Tongping Liu Operating System: what is it? Evolution of Computer Systems and OS Concepts Different types/variations of Systems/OS Ø Parallel/distributed/real-time/embedded
More informationSimple idea 1: load-time linking. Our main questions. Some terminology. Simple idea 2: base + bound register. Protection mechanics.
Our main questions! How is protection enforced?! How are processes relocated?! How is ory partitioned? Simple idea 1: load-time linking! Link as usual, but keep the list of references! At load time, determine
More informationOS - Introduction Ezio Bartocci Institute for Computer Engineering
TECHNISCHE UNIVERSITÄT WIEN Fakultät für Informatik Cyber-Physical Systems Group OS - Introduction Ezio Bartocci Institute for Computer Engineering ezio.bartocci@tuwien.ac.at Operative System What is it?
More informationMemory Management. Memory Management
Memory Management Most demanding di aspect of an operating system Cost has dropped. Consequently size of main memory has expanded enormously. Can we say that we have enough still. Swapping in/out. Memory
More informationProcess size is independent of the main memory present in the system.
Hardware control structure Two characteristics are key to paging and segmentation: 1. All memory references are logical addresses within a process which are dynamically converted into physical at run time.
More information