Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating systems: Clouds, Chorus with Cool, Amoeba DCOM CORBA
Object Based Operating Systems2 Classed and Objects Classes Objects Data members, methods Constructors Function overloading Inheritance –object based systems vs. object oriented systems
Object Based Operating Systems3 Evaluation of Objects Advantages –modularity –clean interfaces –security –ease of REUSE Disadvantages –high complexity of inheritance –poor performance
Object Based Operating Systems4 Clouds Clouds is an object-based distributed o.s. developed at Georgia Tech. in the late 80’s. Clouds kernel is called Ra and it has a layered structure. Clouds can run centralized and distributed applications. Applications can be oo and non-oo.
Object Based Operating Systems5 Clouds Objects –consist of data and methods. –are persistent and contained in Virtual Address Space –are not allowed to use multiple inheritance –communicate via messages that invoke methods –messages result from thread execution (thus object-thread model)
Object Based Operating Systems6 Clouds Objects Cont. Clouds Objects are passive (do not contain processes or threads.) Clouds objects contain: –user-defined code –persistent data –volatile heap for temporary memory allocation –persistent heap for allocating memory
Object Based Operating Systems7 Transparency in Clouds Clouds provides for location transparency: –all objects are stored in data servers but they are accessible from any system server. –each object has a unique global system-level name –users can assign names to objects and the naming service translates those names in unique system names.
Object Based Operating Systems8 Clouds Threads –traverse paths through objects and execute the entry points to an object (see fig 6.2. p. 133) –threads can be created by a user or by a program –object invocation by a thread can be recursive or nested –threads can execute concurrently within an object, thus Clouds supports semaphores and locks for concurrency control with an object
Object Based Operating Systems9 Clouds Memory Storage Clouds memory storage –Clouds memory managers view objects as segments that are mapped onto virtual memory –all segments are a multiple of the physical page size –system objects called partitions maintain the segments ? Answer questions 6.7, 6.8 and 6.9 p. 150 ?
Object Based Operating Systems10 Chorus (V3) and COOL (V2) Chorus V3 is a distributed real-time micro-kernel- based operating system, developed in the late 80’s and early 90’s at INRIA - France. Chorus has evolved into a commercial product family, including CORBA compliant systems such as Chorus/COOL ORB. Chorus was purchased by Sun in 1997 and used as a basis for JavaOS. Currently it is marketed by Sun under the name ChorusOS.
Object Based Operating Systems11 COOL (Chorus Object-Based Layer) COOL runs on top of the Chorus micro- kernel COOL objects consist of two segments –data segment and –code segment –methods are contained within the code segment –code is shared by all instantiations of the same object
Object Based Operating Systems12 COOL V2 COOL V2 consists of the following layers: –Base layer –Generic runtime system –Language runtime system
Object Based Operating Systems13 COOL’s Base Layer Base layer provides basic services for user processes such as: –object oriented equivalence of DSM –message passing –memory allocation and management properties based on clusters, which are mapped onto distributed virtual memory referred to as a context space. (see Box 44 p. 136) each cluster is a set of VM regions each region consist of segments members of clusters are usually objects of the same class
Object Based Operating Systems14 Generic Runtime System Layer GRSL implements COOL objects. COOL object consists of –state –set of methods Object management includes the following operations: –object creation, dynamic linking, dynamic loading, transparent invocation (mapping into contexts and location on secondary storage)
Object Based Operating Systems15 Generic Runtime Layer Cont. GRTL supports: –execution model which maps object activities to Chorus threads and jobs –language-level model is designed to support semantics of different languages in distributed environment, in particular it implements ORB, e.g. normal method invocation is automatically replaced by remote invocations utilizing proxy service, which uses RPC primitives.
Object Based Operating Systems16 Language Specific Runtime Layer LSRL is responsible for mapping language specific objects onto the generic runtime model through the utilization of preprocessors, thereby implementing ORB’s IDL. Programmers can use: –COOL++ (which is CORBA compliant) –or C++.
Object Based Operating Systems17 DCOM DCOM (Distributed Common Object Model) is an extension of Microsoft COM and it provides: – a programming model – binary standard – interoperability standard for distributed object computing –available for Win 95
Object Based Operating Systems18 COM features It allows logical elements to be considered independent It allows flexible binary components to adapt to different configurations and machines Is supported by ActiveX Consortium Any software tool that supports COM, automatically supports DCOM.
Object Based Operating Systems19 DCOM main features Transport neutral Open technology Common Web browser and server component Security DCE RPC mechanism extension
Object Based Operating Systems20 Transport neutral DCOM can enable components to communicate over connection oriented or connectionless protocols and it can support variety of communication standards (TCP/IP, UDP/IP, IPX/SPX, Apple Talk or HTTP, etc.)
Object Based Operating Systems21 Open Technology DCOM technology is open and is available for Unix, Apple and Windows (most commonly used in Windows-based systems)
Object Based Operating Systems22 Common Web browser and server component Since DCOM includes ActiveX and ActiveX components it can be embedded into browser based applications. It can enable distributed Internet applications that support browser technology.
Object Based Operating Systems23 Security DCOM can integrate Internet certificate- based security (based on public-key encryption)
Object Based Operating Systems24 Remote Method Calls support DCOM RMCs is supported by IDL (Interface Description Language) build on top of DCE RPC IDL DCOM supports the extension of the DCE RPC standard. It includes an extra (non-DCE) feature –a data type - interface pointer (e.g. a parameter to a method call). Client and server codes for this RPC are referred to as proxy and stub.
Object Based Operating Systems25 Monikers ? Read paragraph , p.140 and explain what are DCOM monikers. Give some examples of monikers.
Object Based Operating Systems26 CORBA CORBA stands for Common Object Request Broker Architecture and is defined by OMG (Object Management Group). CORBA main goal is to make heterogeneous computing (including languages and systems) possible.
Object Based Operating Systems27 CORBA’s ORB ORB is a CORBA’s module that provides a transparent interface for heterogeneous objects. This is achieved by utilizing an IDL that interfaces with object adapters. E.g. ORB can allow a C++ object located on one physical system talk to a Java object located on a different physical system. Study fig P. 144 and explain it.
Object Based Operating Systems28 CORBA Object Adapters Object Adapters are modules responsible for interfacing between Object Implementation and ORB. Study fig P. 146 and explain it.
Object Based Operating Systems29 CORBA to COM Mapping ?Read paragraph on page 148 and described commonalities and differences of CORBA and COM.
Object Based Operating Systems30 Conclusion Object Orientation together with standards such as DCOM and CORBA allows for development of distributed operating systems and applications, while supporting transparent access to heterogeneous environments, allowing for growth of systems and flexible replacement of hardware and software.