File Management. Logical Structure. Positioning Fields and Records. Primary and Secondary Keys. Sequential and Direct Access.
|
|
- Dorcas Greer
- 5 years ago
- Views:
Transcription
1 File Management Logical Structure Positioning Fields and Records Primary and Secondary Keys Sequential and Direct Access Binary Search File Management File Indexing Chapter 2
2 Logical Structure File, on disk, is simply a collection of bytes Structure must be imposed to organize file logically Field. A single (indivisible) data item Array. A collection of equivalent fields Record. A collection of different fields Logically, file is a stream of bytes representing logical entities For simplicity, we ll assume files are a collection of records 2
3 Fields, Arrays, Records 3
4 Positioning Fields Cannot simply append fields to file, lose their start and end E.g., last_name = Solomon first_name = Mark SolomonMark Must include information to identify field position and contents Fixed length. Fields are fixed to constant size Length indicator. Field begins with its length Delimiter. Separate each field with delimiter character Key value pair. Use keyword=value to represent field, delimiter is also needed to separate key value pairs 4
5 Field Position Advantages/Disadvantages Method Advantages Disadvantages fixed-length simple supports efficient access may be too small may be too large length indicator fields fit data space needed for count delimiter fields fit data space needed for delimiter delimiter must be unique key value efficient if many fields empty space needed for keyword delimiter needed between keywords 5
6 Record Position Records have similar requirements to identify start and end Must include information to identify record position and contents Fixed length. Fields are fixed to constant size Length indicator. Field begins with its length Delimiter. Separate each field with delimiter character Field count. Record begins with number of fields it contains External index. Use external index to track record locations 6
7 Record Position Advantages/Disadvantages Method Advantages Disadvantages fixed-length field count length indicator delimiter simple supports efficient access record fits fields record fits fields record fits fields may be too small may be too large space needed for count variable length space needed for length variable length space needed for delimiter delimiter must be unique variable length external index supports efficient access indirection needed thru index file 7
8 Primary Key How can we identify records during search? Primary key A field (or collection of fields) that uniquely distinguishes records Usually primary key read data field(s) Must be guaranteed to be unique per record Cannot change primary key value(s) without expensive index updates Instead, use system-generated non-data field as primary key 8
9 Secondary Key Non-unique data field Subdivide records into logical groups with a common secondary key value E.g., student major to subdivide student database Assume secondary key groups are commonly required Secondary keys make it computationally efficient to group 9
10 Sequential Access Two ways to access file: sequential or direct Sequential. File elements read in sequence one after another Direct. Elements read directly, with no systematic pattern of access Sequential reads file from start to end Supports sequential, or serial, search Best case, target is first element, O 1 Worse case, target is last element or not in file, O n Average case, target in file, O 1 Τ2 = O n 10
11 Sequential Access on Disk Linear search on external storage much slower Significantly improve absolute performance by reducing seeks Seeks are much more expensive than in-memory operations Can approximate algorithm performance by seeks (disk accesses) Perform record blocking 1. Read m records into memory, search for target 2. Discard if not found, read next m records into memory 3. Continue until search terminates Worse case, O n Τm = O n 11
12 Sequential Search Improvements If we know types of searches, may be able to improve sequential search performance Self-organizing, reorganize order of records to make future searches faster Move to front. When target found, move to front of file Moves common records near front over time Transpose. When target found, move forward one position Bubbles common records towards front over time Count. Sort records by count of times they are requested Keeps common records at the front 12
13 In-Memory Direct Access Jump directly to location of target, read it Single seek, O 1 performance Must be able to convert target primary key into its location Programming example: array indexing Array is a collection of identical records Element index is its key, can be directly converted to address int a[ 256 ] a[ 128 ] ( a ) &a + ( 128 sizeof( a ) ) 13
14 On-Disk Direct Access Want to perform analogous direct-access on file of records 1. Required fixed-length records To calculate how far to offset from front of file for i-th record 2. Require method to convert primary key into offset location Both requirements are non-trivial to support 14
15 Binary Search Perform binary search to improve performance to O lg 2 n 1. File must be sorted, maintaining this proper is expensive 2. Records must be fixed-length 3. Binary search still requires more than 1 2 seeks to find a records Is it worth incurring these costs? If file doesn t change after creation, and often searched, maybe Classic tradeoff between initial cost of construction versus savings after construction 15
16 O n versus O lg 2 n Method n Linear Binary Speedup
17 Sequential Search Scenarios In spite of poor efficiency, sequential search is appropriate in certain situations 1. Searching for patterns 2. Search a file with only a few records 3. Managing a file that rarely needs to be searched 4. Performing secondary key search with expectation of many matches Key tradeoff: cost of searching versus cost of building data structure to support efficient search Above scenarios, building an efficient search structure wasteful 17
18 File Management Files are not static, content changes over their lifetime How can we deal efficiently with addition, update, deletion? Addition. Store data at first available position, or end of file Update. Deletion followed by addition Given this view, our only concern is how to efficiently delete and maintain file structure for follow-on additions 18
19 Record Deletion Record deletion imposes requirements on file management Record initially marked for deletion, but not removed Fixed versus variable-length records complicates strategy Secondary index needed for efficient variable length record deletion One very simply strategy is storage compaction At some point, reclaim storage for all marked records Delay until file closed, until sufficient deletions have occurred Compaction is expensive High availability files may never be free for compaction 19
20 Fixed-Length Deletion Dynamically reclaim space when new records added mark record as deleted, record s space is known as a hole rapidly find previously used space, reallocate to new records Stack of holes, maintain stack of deleted record positions Only works because records fixed-length, can fit in any hole Stack must be persistent as file is closed and re-opened One option, append head of hole stack to end of file Whenever a record is deleted Mark record s space as a new hole Store within new hole current head-of-stack offset Update head-of-stack offset to point to new hole 20
21 Hole Stack (1) Add A,B,C,D; (2) delete B,D; (3) add X,Y,Z Head-of-stack offset set to -1 A,B,C,D added, no holes, so appended B deleted, set hole to head-of-stack (-1), set head-of-stack to B s pos (20) D deleted, set hole to head of stack (20), set head-of-stack to D s pos (60) X added, place at head-of-stack (60), update head-of-stack to 20 Y added, place at head-of-stack (20), update head-of-stack to -1 Z added, no holes, so append 21
22 Variable-Length Deletion More complicated to support dynamic deletion and reallocation Main issue, new records don t exactly fit existing holes To delete, steps are similar to fixed-length records mark record as deleted, add hole to availability list Availability list similar to stack of holes Stores both hole s offset and its size 22
23 First Fit Reallocation Walk availability list for first hole large enough for new record If fit isn t exact, two strategies Pad. Pad record to exactly fit hole Reduces external fragmentation between records Increases internal fragmentation within record Split. Divide hole into new record and remaining fragment Reduces internal fragmentation Increase external fragmentation May need to compact small holes 23
24 Best Fit Reallocation Maintain availability list in ascending order of hole size Now, first fit always choose hole that best fits new record Additional cost incurred to maintain availability list in sorted order Leads to higher cost to find hole for new record Each add can leave a small hole as a fragment Small holes put at front of availability list Need to walk farther to find suitably sized hole for new records 24
25 Worst Fit Reallocation Maintain availability list in descending order of hole size Now, first fit always chooses hole at front of list, if large enough Attempting to produce largest possible fragment on addition Worst fit reduces search for hole to O 1 Eventually, remaining holes will be too small for new records 25
26 File Indexing Many advantages to fixed-length records Direct access, simplicity However, serious drawbacks in terms of space utilization File indexing separates storage from access and management Performed through the use of secondary file index Allows use of fixed-length index file to access data file storing variable-length records 26
27 Simple Indices Simple index Array of key offset pairs that index location of record with primary key k and offset position p in data file Simple indices support indirection Records in the data file can be rearranged by rearranging indices that reference those records, without touching the data file More efficient Access variable-length records through fixed-length index file Pinned records records that cannot change position are supported 27
28 Music File Example Consider a data file containing variable-length records describing music files Primary key: combination of distribution company and recording ID number In index file, size of key field is made fixed length Obviously, size of offset if also fixed length Therefore, entire key offset record is fixed length Can also store other data in index file (e.g., record length) 28
29 Music Index and Data Files key offset offset record ANG COL COL DGI DGI Index File 0 Lon 2312 Romeo & Juliet 62 RCA 2626 Quartet in C# 117 WAR 2369 Touchstone 1532 ANG 3795 Symphony #9 196 COL Nebraska Data File 29
30 Index Management With indexing, data files changes require index updates Addition. New records inserted into hole or appended Add new key offset pair to index Maintain index (in main memory) in key sorted order (for rapid search) Deletion. Use any previously discussed method to delete Remove record s key offset pair from index Update. Record s key changes, or it does not Former case, index s key value pair must be updated, repositioned Latter case, nothing changes in index 30
31 Secondary Key Index Secondary keys partition data file into groups Secondary key offsets are normally into primary key index Buffers secondary index Minimizes number of entries to update on data file modification Secondary key reference is a primary key To retrieve records, retrieve all primary key entries for secondary key, use primary key index to retrieve records Secondary index sorted by secondary key, within this by primary key 31
32 Music File Secondary Index key Beethoven Beethoven Beethoven Beethoven Corea Dvorak offset ANG3795 DGI39201 DGI8807 RCA2626 WAR23699 COL
33 Secondary Index Management Addition. Identical to primary key index addition Add new entry in sorted order to (each) secondary index Deletion. (Each) secondary index removes its reference to the deleted record Close holes in secondary index Even in main memory, can be expensive Alternatively, simply remove entry in primary key, stop Now, requests for deleted record through secondary index will fail on search of primary index With this approach, at some point secondary index should be cleaned up 33
34 Secondary Index Update Update. Secondary index references primary index, so some buffering is provided Three types of updates 1. Secondary key value updated Secondary index must update its corresponding entry, re-sort 2. Primary key value updated Search secondary index to update old primary key to new one, re-sort 3. Neither primary nor secondary key values updated No changes to secondary index required 34
35 Secondary Index Boolean Logic Secondary index can be used to perform Boolean logic searches Retrieve hit lists from searches on different secondary indices Merge results using Boolean logic operators E.g., find all recordings of Beethoven s Symphony #9 using secondary key indices for composer and recording Beethoven Symphony #9 Result ANG3795 ANG3795 ANG3795 DGI39201 COL31890 DGI8807 DGI8807 DGI8807 RCA
36 Secondary Index Improvements Various issues related to secondary key indices stored as simple arrays 1. Array must be reordered for each addition 2. Secondary key value is duplicated in many cases Different types of data structures can address these issues Inverted list, linked list 36
37 Inverted List Secondary index as secondary key, n primary keys If new record with same secondary key added, append record s primary key (in sorted order) Advantages Only need small local reorganization on new record addition Secondary keys are not duplicated Disadvantage Choosing size of n 37
38 Secondary Index Inverted List Key Beethoven Prokofiev References ANG3795 DGI39201 DGI8807 RCA2626 ANG LON2312 Secondary Key File 38
39 Linked List Use inverted list, but switch primary key array to linked list Don t create separate linked lists for each secondary key Build single primary key file referenced by secondary key index Each secondary key holds offset to first primary key in secondary key reference file First primary key holds offset to next primary key in reference list Similar to availability list for deleted records in data file 39
40 Secondary Index Linked List Key Offset Beethoven 30 Corea 70 Dvorak 90 Secondary Key File Offset Primary Key Next 0 LON RCA WAR ANG COL DGI MER COL DGI Primary Key Reference File 40
41 Linked List Performance Advantages Only updated secondary key index when record added or key updated Primary key reference list is entry sequenced, not sorted Primary key reference list uses fixed-length records, easy to implement deletion, direct access to location any record Disadvantage If primary key reference list stored on-disk, each key retrieved requires disk seek 41
INDEXING. Copyright 2004, Binnur Kurt. Indexing
9 INDEXING Copyright 2004, Binnur Kurt Indexing Operations in order to maintain an Indexed File 1. Create the original empty and data files. 2. Load the index file into memory before using it. 3. Rewrite
More informationFile System Interface and Implementation
Unit 8 Structure 8.1 Introduction Objectives 8.2 Concept of a File Attributes of a File Operations on Files Types of Files Structure of File 8.3 File Access Methods Sequential Access Direct Access Indexed
More informationUNIT III MEMORY MANAGEMENT
UNIT III MEMORY MANAGEMENT TOPICS TO BE COVERED 3.1 Memory management 3.2 Contiguous allocation i Partitioned memory allocation ii Fixed & variable partitioning iii Swapping iv Relocation v Protection
More informationIn multiprogramming systems, processes share a common store. Processes need space for:
Memory Management In multiprogramming systems, processes share a common store. Processes need space for: code (instructions) static data (compiler initialized variables, strings, etc.) global data (global
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 informationMemory Management. Memory Management Requirements
Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable supply of ready processes to consume available processor time 1 Memory Management
More informationMemory Management. Memory Management
Memory Management Chapter 7 1 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory as possible 2 1 Memory
More informationRequirements, Partitioning, paging, and segmentation
Requirements, Partitioning, paging, and segmentation Main Memory: The Big Picture kernel memory proc struct kernel stack/u area Stack kernel stack/u area Stack kernel stack/u area Stack Data Text (shared)
More informationLecture 7. Memory Management
Lecture 7 Memory Management 1 Lecture Contents 1. Memory Management Requirements 2. Memory Partitioning 3. Paging 4. Segmentation 2 Memory Memory is an array of words or bytes, each with its own address.
More informationFILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23
FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most
More informationCSC 553 Operating Systems
CSC 553 Operating Systems Lecture 12 - File Management Files Data collections created by users The File System is one of the most important parts of the OS to a user Desirable properties of files: Long-term
More informationChapter 8 & Chapter 9 Main Memory & Virtual Memory
Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array
More informationHeap Management. Heap Allocation
Heap Management Heap Allocation A very flexible storage allocation mechanism is heap allocation. Any number of data objects can be allocated and freed in a memory pool, called a heap. Heap allocation is
More informationChapter 13: Indexing. Chapter 13. ? value. Topics. Indexing & Hashing. value. Conventional indexes B-trees Hashing schemes (self-study) record
Chapter 13: Indexing (Slides by Hector Garcia-Molina, http://wwwdb.stanford.edu/~hector/cs245/notes.htm) Chapter 13 1 Chapter 13 Indexing & Hashing value record? value Chapter 13 2 Topics Conventional
More informationComp 335 File Structures. Indexes
Comp 335 File Structures Indexes The Search for Information When searching for information, the information desired is usually associated with a key field. For example, given a file of 5000 student records,
More informationEXTERNAL SORTING. Sorting
EXTERNAL SORTING 1 Sorting A classic problem in computer science! Data requested in sorted order (sorted output) e.g., find students in increasing grade point average (gpa) order SELECT A, B, C FROM R
More informationChapter 3 - Memory Management
Chapter 3 - Memory Management Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Memory Management 1 / 222 1 A Memory Abstraction: Address Spaces The Notion of an Address Space Swapping
More informationFile Management By : Kaushik Vaghani
File Management By : Kaushik Vaghani File Concept Access Methods File Types File Operations Directory Structure File-System Structure File Management Directory Implementation (Linear List, Hash Table)
More informationChapter 9 Memory Management
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 informationDatabase Systems II. Record Organization
Database Systems II Record Organization CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 75 Introduction We have introduced secondary storage devices, in particular disks. Disks use blocks as
More informationRepresenting Data Elements
Representing Data Elements Week 10 and 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 18.3.2002 by Hector Garcia-Molina, Vera Goebel INF3100/INF4100 Database Systems Page
More informationCS Operating Systems
CS 4500 - Operating Systems Module 9: Memory Management - Part 1 Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 9, 2017 In This Module...
More informationCS Operating Systems
CS 4500 - Operating Systems Module 9: Memory Management - Part 1 Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 9, 2017 In This Module...
More informationFile Systems. File system interface (logical view) File system implementation (physical view)
File Systems File systems provide long-term information storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple processes must be able
More informationCS 318 Principles of Operating Systems
CS 318 Principles of Operating Systems Fall 2017 Lecture 16: File Systems Examples Ryan Huang File Systems Examples BSD Fast File System (FFS) - What were the problems with the original Unix FS? - How
More informationChapter 9: Virtual-Memory
Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation of Frames Thrashing Other Considerations Silberschatz, Galvin and Gagne 2013
More informationCS 318 Principles of Operating Systems
CS 318 Principles of Operating Systems Fall 2018 Lecture 16: Advanced File Systems Ryan Huang Slides adapted from Andrea Arpaci-Dusseau s lecture 11/6/18 CS 318 Lecture 16 Advanced File Systems 2 11/6/18
More informationCS220 Database Systems. File Organization
CS220 Database Systems File Organization Slides from G. Kollios Boston University and UC Berkeley 1.1 Context Database app Query Optimization and Execution Relational Operators Access Methods Buffer Management
More informationCSE373: Data Structure & Algorithms Lecture 18: Comparison Sorting. Dan Grossman Fall 2013
CSE373: Data Structure & Algorithms Lecture 18: Comparison Sorting Dan Grossman Fall 2013 Introduction to Sorting Stacks, queues, priority queues, and dictionaries all focused on providing one element
More informationCOMPUTER SCIENCE 4500 OPERATING SYSTEMS
Last update: 1/6/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 10: Memory Management Part 2 In This Module 2! We conclude our study of memory management by considering how to!
More informationChapter 8 Memory Management
1 Chapter 8 Memory Management The technique we will describe are: 1. Single continuous memory management 2. Partitioned memory management 3. Relocatable partitioned memory management 4. Paged memory management
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 information!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?
Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
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 informationRequirements, Partitioning, paging, and segmentation
Requirements, Partitioning, paging, and segmentation Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory
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 informationChapter 5 Hashing. Introduction. Hashing. Hashing Functions. hashing performs basic operations, such as insertion,
Introduction Chapter 5 Hashing hashing performs basic operations, such as insertion, deletion, and finds in average time 2 Hashing a hash table is merely an of some fixed size hashing converts into locations
More informationHashing IV and Course Overview
Date: April 5-6, 2001 CSI 2131 Page: 1 Hashing IV and Course Overview Other Collision Resolution Techniques 1) Double Hashing The first hash function determines the home address If the home address is
More informationDeallocation Mechanisms. User-controlled Deallocation. Automatic Garbage Collection
Deallocation Mechanisms User-controlled Deallocation Allocating heap space is fairly easy. But how do we deallocate heap memory no longer in use? Sometimes we may never need to deallocate! If heaps objects
More informationFile Systems. OS Overview I/O. Swap. Management. Operations CPU. Hard Drive. Management. Memory. Hard Drive. CSI3131 Topics. Structure.
File Systems I/O Management Hard Drive Management Virtual Memory Swap Memory Management Storage and I/O Introduction CSI3131 Topics Process Management Computing Systems Memory CPU Peripherals Processes
More informationB-Trees. Based on materials by D. Frey and T. Anastasio
B-Trees Based on materials by D. Frey and T. Anastasio 1 Large Trees n Tailored toward applications where tree doesn t fit in memory q operations much faster than disk accesses q want to limit levels of
More informationMemory Management. Dr. Yingwu Zhu
Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is infinite Allocation of memory
More informationMemory Management. 3. What two registers can be used to provide a simple form of memory protection? Base register Limit Register
Memory Management 1. Describe the sequence of instruction-execution life cycle? A typical instruction-execution life cycle: Fetches (load) an instruction from specific memory address. Decode the instruction
More informationThe Google File System
October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single
More informationIndexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel
Indexing Week 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Overview Conventional indexes B-trees Hashing schemes
More informationDOWNLOAD PDF LINKED LIST PROGRAMS IN DATA STRUCTURE
Chapter 1 : What is an application of linear linked list data structures? - Quora A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements
More informationChapter 4 Memory Management. Memory Management
Chapter 4 Memory Management 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms 4.5 Modeling page replacement algorithms 4.6 Design issues for paging systems 4.7
More informationMemory Management Basics
Memory Management Basics 1 Basic Memory Management Concepts Address spaces! Physical address space The address space supported by the hardware Ø Starting at address 0, going to address MAX sys! MAX sys!!
More informationLast Class: Deadlocks. Where we are in the course
Last Class: Deadlocks Necessary conditions for deadlock: Mutual exclusion Hold and wait No preemption Circular wait Ways of handling deadlock Deadlock detection and recovery Deadlock prevention Deadlock
More informationMEMORY MANAGEMENT: Real Storage. Unit IV
MEMORY MANAGEMENT: Real Storage Unit IV OUTLINE Storage Organization Storage Management Storage Hierarchy Storage Management Strategies Storage Placement Strategies Segmentation Paging & Demand Paging
More informationMemory Management Prof. James L. Frankel Harvard University
Memory Management Prof. James L. Frankel Harvard University Version of 5:42 PM 25-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Memory Management Ideal memory Large Fast Non-volatile
More informationCS 4284 Systems Capstone
CS 4284 Systems Capstone Disks & File Systems Godmar Back Filesystems Files vs Disks File Abstraction Byte oriented Names Access protection Consistency guarantees Disk Abstraction Block oriented Block
More informationProgramming Language 2 (PL2)
Programming Language 2 (PL2) 338.2.1 Explain the concept of data storage in Random files 338.2.2 Apply file manipulation functions for Random files A file opened for random access is assumed to be composed
More informationIn-Memory Searching. Linear Search. Binary Search. Binary Search Tree. k-d Tree. Hashing. Hash Collisions. Collision Strategies.
In-Memory Searching Linear Search Binary Search Binary Search Tree k-d Tree Hashing Hash Collisions Collision Strategies Chapter 4 Searching A second fundamental operation in Computer Science We review
More informationCOMPUTER SCIENCE 4500 OPERATING SYSTEMS
Last update: 3/28/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 9: Memory Management Part 1 In This Module 2! Memory management functions! Types of memory and typical uses! Simple
More informationOutlook. File-System Interface Allocation-Methods Free Space Management
File System Outlook File-System Interface Allocation-Methods Free Space Management 2 File System Interface File Concept File system is the most visible part of an OS Files storing related data Directory
More informationIntroduction. hashing performs basic operations, such as insertion, better than other ADTs we ve seen so far
Chapter 5 Hashing 2 Introduction hashing performs basic operations, such as insertion, deletion, and finds in average time better than other ADTs we ve seen so far 3 Hashing a hash table is merely an hashing
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 informationCS542. Algorithms on Secondary Storage Sorting Chapter 13. Professor E. Rundensteiner. Worcester Polytechnic Institute
CS542 Algorithms on Secondary Storage Sorting Chapter 13. Professor E. Rundensteiner Lesson: Using secondary storage effectively Data too large to live in memory Regular algorithms on small scale only
More informationThe Right Read Optimization is Actually Write Optimization. Leif Walsh
The Right Read Optimization is Actually Write Optimization Leif Walsh leif@tokutek.com The Right Read Optimization is Write Optimization Situation: I have some data. I want to learn things about the world,
More informationMemory Management. Chapter 4 Memory Management. Multiprogramming with Fixed Partitions. Ideally programmers want memory that is.
Chapter 4 Memory Management Ideally programmers want memory that is Memory Management large fast non volatile 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms
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 informationVirtual Memory (Real Memory POV)
Virtual Memory (Real Memory POV) Computer Systems Chapter 9.1-9.6 Process Resources Each process THINKS it owns all machine resources virtual processor, virtual memory, virtual keyboard, virtual monitor,
More informationBasic Memory Management
Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it
More informationHashing for searching
Hashing for searching Consider searching a database of records on a given key. There are three standard techniques: Searching sequentially start at the first record and look at each record in turn until
More informationCSCI 4500/8506 Operating Systems
CSCI 4500/8506 Operating Systems Module 10 Memory Management Part 2 Updated: August 21, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 1 In This Module We conclude our study of memory management
More information3. Memory Management
Principles of Operating Systems CS 446/646 3. Memory Management René Doursat Department of Computer Science & Engineering University of Nevada, Reno Spring 2006 Principles of Operating Systems CS 446/646
More informationFile Management. Chapter 12
File Management Chapter 12 Files Used for: input to a program Program output saved for long-term storage Terms Used with Files Field basic element of data contains a single value characterized by its length
More informationUniversity of California, Berkeley. CS 186 Introduction to Databases, Spring 2014, Prof. Dan Olteanu MIDTERM
University of California, Berkeley CS 186 Introduction to Databases, Spring 2014, Prof. Dan Olteanu MIDTERM This is a closed book examination sided). but you are allowed one 8.5 x 11 sheet of notes (double
More informationVirtual Memory. Kevin Webb Swarthmore College March 8, 2018
irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement
More informationIndexing Methods. Lecture 9. Storage Requirements of Databases
Indexing Methods Lecture 9 Storage Requirements of Databases Need data to be stored permanently or persistently for long periods of time Usually too big to fit in main memory Low cost of storage per unit
More informationQ. How can we remove, or at least reduce, the relationship between program size and physical memory size?
CSCI 4500/8506 Operating Systems Module 10 Memory Management Part 2 Updated: August 21, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 In This Module We conclude our study of memory management
More informationBasic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1
Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming
More informationOPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD
OPERATING SYSTEMS #8 After A.S.Tanenbaum, Modern Operating Systems 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD MEMORY MANAGEMENT MEMORY MANAGEMENT The memory is one of
More information9/29/2016. Chapter 4 Trees. Introduction. Terminology. Terminology. Terminology. Terminology
Introduction Chapter 4 Trees for large input, even linear access time may be prohibitive we need data structures that exhibit average running times closer to O(log N) binary search tree 2 Terminology recursive
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,
More informationChapter 12. File Management
Operating System Chapter 12. File Management Lynn Choi School of Electrical Engineering Files In most applications, files are key elements For most systems except some real-time systems, files are used
More informationMemory Management. CSE 2431: Introduction to Operating Systems Reading: , [OSC]
Memory Management CSE 2431: Introduction to Operating Systems Reading: 8.1 8.3, [OSC] 1 Outline Basic Memory Management Swapping Variable Partitions Memory Management Problems 2 Basic Memory Management
More informationCS 241 Honors Memory
CS 241 Honors Memory Ben Kurtovic Atul Sandur Bhuvan Venkatesh Brian Zhou Kevin Hong University of Illinois Urbana Champaign February 20, 2018 CS 241 Course Staff (UIUC) Memory February 20, 2018 1 / 35
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2014 Lecture 14
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2014 Lecture 14 LAST TIME! Examined several memory technologies: SRAM volatile memory cells built from transistors! Fast to use, larger memory cells (6+ transistors
More informationMemory: Overview. CS439: Principles of Computer Systems February 26, 2018
Memory: Overview CS439: Principles of Computer Systems February 26, 2018 Where We Are In the Course Just finished: Processes & Threads CPU Scheduling Synchronization Next: Memory Management Virtual Memory
More information10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline
10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Copyright 2003 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4. Other Approaches
More informationCSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management
CSE 120 July 18, 2006 Day 5 Memory Instructor: Neil Rhodes Translation Lookaside Buffer (TLB) Implemented in Hardware Cache to map virtual page numbers to page frame Associative memory: HW looks up in
More informationOperating Systems. File Systems. Thomas Ropars.
1 Operating Systems File Systems Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2017 2 References The content of these lectures is inspired by: The lecture notes of Prof. David Mazières. Operating
More informationMain Memory. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & APPS 1
Main Memory Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 Main Memory Background Swapping Contiguous allocation Paging Segmentation Segmentation with paging
More informationC How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.
C How to Program, 6/e Storage of data in variables and arrays is temporary such data is lost when a program terminates. Files are used for permanent retention of data. Computers store files on secondary
More informationCS6401- Operating System UNIT-III STORAGE MANAGEMENT
UNIT-III STORAGE MANAGEMENT Memory Management: Background In general, to rum a program, it must be brought into memory. Input queue collection of processes on the disk that are waiting to be brought into
More informationDynamic Memory Allocation
Dynamic Memory Allocation CS61, Lecture 10 Prof. Stephen Chong October 4, 2011 Announcements 1/2 Assignment 4: Malloc Will be released today May work in groups of one or two Please go to website and enter
More informationCSE 562 Database Systems
Goal of Indexing CSE 562 Database Systems Indexing Some slides are based or modified from originals by Database Systems: The Complete Book, Pearson Prentice Hall 2 nd Edition 08 Garcia-Molina, Ullman,
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 informationModeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems
Modeling Page Replacement: Stack Algorithms 7 4 6 5 State of memory array, M, after each item in reference string is processed CS450/550 Memory.45 Design Issues for Paging Systems Local page replacement
More informationChapter 6: File Systems
Chapter 6: File Systems File systems Files Directories & naming File system implementation Example file systems Chapter 6 2 Long-term information storage Must store large amounts of data Gigabytes -> terabytes
More informationEngine Support System. asyrani.com
Engine Support System asyrani.com A game engine is a complex piece of software consisting of many interacting subsystems. When the engine first starts up, each subsystem must be configured and initialized
More informationChapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition,
Chapter 17: Distributed-File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 17 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File
More informationFile System Interface: Overview. Objective. File Concept UNIT-IV FILE SYSTEMS
UNIT-IV FILE SYSTEMS File System Interface: File Concept Access Methods Directory Structure File System Mounting Protection Overview For most users, the file system is the most visible aspect of an operating
More informationProcess. One or more threads of execution Resources required for execution. Memory (RAM) Others
Memory Management 1 Process One or more threads of execution Resources required for execution Memory (RAM) Program code ( text ) Data (initialised, uninitialised, stack) Buffers held in the kernel on behalf
More informationOperating Systems Design Exam 2 Review: Spring 2011
Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes
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 information