Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bhanu Choudhary CS257 Section 1 ID: 101.  Introduction  Addresses in Client-Server Systems  Logical and Structured Addresses  Pointer Swizzling 

Similar presentations


Presentation on theme: "Bhanu Choudhary CS257 Section 1 ID: 101.  Introduction  Addresses in Client-Server Systems  Logical and Structured Addresses  Pointer Swizzling "— Presentation transcript:

1 Bhanu Choudhary CS257 Section 1 ID: 101

2  Introduction  Addresses in Client-Server Systems  Logical and Structured Addresses  Pointer Swizzling  Programmer Control of Swizzling  Pinned Records and Blocks

3  Address of a block and Record ◦ In Main Memory  Address of the block is the virtual memory address of the first byte  Address of the record within the block is the virtual memory address of the first byte of the record ◦ In Secondary Memory: sequence of bytes describe the location of the block in the overall system  Sequence of Bytes describe the location of the block : the device Id for the disk, Cylinder number, etc.

4  The addresses in address space are represented in two ways ◦ Physical Addresses: byte strings that determine the place within the secondary storage system where the record can be found. ◦ Logical Addresses: arbitrary string of bytes of some fixed length  Physical Address bits are used to indicate: ◦ Host to which the storage is attached ◦ Identifier for the disk ◦ Number of the cylinder ◦ Number of the track ◦ Offset of the beginning of the record

5  Map Table relates logical addresses to physical addresses. LogicalPhysical Logical Address Physical Address A DDRESSES IN C LIENT -S ERVER S YSTEMS (C ONTD..)

6  Purpose of logical address?  Gives more flexibility, when we ◦ Move the record around within the block ◦ Move the record to another block  Gives us an option of deciding what to do when a record is deleted. Reco rd 4 Reco rd 3 Reco rd 2 Reco rd 1 Header Offset table Unused

7  Having pointers is common in an object- relational database systems  Important to learn about the management of pointers  Every data item (block, record, etc.) has two addresses: ◦ database address: address on the disk ◦ memory address, if the item is in virtual memory

8  Translation Table: Maps database address to memory address  All addressable items in the database have entries in the map table, while only those items currently in memory are mentioned in the translation table DbaddrMem-addr Database address Memory Address

9  Pointer consists of the following two fields ◦ Bit indicating the type of address ◦ Database or memory address ◦ Example 13.17 Disk Block 2 Block 1 Memory Swizzled Unswizzled Block 1

10  Block 1 has a record with pointers to a second record on the same block and to a record on another block  If Block 1 is copied to the memory ◦ The first pointer which points within Block 1 can be swizzled so it points directly to the memory address of the target record ◦ Since Block 2 is not in memory, we cannot swizzle the second pointer

11  Three types of swizzling ◦ Automatic Swizzling  As soon as block is brought into memory, swizzle all relevant pointers. ◦ Swizzling on Demand  Only swizzle a pointer if and when it is actually followed. ◦ No Swizzling  Pointers are not swizzled they are accesses using the database address.

12  Unswizzling ◦ When a block is moved from memory back to disk, all pointers must go back to database (disk) addresses ◦ Use translation table again ◦ Important to have an efficient data structure for the translation table

13  A block in memory is said to be pinned if it cannot be written back to disk safely.  If block B1 has swizzled pointer to an item in block B2, then B2 is pinned ◦ Unpin a block, we must unswizzle any pointers to it ◦ Keep in the translation table the places in memory holding swizzled pointers to that item ◦ Unswizzle those pointers (use translation table to replace the memory addresses with database (disk) addresses

14


Download ppt "Bhanu Choudhary CS257 Section 1 ID: 101.  Introduction  Addresses in Client-Server Systems  Logical and Structured Addresses  Pointer Swizzling "

Similar presentations


Ads by Google