ChorusOS Sun Microsystems Operating System

Download Report

Transcript ChorusOS Sun Microsystems Operating System

ChorusOS
Sun Microsystems Operating System
-------------------------------------------------------------------------Java Based OS
Hemalkumar Doshi
Instructor: Dr. Marius Soneru
Course: CS 550 Comparative Operating Systems
CS 550 Comparative Operating
Systems
1
Overview
-------------------------------------------------------------------------•
•
•
•
•
•
•
•
•
•
History of the ChorusOS
Goals of ChorusOS
ChorusOS Abstraction
ChorusOS Operating System Kernel
Product Components
ChorusOS Layers
How Chorus is Used in a Distributed System
Features and Benefits of ChorusOS
Chorus Application Overview
Conclusion
CS 550 Comparative Operating
Systems
2
History of the ChorusOS
--------------------------------------------------------------------------
• Originally developed as French research
project
• Bought by Sun Microsystems in 1997
• V0 – collection of actors
• V1 – French SM90 Multiprocessor
[Ethernet]
• V2 – Move to Micro-kernel
• V3 – Sun bought; RPC implemented
CS 550 Comparative Operating
Systems
3
Goals of Chorus
--------------------------------------------------------------------------
•
•
•
•
•
Enhancement of Unix
Dynamically Loadable Servers
Real Time Operations
Improve network communication
Portability
CS 550 Comparative Operating
Systems
4
ChorusOS Abstraction
--------------------------------------------------------------------------
•
•
•
•
•
Actor: is an execution environment.It can have one or more thread
Ports: is an unidirectional communication channel with an associated message queue.
Ports can be migrated between actors.
Port groups: Ports can be made members of port groups. A port group is a destination for
messages, and there are several addressing modes for sending messages to a port group.
Messages: A Chorus message consists of a variable length body (limited to 64 kilobytes),
and optionally a fixed-size (64-byte) header.
Regions, segments and local caches: An actor’s address space is divided into regions. A
region can be mapped onto a portion of a Segment. For each mapped segment the kernel
keeps a local cache.
CS 550 Comparative Operating
Systems
5
ChorusOS Operating System
Kernel
--------------------------------------------------------------------------
CS 550 Comparative Operating
Systems
6
Product Components
--------------------------------------------------------------------------
Core Executive
o
o
o
o
Support for Multiple Independent Applications.
Support for user and system applications
Support for applications in user and supervisor address space
Dynamic Memory Management
CS 550 Comparative Operating
Systems
7
Product Components Cont…
--------------------------------------------------------------------------
Schedulers
o Real-time scheduler
 Priority-based, pre-emptive FIFO
o Multi-class scheduler
 Priority-based, pre-emptive FIFO
 Priority-based with fixed-time quantum
o User defined policy
CS 550 Comparative Operating
Systems
8
Product Components Cont…
--------------------------------------------------------------------------
Communications
o Local IPC: Single-board, asynchronous,
synchronous, and multicast communication
o Distributed IPC: Location-transparent extension to
multiple IPC communication sites
o Real-time message queues
o Shared memory
CS 550 Comparative Operating
Systems
9
Product Components Cont…
--------------------------------------------------------------------------
Memory Management
o Flat memory: Management of physical memory, no
protection
o Protected memory: Multiple protected address
spaces
o Virtual memory: Page-based protected address
spaces, optional on-demand paging
CS 550 Comparative Operating
Systems
10
Product Components Cont…
Synchronization
o Semaphores
o Mutexes
o Event flags
CS 550 Comparative Operating
Systems
11
Product Components Cont…
Time Services
o Timers: One-shot or periodic, usable from both supervisor
and user-mode applications
o Time of day: Universal time
o Real Time Clock (RTC)
CS 550 Comparative Operating
Systems
12
ChorusOS Layers
-------------------------------------------------------------------------UNIX
Object-Oriented
Subsystem
subsystem
U1
User
Address
Space
S1
U2
S2
K1
Kernel
Address
Space
U3
S3
K2
User
process
System
process
Management of
names, processes,
threads, memory,
and communication
Micro-kernel
CS 550 Comparative Operating
Systems
13
How Chorus is Used in a
Distributed System
--------------------------------------------------------------------------
• Three layer communication
 User interface to system
 System interface to kernel
 Kernel interface to micro-kernel
• Uses message passing between process and
threads
CS 550 Comparative Operating
Systems
14
Features and Benefits of
ChorusOS
--------------------------------------------------------------------------
• Memory Protection
• Hot Restart
• Dynamic Reconfiguration
CS 550 Comparative Operating
Systems
15
Features and Benefits of
ChorusOS Cont…
--------------------------------------------------------------------------
• Component-based architecture for superconfigurability
• Mission-Critical Quality
• Exceptional scalability
• Transparent Distribution
• Code re-use
• Multiple OS personalities and APIs
CS 550 Comparative Operating
Systems
16
ChorusOS Application Overview
--------------------------------------------------------------------------
•
•
•
•
•
•
•
•
•
Wireless Networks
Private and Public Switches (PBXs)
Datacom Systems
Internetworking Equipment
Transmission Equipment
Line Cards
Cellular Networks
Network Monitoring Equipment
Satellite Transmission Systems
CS 550 Comparative Operating
Systems
17
Conclusion
--------------------------------------------------------------------------
• Micro-kernel based system used in
distributed operating systems
• Provides binary compatibility with UNIX
• Consist of three layers
 Kernel – contains micro-kernel
 Subsystems – support for user programs
 User processes at top layer
CS 550 Comparative Operating
Systems
18