300 likes | 438 Views
Learning Objectives. Object Orientation and its benefits Controversy over object based operating systems Object based operating systems: Clouds, Chorus with Cool, Amoeba DCOM CORBA. Classed and Objects. Classes Objects Data members, methods Constructors Function overloading Inheritance
E N D
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 Systems
Classed and Objects • Classes • Objects • Data members, methods • Constructors • Function overloading • Inheritance • object based systems vs. object oriented systems Object Based Operating Systems
Evaluation of Objects • Advantages • modularity • clean interfaces • security • ease of REUSE • Disadvantages • high complexity of inheritance • poor performance Object Based Operating Systems
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 Systems
Clouds Objects • 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 Systems
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 Systems
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 Systems
Clouds Threads • 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 Systems
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 Systems
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 Systems
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 Systems
COOL V2 • COOL V2 consists of the following layers: • Base layer • Generic runtime system • Language runtime system Object Based Operating Systems
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 Systems
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 Systems
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 Systems
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 Systems
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 Systems
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 Systems
DCOM main features • Transport neutral • Open technology • Common Web browser and server component • Security • DCE RPC mechanism extension Object Based Operating Systems
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 Systems
Open Technology • DCOM technology is open and is available for Unix, Apple and Windows (most commonly used in Windows-based systems) Object Based Operating Systems
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 Systems
Security • DCOM can integrate Internet certificate-based security (based on public-key encryption) Object Based Operating Systems
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 Systems
Monikers • ? Read paragraph 6.5.1., p.140 and explain what are DCOM monikers. Give some examples of monikers. Object Based Operating Systems
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 Systems
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. 6.5. P. 144 and explain it. Object Based Operating Systems
CORBA Object Adapters • Object Adapters are modules responsible for interfacing between Object Implementation and ORB. • Study fig. 6.6. P. 146 and explain it. Object Based Operating Systems
CORBA to COM Mapping • ?Read paragraph 6.6.5 on page 148 and described commonalities and differences of CORBA and COM. Object Based Operating Systems
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. Object Based Operating Systems