1 Overview Assignment 7: hints  Distributed objects Assignment 6: solution  Living with a garbage collector.

Slides:



Advertisements
Similar presentations
An Implementation of Mostly- Copying GC on Ruby VM Tomoharu Ugawa The University of Electro-Communications, Japan.
Advertisements

Remote method invocation. Introduction First introduced in JDK 1.1. Allows distributed Java programs to work with each others by behaving as if they are.
(Chapter 5) Deleting Objects
1 Overview Assignment 5: hints  Garbage collection Assignment 4: solution.
Lecture 10: Heap Management CS 540 GMU Spring 2009.
Garbage Collection CSCI 2720 Spring Static vs. Dynamic Allocation Early versions of Fortran –All memory was static C –Mix of static and dynamic.
By Jacob SeligmannSteffen Grarup Presented By Leon Gendler Incremental Mature Garbage Collection Using the Train Algorithm.
Remote Method Invocation
MC 2 : High Performance GC for Memory-Constrained Environments N. Sachindran, E. Moss, E. Berger Ivan JibajaCS 395T *Some of the graphs are from presentation.
Chapter 11: File System Implementation
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
MOSTLY PARALLEL GARBAGE COLLECTION Authors : Hans J. Boehm Alan J. Demers Scott Shenker XEROX PARC Presented by:REVITAL SHABTAI.
Virtual Memory Primitives for User Programs Andrew W. Appel and Kai Li Presented by: Khanh Nguyen.
Welcome to CS697B! Special Topics on Concurrent and Distributed Systems Tue Thu 8:30pm to 9:45 :-(
Generational Stack Collection And Profile driven Pretenuring Perry Cheng Robert Harper Peter Lee Presented By Moti Alperovitch
Chapter 10: File-System Interface
How Does Remote Method Invocation Work? –Systems that use RMI for communication typically are divided into two categories: clients and servers. A server.
Chapter 3.7 Memory and I/O Systems. 2 Memory Management Only applies to languages with explicit memory management (C or C++) Memory problems are one of.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
1 Overview Assignment 6: hints  Living with a garbage collector Assignment 5: solution  Garbage collection.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 10: File-System Interface.
Screen Snapshot Service Kurt Biery SiTracker Monitoring Meeting, 23-Jan-2007.
1 File Systems Chapter Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems.
File I/O Applied Component-Based Software Engineering File I/O CSE 668 / ECE 668 Prof. Roger Crawfis.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Chapter 3.5 Memory and I/O Systems. 2 Memory Management Memory problems are one of the leading causes of bugs in programs (60-80%) MUCH worse in languages.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Chapter 10: File-System.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Enhancements to Java for Real Time Systems Theresa Dsena CSE Fall 2006 Prof. Ganesan.
1 Java RMI G53ACC Chris Greenhalgh. 2 Contents l Java RMI overview l A Java RMI example –Overview –Walk-through l Implementation notes –Argument passing.
1 Web Based Programming Section 8 James King 12 August 2003.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
1 Comp 104: Operating Systems Concepts Files and Filestore Allocation.
UNIX Files File organization and a few primitives.
OS2014 PROJECT 2 Supplemental Information. Outline Sequence Diagram of Project 2 Kernel Modules Kernel Sockets Work Queues Synchronization.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
Project 2: Socket Programming. Overview Sockets Working with sockets Client-Server example Project 1 Hints.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 14 Threads 2 Read Ch.
Finalizers, this reference and static Sangeetha Parthasarathy 06/13/2001.
G ARBAGE C OLLECTION CSCE-531 Ankur Jain Neeraj Agrawal 1.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
1 Exceptions Exception handling – Exception Indication of problem during execution – E.g., divide by zero – Chained exceptions Uses of exception handling.
Java Network Programming Network Programming Spring 2000 Jeffrey E. Care
Access Methods File store information When it is used it is accessed & read into memory Some systems provide only one access method IBM support many access.
® July 21, 2004GC Summer School1 Cycles to Recycle: Copy GC Without Stopping the World The Sapphire Collector Richard L. Hudson J. Eliot B. Moss Originally.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Mandatory Assignment INF3190. Part 1: Client-server communication via TCP Develop a client-server application in C which allows a client to send UNIX.
Creating Java Applications (Software Development Life Cycle) 1. specify the problem requirements - clarify 2. analyze the problem - Input? Processes? Output.
Binding & Dynamic Linking Presented by: Raunak Sulekh(1013) Pooja Kapoor(1008)
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Review of Last Year’s Midterm
Core Java Garbage Collection LEVEL – PRACTITIONER.
Module 9: Memory and Resource Management
Remote Method Invocation
What is RMI? Remote Method Invocation
Beyond HTTP Up to this point we have been dealing with software tools that run on browsers and communicate to a server that generates files that can be.
Review.
Client server programming
Distributed File Systems
Distributed File Systems
Distributed File Systems
An Introduction to Internetworking
Distributed File Systems
Distributed File Systems
Thread per client and Java NIO
Presentation transcript:

1 Overview Assignment 7: hints  Distributed objects Assignment 6: solution  Living with a garbage collector

2 A7 - Distributed Objects Imagine a distributed FileSystem as a distributed object of type: Write a small client/server Application using Java/RMI public interface RemoteFS { public byte[] readFile(String filename); public void writeFile(String filename, byte[] content); }

3 A7 - RMI Client operates on Interface, Implementation on a remote Server It should be possible to use the client program in the following way:  java RemoteFSClient to read a File  echo | java RemoteFSClient to write a file  cat | java RemoteFSClient copy

4 Overview Assignment 7: hints  Distributed objects Assignment 6: solution  Living with a garbage collector

5 A6 Ex1 – Finalizers Finalizers are not executed by the GC:  takes time  could block Resuscitation:  Finalizers are executed only once  The finalizer of a resuscitated object is not run again (since there is no entry in the finalizer queue)  Finalizers can be re-enabled using ReRegisterForFinalize

6 A6 Ex1 – Finalizers Pointers in finalizers:  Objects referenced in finalizers could be invalid since objects are disposed in no particular order.  Dependencies should be handled by the user (e.g. in a close method).

7 A6 Ex2 – Write barriers To check if we have a pointer from an older generation to a younger one for each assignment is expensive.  we divide the heap in small regions (cards)  we mark the enclosing region every time we update a pointer  at GC time we check for all the marked cards if such an old-young reference was created.

8 A6 Ex3 – Weak pointers.NET  big structures that can be easily reconstructed  ex: file hierarchy, file buffers, I/O buffers Java  object monitoring (A  B) we can link them without blocking collection an object (A) receives a notification when the pointed-to object (B) is removed